rendered paste body#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <xs>
new sprite;
public plugin_init() {
register_plugin("new plugin","0.1","me");
register_forward(FM_PlayerPreThink,"fw_prethink");
}
public plugin_precache()
{
sprite = engfunc(EngFunc_PrecacheModel,"sprites/your_sprite.spr");
}
public fw_prethink(id)
{
if(!pev_valid(id))
return;
static Float:origin[3];
get_user_hitpoint(id,origin);
message_begin(MSG_BROADCAST,SVC_TEMPENTITY);
write_byte(TE_SPRITE)
write_coord(floatround(origin[0]))
write_coord(floatround(origin[1]))
write_coord(floatround(origin[2]))
write_short(sprite)
write_byte(2)
write_byte(50)
message_end()
}
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;
}