http://www.stranded.unrealsoftware.de has written
dialogue "Startseite", "Quelle"
Kategorien: interface
Öffnet ein Fenster mit Dialogtext und Buttons. Mit Startseite wird die Anfangsseite für den Dialog angegeben. Über Quelle wird eine Dialogdefinition angegeben. Dies kann entweder eine externe Datei (relativ zum Mod-Ordner) oder die ID eines Infos, in welches die Dialogdefinition geschrieben wurde sein. Dialog Definitionen bestehen aus folgenden Elementen:
page=Wert - Seitenanfang mit Seitenbezeichnung (nicht sichtbar)
title=Wert - Titel der Seite (wird im Spiel angezeigt)
text=start / text=end - zwischen diesen Zeilen wird der Text der Seite festgelegt
script=start / script=end - zwischen diesen Zeilen kann ein Script, welches beim Aufruf der Seite ausgeführt wird, festgelegt werden
button=Seite, Text - legt einen Button an, der beim Anklicken eine bestimmte Seite aufruft. Es lassen sich maximal 10 Buttons pro Seite erstellen
ibutton=Icon, Seite, Text - ein Button wo zusätzlich ein Icon als Frame (Zahl) oder Datei (Pfad relativ zum Mod-Ordner) angegeben werden kann
Als Seite für Buttons lässt sich auch folgendes angeben:
action:close - der Dialog wird beim Klicken geschlossen.
script:xyz - das Script xyz wird beim Klicken ausgeführt. Es darf KEIN Komma enthalten, da alles ab dem ersten Komma als Beschriftung für den Button angezeigt wird.
event:xyz - das Event xyz wird beim Klicken überall ausgeführt.
Die Dialogdefinition muss natürlich mindestens eine Seite (die Startseite) beinhalten, damit sie funktioniert.
Die Texte in Dialogseiten können über msg_extend und msg_replace auch nachträglich manipuliert werden. Das Gleiche gilt für Buttons (button, freebutton, die Dialog-Buttons sind von 0 bis 9 durchnummeriert). Die Befehle dafür sollten natürlich im Script der entsprechenden Seite benutzt werden.
1
2
3
4
5
6
on:use
//Wenn du die Einheit benutzt [E]
{
dialogue "Name der ersten Seite d. Dialoges", "Quelle*";
}
*:Hier gibst du an [b]wo[/b] sich der eigentlich Dialog befindet, das heisst du musst den Pfad angeben oder die ID eines Textcontainers angeben, welcher sich auf der Map befindet.