O właśnie Dzięki. Akurat coś tam próbowałem z tą funkcją Npc_IsDead robić i nie bardzo to wychodziło. Jak napiszę sobie potrzebny skrypt, to jeszcze tu wrzucę do sprawdzenia
Do pliku ZS_Dead w folderze: \_Work\data\Scripts\Content\AI\Human\ZS_Human dodałem:
if(Hlp_GetInstanceID(self) == Hlp_GetInstanceID(ORC_8537_SHAMAN))
{
K_ShamanKilled= TRUE;
};
a to dodałem do startup
func void B_CYCLE_FUNCTION()
{
if(hero.attribute[ATR_HITPOINTS_MAX] == 0)
{
Wld_SendTrigger("CYCLE_TRIGGER");
return;
};
if(K_ShamanKilled == TRUE)
{
Wld_SendTrigger("TEST1");
};
Wld_SendTrigger("CYCLE_TRIGGER");
};
i przy odpalaniu pokazuje mi błąd:
U: PAR:Syntax error: IF ( line 102 ) - linia 102, to ta na czerwono.
Mógłbyś N1kX spojrzeć?
A i dodałem do func void INIT_STRAND () w startup B_CYCLE_FUNCTION();
i tą funkcję przeniosłem ze startup, bo w poradniku pisało żeby tak nie robić,
ale dalej mam ten błąd.
Masakra, jak człowiek nie zna teorii i podstaw skryptów do Gothica
Ten błąd 102 to jednak był tu:
f(Hlp_GetInstanceID(self) == Hlp_GetInstanceID(ORC_8537_SHAMAN))
w tej linijce, bo jak przeniosłem funkcję ze startup, to tam nawet takiej linijki 102 nie było.
Zrobiłem to jeszcze raz wg pierwszej wersji i napisałem taki skrypt:
func void B_CYCLE_FUNCTION()
{
if(hero.attribute[ATR_HITPOINTS_MAX] == 0)
{
Wld_SendTrigger("CYCLE_TRIGGER");
return;
};
var C_NPC npc;
npc = Hlp_GetNpc(ORC_8537_SHAMAN);
if(Npc_IsDead(npc))
{
Wld_SendTrigger("TEST1");
Wld_SendTrigger("CYCLE_TRIGGER");
};
};
no i jest prawie dobrze, prawie, bo po śmierci orka-szamana brama się w kółko otwiera i zamyka. Pewnie dlatego, że dany NPC jest martwy uruchamia się brama i od nowa ten zapętlony trigger, a że NPC jest dalej martwy, to cała akcja się powtarza.
Do pliku ZS_Dead w folderze: \_Work\data\Scripts\Content\AI\Human\ZS_Human dodałem:
if(Hlp_GetInstanceID(self) == Hlp_GetInstanceID(ORC_8537_SHAMAN))
{
K_ShamanKilled= TRUE;
};
a to dodałem do startup
func void B_CYCLE_FUNCTION()
{
if(hero.attribute[ATR_HITPOINTS_MAX] == 0)
{
Wld_SendTrigger("CYCLE_TRIGGER");
return;
};
if(K_ShamanKilled == TRUE)
{
Wld_SendTrigger("TEST1");
};
Wld_SendTrigger("CYCLE_TRIGGER");
};
i przy odpalaniu pokazuje mi błąd:
U: PAR:Syntax error: IF ( line 102 ) - linia 102, to ta na czerwono.
Mógłbyś N1kX spojrzeć?
A i dodałem do func void INIT_STRAND () w startup B_CYCLE_FUNCTION();
i tą funkcję przeniosłem ze startup, bo w poradniku pisało żeby tak nie robić,
ale dalej mam ten błąd.
Masakra, jak człowiek nie zna teorii i podstaw skryptów do Gothica
Ten błąd 102 to jednak był tu:
f(Hlp_GetInstanceID(self) == Hlp_GetInstanceID(ORC_8537_SHAMAN))
w tej linijce, bo jak przeniosłem funkcję ze startup, to tam nawet takiej linijki 102 nie było.
Zrobiłem to jeszcze raz wg pierwszej wersji i napisałem taki skrypt:
func void B_CYCLE_FUNCTION()
{
if(hero.attribute[ATR_HITPOINTS_MAX] == 0)
{
Wld_SendTrigger("CYCLE_TRIGGER");
return;
};
var C_NPC npc;
npc = Hlp_GetNpc(ORC_8537_SHAMAN);
if(Npc_IsDead(npc))
{
Wld_SendTrigger("TEST1");
Wld_SendTrigger("CYCLE_TRIGGER");
};
};
no i jest prawie dobrze, prawie, bo po śmierci orka-szamana brama się w kółko otwiera i zamyka. Pewnie dlatego, że dany NPC jest martwy uruchamia się brama i od nowa ten zapętlony trigger, a że NPC jest dalej martwy, to cała akcja się powtarza.