Oblivion:Alternativen mit Messageboxen auswählen: Unterschied zwischen den Versionen

Aus Skript-Wiki
Wechseln zu: Navigation, Suche
K
Zeile 83: Zeile 83:
  
 
Begin OnActivate
 
Begin OnActivate
    if ( IsActionRef Player == 1 )
+
  if ( IsActionRef Player == 1 )
              if RealiseSelection == 0
+
      if RealiseSelection == 0
                    MessageBox "Was möchtet Ihr zu trinken?" "Bier" "Wein"  "nichts"
+
        MessageBox "Was möchtet Ihr zu trinken?" "Bier" "Wein"  "nichts"
                    Set RealiseSelection to 1
+
        Set RealiseSelection to 1
              else
+
      else
  Set RealiseSelection to 0
+
        Set RealiseSelection to 0
  Activate Player
+
        Activate Player
              endif
+
      endif
    else
+
  else
          Activate
+
      Activate
    endif
+
  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 ==
  
<categorytree depth=2 mode=Pages hideroot=on namespaces=Oblivion hideprefix=always>Messages und Messageboxen</categorytree>
+
* [[ob:Book|Bücher]]
 +
 
 +
* [[ob:Block|Blöcke]]
 +
 
 +
* [[:kategorie:Aktivieren und Aktivatoren]]
 +
 
 +
 
 +
{{ Scriptkategorie |Messages und Messageboxen|Alternativen auswählen}}
 +
 
  
[[Kategorie:Scripts|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

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 | }}

    {{#if: Alternativen auswählen | }}