Es ruckelt
Danke, was würde ich nur ohne das Forum machen...
Sorry, noch ne letzte Frage:
Zum Beispiel: Ich stehe in einem Raum mit einer offenen Tür und einer anderen Person. Wenn ich will, kann ich jetzt durch die offene Tür gehen, aber da sagt die Hauptperson:"Jetzt noch nicht."
Okay, aber wenn man mit der anderen Person redet, kann man danach durch die offene Tür gehen. Und die Person sagt, sobald das passiert ist, und man sie noch einmal fragt, etwas anderes.
Wie kriege ich das hin?
Sorry, noch ne letzte Frage:
Zum Beispiel: Ich stehe in einem Raum mit einer offenen Tür und einer anderen Person. Wenn ich will, kann ich jetzt durch die offene Tür gehen, aber da sagt die Hauptperson:"Jetzt noch nicht."
Okay, aber wenn man mit der anderen Person redet, kann man danach durch die offene Tür gehen. Und die Person sagt, sobald das passiert ist, und man sie noch einmal fragt, etwas anderes.
Wie kriege ich das hin?
- Floyd
- Logik-Lord
- Beiträge: 1088
- Registriert: 14.03.2004, 19:59
Dazu gibt es Variablen. Hier mal die Vorgehensweise bei einer globalen Variable:
Im Globalscript schreibst du unter die Funktion game_start() folgendes:
Bei deiner Tür machst du eine Abfrage:
Ist die Variable noch auf 0, sagt er, dass er noch nicht gehen will. (DisplayMessage). Wurde sie schon auf 1 gesetzt, begibt sich dein Charakter zur Tür und betritt daraufhin einen neuen Raum.
Da er die Tür erst benutzen soll, wenn er mit dem anderen geredet hat, schreibst du im Dialog Editor an der Stelle, an der der nächste Raum "freigeschaltet" wird:
Damit wird die globale Variable 1 auf 1 gesetzt.
MfG Floyd
Im Globalscript schreibst du unter die Funktion game_start() folgendes:
Code: Alles auswählen
function game_start() {
// called when the game starts, before the first room is loaded
SetGlobalInt(1,0);
Code: Alles auswählen
if (GetGlobalInt (1) == 0) {
DisplayMessage (1);
}
else if (GetGlobalInt (1) == 1) {
MoveCharacterBlocking(EGO,x,y,0);
NewRoomEx (2,x,y);
}
Da er die Tür erst benutzen soll, wenn er mit dem anderen geredet hat, schreibst du im Dialog Editor an der Stelle, an der der nächste Raum "freigeschaltet" wird:
Code: Alles auswählen
set-globalint 1 1
MfG Floyd
Der verschwundene Husky - ein 2D Point&Click Adventure
Einen schönen Orbit, Bürger!
Einen schönen Orbit, Bürger!
- Floyd
- Logik-Lord
- Beiträge: 1088
- Registriert: 14.03.2004, 19:59
...
Oben in der Menüleiste gibt es den Eintrag script, dort befindet sich das global script. MfG Floyd
Der verschwundene Husky - ein 2D Point&Click Adventure
Einen schönen Orbit, Bürger!
Einen schönen Orbit, Bürger!
-
- Profi-Abenteurer
- Beiträge: 915
- Registriert: 26.07.2003, 19:10
- Wohnort: Osaka
- Floyd
- Logik-Lord
- Beiträge: 1088
- Registriert: 14.03.2004, 19:59
...
Naja nur wenige schöpfen das Limit von 300 globalen Variablen wahrscheinlich voll aus, und wenn er eine raum-variable verwendet, kann er nicht einfach im Dialog Editor "set-globalint 1 1" schreiben, sondern muss es über "run script" lösen. Und GlobalInts sind imo nicht wirklich komplizierter . MfG Floyd
Der verschwundene Husky - ein 2D Point&Click Adventure
Einen schönen Orbit, Bürger!
Einen schönen Orbit, Bürger!
Irgendwie krieg ich diese Scripterei nicht hin. Ständig kommt irgendeine doofe Fehlermeldung, wenn ich mein Spiel teste.
Ich sag euch mal, wie ich das anstelle, vielleicht könnt ihr mir ja sagen, was ich falsch mache. Also:
In dem schon besagten Raum mit der Figur und der Tür:
Zuerst füge ich in "Global Script" bei "game start" folgendes ein:
__________________________________________________
function game_start() {
// called when the game starts, before the first room is loaded
SetGlobalInt(1,0);
__________________________________________________
So wie Floyd es gesagt hat. So, danach gehe ich in den Room Editor, bearbeite meine Tür bei "Interactions" und füge bei "Interact Hotspot" auf "Run script" folgendes ein:
________________________________
if (GetGlobalInt (1) == 0) {
DisplayMessage (1);
}
else if (GetGlobalInt (1) == 1) {
MoveCharacterBlocking(EGO,x,y,0);
NewRoomEx (2,x,y);
}
________________________________
Schliesslich bearbeiteich meinen "TYP" bei Charaktere unter Interactions und füge bei meiner Unterhaltung "Run script" irgendwo ein und schreibe:
_________________________________
set-globalint 1 1
_________________________________
Wenn ich jetzt schon mein Spiel starten will, kommt wie schon besagt so eine ***** Fehlermeldung!!!
WAS ZUM ******** mach ich hier falsch?!
PS: Die Scriptsache muss man dann doch noch an sein Spiel anpassen, oder? Da diese Szene in meinem Spiel nicht die erste ist, muss ich nun zum Beispiel bei Scripten: DisplayMessage (15) eingeben, statt 1. Stimmt das?
Ich sag euch mal, wie ich das anstelle, vielleicht könnt ihr mir ja sagen, was ich falsch mache. Also:
In dem schon besagten Raum mit der Figur und der Tür:
Zuerst füge ich in "Global Script" bei "game start" folgendes ein:
__________________________________________________
function game_start() {
// called when the game starts, before the first room is loaded
SetGlobalInt(1,0);
__________________________________________________
So wie Floyd es gesagt hat. So, danach gehe ich in den Room Editor, bearbeite meine Tür bei "Interactions" und füge bei "Interact Hotspot" auf "Run script" folgendes ein:
________________________________
if (GetGlobalInt (1) == 0) {
DisplayMessage (1);
}
else if (GetGlobalInt (1) == 1) {
MoveCharacterBlocking(EGO,x,y,0);
NewRoomEx (2,x,y);
}
________________________________
Schliesslich bearbeiteich meinen "TYP" bei Charaktere unter Interactions und füge bei meiner Unterhaltung "Run script" irgendwo ein und schreibe:
_________________________________
set-globalint 1 1
_________________________________
Wenn ich jetzt schon mein Spiel starten will, kommt wie schon besagt so eine ***** Fehlermeldung!!!
WAS ZUM ******** mach ich hier falsch?!
PS: Die Scriptsache muss man dann doch noch an sein Spiel anpassen, oder? Da diese Szene in meinem Spiel nicht die erste ist, muss ich nun zum Beispiel bei Scripten: DisplayMessage (15) eingeben, statt 1. Stimmt das?
- KhrisMUC
- Adventure-Gott
- Beiträge: 4674
- Registriert: 14.03.2005, 00:55
- Wohnort: München
- KhrisMUC
- Adventure-Gott
- Beiträge: 4674
- Registriert: 14.03.2005, 00:55
- Wohnort: München
- KhrisMUC
- Adventure-Gott
- Beiträge: 4674
- Registriert: 14.03.2005, 00:55
- Wohnort: München
Da fehlt wohl ein vorher.
Du kannst aber auch gleich die Zahl statt dem y schreiben.
Code: Alles auswählen
int y;
Du kannst aber auch gleich die Zahl statt dem y schreiben.
Use gopher repellent on funny little man
- Floyd
- Logik-Lord
- Beiträge: 1088
- Registriert: 14.03.2004, 19:59
...
Code: Alles auswählen
MoveCharacterBlocking(EGO,x,y,0);
NewRoomEx (2,x,y);
MfG Floyd
Der verschwundene Husky - ein 2D Point&Click Adventure
Einen schönen Orbit, Bürger!
Einen schönen Orbit, Bürger!