22.07.2020, 10:36:40
Erwin zauważył, że jeśli źle odpowiedzieć na zagadkę Zamita, dialog nie będzie już, a zadanie pozostanie zawieszone w dzienniku. Istnieją dwa rozwiązania:
Zrobić dialog stały, aż gracz rozwiąże zagadkę
Dokonać anulowania zadania, gdy gracz nie rozwiązuje zagadki.
Jaka jest opcja?
W przypadku opcji 1 wszystko jest gotowe w Skrypty.
Zrobić dialog stały, aż gracz rozwiąże zagadkę
Dokonać anulowania zadania, gdy gracz nie rozwiązuje zagadki.
Jaka jest opcja?
W przypadku opcji 1 wszystko jest gotowe w Skrypty.
Kod PHP:
var int RAETSELGELOEST;
instance DIA_ZAMIT_EXIT(C_Info)
{
npc = BAU_943_Zamit;
nr = 999;
condition = DIA_ZAMIT_EXIT_condition;
information = DIA_ZAMIT_EXIT_info;
permanent = TRUE;
description = Dialog_Ende;
};
func int DIA_ZAMIT_EXIT_condition()
{
return TRUE;
};
func void DIA_ZAMIT_EXIT_info()
{
AI_StopProcessInfos(self);
};
instance DIA_ZAMIT_HELLO(C_Info)
{
npc = BAU_943_Zamit;
nr = 1;
condition = DIA_ZAMIT_HELLO_condition;
information = DIA_ZAMIT_HELLO_info;
description = "Hej, farmerze! Widzę, że ciężko pracujesz.";
permanent = FALSE;
};
func int DIA_ZAMIT_HELLO_condition()
{
return TRUE;
};
func void DIA_ZAMIT_HELLO_info()
{
AI_Output(other,self,"DIA_ZAMIT_HELLO_15_00"); //Hej, farmerze! Widzę, że ciężko pracujesz.
AI_Output(self,other,"DIA_ZAMIT_HELLO_14_01"); //Tak, praca to podstawa dzisiejszej egzystencji. Bez pracy nie ma rzepy, chleba i wina!
AI_Output(other,self,"DIA_ZAMIT_HELLO_15_02"); //Widziałem, że w wolnej chwili przesiadujesz z dala od farmerów i czytasz jakieś zwoje!?
AI_Output(self,other,"DIA_ZAMIT_HELLO_14_03"); //Myślisz, że prosty farmer to przygłup i powinien machać tylko grabiami?
AI_Output(other,self,"DIA_ZAMIT_HELLO_15_04"); //Noo...
AI_Output(self,other,"DIA_ZAMIT_HELLO_14_05"); //Mylisz się! W młodych latach miałem okazję pracować w Klasztorze.
AI_Output(self,other,"DIA_ZAMIT_HELLO_14_06"); //A właściwie to poza nim, kiedy to jeszcze Magowie wypasali swoją trzódkę za klasztornymi murami.
AI_Output(self,other,"DIA_ZAMIT_HELLO_14_07"); //Pomagałem trochę Magom, a ci nauczyli mnie wielu pożytecznych rzeczy.
AI_Output(other,self,"DIA_ZAMIT_HELLO_15_08"); //Czyli mam do czynienia ze światłym umysłem... (z powątpiewaniem)
AI_Output(self,other,"DIA_ZAMIT_HELLO_14_09"); //Nie kpij sobie ze mnie. Ale skoro chcesz wypróbować mój zmysł i oczytanie, mogę cię wyzwać na mały pojedynek.
AI_Output(other,self,"DIA_ZAMIT_HELLO_15_10"); //Daruj sobie, ty...
AI_Output(self,other,"DIA_ZAMIT_HELLO_14_11"); //Nie o walce mówię! Proponuję ci trochę logicznego myślenia!
AI_Output(self,other,"DIA_ZAMIT_HELLO_14_12"); //Rozwiąż moje trzy zagadki, a uznam, że nie jesteś tępym osiłkiem i bezmyślnym trollem.
AI_Output(self,other,"DIA_ZAMIT_HELLO_14_13"); //Nagrodzę cię rzadką tabliczką, którą znalazłem w pobliskiej jaskini. Już ją przeczytałem...
AI_Output(self,other,"DIA_ZAMIT_HELLO_14_14"); //A widzę, że tobie przyda się bardzo, chuderlaku...
AI_Output(other,self,"DIA_ZAMIT_HELLO_15_15"); //Miałem już do czynienia z niejedną zagadką i często wykorzystuję to, co mam między uszami, dlatego chętnie przystąpię do tego bezkrwawego pojedynku, he he!
MIS_Erudyta_Zamit = LOG_RUNNING;
Log_CreateTopic (TOPIC_Erudyta_Zamit, LOG_MISSION);
b_logstatus(TOPIC_Erudyta_Zamit, LOG_RUNNING);
B_LogEntry (TOPIC_Erudyta_Zamit,"Zamit to miłośnik zagadek. Postanowiłem pokazać mu, że czasem kosa trafia na kamień...");
};
instance DIA_ZAMIT_RAETSELN(C_Info)
{
npc = BAU_943_Zamit;
nr = 2;
condition = DIA_ZAMIT_raetseln_condition;
information = DIA_ZAMIT_raetseln_info;
permanent = FALSE;
description = "Jestem gotów rozwiązać twoją zagadkę. Słucham.";
};
func int DIA_ZAMIT_raetseln_condition()
{
if((RAETSELGELOEST == FALSE) && (Npc_KnowsInfo(other,DIA_ZAMIT_HELLO)))
{
return TRUE;
};
};
func void DIA_ZAMIT_raetseln_info()
{
AI_Output(other,self,"DIA_ZAMIT_Raetseln_15_00"); //Jestem gotów rozwiązać twoją zagadkę. Słucham.
AI_Output(self,other,"DIA_ZAMIT_Raetseln_14_01"); //No to posłuchaj:
AI_Output(self,other,"DIA_ZAMIT_Raetseln_14_02"); //Pewnego dnia farmer postawił owcom miskę z rzepą. Najpierw przyszła jedna owca - zjadła połowę rzepy i dodatkowo jeszcze jedną.
AI_Output(self,other,"DIA_ZAMIT_Raetseln_14_03"); //Potem przyszła druga - zjadła połowę tego, co znalazła i jeszcze jedną rzepę.
AI_Output(self,other,"DIA_ZAMIT_Raetseln_14_04"); //Potem przyszła trzecia i także zjadła połowę tego, co znalazła, i jeszcze jedną dodatkowo.
AI_Output(self,other,"DIA_ZAMIT_Raetseln_14_05"); //Wreszcie przyszedł baran i zjadł połowę tego, co zostało, i jeszcze jedną rzepę, aż wreszcie miska była pusta.
AI_Output(self,other,"DIA_ZAMIT_Raetseln_14_06"); //Ile rzepy było na początku w misce?
Info_AddChoice(DIA_ZAMIT_raetseln,"Dwadzieścia pięć.",DIA_ZAMIT_raetseln_frage_1_d);
Info_AddChoice(DIA_ZAMIT_raetseln,"Trzydzieści.",DIA_ZAMIT_raetseln_frage_1_c);
Info_AddChoice(DIA_ZAMIT_raetseln,"Trzydzieści sześć.",DIA_ZAMIT_raetseln_frage_1_b);
Info_AddChoice(DIA_ZAMIT_raetseln,"Czterdzieści pięć.",DIA_ZAMIT_raetseln_frage_1_a);
};
func void DIA_ZAMIT_raetseln_frage_1_a()
{
AI_Output(other,self,"DIA_ZAMIT_Raetseln_FRAGE_1_A_15_00"); //Czterdzieści pięć.
AI_Output(self,other,"DIA_ZAMIT_Raetseln_FRAGE_1_A_14_01"); //Nie, nie! Musisz myśleć o zagadce, a nie o butelkach z ginem!
Info_ClearChoices(DIA_ZAMIT_raetseln);
AI_StopProcessInfos(self);
};
func void DIA_ZAMIT_raetseln_frage_1_c()
{
AI_Output(other,self,"DIA_ZAMIT_Raetseln_FRAGE_1_C_15_00"); //Trzydzieści.
AI_Output(self,other,"DIA_ZAMIT_Raetseln_FRAGE_1_C_14_01"); //Noo... tak. Trochę mnie zaskoczyłeś. Jak do tego doszedłeś? Przecież baran...
AI_Output(other,self,"DIA_ZAMIT_Raetseln_FRAGE_1_C_15_02"); //Daruj sobie te wywody, spieszę się. Jeśli masz jeszcze coś dla mnie, to mów.
AI_Output(self,other,"DIA_ZAMIT_Raetseln_FRAGE_1_C_14_03"); //Dobra, kolejne wyzwanie.
AI_Output(self,other,"DIA_ZAMIT_Raetseln_FRAGE_1_C_14_04"); //Na burcie statku wisi drabinka ze sznura. Ledwie dosięga powierzchni wody. Jej szczeble rozmieszczone są co 30 centymetrów.
AI_Output(self,other,"DIA_ZAMIT_Raetseln_FRAGE_1_C_14_05"); //Ile szczebli zatonie, gdy podczas przypływu morza woda podniesie się o 90 centymetrów?
Info_ClearChoices(DIA_ZAMIT_raetseln);
Info_AddChoice(DIA_ZAMIT_raetseln,"Żaden.",DIA_ZAMIT_raetseln_frage_2_d);
Info_AddChoice(DIA_ZAMIT_raetseln,"Trzy.",DIA_ZAMIT_raetseln_frage_2_a);
Info_AddChoice(DIA_ZAMIT_raetseln,"Dwa.",DIA_ZAMIT_raetseln_frage_2_c);
Info_AddChoice(DIA_ZAMIT_raetseln,"Jeden.",DIA_ZAMIT_raetseln_frage_2_b);
};
func void DIA_ZAMIT_raetseln_frage_1_b()
{
AI_Output(other,self,"DIA_ZAMIT_Raetseln_FRAGE_1_B_15_00"); //Trzydzieści sześć.
AI_Output(self,other,"DIA_ZAMIT_Raetseln_FRAGE_1_B_14_01"); //Nie, nie! Musisz myśleć o zagadce, a nie o butelkach z ginem!
Info_ClearChoices(DIA_ZAMIT_raetseln);
AI_StopProcessInfos(self);
};
func void DIA_ZAMIT_raetseln_frage_1_d()
{
AI_Output(other,self,"DIA_ZAMIT_Raetseln_FRAGE_1_D_15_00"); //Dwadzieścia pięć.
AI_Output(self,other,"DIA_ZAMIT_Raetseln_FRAGE_1_D_14_01"); //Nie, nie! Musisz myśleć o zagadce, a nie o butelkach z ginem!
Info_ClearChoices(DIA_ZAMIT_raetseln);
AI_StopProcessInfos(self);
};
func void DIA_ZAMIT_raetseln_frage_2_a()
{
AI_Output(other,self,"DIA_ZAMIT_Raetseln_FRAGE_2_A_15_00"); //Trzy.
AI_Output(self,other,"DIA_ZAMIT_Raetseln_FRAGE_2_A_14_01"); //Nie, nie! Musisz myśleć o zagadce, a nie o butelkach z ginem!
Info_ClearChoices(DIA_ZAMIT_raetseln);
AI_StopProcessInfos(self);
};
func void DIA_ZAMIT_raetseln_frage_2_b()
{
AI_Output(other,self,"DIA_ZAMIT_Raetseln_FRAGE_2_B_15_00"); //Jeden.
AI_Output(self,other,"DIA_ZAMIT_Raetseln_FRAGE_2_B_14_01"); //Nie, nie! Musisz myśleć o zagadce, a nie o butelkach z ginem!
Info_ClearChoices(DIA_ZAMIT_raetseln);
AI_StopProcessInfos(self);
};
func void DIA_ZAMIT_raetseln_frage_2_c()
{
AI_Output(other,self,"DIA_ZAMIT_Raetseln_FRAGE_2_C_15_00"); //Dwa.
AI_Output(self,other,"DIA_ZAMIT_Raetseln_FRAGE_2_C_14_01"); //Nie, nie! Musisz myśleć o zagadce, a nie o butelkach z ginem!
Info_ClearChoices(DIA_ZAMIT_raetseln);
AI_StopProcessInfos(self);
};
func void DIA_ZAMIT_raetseln_frage_2_d()
{
AI_Output(other,self,"DIA_ZAMIT_Raetseln_FRAGE_2_D_15_00"); //Żaden.
AI_Output(self,other,"DIA_ZAMIT_Raetseln_FRAGE_2_D_14_01"); //A niech mnie! Prawdziwy mędrzec mi się tu trafił.
AI_Output(self,other,"DIA_ZAMIT_Raetseln_FRAGE_2_D_14_02"); //Chcesz spróbować jeszcze raz?
AI_Output(other,self,"DIA_ZAMIT_Raetseln_FRAGE_2_D_15_03"); //Tak, na razie niezbyt się wysiliłeś.
AI_Output(self,other,"DIA_ZAMIT_Raetseln_FRAGE_2_D_14_04"); //Oto ostatnia zagadka:
AI_Output(self,other,"DIA_ZAMIT_Raetseln_FRAGE_2_D_14_05"); //Dwaj ogrodnicy potrzebują 8 dni, aby opielić ogródek.
AI_Output(self,other,"DIA_ZAMIT_Raetseln_FRAGE_2_D_14_06"); //Jeden ogrodnik jest leniwy, a drugi pełen energii.
AI_Output(self,other,"DIA_ZAMIT_Raetseln_FRAGE_2_D_14_07"); //Żwawy ogrodnik sam opieli ogródek w ciągu 12 dni.
AI_Output(self,other,"DIA_ZAMIT_Raetseln_FRAGE_2_D_14_08"); //Jak wiele dni będzie trwało pielenie ogródka przez leniwego ogrodnika?
Info_ClearChoices(DIA_ZAMIT_raetseln);
Info_AddChoice(DIA_ZAMIT_raetseln,"20 dni.",DIA_ZAMIT_raetseln_frage_3_b);
Info_AddChoice(DIA_ZAMIT_raetseln,"24 dni.",DIA_ZAMIT_raetseln_frage_3_c);
Info_AddChoice(DIA_ZAMIT_raetseln,"32 dni.",DIA_ZAMIT_raetseln_frage_3_a);
};
func void DIA_ZAMIT_raetseln_frage_3_a()
{
AI_Output(other,self,"DIA_ZAMIT_Raetseln_FRAGE_3_A_15_00"); //32 dni.
AI_Output(self,other,"DIA_ZAMIT_Raetseln_FRAGE_3_A_14_01"); //Nie, nie! Musisz myśleć o zagadce, a nie o butelkach z ginem!
Info_ClearChoices(DIA_ZAMIT_raetseln);
AI_StopProcessInfos(self);
};
func void DIA_ZAMIT_raetseln_frage_3_b()
{
AI_Output(other,self,"DIA_ZAMIT_Raetseln_FRAGE_3_B_15_00"); //20 dni.
AI_Output(self,other,"DIA_ZAMIT_Raetseln_FRAGE_3_B_14_01"); //Nie, nie! Musisz myśleć o zagadce, a nie o butelkach z ginem!
Info_ClearChoices(DIA_ZAMIT_raetseln);
AI_StopProcessInfos(self);
};
func void DIA_ZAMIT_raetseln_frage_3_c()
{
AI_Output(other,self,"DIA_ZAMIT_Raetseln_FRAGE_3_C_15_00"); //24 dni.
AI_Output(self,other,"DIA_ZAMIT_Raetseln_FRAGE_3_C_14_01"); //Taak. Nie wiem, jak ty to liczysz, ale o przypadku chyba nie ma mowy!
AI_Output(self,other,"DIA_ZAMIT_Raetseln_FRAGE_3_C_14_02"); //Jeśli wszyscy wojownicy na tej wyspie są takimi bystrzakami, to ta wojna nie potrwa długo.
B_GivePlayerXP(250);
AI_Output(self,other,"DIA_ZAMIT_Raetseln_FRAGE_3_C_14_03"); //Bierz! Zasłużyłeś na nagrodę!
AI_Output(self,other,"DIA_ZAMIT_Raetseln_FRAGE_3_C_14_04"); //To jakaś starożytna kamienna tablica. Nie umiem jej odczytać, ale ty jesteś bystry.
AI_Output(self,other,"DIA_ZAMIT_Raetseln_FRAGE_3_C_14_05"); //Na pewno ci się to kiedyś uda.
CreateInvItems(self,ItWr_StrStonePlate1_Addon,1);
B_GiveInvItems(self,other,ItWr_StrStonePlate1_Addon,1);
AI_Output(other,self,"DIA_ZAMIT_Raetseln_FRAGE_3_C_15_06"); //Dzięki. Miło było pogawędzić z kimś na poziomie...
RAETSELGELOEST = TRUE;
B_LogEntry (TOPIC_Erudyta_Zamit,"Zamit zadał mi swoją ostatnią zagadkę i ją także rozwiązałem. Nie jestem wcale taki głupi!");
b_logstatus(TOPIC_Erudyta_Zamit, LOG_SUCCESS);
MIS_Erudyta_Zamit = LOG_SUCCESS;
Info_ClearChoices(DIA_ZAMIT_raetseln);
AI_StopProcessInfos(self);
};