#include #include new flashlight[33]; new gmsgFlashlight; new flashlight_custom, flashlight_r, flashlight_g, flashlight_b, flashlight_radius, flashlight_decay; public plugin_init() { register_plugin("CustomFlashlight","0.11","Avalanche"); register_forward(FM_PlayerPreThink, "PlayerPreThink"); register_event("Flashlight","event_flashlight","b"); register_event("DeathMsg","event_deathmsg","a"); flashlight_custom = register_cvar("flashlight_custom","1"); flashlight_r = register_cvar("flashlight_r","100"); flashlight_g = register_cvar("flashlight_g","100"); flashlight_b = register_cvar("flashlight_b","100"); flashlight_radius = register_cvar("flashlight_radius","12"); flashlight_decay = register_cvar("flashlight_decay","70"); gmsgFlashlight = get_user_msgid("Flashlight"); } public event_deathmsg() { new victim = read_data(2); flashlight[victim] = 0; } public event_flashlight(id) { if(!get_pcvar_num(flashlight_custom)) { return; } if(flashlight[id]) { flashlight[id] = 0; } else { flashlight[id] = 1; } message_begin(MSG_ONE,gmsgFlashlight,{0,0,0},id); write_byte(flashlight[id]); write_byte(100); message_end(); set_pev(id, pev_effects, pev(id, pev_effects) & ~EF_DIMLIGHT); } public PlayerPreThink(id) { if(!get_pcvar_num(flashlight_custom)) { return; } if(flashlight[id]) { new origin[3]; get_user_origin(id,origin,3); message_begin(MSG_BROADCAST,SVC_TEMPENTITY); write_byte(TE_DLIGHT); // TE_DLIGHT 27 write_coord(origin[0]); // X write_coord(origin[1]); // Y write_coord(origin[2]); // Z write_byte(get_pcvar_num(flashlight_radius)); // radius write_byte(get_pcvar_num(flashlight_r)); // R write_byte(get_pcvar_num(flashlight_g)); // G write_byte(get_pcvar_num(flashlight_b)); // B write_byte(1); // life write_byte(get_pcvar_num(flashlight_decay)); // decay rate message_end(); } } /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang5129\\ f0\\ fs16 \n\\ par } */