Construction Set MessageBoxes mit Antworten

Fellan

Freund des Hauses
Ich möchte eine MessageBox erstellen, auf die man Antworten kann, woraufhin man wiederum individuelle Antworten bekommt. Ich denke, das hier sagt mehr, als wenn ich das beschreiben würde:

Code:
scn MeinTollerMessageBoxScript

short button
short activated

begin onActivate Player

if activated == 0
MessageBox "Fragestellung A", "Antwort 1", "Antwort 2", "Antwort 3"
set activated to 1
endif
end

begin GameMode

set button to GetButtonPressed

if button > -1
   if button == 0
   MessageBox "Reaktion auf Antwort 1"
   elseif button == 1
   MessageBox "Reaktion auf Antwort 2"
   elseif button == 2
   MessageBox "Reaktion auf Antwort 3"
   endif
endif
end

Das klappte nicht. Keine Chance. Gut, also ans Wiki gehalten und Folgendes gemacht:

Code:
[/COLOR][/COLOR]scn MeinTollerMessageBoxScriptDieZweite

short button
short activated

begin onActivate Player

if activated == 0
MessageBox "Fragestellung A", "Antwort 1", "Antwort 2", "Antwort 3"
set activated to 1
endif
end

begin GameMode

set button to GetButtonPressed

if button > -1
   if button == 0
   ; MessageBox "Reaktion auf Antwort 1"
   elseif button == 1
   ; MessageBox "Reaktion auf Antwort 2"
   elseif button == 2
   ; MessageBox "Reaktion auf Antwort 3"
   endif
endif
end

Hätte mich auch gewundert, wenn das klappt. Klappt also auch nicht. Die Beschreibung im Wiki ist für einen Laien wie mich auch nicht gerade verständlich.

Da ich das Thema hier schonmal angesprochen hatte, versuche ich das ganze nochmal ohne das "if button > -1", das bringt aber herzlich wenig.

Was also tun? Muss die Reaktion auf die Antworten etwa so stehen:

; "Reaktion auf Antwort X"

...oder so:

; Reaktion auf Antwort X

...oder so:

;
Reaktion auf Antwort X

...oder so:

;
"Reaktion auf Antwort X"

...oder so:

;
MessageBox "Reaktion auf Antwort X"

...??? Ich habe jetzt seit etwa 2 Stunden alles mögliche durchprobiert. Was ist denn nun richtig?
 
Der 2. Script stimmt denke ich, nur was soll denn passieren wenn die Reaktion aus Kommentaren besteht :D

Also das ; vor den MessageBoxen löschen und vlt. gehts ja dann.

MfG
Junker Locklear

EDIT:
Also ich denke so:
Code:
scn MeinTollerMessageBoxScriptDieZweite

short button
short activated

begin onActivate Player

if activated == 0
MessageBox "Fragestellung A", "Antwort 1", "Antwort 2", "Antwort 3"
set activated to 1
endif
end

begin GameMode

set button to GetButtonPressed

if button > -1
   if button == 0
   MessageBox "Reaktion auf Antwort 1"
   elseif button == 1
   MessageBox "Reaktion auf Antwort 2"
   elseif button == 2
   MessageBox "Reaktion auf Antwort 3"
   endif
endif
end
 
Zuletzt bearbeitet:
  • Like
Reaktionen: Fellan
Ich werde erstmal dein Script in einem neuen Activator austesten, ich bin es leid, immer sämtliche Scripts abzuändern. Auf sämtliche Antworten des Spielers soll eine MessageBox und andere Reaktionen (entfernen bzw. hinzufügen von Objekten, Setzen von QuestStages oder Globals etc.) folgen.

Danke erstmal.
 
Bei deinem Script wurde die Reaktion immer und immer wieder wiederholt. So funktioniert es:

Code:
scn WGTTHMeinTollerMessageBoxScriptDieZweite

short button
short choice
short activated

begin onActivate Player

if activated == 0
MessageBox "Fragestellung A", "Antwort 1", "Antwort 2", "Antwort 3"
set activated to 1
endif
end

begin GameMode

set button to GetButtonPressed

if button > -1
   if button == 0 && choice == 0
   MessageBox "Reaktion auf Antwort 1"
   set choice to 1
   elseif button == 1 && choice == 0
   MessageBox "Reaktion auf Antwort 2"
   set choice to 2
   elseif button == 2 && choice == 0
   MessageBox "Reaktion auf Antwort 3"
   set choice to 3
   endif
endif
end