U: PAR: CONTENT\STORY\MISSIONS\DIA_GRD_10003_GIACOMO.D: Wrong type: INFO_GIACOMO_ZADANIE 7114 23

O temacie

Autor eto

Zaczęty 12.06.2009 roku

Wyświetleń 7114

Odpowiedzi 23

eto

eto

Użytkownicy
-Banany pod pokładem? -SĄĄĄĄĄĄ
posty1741
Propsy1793
ProfesjaLvl designer
  • Użytkownicy
  • -Banany pod pokładem? -SĄĄĄĄĄĄ
Witam. Jak zapewne wiecie, niedawno utworzyłem temat dotyczący błędu podczas reparsowania. Nie za bardzo rozumiałem o co chodzi w tych zmiennych, ale jakoś się udało. Do czasu. Do czasu, gdy zauważyłem kilka poważnych błędów. No i zrobiłem małe "przemeblowanko" skryptu. I teraz podczas reparsacji wylatuje radosne okienko z troszkę mniej radosnym tekstem, a mianowicie:

U: PAR: CONTENT\STORY\MISSIONS\DIA_GRD_10003_GIACOMO.D: Wrong type: INFO_GIACOMO_ZADANIE

Skrypt dialogu:
///////////////////////////////////////////////////////
////////// stop
///////////////////////////////////////////////////////
instance Info_Giacomo_stop   (C_INFO)
{
npc = GRD_10003_Giacomo;
condition =  Info_Giacomo_stop_condition;
information =  Info_Giacomo_stop_info;
permanent = FALSE;
important = TRUE;
};

var int zmienna1;

FUNC int  Info_Giacomo_stop_condition()
{
return TRUE;
};

FUNC VOID  Info_Giacomo_stop_info()
{
AI_Output (self, other,"Info_Giacomo_stop_1_01"); //.
AI_Output (other,self,"Info_Giacomo_stop_1_02"); //.
AI_Output (self, other,"Info_Giacomo_stop_1_03"); //.
AI_Output (other,self,"Info_Giacomo_stop_1_04"); //.
AI_Output (self, other,"Info_Giacomo_stop_1_05"); //.

Info_ClearChoices(Info_Giacomo_stop);
Info_AddChoice   (Info_Giacomo_stop, "." ,Info_Giacomo_zadanie);

};

FUNC VOID Info_Giacomo_zadanie()
{
AI_Output (other, self,"Info_Giacomo_zadanie_1_01"); //.
AI_Output (self, other,"Info_Giacomo_zadanie_1_02"); //.
AI_Output (other,self,"Info_Giacomo_zadanie_1_03"); //.
AI_Output (self, other,"Info_Giacomo_zadanie_1_04"); //.

Log_CreateTopic(CH1_Quest1, LOG_MISSION);
B_LogEntry(CH1_Quest1, ".");
zmienna1=5;
};

///////////////////////////////////////////////////////
/////////////// wynocha
////////////////////////////////////////////////////////
instance Dia_Giacomo_wynocha (C_INFO)
{
npc = GRD_10003_Giacomo;
nr = 2;
condition = Dia_Giacomo_wynocha_condition;
information = Dia_Giacomo_wynocha_info;
permanent   = FALSE;
important   = TRUE;
description = "NIE MA!";
};

func int Dia_Giacomo_wynocha_condition()
{
if (zmienna1==5)
{
return 1;
};
};

func void Dia_Giacomo_wynocha_info()
{
AI_Output (self, other,"DIA_Giacomo_wynocha_1_01"); //.
AI_Output (other, self,"DIA_Giacomo_wynocha_1_02"); //.
AI_Output (self, other,"DIA_Giacomo_wynocha_1_03"); //.

AI_GotoWP (hero, "WYNOCHA");
AI_StopProcessInfos (self);
};

////////////////////////////////////////////////////////
/////////////// wstep
///////////////////////////////////////////////////////
instance Dia_Giacomo_wstep (C_INFO)
{
npc = GRD_10003_Giacomo;
nr = 3;
condition = Dia_Giacomo_wstep_condition;
information = Dia_Giacomo_wstep_info;
permanent = FALSE;
important = FALSE;
description = ".";

};

func int Dia_Giacomo_wstep_condition()
{
if (Npc_IsDead(NON_10010_Samuel) && Npc_KnowsInfo (hero,Info_Giacomo_zadanie))
{
zmienna1=zmienna1-2;

return TRUE;
};
};
func void Dia_Giacomo_wstep_info()
{
AI_Output (other, self,"DIA_Giacomo_wstep_1_01"); //.
AI_Output (self, other,"DIA_Giacomo_wstep_1_02"); //.
AI_Output (other, self,"DIA_Giacomo_wstep_1_03"); //.
AI_Output (self, other,"DIA_Giacomo_wstep_1_04"); //.
AI_Output (other, self,"DIA_Giacomo_wstep_1_05"); //.
AI_Output (self, other,"DIA_Giacomo_wstep_1_06"); //.
};

///////////////////////////////////////////////////////
////////////// EXIT
///////////////////////////////////////////////////////
instance Dia_Giacomo_EXIT   (C_INFO)
{
npc = GRD_10003_Giacomo;
nr = 999;
condition =  Dia_Giacomo_EXIT_condition;
information =  Dia_Giacomo_EXIT_info;
permanent = TRUE;
description = DIALOG_ENDE;
};

FUNC int  Dia_Giacomo_EXIT_condition()
{
return TRUE;
};

FUNC VOID  DIA_Giacomo_EXIT_info()
{
AI_StopProcessInfos (self);
};

Poszukiwany fragment(INFO_GIACOMO_ZADANIE) występuje we fragmentach:
Info_ClearChoices(Info_Giacomo_stop);
Info_AddChoice   (Info_Giacomo_stop, "." ,Info_Giacomo_zadanie);

};

FUNC VOID Info_Giacomo_zadanie()
{
AI_Output (other, self,"Info_Giacomo_zadanie_1_01"); //.
AI_Output (self, other,"Info_Giacomo_zadanie_1_02"); //.
AI_Output (other,self,"Info_Giacomo_zadanie_1_03"); //.
AI_Output (self, other,"Info_Giacomo_zadanie_1_04"); //.
func int Dia_Giacomo_wstep_condition()
{
if (Npc_IsDead(NON_10010_Samuel) && Npc_KnowsInfo (hero,Info_Giacomo_zadanie))
{
 
Niespełniony Level Designer z ambicjami, zmęczeniem i brakiem czasu...

Adanos

Adanos

Administrator
Szara eminencja
posty5204
Propsy3870
ProfesjaProgramista
  • Administrator
  • Szara eminencja
http://themodders.org/index.php?showtopic=6067

Temat niżej leżał z takim samym problemem, następnym razem upewnij się, że takowego nie było. Temat zamykam. Jeśli dalej nie wiesz, gdzie tkwi problem, to wyślij mi pw, to otworzę temat i wyjaśnię.

Adanos

Adanos

Administrator
Szara eminencja
posty5204
Propsy3870
ProfesjaProgramista
  • Administrator
  • Szara eminencja
Zgodnie z obietnicą...

Zacznijmy od definicji funkcji Npc_KnowsInfo:
FUNC INT Npc_KnowsInfo (VAR C_NPC self, VAR INT infoInstance) { return 0; };Jak widać drugi argumentem tej funkcji jest instancja dialogu. W twoim przypadku:
Npc_KnowsInfo (hero,Info_Giacomo_zadanie))drugim argumentem jest nazwa funkcji, a nie instancja dialogu. Poprawnie w twoim przypadku powinno być:
Npc_KnowsInfo (hero,Info_Giacomo_stop))
Tutaj
func int Dia_Giacomo_wstep_condition()
{
if (Npc_IsDead(NON_10010_Samuel) && Npc_KnowsInfo (hero,Info_Giacomo_zadanie))
{
zmienna1=zmienna1-2;

return TRUE;
};
};
zamiast tego lepsze by było coś takiego:
func int Dia_Giacomo_wstep_condition()
{
if (Npc_IsDead(NON_10010_Samuel) && (zmienna==5))
{
zmienna1=zmienna1-2;

return TRUE;
};
};

eto

eto

Użytkownicy
-Banany pod pokładem? -SĄĄĄĄĄĄ
posty1741
Propsy1793
ProfesjaLvl designer
  • Użytkownicy
  • -Banany pod pokładem? -SĄĄĄĄĄĄ
Heh, dziękować za pomoc. Ale mam pytanie:
co muszę zrobić, aby warunkiem był wybór odpowiedzi(Choice)?
 
Niespełniony Level Designer z ambicjami, zmęczeniem i brakiem czasu...

Adanos

Adanos

Administrator
Szara eminencja
posty5204
Propsy3870
ProfesjaProgramista
  • Administrator
  • Szara eminencja
To proste. Musisz (teraz cię zaskoczę) zdefiniować i dać jakąś zmienną :D

I w treści poddialogu wpisać wartość odpowiedniej zmiennej.

eto

eto

Użytkownicy
-Banany pod pokładem? -SĄĄĄĄĄĄ
posty1741
Propsy1793
ProfesjaLvl designer
  • Użytkownicy
  • -Banany pod pokładem? -SĄĄĄĄĄĄ
Kurde, jak ja nie lubię tych zmiennych.....:D
Ale mam pytanie kolejne(jak tak się rozpędziłeś to i w tym pomożesz):
Co muszę zrobić, aby po wybraniu tematu(w dialogu) pojawiało się kilku NPC w miejscach wyznaczonych w rutynie(wiem, że gdzieś był temat o tym, ale nie wiem, co trza w startupie wpisać)?

EDITOS: Ło kurde toż to "sytny" post. Już tyle czasu na TM......
 
Niespełniony Level Designer z ambicjami, zmęczeniem i brakiem czasu...

Adanos

Adanos

Administrator
Szara eminencja
posty5204
Propsy3870
ProfesjaProgramista
  • Administrator
  • Szara eminencja
Po prostu nie wpisujesz ich w startupie. Dopiero w odpowiednim dialogu wpisujesz:
Wld_InsertNpc(instancja_Npca,"waypoint");

eto

eto

Użytkownicy
-Banany pod pokładem? -SĄĄĄĄĄĄ
posty1741
Propsy1793
ProfesjaLvl designer
  • Użytkownicy
  • -Banany pod pokładem? -SĄĄĄĄĄĄ
Adanos, mordo ty moja(bez zbereźnych skojarzeń:D )! Dziękuje za niezmierną pomoc.
PS. Wydaje mi się, że nie byłeś "Global Moderator". Czyżby awans?

EDIT: Kolejne(sorry, jakoś wyszło...) pytanie:
Czemu, gdy spełniam warunki, to zamiast tego:
AI_Output (self, other,"DIA_Giacomo_wynocha_1_01"); //.
AI_Output (other, self,"DIA_Giacomo_wynocha_1_02"); //.
AI_Output (self, other,"DIA_Giacomo_wynocha_1_03"); //.

Gadają to:
  AI_Output (other, self,"DIA_Giacomo_wstep_1_01"); //.
AI_Output (self, other,"DIA_Giacomo_wstep_1_02"); //.
AI_Output (other, self,"DIA_Giacomo_wstep_1_03"); //.
?
 
Niespełniony Level Designer z ambicjami, zmęczeniem i brakiem czasu...

Adanos

Adanos

Administrator
Szara eminencja
posty5204
Propsy3870
ProfesjaProgramista
  • Administrator
  • Szara eminencja
Pokaż ten twój ostateczny skrypt, jak wygląda.

Cytuj
PS. Wydaje mi się, że nie byłeś "Global Moderator". Czyżby awans?
Tak naprawdę to próba zamachu na tm :D

eto

eto

Użytkownicy
-Banany pod pokładem? -SĄĄĄĄĄĄ
posty1741
Propsy1793
ProfesjaLvl designer
  • Użytkownicy
  • -Banany pod pokładem? -SĄĄĄĄĄĄ
Wygląda tak:
///////////////////////////////////////////////////////
////////// stop
///////////////////////////////////////////////////////
instance Info_Giacomo_stop   (C_INFO)
{
npc = GRD_10003_Giacomo;
condition =  Info_Giacomo_stop_condition;
information =  Info_Giacomo_stop_info;
permanent = FALSE;
important = TRUE;
};

var int zmienna1;

FUNC int  Info_Giacomo_stop_condition()
{
return TRUE;
};

FUNC VOID  Info_Giacomo_stop_info()
{
AI_Output (self, other,"Info_Giacomo_stop_1_01"); //.
AI_Output (other,self,"Info_Giacomo_stop_1_02"); //.
AI_Output (self, other,"Info_Giacomo_stop_1_03"); //.
AI_Output (other,self,"Info_Giacomo_stop_1_04"); //.
AI_Output (self, other,"Info_Giacomo_stop_1_05"); //.
Info_ClearChoices(Info_Giacomo_stop);
Info_AddChoice   (Info_Giacomo_stop, "." ,Info_Giacomo_zadanie);

};

FUNC VOID Info_Giacomo_zadanie()
{
AI_Output (other, self,"Info_Giacomo_zadanie_1_01"); //.
AI_Output (self, other,"Info_Giacomo_zadanie_1_02"); //.
AI_Output (other,self,"Info_Giacomo_zadanie_1_03"); //.
AI_Output (self, other,"Info_Giacomo_zadanie_1_04"); //.

Log_CreateTopic(CH1_Quest1, LOG_MISSION);
Log_SetTopicStatus(CH1_Quest1, LOG_RUNNING);
B_LogEntry(CH1_Quest1, ".");
zmienna1=5;
};

///////////////////////////////////////////////////////
/////////////// wynocha
////////////////////////////////////////////////////////
instance Dia_Giacomo_wynocha (C_INFO)
{
npc = GRD_10003_Giacomo;
nr = 2;
condition = Dia_Giacomo_wynocha_condition;
information = Dia_Giacomo_wynocha_info;
permanent   = FALSE;
important   = TRUE;
description = ".";
};

func int Dia_Giacomo_wynocha_condition()
{
if (zmienna1==5)
{
return 1;
};
};

func void Dia_Giacomo_wynocha_info()
{
AI_Output (self, other,"DIA_Giacomo_wynocha_1_01"); //.
AI_Output (other, self,"DIA_Giacomo_wynocha_1_02"); //.
AI_Output (self, other,"DIA_Giacomo_wynocha_1_03"); //.
AI_GotoWP (hero, "WYNOCHA");
AI_StopProcessInfos (self);
};

////////////////////////////////////////////////////////
/////////////// wstep
///////////////////////////////////////////////////////
instance Dia_Giacomo_wstep (C_INFO)
{
npc = GRD_10003_Giacomo;
nr = 3;
condition = Dia_Giacomo_wstep_condition;
information = Dia_Giacomo_wstep_info;
permanent = FALSE;
important = FALSE;
description = ".";

};

func int Dia_Giacomo_wstep_condition()
{
if (Npc_IsDead(NON_10010_Samuel) && Npc_KnowsInfo (hero,Info_Giacomo_stop))
{
zmienna1=zmienna1-2;

return TRUE;
};
};
func void Dia_Giacomo_wstep_info()
{
AI_Output (other, self,"DIA_Giacomo_wstep_1_01"); //.
AI_Output (self, other,"DIA_Giacomo_wstep_1_02"); //.
AI_Output (other, self,"DIA_Giacomo_wstep_1_03"); //.
AI_Output (self, other,"DIA_Giacomo_wstep_1_04"); //.
AI_Output (other, self,"DIA_Giacomo_wstep_1_05"); //.
AI_Output (self, other,"DIA_Giacomo_wstep_1_06"); //.
B_GiveXP(350);
};

///////////////////////////////////////////////////////
////////////// EXIT
///////////////////////////////////////////////////////
instance Dia_Giacomo_EXIT   (C_INFO)
{
npc = GRD_10003_Giacomo;
nr = 999;
condition =  Dia_Giacomo_EXIT_condition;
information =  Dia_Giacomo_EXIT_info;
permanent = TRUE;
description = DIALOG_ENDE;
};

FUNC int  Dia_Giacomo_EXIT_condition()
{
return TRUE;
};

FUNC VOID  DIA_Giacomo_EXIT_info()
{
AI_StopProcessInfos (self);
};

EDIT:
Cytuj
Tak naprawdę to próba zamachu na tm naughty.gif
Mam nadzieję, że nie bombowy:)...
 
Niespełniony Level Designer z ambicjami, zmęczeniem i brakiem czasu...

Adanos

Adanos

Administrator
Szara eminencja
posty5204
Propsy3870
ProfesjaProgramista
  • Administrator
  • Szara eminencja
Spróbuj tak:

///////////////////////////////////////////////////////
////////// stop
///////////////////////////////////////////////////////
var int zmienna1;
instance Info_Giacomo_stop   (C_INFO)
{
npc = GRD_10003_Giacomo;
condition =  Info_Giacomo_stop_condition;
information =  Info_Giacomo_stop_info;
permanent = FALSE;
important = TRUE;
};


FUNC int  Info_Giacomo_stop_condition()
{
return TRUE;
};

FUNC VOID  Info_Giacomo_stop_info()
{
zmienna1=1;
AI_Output (self, other,"Info_Giacomo_stop_1_01"); //.
AI_Output (other,self,"Info_Giacomo_stop_1_02"); //.
AI_Output (self, other,"Info_Giacomo_stop_1_03"); //.
AI_Output (other,self,"Info_Giacomo_stop_1_04"); //.
AI_Output (self, other,"Info_Giacomo_stop_1_05"); //.
Info_ClearChoices(Info_Giacomo_stop);
Info_AddChoice   (Info_Giacomo_stop, "." ,Info_Giacomo_zadanie);

};

FUNC VOID Info_Giacomo_zadanie()
{
AI_Output (other, self,"Info_Giacomo_zadanie_1_01"); //.
AI_Output (self, other,"Info_Giacomo_zadanie_1_02"); //.
AI_Output (other,self,"Info_Giacomo_zadanie_1_03"); //.
AI_Output (self, other,"Info_Giacomo_zadanie_1_04"); //.

Log_CreateTopic(CH1_Quest1, LOG_MISSION);
Log_SetTopicStatus(CH1_Quest1, LOG_RUNNING);
B_LogEntry(CH1_Quest1, ".");
zmienna1=5;
};

///////////////////////////////////////////////////////
/////////////// wynocha
////////////////////////////////////////////////////////
instance Dia_Giacomo_wynocha (C_INFO)
{
npc = GRD_10003_Giacomo;
nr = 2;
condition = Dia_Giacomo_wynocha_condition;
information = Dia_Giacomo_wynocha_info;
permanent   = FALSE;
important   = TRUE;
description = ".";
};

func int Dia_Giacomo_wynocha_condition()
{
if (zmienna1==5)
{
return 1;
};
};

func void Dia_Giacomo_wynocha_info()
{
AI_Output (self, other,"DIA_Giacomo_wynocha_1_01"); //.
AI_Output (other, self,"DIA_Giacomo_wynocha_1_02"); //.
AI_Output (self, other,"DIA_Giacomo_wynocha_1_03"); //.
AI_GotoWP (hero, "WYNOCHA");
AI_StopProcessInfos (self);
};

////////////////////////////////////////////////////////
/////////////// wstep
///////////////////////////////////////////////////////
instance Dia_Giacomo_wstep (C_INFO)
{
npc = GRD_10003_Giacomo;
nr = 3;
condition = Dia_Giacomo_wstep_condition;
information = Dia_Giacomo_wstep_info;
permanent = FALSE;
important = FALSE;
description = ".";

};

func int Dia_Giacomo_wstep_condition()
{
if (Npc_IsDead(NON_10010_Samuel) && Npc_KnowsInfo (hero,Info_Giacomo_stop)) && (zmienna1=1)
{

return TRUE;
};
};
func void Dia_Giacomo_wstep_info()
{
AI_Output (other, self,"DIA_Giacomo_wstep_1_01"); //.
AI_Output (self, other,"DIA_Giacomo_wstep_1_02"); //.
AI_Output (other, self,"DIA_Giacomo_wstep_1_03"); //.
AI_Output (self, other,"DIA_Giacomo_wstep_1_04"); //.
AI_Output (other, self,"DIA_Giacomo_wstep_1_05"); //.
AI_Output (self, other,"DIA_Giacomo_wstep_1_06"); //.
B_GiveXP(350);
};

///////////////////////////////////////////////////////
////////////// EXIT
///////////////////////////////////////////////////////
instance Dia_Giacomo_EXIT   (C_INFO)
{
npc = GRD_10003_Giacomo;
nr = 999;
condition =  Dia_Giacomo_EXIT_condition;
information =  Dia_Giacomo_EXIT_info;
permanent = TRUE;
description = DIALOG_ENDE;
};

FUNC int  Dia_Giacomo_EXIT_condition()
{
return TRUE;
};

FUNC VOID  DIA_Giacomo_EXIT_info()
{
AI_StopProcessInfos (self);
};

eto

eto

Użytkownicy
-Banany pod pokładem? -SĄĄĄĄĄĄ
posty1741
Propsy1793
ProfesjaLvl designer
  • Użytkownicy
  • -Banany pod pokładem? -SĄĄĄĄĄĄ
Zrobiłem tak, ale teraz mi tej części wynocha w ogóle nie bierze pod uwagę. Czyli nie gadają nic do siebie i można spokojne obok NPC'a przejść.
 
Niespełniony Level Designer z ambicjami, zmęczeniem i brakiem czasu...

Adanos

Adanos

Administrator
Szara eminencja
posty5204
Propsy3870
ProfesjaProgramista
  • Administrator
  • Szara eminencja
///////////////////////////////////////////////////////
////////// stop
///////////////////////////////////////////////////////
var int zmienna1;
instance Info_Giacomo_stop   (C_INFO)
{
npc = GRD_10003_Giacomo;
condition =  Info_Giacomo_stop_condition;
information =  Info_Giacomo_stop_info;
permanent = FALSE;
important = TRUE;
};


FUNC int  Info_Giacomo_stop_condition()
{
return TRUE;
};

FUNC VOID  Info_Giacomo_stop_info()
{
zmienna1=1;
AI_Output (self, other,"Info_Giacomo_stop_1_01"); //.
AI_Output (other,self,"Info_Giacomo_stop_1_02"); //.
AI_Output (self, other,"Info_Giacomo_stop_1_03"); //.
AI_Output (other,self,"Info_Giacomo_stop_1_04"); //.
AI_Output (self, other,"Info_Giacomo_stop_1_05"); //.
Info_ClearChoices(Info_Giacomo_stop);
Info_AddChoice   (Info_Giacomo_stop, "." ,Info_Giacomo_zadanie);

};

FUNC VOID Info_Giacomo_zadanie()
{
AI_Output (other, self,"Info_Giacomo_zadanie_1_01"); //.
AI_Output (self, other,"Info_Giacomo_zadanie_1_02"); //.
AI_Output (other,self,"Info_Giacomo_zadanie_1_03"); //.
AI_Output (self, other,"Info_Giacomo_zadanie_1_04"); //.

Log_CreateTopic(CH1_Quest1, LOG_MISSION);
Log_SetTopicStatus(CH1_Quest1, LOG_RUNNING);
B_LogEntry(CH1_Quest1, ".");
zmienna1=5;
};

///////////////////////////////////////////////////////
/////////////// wynocha
////////////////////////////////////////////////////////
instance Dia_Giacomo_wynocha (C_INFO)
{
npc = GRD_10003_Giacomo;
nr = 2;
condition = Dia_Giacomo_wynocha_condition;
information = Dia_Giacomo_wynocha_info;
permanent   = FALSE;
important   = TRUE;
description = ".";
};

func int Dia_Giacomo_wynocha_condition()
{
if (zmienna1==5)
{
return 1;
};
};

func void Dia_Giacomo_wynocha_info()
{
AI_Output (self, other,"DIA_Giacomo_wynocha_1_01"); //.
AI_Output (other, self,"DIA_Giacomo_wynocha_1_02"); //.
AI_Output (self, other,"DIA_Giacomo_wynocha_1_03"); //.
AI_GotoWP (hero, "WYNOCHA");
AI_StopProcessInfos (self);
};

////////////////////////////////////////////////////////
/////////////// wstep
///////////////////////////////////////////////////////
instance Dia_Giacomo_wstep (C_INFO)
{
npc = GRD_10003_Giacomo;
nr = 3;
condition = Dia_Giacomo_wstep_condition;
information = Dia_Giacomo_wstep_info;
permanent = FALSE;
important = FALSE;
description = ".";

};

func int Dia_Giacomo_wstep_condition()
{
if (Npc_IsDead(NON_10010_Samuel) && Npc_KnowsInfo (hero,Info_Giacomo_stop)) && (zmienna1=5)
{

return TRUE;
};
};
func void Dia_Giacomo_wstep_info()
{
AI_Output (other, self,"DIA_Giacomo_wstep_1_01"); //.
AI_Output (self, other,"DIA_Giacomo_wstep_1_02"); //.
AI_Output (other, self,"DIA_Giacomo_wstep_1_03"); //.
AI_Output (self, other,"DIA_Giacomo_wstep_1_04"); //.
AI_Output (other, self,"DIA_Giacomo_wstep_1_05"); //.
AI_Output (self, other,"DIA_Giacomo_wstep_1_06"); //.
B_GiveXP(350);
};

///////////////////////////////////////////////////////
////////////// EXIT
///////////////////////////////////////////////////////
instance Dia_Giacomo_EXIT   (C_INFO)
{
npc = GRD_10003_Giacomo;
nr = 999;
condition =  Dia_Giacomo_EXIT_condition;
information =  Dia_Giacomo_EXIT_info;
permanent = TRUE;
description = DIALOG_ENDE;
};

FUNC int  Dia_Giacomo_EXIT_condition()
{
return TRUE;
};

FUNC VOID  DIA_Giacomo_EXIT_info()
{
AI_StopProcessInfos (self);
};

Teraz powinno działać, jak się znowu gdzie nie walnąłem :D

eto

eto

Użytkownicy
-Banany pod pokładem? -SĄĄĄĄĄĄ
posty1741
Propsy1793
ProfesjaLvl designer
  • Użytkownicy
  • -Banany pod pokładem? -SĄĄĄĄĄĄ
Teraz z wynocha działa, ale ze wstep nie. Znaczy się zamiast wstep gada wynocha.
Kurde, zamęczę Cię;p .
 
Niespełniony Level Designer z ambicjami, zmęczeniem i brakiem czasu...

Adanos

Adanos

Administrator
Szara eminencja
posty5204
Propsy3870
ProfesjaProgramista
  • Administrator
  • Szara eminencja
Ale warunki są spełnione? I kiedy konkretnie ma odpalić się ten dialog.

eto

eto

Użytkownicy
-Banany pod pokładem? -SĄĄĄĄĄĄ
posty1741
Propsy1793
ProfesjaLvl designer
  • Użytkownicy
  • -Banany pod pokładem? -SĄĄĄĄĄĄ
Tak, warunki spełnione. Wstep ma gadać wtedy, dopóki się tego NPC'a(NON_10010_Samuel) nie zabije. Jeśli żyje i się podejdzie do Giacomo, to w kółko nawija wynocha.
Pomyślałem(ojej, ja myślę!), że można by w czasie dialogu z Samuelem zmienić zmnienną1 na zasadzie zmienna1=zmienna1-1, ale wtedy tutaj:
 
Cytuj
if (Npc_IsDead(NON_10010_Samuel) && Npc_KnowsInfo (hero,Info_Giacomo_stop)) && (zmienna1=5)

musiałoby być tak:
Cytuj
if (Npc_IsDead(NON_10010_Samuel) && Npc_KnowsInfo (hero,Info_Giacomo_stop)) && (zmienna1=4)

A w skrypcie Samuela gdy tak robię, a dokładniej gdy wpisuję na początku var int zmienna1 to wylatuje błąd właśnie z tą linią. Chyba że..... zrobić w dialogu Samuela drugą zmienna, ale wtedy musiało by być:
Cytuj
if (Npc_IsDead(NON_10010_Samuel) && Npc_KnowsInfo (hero,Info_Giacomo_stop)) && (zmienna2=4)

A w dialogu Samuela takie coś:
///////////////////////////////////////////////////////
////////////// atak
///////////////////////////////////////////////////////
var int zmienna2;
instance Dia_Opetany_atak   (C_INFO)
{
npc = NOV_10012_Opetany;
condition =  Dia_Opetany_atak_condition;
information =  Dia_Opetany_atak_info;
permanent = FALSE;
important = TRUE;
};

FUNC int  Dia_Opetany_atak_condition()
{
return TRUE;
};

FUNC VOID  DIA_Opetany_atak_info()
{
AI_Output (self, other,"DIA_Opetany_atak_1_01"); //.
AI_Output (other,self,"DIA_Opetany_atak_1_02"); //.
AI_Output (self, other,"DIA_Opetany_atak_1_03"); //.
AI_Output (other,self,"DIA_Opetany_atak_1_04"); //.
AI_Output (self, other,"DIA_Opetany_atak_1_05"); //.
AI_Output (self, other,"DIA_Opetany_atak_1_06"); //.
AI_Output (self, other,"DIA_Opetany_atak_1_07"); //.

Log_SetTopicStatus(CH1_Quest1, LOG_RUNNING);
B_LogEntry(CH1_Quest1, ".");
zmienna2=4
AI_StopProcessInfos (self);

Npc_SetTarget(self,other);
AI_StartState(self,ZS_ATTACK,1,"");
};
Ale czekam na potwierdzenie profesjonalisty(tak, Ciebie, Adanos!), o ile chcesz abym cię tak nazywał.

I next question:
Jeśli w tym dialogu:
///////////////////////////////////////////////////////
////////////// atak
///////////////////////////////////////////////////////
instance Dia_Opetany_atak   (C_INFO)
{
npc = NOV_10012_Opetany;
condition =  Dia_Opetany_atak_condition;
information =  Dia_Opetany_atak_info;
permanent = FALSE;
important = TRUE;
};

FUNC int  Dia_Opetany_atak_condition()
{
return TRUE;
};

FUNC VOID  DIA_Opetany_atak_info()
{
AI_Output (self, other,"DIA_Opetany_atak_1_01"); //.
AI_Output (other,self,"DIA_Opetany_atak_1_02"); //.
AI_Output (self, other,"DIA_Opetany_atak_1_03"); //.
AI_Output (other,self,"DIA_Opetany_atak_1_04"); //.
AI_Output (self, other,"DIA_Opetany_atak_1_05"); //.
AI_Output (self, other,"DIA_Opetany_atak_1_06"); //.
AI_Output (self, other,"DIA_Opetany_atak_1_07"); //.

Log_SetTopicStatus(CH1_Quest1, LOG_RUNNING);
B_LogEntry(CH1_Quest1, ".");

AI_StopProcessInfos (self);

Npc_SetTarget(self,other);
AI_StartState(self,ZS_ATTACK,1,"");
};
za atak odpowiada linia:
Npc_SetTarget(self,other);
AI_StartState(self,ZS_ATTACK,1,"");
to co zrobić aby również atakował nas NPC o instancji np. GRD_100_Kupa?

EDIT: Sorry za dialog innego NPC'a. Nie bierz tego pod uwagę.
 
Niespełniony Level Designer z ambicjami, zmęczeniem i brakiem czasu...

Adanos

Adanos

Administrator
Szara eminencja
posty5204
Propsy3870
ProfesjaProgramista
  • Administrator
  • Szara eminencja
Cytuj
Tak, warunki spełnione. Wstep ma gadać wtedy, dopóki się tego NPC'a(NON_10010_Samuel) nie zabije. Jeśli żyje i się podejdzie do Giacomo, to w kółko nawija wynocha.
Czyli jeśli żyje ma być wstęp i wynocha? Jeśli tak, to:
func int Dia_Giacomo_wstep_condition()
{
if (Npc_IsDead(NON_10010_Samuel) && Npc_KnowsInfo (hero,Info_Giacomo_stop)) && (zmienna1=5)
{

return TRUE;
};
};
W tym przypadku dialog odpali się, kiedy będą spełnione 3 warunki: kiedy NPC nie będzie żył, kiedy wyświetlił się już dialog i zmienna1=5.

Cytuj
to co zrobić aby również atakował nas NPC o instancji np. GRD_100_Kupa?
var C_NPC Kupa;
Kupa = Hlp_GetNpc(GRD_100_Kupa);
Npc_SetTarget(Kupa,other);
AI_StartState(Kupa,ZS_ATTACK,1,"");

eto

eto

Użytkownicy
-Banany pod pokładem? -SĄĄĄĄĄĄ
posty1741
Propsy1793
ProfesjaLvl designer
  • Użytkownicy
  • -Banany pod pokładem? -SĄĄĄĄĄĄ
Achh... błąd przy pracy:
Cytuj
Cytuj
Tak, warunki spełnione. Wstep ma gadać wtedy, dopóki się tego NPC'a(NON_10010_Samuel) nie zabije. Jeśli żyje i się podejdzie do Giacomo, to w kółko nawija wynocha.
Czyli jeśli żyje ma być wstęp i wynocha?
Powinno być tak:
Wynocha ma gadać wtedy, dopóki się tego NPC'a(NON_10010_Samuel) nie zabije. Jeśli żyje i się podejdzie do Giacomo, to w kółko nawija wynocha. Jeśli nie żyje, to zamiast wynocha będzie wstep.
 
Niespełniony Level Designer z ambicjami, zmęczeniem i brakiem czasu...

Adanos

Adanos

Administrator
Szara eminencja
posty5204
Propsy3870
ProfesjaProgramista
  • Administrator
  • Szara eminencja
Zamiast tego:
instance Dia_Giacomo_wynocha (C_INFO)
{
npc = GRD_10003_Giacomo;
nr = 2;
condition = Dia_Giacomo_wynocha_condition;
information = Dia_Giacomo_wynocha_info;
permanent   = FALSE;
important   = TRUE;
description = ".";
};

func int Dia_Giacomo_wynocha_condition()
{
if (zmienna1==5)
{
return 1;
};
};

func void Dia_Giacomo_wynocha_info()
{
AI_Output (self, other,"DIA_Giacomo_wynocha_1_01"); //.
AI_Output (other, self,"DIA_Giacomo_wynocha_1_02"); //.
AI_Output (self, other,"DIA_Giacomo_wynocha_1_03"); //.
AI_GotoWP (hero, "WYNOCHA");
AI_StopProcessInfos (self);
};

////////////////////////////////////////////////////////
/////////////// wstep
///////////////////////////////////////////////////////
instance Dia_Giacomo_wstep (C_INFO)
{
npc = GRD_10003_Giacomo;
nr = 3;
condition = Dia_Giacomo_wstep_condition;
information = Dia_Giacomo_wstep_info;
permanent = FALSE;
important = FALSE;
description = ".";

};

func int Dia_Giacomo_wstep_condition()
{
if (Npc_IsDead(NON_10010_Samuel) && Npc_KnowsInfo (hero,Info_Giacomo_stop)) && (zmienna1=5)
{

return TRUE;
};
};
func void Dia_Giacomo_wstep_info()
{
AI_Output (other, self,"DIA_Giacomo_wstep_1_01"); //.
AI_Output (self, other,"DIA_Giacomo_wstep_1_02"); //.
AI_Output (other, self,"DIA_Giacomo_wstep_1_03"); //.
AI_Output (self, other,"DIA_Giacomo_wstep_1_04"); //.
AI_Output (other, self,"DIA_Giacomo_wstep_1_05"); //.
AI_Output (self, other,"DIA_Giacomo_wstep_1_06"); //.
B_GiveXP(350);
};
to:
instance Dia_Giacomo_wynocha (C_INFO)
{
npc = GRD_10003_Giacomo;
nr = 2;
condition = Dia_Giacomo_wynocha_condition;
information = Dia_Giacomo_wynocha_info;
permanent   = FALSE;
important   = TRUE;
description = ".";
};

func int Dia_Giacomo_wynocha_condition()
{
if (zmienna1==5)
{
return 1;
};
};

func void Dia_Giacomo_wynocha_info()
{
if (Npc_IsDead(NON_10010_Samuel)
{
AI_Output (other, self,"DIA_Giacomo_wstep_1_01"); //.
AI_Output (self, other,"DIA_Giacomo_wstep_1_02"); //.
AI_Output (other, self,"DIA_Giacomo_wstep_1_03"); //.
AI_Output (self, other,"DIA_Giacomo_wstep_1_04"); //.
AI_Output (other, self,"DIA_Giacomo_wstep_1_05"); //.
AI_Output (self, other,"DIA_Giacomo_wstep_1_06"); //.
B_GiveXP(350);
Dia_Giacomo_wynocha.important=false;
}
else
{
  AI_Output (self, other,"DIA_Giacomo_wynocha_1_01"); //.
  AI_Output (other, self,"DIA_Giacomo_wynocha_1_02"); //.
  AI_Output (self, other,"DIA_Giacomo_wynocha_1_03"); //.
  AI_GotoWP (hero, "WYNOCHA");
  AI_StopProcessInfos (self);
}
};

eto

eto

Użytkownicy
-Banany pod pokładem? -SĄĄĄĄĄĄ
posty1741
Propsy1793
ProfesjaLvl designer
  • Użytkownicy
  • -Banany pod pokładem? -SĄĄĄĄĄĄ
No dobra. Wpakowałem to do skryptu. Skasowałem pliki *.OU. W spacerze biore World->Reaparse script i wybieram gothic.src. I wyskakuje okieneczko:

                                  U:PAR: Expected ';' (line 89)

A następnie kilkanaście innych błędów w kolejnych liniach. Fragment skryptu:
  AI_GotoWP (hero, "WYNOCHA");
  AI_StopProcessInfos (self);
}
};  [b]<-O, ta tutaj![/b]

///////////////////////////////////////////////////////
////////////// EXIT
///////////////////////////////////////////////////////
instance Dia_Giacomo_EXIT   (C_INFO)

Wydaję mi się, że jest dobrze napisany, więc czemu jest błąd?
 
Niespełniony Level Designer z ambicjami, zmęczeniem i brakiem czasu...


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