No tak, myślałem, że sam sobie radę dam z tym problemem i że nigdy nie będe musiał prosić o pomoć w skryptach, no cóż, stało się.
Problem polaga na tym, iż kiedy piszę nową funkcję, zapisuje ją w odzielnym pliku(nie chce robić burdelu w już istniejących.), dopisuje ją do Gothic.src tak, że by ją czytał, no i oczywiście do B_AssesDamage I B_MM_AssesDamage (Nie pamiętam czy tak się dokładnie to pisze, z resztą nie ważne.). Skrypt działał poprawnie, dopóki nie dodałem w nim warunku:
[codebox]if (C_NpcIsUndead(self) == TRUE)[/codebox]
Teraz kiedy parsuję skrypty, zSpy bezczelnie pluje się, iż:
[codebox]PAR: Undefined function : C_NPCISUNDEAD (line 11)[/codebox]
Sprawdziłem czy ta funkcja rzeczywiście istnieje i ku mojemu zdziwieniu, tak. A tu taki surprise...
Potem pomyślałem: "Może jakimś cudem ten skrypt nie jest dopisany do Gothic.src?". Sprawdziłem i kolejna niespodzianka, otóż jest.
I teraz pojawia się moje pytanie, jeżeli ktoś był by łaskaw objaśnić mi o co tu biega, to byłbym dozgonnie wdzięczny.
PS: Tutaj cały skrypt jakby ktoś potrzebował dla wyjaśnienia sprawy.
[codebox]
func void B_Duril (var C_NPC oth, var C_NPC slf)
{
var C_ITEM ready;
const int Durilspecialdamage = 100;
ready = Npc_GetReadiedWeapon(other);
if (Npc_HasItems(other, Itmw_Duril) == TRUE && Hlp_IsItem(ready, Itmw_Duril) == TRUE)
{
if (C_NpcIsUndead(self) == TRUE)
{
Wld_PlayEffect("spellFX_PalRepelEvil_KEY_CAST", self, self, 0, 0, 0, FALSE );
B_MagicHurtNpc (slf, slf, Durilspecialdamage);
};
if (Hlp_GetInstanceID(slf) == Hlp_GetInstanceID(Zom_5011_Warrior))
&& (slf.flags != NPC_FLAG_IMMORTAL)
{
Wld_PlayEffect("spellFX_Fear", self, self, 0, 0, 0, FALSE );
Wld_PlayEffect("spellFX_LIGHTSTAR_VIOLET", self, self, 0, 0, 0, FALSE );
Wld_PlayEffect("FX_EarthQuake", self, self, 0, 0, 0, FALSE );
Wld_PlayEffect("spellFX_INCOVATION_VIOLET", self, self, 0, 0, 0, FALSE );
Snd_Play ("MFX_FEAR_CAST" );
Snd_Play ("ZOM_Die" );
B_MagicHurtNpc (slf, slf, Durilpecialdamage*1000);
};
};
};
[/codebox]