Willkommen zu dem Tutorial zum erstellen von Choices. Choices sind mehrere Auswahlmöglichkeiten. Das heißt wenn dich ein NPC fragt: „Wie gehts?“ und man mit z.B. „Gut“ oder „Schlecht“ antworten kann: Das sind Choices.
Die Grundlage für dieses Tutorial bildet das Dialogtutorial!
Also, erst mal ein Beispiel:
//////////////////////////////////////////////////////////// ////////////// Hallo /////////////////////////////////////////////////////// INSTANCE Dia_Dieter_Hallo (C_INFO) { npc = PAL_9999_Dieter; nr = 2; condition = Dia_Dieter_Hallo_condition; information = Dia_Dieter_Hallo_info; important = FALSE; permanent = FALSE; description = "Wie gehts dir?"; }; func int Dia_Dieter_Hallo_condition () { return TRUE; }; FUNC VOID Dia_Dieter_Hallo_info () { AI_Output (other, self,"Dia_Dieter_Hallo_hero_00"); //Wie gehts dir? AI_Output (self, other,"Dia_Dieter_Hallo_npc_01"); //Gut und dir? Info_ClearChoices (DIA_Dieter_Hallo); Info_AddChoice (DIA_Dieter_Hallo, "Schlecht", DIA_Dieter_Hallo_a ); Info_AddChoice (DIA_Dieter_Hallo, "Gut", DIA_Dieter_Hallo_b ); }; FUNC VOID Dia_Dieter_Hallo_a () { AI_Output (other,self,"Dia_Dieter_Hallo_a_hero_00"); //Mir geht es schlecht. AI_Output (self, other,"Dia_Dieter_Hallo_a_npc_01"); //Achso. Info_ClearChoices(Dia_Dieter_Hallo); }; FUNC VOID Dia_Dieter_Hallo_b () { AI_Output (other,self,"Dia_Dieter_Hallo_b_hero_00"); //Mir geht es gut. AI_Output (self, other,"Dia_Dieter_Hallo_b_npc_01"); //Das ist aber schön. Info_ClearChoices(Dia_Dieter_Hallo); };
{ [...] Info_ClearChoices (DIA_Dieter_Hallo); Info_AddChoice (DIA_Dieter_Hallo, "Schlecht", DIA_Dieter_Hallo_a ); Info_AddChoice (DIA_Dieter_Hallo, "Gut", DIA_Dieter_Hallo_b ); };
Das ist das neue. Ihr packt das einfach in die normale FUNC VOID eures Dialogs. Natürlich können es auch mehr als nur 2 Choices sein.
Dann tragt ihr einfach folgendes ein ein:
Info_AddChoice (DIA_Dieter_Hallo, "Geht so",DIA_Dieter_Hallo_c ); .
„Info_ClearChoices“ lässt erst mal die alten Auswahlmöglichketen verschwinden.
„Info_AddChoice“ fügt eine Auswahlmöglichkeit (Choice) hinzu.
In die Klammern kommt erst die Dialoginstanz. Als zweites kommt in die Klammern dann die description/der Text für den Dialog angezeigt wird. Und dann die Instanz für die Choice, also das, was ausgeführt werden soll, wenn der Spieler sich für diese Auswahl entschieden hat.
FUNC VOID Dia_Dieter_Hallo_a () { AI_Output (other,self,"Dia_Dieter_Hallo_a_hero_00"); //Mir geht es schlecht. AI_Output (self, other,"Dia_Dieter_Hallo_a_npc_01"); //Achso. Info_ClearChoices(Dia_Dieter_Hallo); }; FUNC VOID Dia_Dieter_Hallo_b () { AI_Output (other,self,"Dia_Dieter_Hallo_b_hero_00"); //Mir geht es gut. AI_Output (self, other,"Dia_Dieter_Hallo_b_npc_01"); //Das ist aber schön. Info_ClearChoices(Dia_Dieter_Hallo); };
Für jede der im zweiten Teil der Info_AddChoice-Syntax angegebene Instanz wird unter die abgeschlossene „normale“ FUNC VOID eine neue erstellt, mit eben dieser Instanz. Auch hier kann man neue AddChoice-Befehle einfügen. Das ClearChoices aber nur verwenden, wenn die bis dahin vorhandenen Choices auch wirklich weg sollen!
Ich hoffe das Tutorial hat euch geholfen und hat Spaß gemacht.
Viel Spaß beim Modden.
Mfg, Silvan
[Edited by The nameless Hero.]