Już wszystko jasne w czym tkwi problem. Funkcja wld_playeffect jest "bezpańska"
func void Sbd_is_damaged()
{
//ERRATA if (self==other&&hero==victim)
if(Npc_IsPlayer(victim)&&CmpNpc(self,other))
{weaponreaction(self,hero);};
};
Wld_PlayEffect ("spellFX_IceCube",attacker,defender,0,0,0,FALSE);
Należy ją więc wsadzić do funkcji, czyli np. tak:
func void Sbd_is_damaged()
{
//ERRATA if (self==other&&hero==victim)
if(Npc_IsPlayer(victim)&&CmpNpc(self,other))
{weaponreaction(self,hero);};
Wld_PlayEffect ("spellFX_IceCube",attacker,defender,0,0,0,FALSE);
};
PS. Rób wcięcia. Łatwiej się wtedy czyta kod.