#include #define PLUGIN "Deathtype Effects" #define VERSION "1.0" #define AUTHOR "anakin_cstrike" #define TEMP_MSG 16 #define TEMP_MSG2 1936 new toggle_plugin,toggle_hs,toggle_kn,toggle_he,g_Smoke,g_Lightning,g_Explode; public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR); register_event("DeathMsg","hook_death","a"); toggle_plugin = register_cvar("death_effects","1"); toggle_hs = register_cvar("hs_effect","1"); toggle_kn = register_cvar("kn_effect","1"); toggle_he = register_cvar("he_effect","1"); } public plugin_precache() { precache_sound("ambience/thunder_clap.wav"); precache_sound("weapons/headshot2.wav"); precache_sound("weapons/explode3.wav"); g_Smoke = precache_model("sprites/steam1.spr"); g_Lightning = precache_model("sprites/lgtning.spr"); g_Explode = precache_model("sprites/white.spr"); return PLUGIN_CONTINUE } public hook_death() { if(get_pcvar_num(toggle_plugin) != 1) return PLUGIN_CONTINUE; if(!read_data(1)) return PLUGIN_CONTINUE; new wpn[3],vOrigin[3],coord[3]; new victim = read_data(2); new hs = read_data(3); read_data(4,wpn,2); get_user_origin(victim,vOrigin); vOrigin[2] -= 26 coord[0] = vOrigin[0] + 150; coord[1] = vOrigin[1] + 150; coord[2] = vOrigin[2] + 800; if(hs && wpn[0] != 'k' && wpn[1] != 'r' && get_pcvar_num(toggle_hs) == 1) { create_explode(vOrigin); emit_sound(victim,CHAN_ITEM, "weapons/explode3.wav", 1.0, ATTN_NORM, 0, PITCH_NORM); } if(wpn[0] == 'k' && !hs && get_pcvar_num(toggle_kn) == 1) { create_thunder(coord,vOrigin); emit_sound(victim,CHAN_ITEM, "ambience/thunder_clap.wav", 1.0, ATTN_NORM, 0, PITCH_NORM); } if(wpn[1] == 'r' && !hs && get_pcvar_num(toggle_he) == 1) { create_blood(vOrigin); emit_sound(victim,CHAN_ITEM, "weapons/headshot2.wav", 1.0, ATTN_NORM, 0, PITCH_NORM); } return PLUGIN_CONTINUE; } create_explode(vec1[3]) { message_begin(MSG_BROADCAST,SVC_TEMPENTITY,vec1); write_byte(TE_BEAMCYLINDER); write_coord(vec1[0]); write_coord(vec1[1]); write_coord(vec1[2] + TEMP_MSG); write_coord(vec1[0]); write_coord(vec1[1]); write_coord(vec1[2] + TEMP_MSG2); write_short(g_Explode); write_byte(0); write_byte(0); write_byte(2); write_byte(16); write_byte(0); write_byte(188); write_byte(220); write_byte(255); write_byte(255); write_byte(0); message_end(); message_begin(MSG_BROADCAST,SVC_TEMPENTITY); write_byte(TE_EXPLOSION2); write_coord(vec1[0]); write_coord(vec1[1]); write_coord(vec1[2]); write_byte(185); write_byte(10); message_end(); message_begin(MSG_BROADCAST,SVC_TEMPENTITY,vec1); write_byte(TE_SMOKE); write_coord(vec1[0]); write_coord(vec1[1]); write_coord(vec1[2]); write_short(g_Smoke); write_byte(2); write_byte(10); message_end(); } create_thunder(vec1[3],vec2[3]) { message_begin(MSG_BROADCAST,SVC_TEMPENTITY); write_byte(0); write_coord(vec1[0]); write_coord(vec1[1]); write_coord(vec1[2]); write_coord(vec2[0]); write_coord(vec2[1]); write_coord(vec2[2]); write_short(g_Lightning); write_byte(1); write_byte(5); write_byte(2); write_byte(20); write_byte(30); write_byte(200); write_byte(200); write_byte(200); write_byte(200); write_byte(200); message_end(); message_begin( MSG_PVS, SVC_TEMPENTITY,vec2); write_byte(TE_SPARKS); write_coord(vec2[0]); write_coord(vec2[1]); write_coord(vec2[2]); message_end(); message_begin(MSG_BROADCAST,SVC_TEMPENTITY,vec2); write_byte(TE_SMOKE); write_coord(vec2[0]); write_coord(vec2[1]); write_coord(vec2[2]); write_short(g_Smoke); write_byte(10); write_byte(10) message_end(); } create_blood(vec1[3]) { message_begin(MSG_BROADCAST,SVC_TEMPENTITY); write_byte(TE_LAVASPLASH); write_coord(vec1[0]); write_coord(vec1[1]); write_coord(vec1[2]); message_end(); }