Błąd podczas reparsownia dialogu 1918 3

O temacie

Autor przemetrzynascie

Zaczęty 10.03.2010 roku

Wyświetleń 1918

Odpowiedzi 3

przemetrzynascie

przemetrzynascie

Użytkownicy
posty8
Propsy1
  • Użytkownicy
Mój dialog

//========================================
//-----------------> OPCJA *KONIEC*
//========================================

INSTANCE DIA_NONE_999999_Przemek_EXIT(C_INFO)
{
npc = NONE_999999_Przemek;
nr = 999;
condition = DIA_NONE_999999_Przemek_EXIT_Condition;
information = DIA_NONE_999999_Przemek_EXIT_Info;
permanent = TRUE;
description = "KONIEC";
};

FUNC INT DIA_NONE_999999_Przemek_EXIT_Condition()
{
return TRUE;
};

FUNC INT DIA_NONE_999999_Przemek_EXIT_Info()
{
AI_StopProcessInfos (self);
};

//========================================
//-----------------> Spotkanie
//========================================

INSTANCE DIA_NONE_999999_Przemek_Spotkanie (C_INFO)
{
   npc = NONE_999999_Przemek;
   nr = 1;
   condition = DIA_NONE_999999_Przemek_Spotkanie_Condition;
   information = DIA_NONE_999999_Przemek_Spotkanie_Info;
   permanent = FALSE;
   description = "Się ma!";
};

FUNC INT DIA_NONE_999999_Przemek_Spotkanie_Condition()
{
return TRUE;
};

func VOID DIA_NONE_999999_Przemek_Spotkanie_Info()
{
AI_Output (other, self ,"DIA_NONE_999999_Przemek_Spotkanie_15_00"); //Się ma!
AI_Output (self, other ,"DIA_NONE_999999_Przemek_Spotkanie_01_01"); //Joł, Joł!
AI_Output (self, other ,"DIA_NONE_999999_Przemek_Spotkanie_01_02"); //Gdzie idziesz?
AI_Output (other, self ,"DIA_NONE_999999_Przemek_Spotkanie_15_03"); //Do miasta, po Oko Innosa!
AI_Output (self, other ,"DIA_NONE_999999_Przemek_Spotkanie_01_04"); //Aha...

};
//========================================
//-----------------> Pierwsza misja
//========================================

INSTANCE DIA_NONE_999999_Przemek_MYSZYN (C_INFO)
{
   npc = NONE_999999_Przemek;
   nr = 2;
   condition = DIA_NONE_999999_Przemek_MYSZYN_Condition;
   information = DIA_NONE_999999_Przemek_MYSZYN_Info;
   permanent = FALSE;
   Important = TRUE;
};

FUNC INT DIA_NONE_999999_Przemek_MYSZYN_Condition()
{
if (npc_knowsinfo (other, DIA_NONE_999999_Przemek_Spotkanie))
{
return TRUE;
};
};

func VOID DIA_NONE_999999_Przemek_MYSZYN_Info()
{
AI_Output (self, other ,"DIA_NONE_999999_Przemek_MYSZYN_01_00"); //Poczekaj! Mam dla ciebie misje!
AI_Output (self, other ,"DIA_NONE_999999_Przemek_MYSZYN_01_01"); //Przynieś mi Wielką Pałe!

Log_CreateTopic (TOPIC_wielkapala, LOG_MISSION);
Log_SetTopicStatus (TOPIC_wielkapala, LOG_RUNNING);
B_LogEntry (TOPIC_wielkapala, "Muszę znaleźć Wielką Pałe dla Przemka");
};
//========================================
//-----------------> WIELKA PAŁA1
//========================================

INSTANCE DIA_NONE_999999_Przemek_WIELKAPALA1 (C_INFO)
{
   npc = NONE_999999_Przemek;
   nr = 3;
   condition = DIA_NONE_999999_Przemek_WIELKAPALA1_Condition;
   information = DIA_NONE_999999_Przemek_WIELKAPALA1_Info;
   permanent = FALSE;
   description = "Gdzie ją znajdę?";
};

FUNC INT DIA_NONE_999999_Przemek_WIELKAPALA1_Condition()
{
if (npc_knowsinfo (other, DIA_NONE_999999_Przemek_WYKONANAMYSZYN))
|| (npc_hasitems (other, ItMw_1h_Wielka_Pala) >= 1)
{
return FALSE;
}
else
if (npc_knowsinfo (other, DIA_NONE_999999_Przemek_MYSZYN))
{
return TRUE;
};

};

func VOID DIA_NONE_999999_Przemek_WIELKAPALA1_Info()
{
AI_Output (other, self ,"DIA_NONE_999999_Przemek_WIELKAPALA1_15_00"); //Gdzie ją znajdę?
AI_Output (self, other ,"DIA_NONE_999999_Przemek_WIELKAPALA1_01_01"); //Odebrała mi ją, Ogromna Bestia! Uciekła w stronę wodospadu!

B_LogEntry (TOPIC_wielkapala, "Zabrał ją Ogromna Bestia i uciekła w stronę wodospadu");
};
//========================================
//-----------------> WIELKA PAŁA2
//========================================

INSTANCE DIA_NONE_999999_Przemek_WIELKAPALA2 (C_INFO)
{
   npc = NONE_999999_Przemek;
   nr = 4;
   condition = DIA_NONE_999999_Przemek_WIELKAPALA2_Condition;
   information = DIA_NONE_999999_Przemek_WIELKAPALA2_Info;
   permanent = FALSE;
   description = "Po co Ci ona?";
};

FUNC INT DIA_NONE_999999_Przemek_WIELKAPALA2_Condition()
{
if (npc_knowsinfo (other, DIA_NONE_999999_Przemek_WYKONANAMYSZYN))
{
return FALSE;
}
else
if (npc_knowsinfo (other, DIA_NONE_999999_Przemek_MYSZYN))
{
return TRUE;
};
};

func VOID DIA_NONE_999999_Przemek_WIELKAPALA2_Info()
{
AI_Output (other, self ,"DIA_NONE_999999_Przemek_WIELKAPALA2_15_00"); //Po co Ci ona?
AI_Output (self, other ,"DIA_NONE_999999_Przemek_WIELKAPALA2_01_01"); //Żeby mieć co w dupe wsadzić!
};
//========================================
//-----------------> WYKONANA MYSZYN
//========================================

INSTANCE DIA_NONE_999999_Przemek_WYKONANAMYSZYN (C_INFO)
{
   npc = NONE_999999_Przemek;
   nr = 5;
   condition = DIA_NONE_999999_Przemek_WYKONANAMYSZYN_Condition;
   information = DIA_NONE_999999_Przemek_WYKONANAMYSZYN_Info;
   permanent = FALSE;
   description = "Mam pałe!";
};

FUNC INT DIA_NONE_999999_Przemek_WYKONANAMYSZYN_Condition()
{
if (npc_knowsinfo (other, DIA_NONE_999999_Przemek_MYSZYN))
&& (npc_hasitems (other, ItMw_1h_Wielka_Pala) >= 1)
{
return TRUE;
};
};

func VOID DIA_NONE_999999_Przemek_WYKONANAMYSZYN_Info()
{
AI_Output (other, self ,"DIA_NONE_999999_Przemek_WYKONANAMYSZYN_15_00"); //Mam pałe!
AI_Output (self, other ,"DIA_NONE_999999_Przemek_WYKONANAMYSZYN_01_01"); //Dawaj!

B_giveinvitems (other, self, ItMw_1h_Wielka_Pala, 1);
B_LogEntry (TOPIC_wielkapala, "Przemek ma już swoją pałe");
Log_SetTopicStatus (TOPIC_wielkapala, LOG_SUCCESS);

AI_Output (self, other ,"DIA_NONE_999999_Przemek_WYKONANAMYSZYN_01_02"); //Weź 50 goldów i zrób z nich użytek u Nadji!

Createinvitems (self, itmi_gold, 50);
B_giveinvitems (self, other, itmi_gold, 50);
Log_CreateTopic (TOPIC_nadja, LOG_MISSION);
Log_SetTopicStatus (TOPIC_nadja, LOG_RUNNING);
B_LogEntry (TOPIC_nadja, "Przemek chcę, żebym wydał te pieniądze na Nadję. Lepiej to zrobię!");

AI_Output (self, other ,"DIA_NONE_999999_Przemek_WYKONANAMYSZYN_01_03"); //Ale przynieś mi jakiś dowód, żebym wiedział, że tego nie przechlałeś!

B_LogEntry (TOPIC_nadja, "Muszę przynieś dowód, że to zrobiłem");
};
//========================================
//-----------------> MYSZYN NADJA
//========================================

INSTANCE DIA_NONE_999999_Przemek_MYSZYNNADJA (C_INFO)
{
   npc = NONE_999999_Przemek;
   nr = 6;
   condition = DIA_NONE_999999_Przemek_MYSZYNNADJA_Condition;
   information = DIA_NONE_999999_Przemek_MYSZYNNADJA_Info;
   permanent = FALSE;
   description = "Zobiłem co chciałeś!";
};

FUNC INT DIA_NONE_999999_Przemek_MYSZYNNADJA_Condition()
{
if (npc_hasitems (other, ItMi_zuzyta_prezerwatywa) >= 1)
&& (npc_knowsinfo (other, DIA_NONE_999999_Przemek_WYKONANAMYSZYN))
{
return TRUE;
};
};

func VOID DIA_NONE_999999_Przemek_MYSZYNNADJA_Info()
{
AI_Output (other, self ,"DIA_NONE_999999_Przemek_MYSZYNNADJA_15_00"); //Zrobiłem co chciałeś!
AI_Output (self, other ,"DIA_NONE_999999_Przemek_MYSZYNNADJA_01_01"); //A masz dowód?
AI_Output (other, self ,"DIA_NONE_999999_Przemek_MYSZYNNADJA_15_02"); //Proszę, oto zużyta prezerwatywa!

B_giveinvitems (other, self, ItMi_zuzyta_prezerwatywa, 1);

AI_Output (self, other ,"DIA_NONE_999999_Przemek_MYSZYNNADJA_01_03"); //Dobrze! W nagrodę dostaniesz...
B_LogEntry (TOPIC_nadja, "Sprawa załatwiona!");
Log_SetTopicStatus (TOPIC_nadja, LOG_SUCCESS);
AI_Output (self, other ,"DIA_NONE_999999_Przemek_MYSZYNNADJA_01_04"); //Niedostaniesz wpierdol!

Info_ClearChoices (DIA_NONE_999999_Przemek_MYSZYNNADJA);
Info_AddChoice (DIA_NONE_999999_Przemek_MYSZYNNADJA, "Ok, dobre i to!", DIA_NONE_999999_Przemek_ODPDOBRA );
Info_AddChoice (DIA_NONE_999999_Przemek_MYSZYNNADJA, "Co?! Dawaj natychmiast złoto!", DIA_NONE_999999_Przemek_ODPZLA );
};
//---------------->Odpowiedź dobra
func void DIA_NONE_999999_Przemek_ODPDOBRA ()
{
AI_Output (other, self ,"DIA_NONE_999999_Przemek_MYSZYNNADJA_15_05"); //Ok, dobre i to!
};
//---------------->Odpowiedź zła
func void DIA_NONE_999999_Przemek_ODPZLA ()
{
AI_Output (other, self ,"DIA_NONE_999999_Przemek_MYSZYNNADJA_15_06"); //Co?! Dawaj natychmiast złoto!

AI_StopProcessInfos(self);
B_Attack (self, other, AR_SuddenEnemyInferno, 1);
};
//================================================
//-----------------> Jeżli odp. zła
//================================================

INSTANCE DIA_NONE_999999_Przemek_JEZODPZLA (C_INFO)
{
   npc = NONE_999999_Przemek;
   nr = 7;
   condition = DIA_NONE_999999_Przemek_JEZODPZLA_Condition;
   information = DIA_NONE_999999_Przemek_JEZODPZLA_Info;
   permanent = FALSE;
   Important = TRUE;
};
FUNC INT DIA_NONE_999999_Przemek_JEZODPZLA_Condition()
{
if (npc_knowsinfo (other, DIA_NONE_999999_Przemek_ODPZLA))
{
return TRUE;
};
};
func VOID DIA_NONE_999999_Przemek_JEZODPZLA_Info()
{
AI_Output (self, other ,"DIA_NONE_999999_Przemek_JEZODPZLA_01_01"); //Masz coś jeszcze do powiedzenia?
AI_Output (other, self ,"DIA_NONE_999999_Przemek_JEZODPZLA_15_02"); //Nie, już nic...

AI_StopProcessInfos(self);
};
//================================================
//-----------------> Zrobisz dla mnie coś jeszcze?
//================================================

INSTANCE DIA_NONE_999999_Przemek_MYSZYNHAGEN (C_INFO)
{
   npc = NONE_999999_Przemek;
   nr = 8;
   condition = DIA_NONE_999999_Przemek_MYSZYNHAGEN_Condition;
   information = DIA_NONE_999999_Przemek_MYSZYNHAGEN_Info;
   permanent = FALSE;
   Important = TRUE;
};

FUNC INT DIA_NONE_999999_Przemek_MYSZYNHAGEN_Condition()
{
if (npc_knowsinfo (other, DIA_NONE_999999_Przemek_ODPDOBRA)) || (npc_knowsinfo (other, DIA_NONE_999999_Przemek_JEZODPZLA))
{
return TRUE;
};
};
func VOID DIA_NONE_999999_Przemek_MYSZYNHAGEN_Info()
{
AI_Output (self, other ,"DIA_NONE_999999_Przemek_MYSZYNHAGEN_01_00"); //Zrobisz dla mnie coś jeszcze?

Info_ClearChoices (DIA_NONE_999999_Przemek_MYSZYNNADJA);
Info_AddChoice (DIA_NONE_999999_Przemek_MYSZYNHAGEN, "Jasne!", DIA_NONE_999999_Przemek_ODPTAK );
Info_AddChoice (DIA_NONE_999999_Przemek_MYSZYNHAGEN, "Chyba śnisz!", DIA_NONE_999999_Przemek_ODPNIE );
};
//-----------------> Odpowiedź twierdząca

func void DIA_NONE_999999_Przemek_ODPTAK ()
{
AI_Output (other, self ,"DIA_NONE_999999_Przemek_MYSZYNHAGEN_15_01"); //Jasne!
AI_Output (self, other ,"DIA_NONE_999999_Przemek_MYSZYNHAGEN_01_02"); //Zabij Hagena!
AI_Output (other, self ,"DIA_NONE_999999_Przemek_MYSZYNHAGEN_15_03"); //Jak mam to zrobić?
AI_Output (self, other ,"DIA_NONE_999999_Przemek_MYSZYNHAGEN_01_04"); //Użyj w jego komnacie tego czaru!

B_giveinvitems (self, other, ItSc_Firerain, 1);
Log_CreateTopic (TOPIC_smierchagena, LOG_MISSION);
Log_SetTopicStatus (TOPIC_smierchagena, LOG_RUNNING);
B_LogEntry (TOPIC_smierchagena, "Przemek chcę, żebym zabił Hagena... Ale będzie rzeź!");
AI_StopProcessInfos (self);
};
//-----------------> Odpowiedź przecząca

func void DIA_NONE_999999_Przemek_ODPNIE ()
{
AI_Output (other, self ,"DIA_NONE_999999_Przemek_MYSZYNHAGEN_15_05"); //Chyba śnisz!
AI_Output (self, other ,"DIA_NONE_999999_Przemek_MYSZYNHAGEN_01_06"); //Czyli jednak masz wpierdol...

AI_StopProcessInfos(self);
B_Attack (self, other, AR_SuddenEnemyInferno, 1);
};

//=============================================
//-----------------> Jeżeli odpowiedź przecząca
//=============================================

INSTANCE DIA_NONE_999999_Przemek_JEZODPPRZE (C_INFO)
{
   npc = NONE_999999_Przemek;
   nr = 9;
   condition = DIA_NONE_999999_Przemek_JEZODPPRZE_Condition;
   information = DIA_NONE_999999_Przemek_JEZODPPRZE_Info;
   permanent = FALSE;
   Important = TRUE;
};

FUNC INT DIA_NONE_999999_Przemek_JEZODPPRZE_Condition()
{
if (npc_knowsinfo (other, DIA_NONE_999999_Przemek_ODPNIE))
{
return TRUE;
};
};

func VOID DIA_NONE_999999_Przemek_JEZODPPRZE_Info()
{
AI_Output (other, self ,"DIA_NONE_999999_Przemek_JEZODPPRZE_01_00"); //Dam ci ostanią szanse! Pomożesz mi czy nie?

Info_ClearChoices (DIA_NONE_999999_Przemek_JEZODPPRZE);
Info_AddChoice (DIA_NONE_999999_Przemek_JEZODPPRZE, "Tak Panie!", DIA_NONE_999999_Przemek_ODPTAK2 );
Info_AddChoice (DIA_NONE_999999_Przemek_JEZODPPRZE, "Nigdy!", DIA_NONE_999999_Przemek_ODPNIE2 );
};
//-----------------> Odpowiedź twierdząca

func void DIA_NONE_999999_Przemek_ODPTAK2 ()
{
AI_Output (other, self ,"DIA_NONE_999999_Przemek_JEZODPPRZE_15_01"); //Tak Panie! Dla ciebie wszystko!
AI_Output (self, other ,"DIA_NONE_999999_Przemek_JEZODPPRZE_01_02"); //W takim razie, zabij Hagena!
AI_Output (other, self ,"DIA_NONE_999999_Przemek_JEZODPPRZE_15_03"); //Jak mam to zrobić?
AI_Output (self, other ,"DIA_NONE_999999_Przemek_JEZODPPRZE_01_04"); //Użyj w jego komnacie tego czaru!

B_giveinvitems (self, other, ItSc_Firerain, 1);
Log_CreateTopic (TOPIC_smierchagena, LOG_MISSION);
Log_SetTopicStatus (TOPIC_smierchagena, LOG_RUNNING);
B_LogEntry (TOPIC_smierchagena, "Mój Pan każe mi zabić Hagena... Ale będzie rzeź!");
AI_StopProcessInfos (self);
};
//-----------------> Odpowiedź przecząca

func void DIA_NONE_999999_Przemek_ODPNIE2 ()
{
AI_Output (other, self ,"DIA_NONE_999999_Przemek_JEZODPPRZE_15_05"); //Odwal się!
AI_Output (self, other ,"DIA_NONE_999999_Przemek_JEZODPPRZE_01_06"); //Czyli jednak musisz zginąć...

AI_StopProcessInfos(self);
B_Attack (self, other, AR_SuddenEnemyInferno, 1);
};
//========================================
//-----------------> Wykonana misja Hagen
//========================================

INSTANCE DIA_NONE_999999_Przemek_WYKHAGEN (C_INFO)
{
   npc = NONE_999999_Przemek;
   nr = 10;
   condition = DIA_NONE_999999_Przemek_WYKHAGEN_Condition;
   information = DIA_NONE_999999_Przemek_WYKHAGEN_Info;
   permanent = FALSE;
   description = "Zabiłem Hagena!";
};

FUNC INT DIA_NONE_999999_Przemek_WYKHAGEN_Condition()
{
if (Npc_IsDead (PAL_200_Hagen))
{
return TRUE;
};
};

func VOID DIA_NONE_999999_Przemek_WYKHAGEN_Info()
{
AI_Output (other, self ,"DIA_NONE_999999_Przemek_WYKHAGEN_15_00"); //Hagen nieżyje!
AI_Output (self, other ,"DIA_NONE_999999_Przemek_WYKHAGEN_01_01"); //Hahaha, ale frajer! Teraz nie przejdziesz gry!

AI_StopProcessInfos(self);
};

To błąd który wyskakuje



Fragmenty kodu w których może być błąd

Info_AddChoice (DIA_NONE_999999_Przemek_MYSZYNNADJA, "Ok, dobre i to!", DIA_NONE_999999_Przemek_ODPDOBRA );
Info_AddChoice (DIA_NONE_999999_Przemek_MYSZYNNADJA, "Co?! Dawaj natychmiast złoto!", DIA_NONE_999999_Przemek_ODPZLA );
};

func void DIA_NONE_999999_Przemek_ODPZLA ()
{
AI_Output (other, self ,"DIA_NONE_999999_Przemek_MYSZYNNADJA_15_06"); //Co?! Dawaj natychmiast złoto!

AI_StopProcessInfos(self);
B_Attack (self, other, AR_SuddenEnemyInferno, 1);

INSTANCE DIA_NONE_999999_Przemek_JEZODPZLA (C_INFO)
{
   npc = NONE_999999_Przemek;
   nr = 7;
   condition = DIA_NONE_999999_Przemek_JEZODPZLA_Condition;
   information = DIA_NONE_999999_Przemek_JEZODPZLA_Info;
   permanent = FALSE;
   Important = TRUE;
};

Ja tu nie widze błędu. Dlaczego mi wyskakuje błąd?
 

majaczek

majaczek

DreamVader
The Dreamer
posty404
Propsy191
Profesjabrak
  • DreamVader
  • The Dreamer
błąd świadczy o niezgodności typów
polega na niepasującym typie podanego argumentu do oczekiwanego

sprawdź co ma być
- void func cośtam
- cośtam func cośtam
- instance (C_INFO)
- instance (C_DIALOG)
(to jest zapis skrótowy typu)

i sprawdź czy czegoś nie pomieszałeś
 

Adanos

Adanos

Administrator
Szara eminencja
posty5204
Propsy3870
ProfesjaProgramista
  • Administrator
  • Szara eminencja
Zamiast tego Info_AddChoice (DIA_NONE_999999_Przemek_MYSZYNNADJA, "Ok, dobre i to!", DIA_NONE_999999_Przemek_ODPDOBRA );
Info_AddChoice (DIA_NONE_999999_Przemek_MYSZYNNADJA, "Co?! Dawaj natychmiast złoto!", DIA_NONE_999999_Przemek_ODPZLA );
powinno być
Info_AddChoice (DIA_NONE_999999_Przemek_MYSZYNNADJA, "Ok, dobre i to!", DIA_NONE_999999_Przemek_MYSZYNNADJA_ODPDOBRA );
Info_AddChoice (DIA_NONE_999999_Przemek_MYSZYNNADJA, "Co?! Dawaj natychmiast złoto!", DIA_NONE_999999_Przemek_MYSZYNNADJA_ODPZLA );
I dalej też trochę pozmieniać.

przemetrzynascie

przemetrzynascie

Użytkownicy
posty8
Propsy1
  • Użytkownicy
Ok, dzięki. Znalazłem już błąd. Chodzi o to, że jak używasz funkcji Choice i nazywasz ją np. DIA_NONE_999999_Przemek_ODPZLA to nie możesz użyć tego w warunku if (npc_knowsinfo). Temat można zamknąć
 


0 użytkowników i 1 Gość przegląda ten wątek.
0 użytkowników
Do góry