Oblivion:Alternativen mit Messageboxen auswählen: Unterschied zwischen den Versionen
Keris (Diskussion | Beiträge) K |
Keris (Diskussion | Beiträge) |
||
Zeile 83: | Zeile 83: | ||
Begin OnActivate | 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 | End | ||
Zeile 118: | Zeile 118: | ||
Dies Script liegt auf einem Object vom Typ Aktivator. | Dies Script liegt auf einem Object vom Typ Aktivator. | ||
+ | |||
+ | == Auswahl über ein Buch== | ||
+ | |||
+ | === Anwendung === | ||
+ | ==== Aufgabenstellung ==== | ||
+ | Der Player soll beim Lesen seines Tamika-Resieführers ein Getränkt dieser Gegend ausprobieren. Entsprechend der Auswahl bekommt er einmal etwas zu trinken. | ||
+ | |||
+ | ==== Theorie ==== | ||
+ | Das Buch befindet sich im Inventar, damit erscheint diese Messagebox erscheint im OnEquip-Block, die Auswahl kann dort aber nicht abgearbeitet werden, da der Block nur bei der Aktivierung durchlaufen wird. Weiter ist während des Lesens des Buches nicht der GameMode-Block aktiv sondern der MenuMode-Block. Dort wird also die Auswahl abgearbeitet. | ||
+ | |||
+ | === Realisierung === | ||
+ | |||
+ | ==== Umgebung ==== | ||
+ | Es gibt ein Buch im Inventar des Players, auf diesem liegt das Script. | ||
+ | |||
+ | ==== Script ==== | ||
+ | <tesscript> Scn TestingWine | ||
+ | ;gives some wine to the player | ||
+ | ;originated: keris, 23.08.08 | ||
+ | |||
+ | short Button | ||
+ | short Doonce | ||
+ | |||
+ | Begin OnEquip | ||
+ | |||
+ | if Doonce == 0 | ||
+ | "Was möchtet Ihr zu trinken?" "Tamikas Westebenen-Wein" "Tamika, Jahrgang 415 " | ||
+ | Set Doonce to 1 | ||
+ | endif | ||
+ | |||
+ | End | ||
+ | |||
+ | Begin MenuMode | ||
+ | |||
+ | Set Button to GetButtonPressed | ||
+ | if Doonce == 1 | ||
+ | if Button == 0 | ||
+ | Player.EquipItem DrinkWine2TamikaGood | ||
+ | elseif Button == 1 | ||
+ | Player.EquipItem DrinkWine4TamikaBetter | ||
+ | else | ||
+ | Return | ||
+ | endif | ||
+ | Set Doonce to 2 | ||
+ | endif | ||
+ | |||
+ | End | ||
+ | </tesscript> | ||
+ | |||
+ | |||
+ | ==== Handhabung ==== | ||
+ | Dies Script liegt auf einem Object vom Typ Buch. | ||
== Weitere Information == | == Weitere Information == | ||
− | + | * [[ob:Book|Bücher]] | |
+ | |||
+ | * [[ob:Block|Blöcke]] | ||
+ | |||
+ | * [[:kategorie:Aktivieren und Aktivatoren]] | ||
+ | |||
+ | |||
+ | {{ Scriptkategorie |Messages und Messageboxen|Alternativen auswählen}} | ||
+ | |||
− | |||
[[Kategorie:Messages und Messageboxen|Alternativen mit Messageboxen auswählen]] | [[Kategorie:Messages und Messageboxen|Alternativen mit Messageboxen auswählen]] |
Version vom 23. August 2008, 17:36 Uhr
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.
Auswahl über ein Buch
Anwendung
Aufgabenstellung
Der Player soll beim Lesen seines Tamika-Resieführers ein Getränkt dieser Gegend ausprobieren. Entsprechend der Auswahl bekommt er einmal etwas zu trinken.
Theorie
Das Buch befindet sich im Inventar, damit erscheint diese Messagebox erscheint im OnEquip-Block, die Auswahl kann dort aber nicht abgearbeitet werden, da der Block nur bei der Aktivierung durchlaufen wird. Weiter ist während des Lesens des Buches nicht der GameMode-Block aktiv sondern der MenuMode-Block. Dort wird also die Auswahl abgearbeitet.
Realisierung
Umgebung
Es gibt ein Buch im Inventar des Players, auf diesem liegt das Script.
Script
<tesscript> Scn TestingWine
- gives some wine to the player
- originated
- keris, 23.08.08
short Button short Doonce
Begin OnEquip
if Doonce == 0 "Was möchtet Ihr zu trinken?" "Tamikas Westebenen-Wein" "Tamika, Jahrgang 415 " Set Doonce to 1 endif
End
Begin MenuMode
Set Button to GetButtonPressed if Doonce == 1 if Button == 0
Player.EquipItem DrinkWine2TamikaGood
elseif Button == 1 Player.EquipItem DrinkWine4TamikaBetter else Return endif Set Doonce to 2 endif
End </tesscript>
Handhabung
Dies Script liegt auf einem Object vom Typ Buch.
Weitere Information
Weitere Scripts aus dieser Kategorie
Level 1
Level 3
{{#if: Messages und Messageboxen | }}