How to optimize a code?
CPU 15 ~ %
PHP Code:
register_forward(FM_AddToFullPack, "fm_fullpack", 1)
PHP Code:
public fm_fullpack(es, e, ent, host, hostflags, player, pSet)
{
if(!is_user_connected(host))
return FMRES_IGNORED
if(!pev_valid(ent))
return FMRES_IGNORED
static classname[32]
pev(ent, pev_classname, classname, 31)
if(!equal(classname, "sprite"))
return FMRES_IGNORED
static ptr
ptr = create_tr2()
static Float:start[3], Float:end[3]
pev(host, pev_origin, start)
pev(ent, pev_origin, end)
engfunc(EngFunc_TraceLine, start, end, IGNORE_MONSTERS, ent, ptr)
static Float:fr
get_tr2(ptr, TR_flFraction, fr)
if(fr != 1.0)
{
get_tr2(ptr, TR_vecEndPos, end)
get_tr2(ptr, TR_vecPlaneNormal, start)
start[0] *= 10.0
start[1] *= 10.0
start[2] *= 10.0
end[0] += start[0]
end[1] += start[1]
end[2] += start[2]
set_es(es, ES_Origin, end)
static Float:dist, Float:scale
pev(ent, pev_origin, start)
dist = get_distance_f(start, end) - 10.0
scale = 500.0 / dist
if(scale > 1.0)
scale = 1.0
if(scale < 0.3)
scale = 0.3
set_es(es, ES_Scale, scale)
}
else
{
set_es(es, ES_Effects, get_es(es, ES_Effects) | EF_NODRAW)
}
free_tr2(ptr)
return FMRES_IGNORED
}