Dodalem czarodziejce nowego fireballa - mianowicie teraz czarodziejka zamiast powolnej kuli ma rakiete (o ksztalcie fireballa).. Gdy gram Czarodziejka i puszcze ze 3 rakiety na runde serwer sie crashuje..
Oto logi :
L 02/13/2016 - 21:05:16: [AMXX] Displaying debug trace (plugin "diablo_shibby.amxx")
L 02/13/2016 - 21:05:16: [AMXX] Run time error 4: index out of bounds
L 02/13/2016 - 21:05:16: [AMXX] [0] diablo_shibby.sma::fw_traceline (line 8854)
urywek kodu tego Diablomoda :
public chacke_pos(Float:vOrigin[3],axe)
{
new test=0
vOrigin[axe]-=15.0
if(distance_to_floor(vOrigin)<31.0) test++
vOrigin[axe]+=15.0
if(distance_to_floor(vOrigin)<31.0) test++
vOrigin[axe]+=15.0 - tu niby jest blad (line 8854)
if(distance_to_floor(vOrigin)<31.0) test++
if(test<2) return 0
vOrigin[axe]-=15.0
return 1
}
public fw_traceline(Float:vecStart[3],Float:vecEnd[3],ignoreM,id,trace) // pentToSkip == id, for clarity
{
if (player_glowaoff[id] > 0) set_tr2(trace, TR_iHitgroup, 8)
if(!is_user_connected(id))
return FMRES_IGNORED;
// not a player entity, or player is dead
if(!is_user_alive(id))
return FMRES_IGNORED;
new hit = get_tr2(trace, TR_pHit)
// not shooting anything
if(!(pev(id,pev_button) & IN_ATTACK))
return FMRES_IGNORED;
new h_bulet=0
if(golden_bulet[id]>0)
{
golden_bulet[id]--
h_bulet=1
}
if(is_valid_ent(hit))
{
new name[64]
entity_get_string(hit,EV_SZ_classname,name,63)
if(equal(name,"dbmod_shild"))
{
new Float: ori[3]
entity_get_vector(hit,EV_VEC_origin,ori)
set_tr2(trace,TR_vecEndPos,vecEnd)
if(after_bullet[id]>0)
{
new Float: health=entity_get_float(hit,EV_FL_health)
entity_set_float(hit,EV_FL_health,health-3.0)
if(health-1.0<0.0) remove_entity(hit)
after_bullet[id]--
}
set_tr2(trace,TR_iHitgroup,8);
set_tr2(trace,TR_flFraction,1.0);
return FMRES_SUPERCEDE;
}
}
if(is_user_alive(hit))
{
if(h_bulet)
{
set_tr2(trace, TR_iHitgroup, HIT_HEAD) // Redirect shot to head
// Variable angles doesn't really have a use here.
static hit, Float:head_origin[3], Float:angles[3]
hit = get_tr2(trace, TR_pHit) // Whomever was shot
engfunc(EngFunc_GetBonePosition, hit, 8, head_origin, angles) // Find origin of head bone (8)
set_tr2(trace, TR_vecEndPos, head_origin) // Blood now comes out of the head!
}
if(ultra_armor[hit]>0 || (player_class[hit]==Paladyn && random_num(0,3)==1) || random_num(0,player_ultra_armor_left[hit])==1)
{
if(after_bullet[id]>0)
{
if(ultra_armor[hit]>0) ultra_armor[hit]--
else if(player_ultra_armor_left[hit]>0)player_ultra_armor_left[hit]--
after_bullet[id]--
}
set_tr2(trace, TR_iHitgroup, 8)
}
return FMRES_IGNORED
}
return FMRES_IGNORED;
}