// // Incendiary Ammo 0.1 by stabby@zmmapperz.net // // Requirements: Eventscripts 1.5+ , ESTOOLS 0.420C block load { // How many seconds a player will burn after being hit by incendiary ammo es_xset incendiary_burntime_player 3 // How many seconds a flame will be on the ground when a player shoots with incendiary ammo es_xset incendiary_burntime_ground 10 // Weapons to be given incendiary ammo, separate by semicolon es_xset incendiary_weapons "weapon_scout;" // Maximum amount flames a player can create on the ground by shooting es_xset incendiary_limit 5 // Size of fires on the ground es_xset incendiary_fire_size 200 // Damage scale for fires on the ground es_xset incendiary_damage_scale 10 // If 1 enables ground fire es_xset incendiary_ground_fire 0 // Message to display in chat when a player is hit by incendiary ammo, 0 disables es_xset incendiary_message "#default %1's bullets set you on fire!" es_xset incendiary_version "Incendiary Ammo 0.2 by Stabby@zmmapperz.net" es_xmakepublic incendiary_version es_xregcmd incendiary_burn incendiary/burnblock es_xregcmd incendiary_extinguish incendiary/extblock es_xset firecounter 0 es_xload corelib es_xdoblock corelib/noisy_on } event player_hurt { if (event_var(es_attackerweapon) in server_var(incendiary_weapons)) do { es_xset r_burning 0 es playervar get r_burning event_var(userid) isonfire if (server_var(r_burning) == "0") do { es playervar set event_var(userid) isonfire 1 es incendiary_burn event_var(userid) if (server_var(incendiary_message) != 0) do { es_xset tstring 0 es_format tstring server_var(incendiary_message) event_var(es_attackername) es_tell event_var(userid) #multi server_Var(tstring) } } } } block unload { es_xdoblock corelib/noisy_off } block burnblock { es_xset burnuid 0 es_xgetargv burnuid 1 es_xset time_temp 0 es_set time_temp server_var(incendiary_burntime_player) es_xmath time_temp - 0.5 es_fire event_var(userid) !self ignite es_delayed server_var(incendiary_burntime_player) incendiary_extinguish server_var(burnuid) es_delayed server_var(incendiary_burntime_player) es playervar set server_var(burnuid) isonfire 0 es_delayed server_var(time_temp) es_trick dispatcheffect server_var(burnuid) WaterSurfaceExplosion 3 } block extblock { es_xsetinfo nap_handle 0 es_xgetargv nap_handle 1 keygroupremove nap_flames es_xcreateentitylist nap_flames entityflame es_xsetinfo nap_flamehandle 0 es getplayerinfo nap_handle server_var(nap_handle) handle es_xforeachkey nap_flamekey in nap_flames "es_xdoblock incendiary/find_entity" } block find_entity { es_keygetvalue nap_flamehandle nap_flames server_var(nap_flamekey) "CEntityFlame.m_hEntAttached" if (server_var(nap_flamehandle) equalto server_var(nap_handle)) do { es_setindexprop server_var(nap_flamekey) "CEntityFlame.m_flLifetime" 0 } } event player_death { es playervar set event_var(userid) fires 0 es playervar set event_var(userid) isonfire 0 } event round_start { es_xset tempid 0 es foreachplayer tempid #alive "es playervar set server_var(tempid) fires 0" } event bullet_impact { if (server_var(incendiary_ground_fire) == 1) do { es_xset weapname 0 es_set weapname event_var(es_userweapon) if (event_var(es_userweapon) in server_var(incendiary_weapons)) do { es_xset temp_fires 0 es playervar get temp_fires event_var(userid) fires if (server_var(temp_fires) lessthan server_var(incendiary_limit)) do { es_xmath temp_fires + 1 es playervar set event_var(userid) fires server_var(temp_fires) es_xset argstring 0 es_format argstring "Origin %1 %2 %3" event_var(x) event_var(y) event_var(z) es_xset hstring 0 es_xformatv hstring "health %1" incendiary_burntime_ground es_entcreate event_var(userid) env_fire es_xset fstring 0 es_format fstring "FIRE_%1_%2" event_var(userid) server_var(temp_fires) es est_setentname server_var(eventscripts_lastgive) server_var(fstring) es_fire event_var(userid) server_var(fstring) addoutput "spawnflags 130" es_fire event_var(userid) server_var(fstring) addoutput server_var(argstring) es_fire event_var(userid) server_var(fstring) addoutput "firesize 100" es_fire event_var(userid) server_var(fstring) addoutput server_var(hstring) es_fire event_var(userid) server_var(fstring) addoutput "fireattack 1" es_fire event_var(userid) server_var(fstring) addoutput "firetype plasma" es_fire event_var(userid) server_var(fstring) addoutput "damagescale 20" es_fire event_var(userid) server_var(fstring) StartFire } else do { es_xset r_cooldown 0 es playervar get r_cooldown event_var(userid) iscoolingdown if (server_var(r_cooldown) == 0) do { es playervar set event_var(userid) iscoolingdown 1 es_delayed server_var(incendiary_burntime_ground) playervar set event_var(userid) fires 0 es_delayed server_var(incendiary_burntime_ground) playervar set event_var(userid) iscoolingdown 0 } } } } }