Oblivion:Alternativen mit Messageboxen auswählen
Inhaltsverzeichnis
Einleitung
Mit den Messageboxen kann der Nutzer aus vorgegebenen Möglichkeiten etwas auswählen.
Einfache Auswahl
Anwendung
Aufgabenstellung
Dem Spieler wird angeboten, einen Apfel in das Inventar zu bekommen. Der Spieler kann annehmen oder ablehnen.
Theorie
Es gilt zu beachten, dass maximal neun Alternativen angegeben werden können. GetButtonpressed liefert nur das erste Mal nach erfolgter Auswahl einen korrekten Wert. Beim zweiten mal wird -1 zurückgegeben.
Realisierung
Umgebung
keine Anmerkungen
Script
<tesscript> Scn MakeAChoice
- Written by keris
- 9.8.08
short Doonce short Button short RealiseSelection
Begin GameMode
if Doonce == 0 set Doonce to 1 ; es soll nur einmal gemacht werden! messagebox "Möchtet ihr einen Apfel?", "Ja", "Nein" Set RealiseSelection to 1
endif
if RealiseSelection Set Button to GetButtonPressed Set RealiseSelection to 0 if Button == -1 return elseif Button == 0 Player.AddItem apple 1 elseif Button == 1 return endif endif
End </tesscript>
Handhabung
Dies Script kann als Object-Script oder als Quest-Script genutzt werden.
Auswahl über einen Aktivator
Anwendung
Aufgabenstellung
Der Player soll nach Drücken eines Schalters nach seinem Wunschgetränk gefragt werden. Entsprechend der Auswahl bekommt er etwas zu trinken.
Theorie
Diese Messagebox erscheint im Onactivate-Block, die Auswahl kann dort aber nicht abgearbeitet werden, da der Block nur bei der Aktivierung durchlaufen wird.
Realisierung
Umgebung
Es gibt einen Schalter in der Welt, auf diesem liegt das Script.
Script
<tesscript> Scn OrderDrink
- gives a drink to the player
- originated
- keris, 20.11.07
short Button short RealiseSelection
Begin OnActivate
if ( IsActionRef Player == 1 ) if RealiseSelection == 0 MessageBox "Was möchtet Ihr zu trinken?" "Bier" "Wein" "nichts" Set RealiseSelection to 1 else
Set RealiseSelection to 0 Activate Player
endif else Activate endif
End
Begin GameMode
if RealiseSelection == 1 Set Button to GetButtonPressed
Set RealiseSelection to 0
if Button < 0 Return elseif Button == 0 Player.EquipItem DrinkBeer elseif button == 1 Player.EquipItem DrinkWine1SurilieGood elseif Button == 2 Return endif endif
End </tesscript>
Handhabung
Dies Script liegt auf einem Object vom Typ Aktivator.