Эти эффекты находятся в module_particle_systems.py могу использоваться во многих вещях например дым, пыль, дождь и так далее.Начнём с самого простого, здесь я объясню принцип.
Например надо заменить  дым пистолета или любого огнестрела , 
[(ti_on_weapon_attack, [(play_sound,"snd_pistol_shot"),(position_move_x, pos1,27),(position_move_y, pos1,36),(particle_system_burst, "psys_pistol_smoke", pos1, 15)])]],
Далее чтоб создать эффект
Открываеш  module_particle_systems.py
найди  эту строку
("pistol_smoke", psf_billboard_3d, "prtcl_dust_a",
     90, 2.5, 0.6, -0.2, 60.0, 1.5,     #num_particles, life, damping, gravity_strength, turbulance_size, turbulance_strength
     (0.0, 0.75), (1, 0),       #alpha keys
     (0.0, 0.7), (1, 0.4),      #red keys
     (0.0, 0.7),(1, 0.4),       #green keys
     (0.0, 0.7), (1, 0.4),      #blue keys
     (0, 1.5),   (0.5, 11.0),   #scale keys
     (0.1, 0.1, 0.1),           #emit box size
     (2, 2, 0),                 #emit velocity
     0.1                        #emit dir randomness
    ),
ты её можешь изменить, но лучше создать новую.
Так что скопируй её и вставь под ней должно получиться вот так
("pistol_smoke", psf_billboard_3d, "prtcl_dust_a",
     90, 2.5, 0.6, -0.2, 60.0, 1.5,     #num_particles, life, damping, gravity_strength, turbulance_size, turbulance_strength
     (0.0, 0.75), (1, 0),       #alpha keys
     (0.0, 0.7), (1, 0.4),      #red keys
     (0.0, 0.7),(1, 0.4),       #green keys
     (0.0, 0.7), (1, 0.4),      #blue keys
     (0, 1.5),   (0.5, 11.0),   #scale keys
     (0.1, 0.1, 0.1),           #emit box size
     (2, 2, 0),                 #emit velocity
     0.1                        #emit dir randomness
    ),
("pistol_smoke", psf_billboard_3d, "prtcl_dust_a",
     90, 2.5, 0.6, -0.2, 60.0, 1.5,     #num_particles, life, damping, gravity_strength, turbulance_size, turbulance_strength
     (0.0, 0.75), (1, 0),       #alpha keys
     (0.0, 0.7), (1, 0.4),      #red keys
     (0.0, 0.7),(1, 0.4),       #green keys
     (0.0, 0.7), (1, 0.4),      #blue keys
     (0, 1.5),   (0.5, 11.0),   #scale keys
     (0.1, 0.1, 0.1),           #emit box size
     (2, 2, 0),                 #emit velocity
     0.1                        #emit dir randomness
    ),
Теперь замени имя ей, на пример так
("my_smoke", psf_billboard_3d, "prtcl_dust_a",
     90, 2.5, 0.6, -0.2, 60.0, 1.5,     #num_particles, life, damping, gravity_strength, turbulance_size, turbulance_strength
     (0.0, 0.75), (1, 0),       #alpha keys
     (0.0, 0.7), (1, 0.4),      #red keys
     (0.0, 0.7),(1, 0.4),       #green keys
     (0.0, 0.7), (1, 0.4),      #blue keys
     (0, 1.5),   (0.5, 11.0),   #scale keys
     (0.1, 0.1, 0.1),           #emit box size
     (2, 2, 0),                 #emit velocity
     0.1                        #emit dir randomness
    ),
 Теперь обясню что значит что
("my_smoke", psf_billboard_3d, "prtcl_dust_a",
     90, 2.5, 0.6, -0.2, 60.0, 1.5,     #num_particles, life, damping, gravity_strength, turbulance_size, turbulance_strength
      (0.0, 0.75), (1, 0),       #alpha keys
     (0.0, 0.7), (1, 0.4),      #red keys
     (0.0, 0.7),(1, 0.4),       #green keys
     (0.0, 0.7), (1, 0.4),      #blue keys
     (0, 1.5),   (0.5, 11.0),   #scale keys
     (0.1, 0.1, 0.1),           #emit box size
     (2, 2, 0),                 #emit velocity
     0.1                       #emit dir randomness 
    ),
Жёлтый название эффекта, обект 3д или 2д , название текстуры/меша которую он использовает
Синее это форма, тип появления , жизнь эффекта
90 - количество частиц 
2.5 - жизнь, тоесть время через которое они исчезают
0.6 - демпфирование; искусственное подавление колебаний в эффекте
-0.2 - Гравитационная сила эффекта
60.0 - Размер Турбулентности
1.5 - Сила Турбулентности
 Красное это цвет и альфа эффекта ARGB
Белый размер частиц
Коричневый это  скорость эффекта
Оранжевый  размер эффекта 
Зелёным это частность появления то есть с 1.0 до 99.0 ты можешь сам выбрать.
Вот совет:
Цвет , форму ,тип, модель можно скопировать с других строк я думаю вы догодаетесь.
После окончания создания своего эффекта заменяем то что в крастном на имя твоего эффекта, это примерно так:
[(ti_on_weapon_attack, [(play_sound,"snd_pistol_shot"),(position_move_x, pos1,27),(position_move_y, pos1,36),(particle_system_burst, "psys_my_smoke", pos1, 15)])]],
 Удачи :)
			
			
			
				Чтобы сделать правильную точку выхода дыма из винтовки в module_items.py нужно прописать верные координаты(тут координаты для моей винтовки, но у вас они не будут сильно отличаться):
[(play_sound,"snd_imp_ag_fire"),(position_move_x, pos1,-11),(position_move_y, pos1,57),(particle_system_burst, "psys_rifle_smoke", pos1, 5)]
В таком случае, при использовании стандартного эффекта пистолетного выстрела ("pistol_smoke") дым будет лететь откуда нужно, но по диагонали.
Чтобы дым летел куда нужно - открываем module_particle_systems.py и создаем там новый эффект(на основе пистолетного):
("rifle_smoke", psf_billboard_3d, "prtcl_dust_a",
     90, 2.5, 0.6, -0.2, 60.0, 1.5,     #num_particles, life, damping, gravity_strength, turbulance_size, turbulance_strength
     (0.0, 0.75), (1, 0),       #alpha keys
     (0.0, 0.7), (1, 0.4),      #red keys
     (0.0, 0.7),(1, 0.4),       #green keys
     (0.0, 0.7), (1, 0.4),      #blue keys
     (0, 1.5),   (0.5, 11.0),   #scale keys (размер частиц)
     (0.0, 0.1, 0.1),           #emit box size
       X    Y     Z            Отвечает за пространство в котором распространяется эффект
     (0, 2, 0),                 #emit velocity
      X, Y, Z                  Отвечает за скорость(100%) с которой распространяется эффект
     0.1                        #emit dir randomness
    ),
Вроде всё. Смотрите чтобы эффект который использует винтовка совпадал с созданным вами эффектом
 
Добавлено: 22 Августа, 2009, 13:00
Вот система координат для помещения эффекта :-D
			
			
			
				Чтобы создать небольшую вспышку при выстреле, необходимо создать следующий эффект:
Винтовка
("rifle_fire", psf_billboard_3d, "prt_mesh_fire_2",
     90, 0.3, 0.6, -0.1, 60.0, 1.5,     #num_particles, life, damping, gravity_strength, turbulance_size, turbulance_strength
     (0.0, 0.75), (1, 0),       #alpha keys
     (0.0, 0.232), (1, 0.221),      #red keys
     (0.0, 0.103),(1, 0.171),       #green keys
     (0.0, 0.026), (1, 0.0),      #blue keys
     (0.5, 1.5),   (0.0, 0.5),    #scale keys
     (0.1, 0.1, 0.1),           #emit box size
     (0, 1, 0),                 #emit velocity
     0.0                        #emit dir randomness
    ),
Пистолет
("pistol_fire", psf_billboard_3d, "prtcl_dust_a",
     90, 0.3, 0.6, -0.1, 60.0, 1.5,     #num_particles, life, damping, gravity_strength, turbulance_size, turbulance_strength
     (0.0, 0.75), (1, 0),       #alpha keys
     (0.0, 0.232), (1, 0.221),      #red keys
     (0.0, 0.103),(1, 0.171),       #green keys
     (0.0, 0.026), (1, 0.0),      #blue keys
     (0.5, 1.5),   (0.0, 0.5),    #scale keys
     (0.1, 0.1, 0.1),           #emit box size
     (3, 3, 0),                 #emit velocity
     0.1                        #emit dir randomness
    ),
При использовании вместе с нашим винтовочным или пистолетным дымом выглядит по меньшей мере интересно)
Чтобы оба эффекта работали вместе, нужно прописать:
[(play_sound,"snd_imp_ag_fire"),(position_move_x, pos1,-11),(position_move_y, pos1,57),(particle_system_burst, "psys_rifle_smoke", pos1, 5),(particle_system_burst, "psys_rifle_fire", pos1, 9)]
Точно так же и с пистолетом:
[(play_sound,"snd_imp_ap_fire"),(position_move_x, pos1,27),(position_move_y, pos1,36),(particle_system_burst, "psys_pistol_smoke", pos1, 3),(particle_system_burst, "psys_pistol_fire", pos1, 3)]
 
			
			
			
				Есть многие кто хотят добавить огонь, больше пыли ну и так далее из под копыт лошади: За это отвечают следующие строки
("game_hoof_dust", psf_billboard_3d|psf_randomize_size|psf_randomize_rotation|psf_2d_turbulance, "prt_mesh_dust_1",#prt_mesh_dust_1
     10, 1.5, 0.2, 0, 3, 10,     #num_particles, life, damping, gravity_strength, turbulance_size, turbulance_strength
     (0.6, 1), (1, 1),          #alpha keys
     (0.5, 1.0), (1, 0.9),      #red keys
     (0.5, 0.7),(1, 0.3),       #green keys
     (0.5, 0.2), (1, 0.0),      #blue keys
     (0.0, 2.0),   (1.0, 3.5),   #scale keys
     (0.2, 0.3, 0.2),           #emit box size
     (0, 0, 3.9),                 #emit velocity
     0.5,                         #emit dir randomness
     130,                       #rotation speed
     0.5                        #rotation damping
    ),
    ("game_hoof_dust_snow", psf_billboard_3d|psf_randomize_size, "prt_mesh_snow_dust_1",#prt_mesh_dust_1
     10, 1.5, 0.2, 0, 3, 10,     #num_particles, life, damping, gravity_strength, turbulance_size, turbulance_strength
     (0.6, 1), (1, 1),          #alpha keys
     (0.5, 1.0), (1, 0.9),      #red keys
     (0.5, 0.7),(1, 0.3),       #green keys
     (0.5, 0.2), (1, 0.0),      #blue keys
     (0.5, 4),   (1.0, 5.7),   #scale keys
     (0.2, 1, 0.1),           #emit box size
     (0, 0, 1),                 #emit velocity
     2,                         #emit dir randomness
     0,                       #rotation speed
     0                        #rotation damping
    ),
     ("game_hoof_dust_mud", psf_billboard_2d|psf_randomize_size|psf_randomize_rotation|psf_2d_turbulance, "prt_mesh_mud_1",#prt_mesh_dust_1
     10, 1.5, 0.2, 0, 3, 10,     #num_particles, life, damping, gravity_strength, turbulance_size, turbulance_strength
     (0.6, 1), (1, 1),          #alpha keys
     (0.5, 1.0), (1, 0.9),      #red keys
     (0.5, 0.7),(1, 0.3),       #green keys
     (0.5, 0.2), (1, 0.0),      #blue keys
     (0.0, 0.2),   (1.0, 0.22),   #scale keys
     (0.15, 0.5, 0.1),           #emit box size
     (0, 0, 15),                 #emit velocity
     6,                         #emit dir randomness
     200,                       #rotation speed
     0.5                        #rotation damping
    ),
Красный Это простая пыль проявлявшийся в поле
Синий  Это когда лошадь скачет на снегу
Коричневый А это по грязи
И вот Ещё если кто хочет убрать или добавить больше дождей и снега 
Дождь
 ("game_rain", psf_billboard_2d|psf_global_emit_dir|psf_always_emit, "prtcl_rain",
         100 , 2.5, 2.33, 5.1, 24.2, 5.1,     #num_particles, life, damping, gravity_strength, turbulance_size, turbulance_strength
     (7.0, 5.3), (4, 8.3),        #alpha keys
     (0.0, 0.7), (1, 0.4),      #red keys
     (0.0, 0.7),(1, 0.4),       #green keys
     (0.0, 0.7), (1, 0.4),      #blue keys
     (6.0, 6.0),   (1.0, 1.0),   #scale keys
     (10.2, 34.2, 54.2),           #emit box size
     (45, 6, +10.0),               #emit velocity
   6.0,                  #emit dir randomness
     6,                       #rotation speed
     6.5                        #rotation damping
    ),
     
Снег
("game_snow", psf_billboard_3d|psf_global_emit_dir|psf_always_emit|psf_randomize_size|psf_randomize_rotation, "prt_mesh_snow_fall_1",
          150 , 2, 0.2, 0.1, 30, 20,     #num_particles, life, damping, gravity_strength, turbulance_size, turbulance_strength
     (0.2, 1), (1, 1),        #alpha keys
     (1.0, 1.0), (1, 1.0),      #red keys
     (1.0, 1.0), (1, 1.0),      #green keys
     (1.0, 1.0), (1, 1.0),      #blue keys
     (1.0, 1.0),   (1.0, 1.0),   #scale keys
     (10, 10, 0.5),           #emit box size
     (0, 0, -5.0),               #emit velocity
  1,     #emit dir randomness
     200,                       #rotation speed
     0.5                        #rotation damping
    ),
 Заменяем то чо в красном на то как нам хочется с 1.0 до 99.0.
			
			
			
				Чтоб увеличить кровь всё делаем так как описано выше только со следующими скриптами
("game_blood", psf_billboard_3d |psf_randomize_size|psf_randomize_rotation,  "prt_mesh_blood_1",
     500, 0.65, 3, 0.5, 0, 0,        #num_particles, life, damping, gravity_strength, turbulance_size, turbulance_strength
     (0.0, 0.7), (0.7, 0.7),          #alpha keys
     (0.1, 0.7), (1, 0.7),      #red keys
     (0.1, 0.7), (1, 0.7),       #green keys
     (0.1, 0.7), (1, 0.7),      #blue keys
     (0.0, 0.015),   (1, 0.018),  #scale keys
     (0, 0.05, 0),               #emit box size
     (0, 1.0, 0.3),                #emit velocity
     0.9,                       #emit dir randomness
     0,                         #rotation speed
     0,                         #rotation damping
    ),
    
("game_blood_2", psf_billboard_3d | psf_randomize_size|psf_randomize_rotation ,  "prt_mesh_blood_3",
     2000, 0.6, 3, 0.3, 0, 0,        #num_particles, life, damping, gravity_strength, turbulance_size, turbulance_strength
     (0.0, 0.25), (0.7, 0.1),        #alpha keys
     (0.1, 0.7), (1, 0.7),      #red keys
     (0.1, 0.7), (1, 0.7),       #green keys
     (0.1, 0.7), (1, 0.7),      #blue keys
     (0.0, 0.15),   (1, 0.35),    #scale keys
     (0.01, 0.2, 0.01),             #emit box size
     (0.2, 0.3, 0),                 #emit velocity
     0.3,                         #emit dir randomness
     150,                       #rotation speed
     0,                       #rotation damping
     ),