Raumwechsel nach setobj

Das Board für Schwierigkeiten beim Adventure-Machen und zum Melden von Bugs
Post Reply
heol01
PaC-DK Newby
Posts: 6
Joined: 07 Sep 2010, 18:39

Raumwechsel nach setobj

Post: # 76159Post heol01
10 Sep 2010, 22:33

Hallo zusammen.

Noch einmal eine kurze Frage zu einem vermeintlich simplen Problem.

Ich habe einen Raum, in dem ein beliebiges Rätsel gelöst werden muss.
Das Rätsel muss in einer bestimmten Zeit gelöst werden (in dem Fall 10 sek.)

Diesen "timer" habe ich als einfaches Objekt modelliert, in dem pro Frame eine Ziffer als Bild gezeigt wird (Frame1 = "10", Frame2 = "09" ... usw) und die Framgeschwindigkeit 1 Pics/sec.
Auf dem letzten Frame habe ich das Skript "setobj(timer1; 2) gesetzt, wobei state2 in dem Falle leer ist.

Wenn der timer1 abgelaufen ist, soll nun ein neuer Bildschirm "game_over" geladen werden.

Ich denke mal, das geht mit dem einfachen Skript

if_obj(timer1; 2)
{
loadroom(game_over)
setfocus(none)
}

Ist es prinzipiell egal, wo dieses Skript einprogrammiert wird?
Also ob im Skript vom timer1-Objekt, oder vom rätsel-raum oder in ein main-skript ?

Zur Zeit funktioniert der Wechsel auf state2 des Objekts, aber der Raumwechsel klappt nicht. Müsste es mit dem obigen Skript ansich funktioniere?

Gruß

heol

Shoben95
Tutorial Reader
Posts: 93
Joined: 28 Mar 2009, 19:14

Post: # 76160Post Shoben95
10 Sep 2010, 23:06

Hm, Es sollte daran liegen,
dass du zum Zeitraum des
"loadroom" noch an den
Spielcharakter und somit an
den Raum gebunden bist.
Setze mal das setfocus (none)
VOR das "loadroom" :wink:
MANIAC MANSION 4EVER

japanhonk
PaC-DK God
Posts: 1720
Joined: 05 Feb 2009, 20:36
Location: NRW
Contact:

Post: # 76161Post japanhonk
10 Sep 2010, 23:15

Ein mehrzeiliges Skript solltest du mittels function (xy) aus dem letzten frame eines Objektes starten.

Für so eine Abfrage gäbe es theoretisch auch mehrere Möglichkeiten,z.B Abfrage per on (loop) oder im Mainskript, die
praktikabelste ist , glaube ich , aber wieder das Benutzen einer Animation.

Starte also eine Animation, und wenn diese abgelaufen ist, rufst du entweder ein Skript mit der letzten Bildzeile auf oder lädst dort den Raum.
Im on (enter) skript kannst du dann entsprechende Zeilen weiter einfügen.

Ein Beispiel, das ich verwende :

Wenn einfach nur ein Timer anläuft, wird die Dauer der Wartezeit durch die Skriptanimation bestimmt.
Im letzten Frame rufe ich ein Skript auf, was prüft, ob das Rätsel gelöst wurde, oder nicht und verzweigt dann, d.h. Timer Objekt zurück auf 0 oder neuen Raum laden. Das klappt ganz gut.
Es gibt 10 Arten von Usern :
die, die Binärcode verstehen und die, die es nicht tun....
----------------------------------------------------------
STAR TREK FYNE :
http://www.fynegames.homepage.t-online.de

heol01
PaC-DK Newby
Posts: 6
Joined: 07 Sep 2010, 18:39

Post: # 76162Post heol01
10 Sep 2010, 23:27

Hi und Danke für die schnellen Antworten.

Das mit dem setfocus(none) an erster Stelle hat leider nicht geklappt,
dafür aber die Idee mit der function(XY).

Jetzt läufts, super!

Danke und Gruß

heol

japanhonk
PaC-DK God
Posts: 1720
Joined: 05 Feb 2009, 20:36
Location: NRW
Contact:

Post: # 76163Post japanhonk
10 Sep 2010, 23:31

Gerne wieder :wink:
Es gibt 10 Arten von Usern :
die, die Binärcode verstehen und die, die es nicht tun....
----------------------------------------------------------
STAR TREK FYNE :
http://www.fynegames.homepage.t-online.de

Shoben95
Tutorial Reader
Posts: 93
Joined: 28 Mar 2009, 19:14

Post: # 76164Post Shoben95
11 Sep 2010, 10:59

hoppa, hätte gedacht, das funktioniert :oops:
MANIAC MANSION 4EVER

Post Reply