Inventarteil austauschen
- Jones
- Verpackungs-Wegwerfer
- Beiträge: 51
- Registriert: 13.10.2004, 10:28
Inventarteil austauschen
Hallo!
Kennt jemand den Befehl um ein Inventarteil auszutauschen? Ich habe hier einen geschlossenen Brief, der nach dem Öffnen zu einem geöffneten Brief werden soll. Dafür habe ich auch verschiedene Inventarteile angelegt, da es sonst mit den Skriptbefehlen etwas unübersichtlich wird.
EDIT: gleich noch etwas zum Hinzufügen:
Ich bekomme es einfach nicht hin, eine globale Variable zu erstellen... bin ich in einem Raum und schreibe:
setGlobalInt (Namexy,0);
kommt beim Kompilieren die Fehlermeldung "Parse error, unexpected SetGlobalInt." Was mache ich falsch? Die Variable muss unbedingt global sein, da sie auch in anderen Räumen gebraucht wird.
Kennt jemand den Befehl um ein Inventarteil auszutauschen? Ich habe hier einen geschlossenen Brief, der nach dem Öffnen zu einem geöffneten Brief werden soll. Dafür habe ich auch verschiedene Inventarteile angelegt, da es sonst mit den Skriptbefehlen etwas unübersichtlich wird.
EDIT: gleich noch etwas zum Hinzufügen:
Ich bekomme es einfach nicht hin, eine globale Variable zu erstellen... bin ich in einem Raum und schreibe:
setGlobalInt (Namexy,0);
kommt beim Kompilieren die Fehlermeldung "Parse error, unexpected SetGlobalInt." Was mache ich falsch? Die Variable muss unbedingt global sein, da sie auch in anderen Räumen gebraucht wird.
- Floyd
- Logik-Lord
- Beiträge: 1088
- Registriert: 14.03.2004, 19:59
...
Um den einen Inv Gegenstand auszublenden und den anderen sichtbar zu machen, musst du folgendes tun:
Geh ins Inv Menü und klick auf den Interaction Button des Objekts, das verschwinden soll, danach schreibst du diesen Code in "use inventory on this item":
In dieses Script kannst du natürlich noch andere Befehle einbauen, z.B. den Charakter irgendwas sagen lassen etc., dazu musst du nur kurz die GUI ausblenden mit GUIOff (x);.
Zum 2ten Problem:
Du kannst keine GlobalInt in einem Raum definieren, das musst du ihm Global Script erledigen (lässt sich aufrufen, indem du oben auf Script und dann auf edit Global Script gehst).
Du schreibst also ins GlobalScript folgendes:
Diesen kannst du nun in jedem Raum mitttels SetGlobalInt verändern und mit GetGlobalInt ermitteln.
Ich hoffe ich konnte alle Fragen beantworten...
MfG Floyd
Geh ins Inv Menü und klick auf den Interaction Button des Objekts, das verschwinden soll, danach schreibst du diesen Code in "use inventory on this item":
Den gleichen Code musst du auch bem Brieföffner einfügen, damit es in beide Richtungen funktioniert, allerdings ist hier das activeinv == 2.if (character[EGO].activeinv == 1) {
// 1 ist hierbei z.B. der Brieföffner
LoseInventory (2);
// Inv 2 ist der geschlossene Brief
AddInventory (3);
// 3 ist der geöffnete Brief
}
In dieses Script kannst du natürlich noch andere Befehle einbauen, z.B. den Charakter irgendwas sagen lassen etc., dazu musst du nur kurz die GUI ausblenden mit GUIOff (x);.
Zum 2ten Problem:
Du kannst keine GlobalInt in einem Raum definieren, das musst du ihm Global Script erledigen (lässt sich aufrufen, indem du oben auf Script und dann auf edit Global Script gehst).
Du schreibst also ins GlobalScript folgendes:
1 ist die NEUE GlobalInt, 0 der Wert.SetGlobalInt(1,0);
Diesen kannst du nun in jedem Raum mitttels SetGlobalInt verändern und mit GetGlobalInt ermitteln.
Ich hoffe ich konnte alle Fragen beantworten...
MfG Floyd
Der verschwundene Husky - ein 2D Point&Click Adventure
Einen schönen Orbit, Bürger!
Einen schönen Orbit, Bürger!
- Jones
- Verpackungs-Wegwerfer
- Beiträge: 51
- Registriert: 13.10.2004, 10:28
- Floyd
- Logik-Lord
- Beiträge: 1088
- Registriert: 14.03.2004, 19:59
...
Oh das hab ich ganz vergessen du musst es unter
function game_start() schreiben, also so:
MfG Floyd
function game_start() schreiben, also so:
Jetzt müsste es aber gehen .function game_start() {
// called when the game starts, before the first room is loaded
SetGlobalInt(1,0);
MfG Floyd
Der verschwundene Husky - ein 2D Point&Click Adventure
Einen schönen Orbit, Bürger!
Einen schönen Orbit, Bürger!
- Jones
- Verpackungs-Wegwerfer
- Beiträge: 51
- Registriert: 13.10.2004, 10:28
- Floyd
- Logik-Lord
- Beiträge: 1088
- Registriert: 14.03.2004, 19:59
...
Machst du eine Abfrage mit if und GetGlobalInt, um GlobalInt (23) zu erhalten?
So weiß ich das jetzt auch nicht, vermute aber dass die Abfrage nicht richtig funktioniert, denn zurücksetzen sollte er die Variable eigentlich nicht.
Poste doch mal das Script.
Ps. das mit den Namen hab ich auch noch nicht ausprobiert, wär natürlich sehr viel übersichtlicher .
MfG Floyd
So weiß ich das jetzt auch nicht, vermute aber dass die Abfrage nicht richtig funktioniert, denn zurücksetzen sollte er die Variable eigentlich nicht.
Poste doch mal das Script.
Ps. das mit den Namen hab ich auch noch nicht ausprobiert, wär natürlich sehr viel übersichtlicher .
MfG Floyd
Der verschwundene Husky - ein 2D Point&Click Adventure
Einen schönen Orbit, Bürger!
Einen schönen Orbit, Bürger!
- Jones
- Verpackungs-Wegwerfer
- Beiträge: 51
- Registriert: 13.10.2004, 10:28