Das hier beschriebene Symptom:
https://forum.worldofplayers.de/foru...1#post26046422
https://forum.worldofplayers.de/foru...1#post26046480
wird wahrscheinlich durch die Funktionen div_setmarkusfightmodeforkidnapping() und div_setcortneyfightmodeforkidnapping() ausgelöst.
Code:
func void div_setmarkusfightmodeforkidnapping() {
if(npc_isinfightmode(self, fmode_fist)) {
npc_settofightmode(self, fmode_none);
}
else {
npc_settofightmode(self, fmode_fist);
};
};
1.:
npc_settofightmode(self, fmode_none) ist äquivalent zu npc_settofightmode(self, 0).
Dort einen fmode als Parameter zu übergeben ist falsch, da wird eine item Instanz erwartet.
2.:
Die Verwendung von self ist in diesem Kontext auch falsch. Die beiden Funktionen werden mit AI_Function in die Ai-queue eines NPCs eingereiht und dann später aufgerufen:
Code:
ai_function(self, div_setmarkusfightmodeforkidnapping);
Innerhalb einer solchen Funktion ist unmöglich vorherzusehen auf welchen NPC "self" zurzeit zeigt.
Um an den NPC ranzukommen in dessen Ai-Queue diese Funktion eingereiht wurde mit AI_Function kann man so vorgehen:
Code:
func void foo(){
var c_npc me; me = _^(ECX); // holt den NPC aus wessen AI_Queque diese Funktion aufgerufen wurde(WENN die Funktion foo() mit AI_Function in die Ai-queue eines NPCs eingereiht wurde)
};
Es gibt möglicherweise noch andere Stellen in den Skripten wo fälschlicherweise self verwendet wird.