#include #include #include #include #define PLUGIN "New Plug-In" #define VERSION "1.0" #define AUTHOR "SAMURAI" new g_iFlash[33]; new sprite; public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_event("Flashlight","flash_event","b"); register_forward(FM_PlayerPreThink,"fw_prethink"); } public plugin_precache() { sprite = precache_generic("sprites/effects/flashlight001.vtf"); } public client_putinserver(id) { g_iFlash[id] = 0; } public flash_event(id) { if(!is_user_alive(id)) return PLUGIN_CONTINUE; g_iFlash[id] = 1; return PLUGIN_CONTINUE; } public fw_prethink(id) { if(!pev_valid(id)) return FMRES_IGNORED; if(!g_iFlash[id]) return FMRES_IGNORED; new Float:fOrigin[3] get_user_hitpoint(id, fOrigin) message_begin(MSG_BROADCAST,SVC_TEMPENTITY); write_byte(TE_SPRITE) write_coord(floatround(fOrigin[0])) write_coord(floatround(fOrigin[1])) write_coord(floatround(fOrigin[2])) write_short(sprite) write_byte(2) write_byte(50) message_end() return FMRES_IGNORED; } stock get_user_hitpoint(id, Float:hOrigin[3]) { if (!is_user_alive(id)) return 0 new Float:fOrigin[3], Float:fvAngle[3], Float:fvOffset[3], Float:fvOrigin[3], Float:feOrigin[3] new Float:fTemp[3] pev(id, pev_origin, fOrigin) pev(id, pev_v_angle, fvAngle) pev(id, pev_view_ofs, fvOffset) xs_vec_add(fOrigin, fvOffset, fvOrigin) engfunc(EngFunc_AngleVectors, fvAngle, feOrigin, fTemp, fTemp) xs_vec_mul_scalar(feOrigin, 9999.9, feOrigin) xs_vec_add(fvOrigin, feOrigin, feOrigin) engfunc(EngFunc_TraceLine, fvOrigin, feOrigin, 0, id) global_get(glb_trace_endpos, hOrigin) return 1 }