// // EasyDissolver 1.0 by Stabby@zmmapperz.net // Requirements: Eventscripts 1.5+ , ES_Tools 0.420c+ , Extendevents V4+ // // Description: // Dissolves weapon entities when a player dies or drops his weapon. // Dissolves corpses when a player dies. // // http://www.zmmapperz.net // block load { /////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Weapon Dissolver configuration es_xset weapon_dissolver_death 1 // If 1 dissolves weapons upon player death. es_xset weapon_dissolver_drop 1 // If 1 dissolves weapons when dropped. es_xset weapon_dissolver_time 3 // Delay in seconds before weapon is dissolved es_xset weapon_dissolver_effect 3 // Effect to use for dissolving weapons. // Corpse Dissolver configuration es_xset corpse_dissolver 1 // If 1 enables corpse dissolver. es_xset corpse_dissolver_time 3 // Time in seconds after which a body is dissolved (0 = immediately) es_xset corpse_dissolver_effect 3 // Effect to use for dissolving corpses. // Dissolve effects: // 0) Energy // 1) Heavy electrical // 2) Light electrical // 3) Core effect (hl2) /////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Dont edit below this line! est_regeventblock player_death "es_xdoblock weapondissolver/pre_death" es_xset dtype 0 es_xset dtype2 0 es_xformatv dtype "dissolvetype %1" weapon_dissolver_effect es_xformatv dtype2 "dissolvetype %1" corpse_dissolver_effect } event player_death { if (server_var(corpse_dissolver) == 1) then es_delayed server_var(corpse_dissolver_time) es_xdoblock easydissolver/dissolve_corpse } block dissolve_corpse { es_give event_var(userid) env_entity_dissolver es_fire event_var(userid) env_entity_dissolver AddOutput "target cs_ragdoll" es_fire event_var(userid) env_entity_dissolver AddOutput "magnitude 300" es_fire event_var(userid) env_entity_dissolver AddOutput server_var(dtype2) es_fire event_var(userid) env_entity_dissolver Dissolve es_xdelayed 0.1 es_xremove env_entity_dissolver } block pre_death { if (server_var(weapon_dissolver_death) == 1) do { es_xset userid_temp 0 es_xset weap_temp 0 est_geteventinfo userid_temp userid est_geteventinfo weap_temp weapon es_xset temp_wid1 0 es_xset temp_wid2 0 es_xset temp_primary 0 es_xset temp_secondary 0 es playerget primary temp_primary server_var(userid_temp) wid1 es playerget secondary temp_secondary server_var(userid_temp) wid2 es_xset temp_w1string 0 es_xset temp_w2string 0 es_xset temp_w1name 0 es_xset temp_w2name 0 es_xformatv temp_w1name "dw1_%1" wid1 es_xformatv temp_w2name "dw2_%1" wid2 es est_setentname server_var(wid1) server_var(temp_w1name) es est_setentname server_var(wid2) server_var(temp_w2name) es_delayed server_var(weapon_dissolver_time) es_give server_var(userid_temp) env_entity_dissolver es_delayed server_var(weapon_dissolver_time) es_fire server_var(userid_temp) env_entity_dissolver AddOutput "magnitude 1" es_delayed server_var(weapon_dissolver_time) es_fire server_var(userid_temp) env_entity_dissolver AddOutput server_var(dtype) es_delayed server_var(weapon_dissolver_time) es_fire server_var(userid_temp) env_entity_dissolver Dissolve server_var(temp_w1name) es_delayed server_var(weapon_dissolver_time) es_fire server_var(userid_temp) env_entity_dissolver Dissolve server_var(temp_w2name) es_delayed server_var(weapon_dissolver_time) es_delayed 0.05 es_xremove env_entity_dissolver } } event player_drop { if (server_var(weapon_dissolver_drop) == 1) do { es est_setentname event_var(index) "dwtemp" es_delayed server_var(weapon_dissolver_time) es_give event_var(userid) env_entity_dissolver es_delayed server_var(weapon_dissolver_time) es_fire event_var(userid) env_entity_dissolver AddOutput "magnitude 1" es_delayed server_var(weapon_dissolver_time) es_fire event_var(userid) env_entity_dissolver AddOutput server_var(dtype) es_delayed server_var(weapon_dissolver_time) es_fire event_var(userid) env_entity_dissolver Dissolve dwtemp es_delayed server_var(weapon_dissolver_time) es_delayed 0.05 es_xremove env_entity_dissolver } }