Ich möchte gerne die variable DARK in einem dialog_request auf 1 setzen und sie später in einer hotspot interaction mit einer conditional - if a variable is set to a certain value nutzen.
Dazu habe ich erstmal unter conditional - if a variable is set to a certain value eine globale variable mit namen DARK neu erstellt (mit dem initial wert von 0). dann die variable ausgewählt und den value auf 1 für die abfrage.
so dass wenn die variable dark einen wert von 1 hat die weiteren child aktionen ausgegührt werden.
bei dialog request habe ich folgendes eingefügt:
function dialog_request (int param) {
if (param == 1) {
int DARK = 1;
display "dialog check";
}
else if (param == 2) {
}
}
das dialog script wird auch ausgeführt nur die variable dark wird nicht gleich 1 gesetzt .
vieleicht kann mir ja jmd weiterhelfen.
wie setze ich variablen in dialog_request?
- KhrisMUC
- Adventure-Gott
- Beiträge: 4674
- Registriert: 14.03.2005, 00:55
- Wohnort: München
Um eine Variable in einem Skript zu ändern, brauchst Du nicht mehr "int" davor zu schreiben. "int" wird nur einmal gebraucht, wenn Du die Variable zum ersten Mal erschaffst. (Danach weiss AGS ja, um welchen Variablentyp es sich handelt.)
In deinem Skript muss also nur DARK=1; stehen.
Da es keine Fehlermeldung gegeben hat, muss es sich um zwei unterschiedliche Variablen handeln. Ich vermute mal, dass AGS die im Interaction-Editor erstellten globalen Variablen intern unabhängig von den Skript-Variablen verwaltet, auch wenn sie gleich heissen.
Du scheinst ja durchaus Ahnung vom Skripten zu haben, warum also nicht alles mit RunScript machen? Früher oder später wird Dir die Auswahl im Interaction-Editor eh nicht mehr reichen.
Um eine Skript-Variable global zu machen, musst Du sie am Anfang des global scripts definieren (außerhalb einer Funktion) und dann exportieren.
Im script header musst Du sie anschließend noch importieren:
In deinem Skript muss also nur DARK=1; stehen.
Da es keine Fehlermeldung gegeben hat, muss es sich um zwei unterschiedliche Variablen handeln. Ich vermute mal, dass AGS die im Interaction-Editor erstellten globalen Variablen intern unabhängig von den Skript-Variablen verwaltet, auch wenn sie gleich heissen.
Du scheinst ja durchaus Ahnung vom Skripten zu haben, warum also nicht alles mit RunScript machen? Früher oder später wird Dir die Auswahl im Interaction-Editor eh nicht mehr reichen.
Um eine Skript-Variable global zu machen, musst Du sie am Anfang des global scripts definieren (außerhalb einer Funktion) und dann exportieren.
Code: Alles auswählen
int DARK;
export DARK;
Code: Alles auswählen
import DARK;
Use gopher repellent on funny little man
danke. ich werde es jetzt mit einem run script probieren.
// main global script file
int DARK = 1
#sectionstart game_start // DO NOT EDIT OR REMOVE THIS LINE
function game_start() {
// called when the game starts, before the first room is loaded
}
#sectionend game_start // DO NOT EDIT OR REMOVE THIS LINE
usw.
ganz am anfang? ungefähr so:Anfang des global scripts definieren (außerhalb einer Funktion)
// main global script file
int DARK = 1
#sectionstart game_start // DO NOT EDIT OR REMOVE THIS LINE
function game_start() {
// called when the game starts, before the first room is loaded
}
#sectionend game_start // DO NOT EDIT OR REMOVE THIS LINE
usw.