Witam, mam problem z moim pierwszym skryptem rozmowy. Konkretnie jest to taki błąd ( wyciągnąłem go z Zspy, pojawia się oczywiście przy naprawianiu skryptów via Spacer ):
Fatal:-1 U:PAR: \_WORK\DATA\SCRIPTS\CONTENT\STORY\DIALOGE\DIA_NONE_10000_PATRICK.D: Unknown identifier : .... <zParser.cpp,#599>
W oknie Spacera wszystko kończy się za ":", więc myślałem, że po prostu okienko komunikatu o błędzie mi przycina. Daję oczywiście cały skrypt:
//========================================
//-----------------> OPCJA *KONIEC*
//========================================
INSTANCE DIA_Patrick_EXIT(C_INFO)
{
npc = None_10000_Patrick;
nr = 999;
condition = DIA_Patrick_EXIT_Condition;
information = DIA_Patrick_EXIT_Info;
permanent = TRUE;
description = "KONIEC";
};
FUNC INT DIA_Patrick_EXIT_Condition()
{
return TRUE;
};
FUNC INT DIA_Patrick_EXIT_Info()
{
AI_StopProcessInfos (self);
};
//========================================
//-----------------> HELLO1
//========================================
INSTANCE DIA_Patrick_HELLO1(C_INFO)
{
npc = None_10000_Patrick;
nr = 1;
condition = DIA_Patrick_HELLO1_Condition;
information = DIA_Patrick_HELLO1_Info;
permanent = FALSE;
description = "Witaj.";
};
FUNC INT DIA_Patrick_HELLO1_Condition()
{
return TRUE;
};
func VOID DIA_Patrick_HELLO1_Info()
{
AI_Output (other, self ,"DIA_Patrick__15_01"); //Witaj. Kim jesteś ?
AI_Output (self, other ,"DIA_Patrick__03_02"); //Nazywam się Patrick. Jestem strażnikiem Xardasa.
};
//========================================
//-----------------> ROBOTA1
//========================================
INSTANCE DIA_Patrick_ROBOTA1(C_INFO)
{
npc = None_10000_Patrick;
nr = 2;
condition = DIA_Patrick_ROBOTA1_Condition;
information = DIA_Patrick_ROBOTA1_Info;
permanent = FALSE;
description = "Potrzeba ci czegoś ? ";
};
FUNC INT DIA_Patrick_ROBOTA1_Condition()
{
if (Npc_KnowsInfo (other, DIA_Patrick_HELLO1))
{
return TRUE;
};
};
func VOID DIA_Patrick_ROBOTA1_Info()
{
AI_Output (other, self ,"DIA_Patrick_ROBOTA1_15_01"); //Potrzeba ci czegoś ?
AI_PlayAni (self, "T_SEARCH");
AI_Output (self, other ,"DIA_Patrick_ROBOTA1_03_02"); //W sumie... przed wieżą kręci się jakaś zbłądzona owieczka... Xardas daje mi tutaj do jedzenia jakieś zielsko, ileż tak można żyć ? Zabij tą owcę i przynieś mi jej mięso.
var int MIS_Patrick_Meat;
MIS_Patrick_Meat = LOG_RUNNING;
Log_CreateTopic (TOPIC_Patrick_Meat,LOG_MISSION);
Log_SetTopicStatus (TOPIC_Patrick_Meat,LOG_RUNNING);
B_LogEntry (TOPIC_Patrick_Meat,"Patrick, strażnik Xardasa, poprosił mnie o zabicie owcy i przyniesienie mu jej mięsa..");
};
//========================================
//-----------------> ROBOTA2
//========================================
INSTANCE DIA_Patrick_HELLO2(C_INFO)
{
npc = None_10000_Patrick;
nr = 3;
condition = DIA_Patrick_HELLO2_Condition;
information = DIA_Patrick_HELLO2_Info;
permanent = FALSE;
description = "Co do owcy...";
};
FUNC INT DIA_Patrick_HELLO2_Condition()
{
if (Npc_KnowsInfo (other, DIA_Patrick_ROBOTA1))
{
return TRUE;
};
};
func VOID DIA_Patrick_HELLO2_Info()
{
AI_Output (other, self ,"DIA_Patrick_HELLO2_15_01"); //Co do tej owcy...
AI_Output (self, other ,"DIA_Patrick_HELLO2_03_02"); //Co z nią?
Info_ClearChoices (DIA_Patrick_HELLO2);
Info_AddChoice (DIA_Patrick_HELLO2, "Sam idź ją zabij. ", DIA_Patrick_HELLO2_SAM_SE_ZABIJ);
Info_AddChoice (DIA_Patrick_HELLO2, "NEVERMIND", DIA_Patrick_HELLO2_Nieważne.);
};
func void DIA_Patrick_HELLO2_SAM_SE_ZABIJ()
{
AI_Output (other, self ,"DIA_Patrick_HELLO2_HELLO2_SAM_SE_ZABIJ_15_01"); //Sam idź ją zabij.
AI_Output (self, other ,"DIA_Patrick_HELLO2_HELLO2_SAM_SE_ZABIJ_03_02"); //A co, ty się boisz? Toż to tylko owieczka...
AI_Output (other, self ,"DIA_Patrick_HELLO2_HELLO2_SAM_SE_ZABIJ_15_03"); //Cóż, nawet jeśli się boję, to nie siedzę na dupie i nie czekam na śmiałka, który zrobi to za mnie.
AI_Output (self, other ,"DIA_Patrick_HELLO2_HELLO2_SAM_SE_ZABIJ_03_04"); //Co?! Pożałujesz tych słów, chłopcze...
AI_StopProcessInfos (self);
B_Attack (self, other, AR_NONE,1);
};
func void DIA_Patrick_HELLO2_NEVERMIND()
{
AI_Output (other, self ,"DIA_Patrick_HELLO2_HELLO2_NEVERMIND_15_01"); //Nie, nic. Zapomnij.
AI_Output (self, other ,"DIA_Patrick_HELLO2_HELLO2_NEVERMIND_03_02"); //Już zapomniałem... zawsze chciałem tak powiedzieć!
AI_StopProcessInfos (self);
};
//========================================
//-----------------> ROBOTA3
//========================================
INSTANCE DIA_Patrick_ROBOTA3(C_INFO)
{
npc = None_10000_Patrick;
nr = 4;
condition = DIA_Patrick_ROBOTA3_Condition;
information = DIA_Patrick_ROBOTA3_Info;
permanent = FALSE;
Important = TRUE;
};
FUNC INT DIA_Patrick_ROBOTA3_Condition()
{
if (Npc_HasItems (other, ItFoMuttonRaw) >=1)
{
return TRUE;
};
};
func VOID DIA_Patrick_ROBOTA3_Info()
{
AI_Output (self, other ,"DIA_Patrick_ROBOTA3_03_01"); //I co? Masz moje mięsko?
AI_Output (other, self ,"DIA_Patrick_ROBOTA3_15_02"); //To było prostsze, niż sądziłem... Mimo to, mam nadzieję, że docenisz wysiłek.
AI_Output (self, other ,"DIA_Patrick_ROBOTA3_03_03"); //A żebyś wiedział. Nareszcie jej nie ma! Możesz iść do mojego kufra i wziąć, co tylko zechcesz.
AI_Output (other, self ,"DIA_Patrick_ROBOTA3_15_04"); //Czekaj. Jak to "wreszcie jej nie ma"?
AI_Output (self, other ,"DIA_Patrick_ROBOTA3_03_05"); //IDŹ!
B_LogEntry (TOPIC_Patrick_Meat,"Zaniosłem mięso Patrickowi. Po tej epickiej wyprawie czuję się prawdziwie spełniony.");
var int MIS_Patrick_Meat;
MIS_Patrick_Meat = LOG_SUCCESS;
B_GivePlayerXP (150);
};