для модульной системы
module_items.py["sg24", "sg24", [("sg24",0),("sg24", ixmesh_carry)], itp_type_thrown |itp_merchandise|itp_primary ,itcf_throw_axe|itcf_carry_dagger_front_right, 50 , weight(8)|difficulty(8)|spd_rtng(50) | shoot_speed(15) | thrust_damage(1 , blunt)|max_ammo(2)|weapon_length(6),imodbits_none,
[(ti_on_missile_hit, [(store_trigger_param_1,":grenadier"),
(particle_system_burst,"psys_war_smoke_tall",pos1,5),
(particle_system_burst,"psys_rifle_fire",pos1,5),
(particle_system_burst,"psys_ladder_dust_8m",pos1,50),
(particle_system_burst,"psys_ladder_dust_6m",pos1,30),
(particle_system_burst,"psys_ladder_straw_6m",pos1,150),
(play_sound,"snd_explosion_bang"),
(try_for_agents,":target"),
(agent_get_position,pos2,":target"),
(get_distance_between_positions,":dist",pos1,pos2),
(try_begin),
(lt,":dist",350),
(store_agent_hit_points,":hp",":target",1),
(store_random_in_range,":dmg",60,100),
(val_sub,":hp",":dmg"),
(agent_set_hit_points,":target",":hp",1),
(agent_deliver_damage_to_agent,":grenadier",":target"),
(try_end),
(try_end)])]],
где
["sg24" название гранаты в items и
("sg24",0) в grenades.brf, и т.д. (всё есть в уроках)
эффекты:module_particle_systems.py ("war_smoke_tall", psf_billboard_3d|psf_global_emit_dir|psf_always_emit|psf_randomize_rotation|psf_randomize_size, "prt_mesh_smoke_1",
5, 12, 0, 0, 7, 7, #num_particles, life, damping, gravity_strength, turbulance_size, turbulance_strength
(0, 0.25), (1, 0), #alpha keys
(0.0, 1), (1, 0.8), #red keys
(0.0, 1),(1, 0.8), #green keys
(0.0, 1), (1, 0.8), #blue keys
(0, 2.2), (1, 15), #scale keys
(0, 0, 0), #emit box size
(0, 0, 2.2), #emit velocity
0.1, #emit dir randomness
100,
0.2,
),
("rifle_fire", psf_billboard_3d, "prt_mesh_fire_2",
80, 2.5, 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
),
("ladder_dust_8m", psf_billboard_3d, "prt_mesh_smoke_1",
500, 0.6, 0, 0, 7, 7, #num_particles, life, damping, gravity_strength, turbulance_size, turbulance_strength
(0, 0.25), (1, 0), #alpha keys
(0.0, 1), (1, 0.8), #red keys
(0.0, 1),(1, 0.8), #green keys
(0.0, 1), (1, 0.8), #blue keys
(4, 2), (1, 2), #scale keys
(2, 0.3, 1), #emit box size (6.5 is equal to (12m / 2) + 0.5)
(0, 0, 0), #emit velocity
0.1, #emit dir randomness
100,
0.1,
),
("ladder_dust_6m", psf_billboard_3d|psf_randomize_size | psf_randomize_rotation, "prt_mesh_smoke_1",
700, 5, 3, 4, 1, 1, #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
(5, 4), (5, 5), #scale keys
(1.2, 0.1, 6), #emit box size (6.5 is equal to (12m / 2) + 0.5)
(0, 0, 0), #emit velocity
5.1, #emit dir randomness
100,
0.1,
),
("ladder_straw_6m", psf_randomize_size | psf_randomize_rotation, "prt_mesh_straw_1",
1700, 1, 2, 0.9, 10, 2, #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.0, 0.3), (1, 0.3), #scale keys
(2, 2, 5), #emit box size
(0, 0, 0), #emit velocity
2.3, #emit dir randomness
200, #rotation speed
0, #rotation damping
),
В версии 1.113 не очень смотрится, а в 1.132 и 1.134 вполне похоже на взрыв!
Звуки сами, если не получится, то могу и выложить.
P.S. Только пока не знаю как сделать, чтобы гранаты пропадали с поля боя и ограничить их дальность броска, а то на пол карты бросить можно, прям миномет