All pastes #390516 Raw Edit

Stuff

public text v1 · immutable
·published 2007-03-11 14:55 UTC
rendered paste body
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <xs>
 
#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
}