All pastes #418608 Raw Edit

Someone

public text v1 · immutable
#418608 ·published 2007-03-31 18:43 UTC
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;
}