Witam mam na serwerze klase posiadajaca tzn umiejetnosc specjalna. Problem w tym, ze nie dostaje ona doswiadczenia za zadane obrazenia. Obrazenia mam przypisane w ten sposob:
public primary_attack(id)
{
set_wpnanim(id, ANIM_FIRE)
entity_set_vector(id, EV_VEC_punchangle, Float:{ -1.5, 0.0, 0.0 })
emit_sound(id, CHAN_WEAPON, snd_hit[random_num(0, sizeof snd_hit - 1)], VOL_NORM, ATTN_NORM, 0, PITCH_NORM)
static iTarget, iBody, iEndOrigin[3], iStartOrigin[3]
get_user_origin(id, iStartOrigin, 1)
get_user_origin(id, iEndOrigin, 3)
fire_effects(iStartOrigin, iEndOrigin)
get_user_aiming(id, iTarget, iBody)
new iEnt = create_entity("info_target")
static Float:flOrigin[3]
IVecFVec(iEndOrigin, flOrigin)
entity_set_origin(iEnt, flOrigin)
remove_entity(iEnt)
new team = get_user_team(iTarget);
if(is_user_alive(iTarget))
{
if(HITSD > 0.0)
{
static Float:flVelocity[3]
get_user_velocity(iTarget, flVelocity)
xs_vec_mul_scalar(flVelocity, HITSD, flVelocity)
set_user_velocity(iTarget, flVelocity)
}
if(get_user_team(id) != team)
{
new iHp = pev(iTarget, pev_health)
new Float:iDamage, iBloodScale
if(iBody != HIT_HEAD)
{
iDamage = DAMAGE
iBloodScale = 10
}
else
{
iDamage = DAMAGE*DAMAGE_MULTI
iBloodScale = 25
}
if(iHp > iDamage)
{
make_blood(iTarget, iBloodScale)
set_pev(iTarget, pev_health, iHp-iDamage)
damage_effects(iTarget)
}
else if(iHp <= iDamage)
{
ExecuteHamB(Ham_Killed, iTarget, id, 2)
}
}
}
else
{
emit_sound(id, CHAN_WEAPON, snd_hit[random_num(0, sizeof snd_hit - 1)], VOL_NORM, ATTN_NORM, 0, PITCH_NORM)
}
}
Jak to moge naprawic?


Dodatki SourceMod














