Jak zrobić dwa warunki if w jednym dialogu?
(Nie mam na myśli miejsca CONDITION)
Czytałem tutorial o warunku if i tam było o tym coś napisane. Jednak autor posta słusznie dodał, że ma to wyglądać tak tylko z "grubsza". Niestety nie działa. Jak zrobić dialog w którym :
Cały dialog oczywiście pod jednym instance ( z wykorzystaniewm if, else, else if)
Jeżeli mam paczkę to włącza się dialog 1, jeśli nie mam paczki włącza się dialog 2, jeśli włączy się dialog 2 a ja mam złoto, wtedy włącza się dialog 3, jeśli włączy się dialog 2 a ja nie mam złota, wtedy włącza się dialog 4. Jeżeli włączy się dialog 1, to po nim jest już koniec całego dialogu.
Mój dialog wygląda tak:
{
AI_Output (other,self ,"DIA_VLK_20011_Julian_winkoende_15_00"); //Byłem w klasztorze.
AI_Output (self ,other,"DIA_VLK_20011_Julian_winkoende_70_01"); //Dobrze. Gdzie paczka? <-- To ma włączyć się po wybraniu opcji dialogowej.
if (Npc_hasitems (other, ItMi_Julianpacket) >=1)
{
if (Npc_hasitems (other, itmi_gold) >=600)
{
AI_Output (other,self ,"DIA_VLK_20011_Julian_winkoende_15_02"); //Proszę, oto złoto. <---To ma się włączyć, jeżeli nie mam paczki a mam złoto
B_GiveInvItems (other, self, itmi_gold, 600);// Ta część to jeśli mam złoto.
AI_Output (other,self ,"DIA_VLK_20011_Julian_winkoende_15_03"); //No, przynajmniej nie zabrałeś mojego złota.
}
else
{
AI_Output (other,self ,"DIA_VLK_20011_Julian_winkoende_15_07"); //Nie mam złota. // to jeśli nie mam paczki i nie mam złota
AI_Output (self ,other,"DIA_VLK_20011_Julian_winkoende_70_08"); //Co takiego? To już przesada. Zaraz cię nauczę odrobiny szacunku.
AI_StopProcessInfos (self);
B_Attack (self, other, AR_NONE, 1);
};
}
else if (Npc_hasitems (other, ItMi_Julianpacket) >=1)
{
AI_Output (other,self ,"DIA_VLK_20011_Julian_winkoende_15_02"); //Proszę bardzo. Oto ona. <-- Teraz to, jeśli mam paczkę.
B_GivePlayerXP (XP_Julian_wino);
B_GiveInvItems (other, self, ItMi_Julianpacket, 1);
B_LogEntry (TOPIC_Julian_wino, "Julian dostał swoją paczkę z winem. Wydawał się być bardzo zadowolony.");
Log_SetTopicStatus (TOPIC_Julian_wino, LOG_SUCCESS);
AI_Output (self ,other,"DIA_VLK_20011_Julian_winkoende_70_03"); //Doskonale się spisałeś. Przyjmij w nagrodę to złoto.
CreateInvItems (self, itmi_gold, 100);
B_GiveInvItems (self, other, itmi_gold, 100);
}
else
{
AI_Output (other,self ,"DIA_VLK_20011_Julian_winkoende_15_04"); //Niestety, klasztor nie chce sprzedać mi wina.// Jeśli nie mam paczki.
B_LogEntry (TOPIC_Julian_wino, "Julian nie był zadowolony gdy powiedziałem mu, że w klasztorze nie sprzedano mi wina. Domyślił się, że nie zaoferowałem im tyle pieniędzy ile od niego dostałem.");
Log_SetTopicStatus (TOPIC_Julian_wino, LOG_FAILED);
AI_Output (self ,other,"DIA_VLK_20011_Julian_winkoende_70_05"); //Byłeś zbyt skąpy, co? Zaoferowałeś mniej złota niż ci dałem. Nie wykonałeś tak prostego zadania.
AI_Output (self ,other,"DIA_VLK_20011_Julian_winkoende_70_06"); //W takim wypadku, proszę cię o zwrot pieniędzy.
};
};
1.Proszę o wytłumaczenie tego, najlepiej na jakimś przykładzie.
2. Rzeby nie tworzyć drugiego tematu, jak zrobić jeszcze bardziej skomplikowany dialog, takiego typu jak dialog z oryginalnego g2nk gdzie wybieramy opcję, chcę zostać twoim czeladnikiem. Nie rozglądałem się na forum za punktem 2, bo przyszedł mi do głowy dopiero teraz, więc jeśli jest a komuś nie chcę się tłumaczyć po raz drugi to proszę o link.