Das eine Mal hat´s ja funktioniert, jetzt wollte ich es bei einem Hotspot genauso machen, aber ich krieg lauter Fehlermeldungen. Zeile für Zeile, bis sie nicht mehr zu beheben sind. Also, so lautet mein Script:
Anstelle der 5 sollte die Nummer eines unbenutzten GlobalInt stehen.
Zur Erklärung:
Mit #define kann man eine Zeichenfolge durch eine andere ersetzen. Im Beispiel oben wird die Zahl 5 (Nr. eines GlobalInt) mit dem Begriff TEPPICH benannt. Steht irgendwo im Script TEPPICH, dann bedeutet dies die Zahl 5.
Oder anders ausgedrückt:
Beim Compilieren wird jedes TEPPICH durch 5 ersetzt, so dass das Script wie folgt aussieht:
if (GetGlobalInt (5) <= 0)
SetGlobalInt (5, 1);
SetBackgroundFrame(1);
ObjectOn(1);
Steht hinter TEPPICH nichts, dann fehlen die 5er im Script und es gibt logischerweise Fehlermeldungen.
TIP:
Um sicherzustellen, dass kein GlobalInt für zwei verschiedene Zwecke verwendet wird, trage ich alle diese #define nacheinander in den global header ein. Beispiel:
// GlobalInts
#define TASSE 1
#define IN_BAR_GEWESEN 2
#define FALLTUER_VERRIEGELT 3
2.
Es fehlt wohl auch eine geschweifte Klammer, so dass das korrigierte Script wie folgt lauten muss:
Super, hat geklappt.
Ich hab mir das schon so gedacht, mit dem Wert, aber dann als es immer noch nicht ging, hab ich gedacht, er wäre egal. Ich mach andauernd irgendwelche Fehler.
Aber dank deiner Hilfe funktioniert es auf jeden Fall und ich hab´s richtig verstanden, auch welchen Sinn das alles hat.
Danke.