Choice
Mit diesem Tag wird dem Spieler eine Auswahlmöglichkeit angeboten, zu der er nach Beendigung der aktuellen Szene springen kann.
Inhaltsverzeichnis
Syntax
<choice target="..." [confirm=""] [enabled="true"] [select-hero=""] [selected-only="false"]>...</choice>
- target: An Stelle von ... wird der Name der Ziel-Szene (ohne ".xml") angegeben (oder eine Variable die den Namen enthält).
- param: (optional) Parameterwert, der an die aufgerufene Szene als Variable "param" im Scope "scene" übergeben wird.
- confirm: Hier kann eine Frage angegeben werden, die als zu bestätigende Frage angezeigt wird, bevor die gewünschte Szene wirklich aufgerufen wird.
- enabled (standardmäßig 'true'): Wenn false, wird die Option durchgestrichen und für den Spieler nicht zugänglich gemacht.
- select-hero (nur für Gruppen): Wenn '1' angegeben, kann der Gruppenführer einen Held auswählen, der in der Zielszene dann automatisch selektiert ist (als einziger Held).
- selected-only (nur für Gruppen, standardmäßig 'false'): Wenn 'true' angegeben, kann nur zwischen den aktuell selektierten Helden ausgewählt werden, welcher Held in der Zielszene selektiert sein soll.
Wenn das Tag keinen Inhalt hat, wird dieser Text auch angezeigt, sonst der Text zwischen dem Start-und End-Tag.
Beispiele
Ein einfaches Choice
<choice target="szene2">weiter</choice>
Mit Klick auf 'weiter' gelangt der Spieler in szene2.xml
Parameter-Übergabe an aufgerufene Szene
In der Ursprungs-Szene:
Durchgehen, wenn die Tür <choice target="szene2" param="blau"/> oder <choice target="szene2" param="rot"/> leuchtet.
Mit Klick auf 'weiter' gelangt der Spieler in szene2.xml, dort kann dann der Parameter abgefragt werden:
Du bist durch die Tür gegangen, als sie <get name="param"/> leuchtete.
Die Variable gilt nur in der unmittelbaren Folgeszene (inkl. der dort ausgeführten includes), will man den Wert für später speichern, muss man den Wert einer länger gültigen Variable zuweisen, z.B. so:
<store name="tuer-farbe" scope="quest"><get name="param"/></store>
confirm
Mit confirm kann man Sicherheitsfragen einbauen.
<choice target="Abbruch" confirm="Willst du den Auftrag wirklich abbrechen?">Auftrag abbrechen.</choice>
Bei diesem Beispiel würde der Spieler eine Nachfrage ("Willst du den Auftrag wirklich abbrechen?") angezeigt bekommen, wenn er auf "Auftrag abbrechen" klickt. Dann kann der Spieler mit Klick auf "OK" die Szene aufrufen oder mit Klick auf "Abbrechen" auf der aktuellen Seite bleiben.
enabled="false"
<ul>
<li><choice target="singen">Singen</choice></li>
<li><choice target="tanzen" enabled="false">Tanzen</choice></li>
</ul>
Hier wird nur Singen als Option angeboten. Tanzen wird zwar angezeigt, ist aber durchgestrichen und nicht klickbar.
select-hero (für Gruppen)
Wenn select-hero="1", kann der Gruppenführer einen Held auswählen. Dieser wird dann intern automatisch selektiert für die nächste Szene.
<ul>
<li><choice target="fallgrube" select-hero="1">Wer soll als erstes versuchen über die Grube zu springen?</choice></li>
</ul>
erzeugt in etwa diese Ausgabe:
selected-only (für Gruppen)
Mit selected-only kann konfiguriert werden, dass der Spieler nicht zwischen allen Gruppenmitgliedern wählen darf, sondern lediglich aus den aktuell selektierten Helden. Beispiel:
<select role="Kämpfer"/>
<ul>
<li><choice target="fallgrube" select-hero="1" selected-only="true">Wer soll als erstes versuchen über die Grube zu springen?</choice></li>
</ul>
Gruppenmitglieder mit der Rolle 'Dieb' fehlen somit in der Auswahl.
Erzeugt in etwa diese Ausgabe: