Es gibt 500 GlobalInts; bei den MMM-Packs sind die ersten 20 oder so reserviert. Das hängt davon ab, wie viele Türen das Pack verwendet, da jede eine GlobalInt benötigt. Auch Schränke oder Schubladen, die automatisch Rechtsklick-Aktionen zugewiesen haben, verwenden je eine.
Alternativ kannst Du eigene Variablen verwenden:
Entweder die Variable muss nur innerhalb eines Raumes "sichtbar" sein (sichtbar für das Skript bzw. AGS), in diesem Fall genügt es, die V. am Anfang des room scripts zu deklarieren. Klick in
Room Editor -> Settings auf den {}-Button; dieser öffnet das room script. Jetzt schreibst Du ganz oben, vor die erste
function z.B.:
int schrank_offen;
Diese Variable ist jetzt 0 und kann überall im Raum verwendet werden.
Beispiel:
function ...
// any click on hotspot 5 (Schrank)
...
else if (UsedAction(A_OPEN)) {
if (schrank_offen==1) player.Say("Der ist schon offen!");
else {
oSchrank.Visible=true;
oSchrank.Clickable=false;
schrank_offen=1;
}
}
else if (UsedAction(A_CLOSE)) {
if (schrank_offen==0) player.Say("Der ist schon zu!");
else {
oSchrank.Visible=false;
schrank_offen=0;
}
}
...
Muss die Variable überall verwendet werden können, muss sie im global script deklariert und exportiert werden:
int es_ist_nacht;
export es_ist_nacht; // bei export reicht der Name der Variable
Jetzt muss sie im script header importiert werden:
import int es_ist_nacht; // import benötigt den Typ, also "int"