Global ints anzeigen

Fragen zu "Adventure Game Studio"? Hier rein!
Antworten
Gast

Global ints anzeigen

Beitrag von Gast »

Kann man Globalints wie den Score im Spiel anzeigen lassen?
a-v-o
Süßwasserpirat
Süßwasserpirat
Beiträge: 258
Registriert: 22.09.2002, 21:28
Kontaktdaten:

Re:Global ints anzeigen

Beitrag von a-v-o »

Vermutlich beziehst du dich auf GUI-Labels, bei denen du mittels @SCORE@, @SCORETEXT@ oder @TOTALSCORE@ die entsprechenden Werte anzeigen lassen kannst.

So bequem geht es mit GlobalInts nicht. Angenommen du wolltest einen Geldvorrat verwalten, dann könntest du es so machen:

--- script header ---
import function GiveMoney (int amount);

--- global script ---
#define MONEY_GI 1
#define MONEY_GUI 0
#define MONEY_LABEL 0
function GiveMoney (int amount)
{
SetGlobalInt (GI_MONEY, GetGlobalInt (GI_MONEY) + amount);
string labeltext;
StrFormat (labeltext, "%d", GetGlobalInt (GI_MONEY));
SetLabelText (MONEY_GUI, MONEY_LABEL, labeltext);
}

In den entsprechenden Interaction-Scripts rufst du dann lediglich bspw. GiveMoney (5); auf. Der Wert des Labels sollte sich automatisch mitändern.

Viel Erfolg
Gast

Re:Global ints anzeigen

Beitrag von Gast »

Bei mir kommt immer
"Undefined MoneyGI" oder so ähnlich
?????????????????????????????????????????
Was kann ich machen?
Gast

Re:Global ints anzeigen

Beitrag von Gast »

Bei mir kommt immer
"Undefined MoneyGI" oder so ähnlich
?????????????????????????????????????????
Was kann ich machen?
a-v-o
Süßwasserpirat
Süßwasserpirat
Beiträge: 258
Registriert: 22.09.2002, 21:28
Kontaktdaten:

Re:Global ints anzeigen

Beitrag von a-v-o »

Da ist mir doch ein Tippfehler unterlaufen. Oben im define steht MONEY_GI und unten GI_MONEY. Das kann so natürlich nicht zusammenpassen. Richtig heißt es:

--- global script ---
#define MONEY_GI 1
#define MONEY_GUI 0
#define MONEY_LABEL 0
function GiveMoney (int amount)
{
SetGlobalInt (MONEY_GI, GetGlobalInt (MONEY_GI) + amount);
string labeltext;
StrFormat (labeltext, "%d", GetGlobalInt (MONEY_GI));
SetLabelText (MONEY_GUI, MONEY_LABEL, labeltext);
}

Das Beispiel war nur als Denkanstoß zu verstehen. MONEY_GI ist ein Platzhalter für die Nummer des GloablInts hier also 1 (siehe Ende der #define-Zeile).
Statt MONEY_GUI kannst du den Namen der GUI verwenden, wenn du sie im Editor benannt hast.
Am Ende der #define MONEY_LABEL-Zeile mußt du die 0 gegen ie GUI-Element-Nr. des Labels austauschen.
Antworten