Die Abfrage nach GetButtonPressed muss im gleichen Script wie der MessageBox-Befehl stehen.

Für das Auslagern würde ich aber eher Activators empfehlen, da der OnActivate-Block nach einem Activate [Ref], 1 sofort ausgeführt wird und man nicht einen Frame auf das Ergebnis warten muss.
Nachteil ist, dass mit der normalen Activate-Funktion nur 5-6 pro Frame möglich sind.
Gleiches gilt für QuestStages & den SetStage-Befehl.

Zeig mal dein Script her, dann lässt sich da eher was machen.