Raumwechselbug ?

Das Board für Schwierigkeiten beim Adventure-Machen und zum Melden von Bugs
Post Reply
japanhonk
PaC-DK God
Posts: 1717
Joined: 05 Feb 2009, 20:36
Location: NRW
Contact:

Raumwechselbug ?

Post: # 74674Post japanhonk
31 Oct 2009, 15:19

Hi Zusammen,

mal ne kurze Frage : wenn ich einen Spielstand bei mir gespeichert habe und ihn dann wieder lade, passiert folgendes:

Beim Raumwechsel rennt der Char im neuen Raum wieder zurück zum Walkmappunkt, der ihn in den gerade verlassenen Raum zurückbeamt.

Danach klappt es wieder ganz normal und so oft ich will.

Habe eigentlich wenig Lust, deswegen jetzt beim on_enter Befehl walkmappunkte zu sperren...

Gruss

Manni
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

Zimond
Der Engine Papa
Posts: 3420
Joined: 06 Apr 2003, 19:34
Location: Krefeld
Contact:

Post: # 74675Post Zimond
31 Oct 2009, 16:52

moment, erst mal eine genaue Feststellung:

Du hast einen Raum A und B und kannst munter von einem zum anderen Wechseln. Wenn du aber einen Spielstand geladen hast passiert es das nach einem solchen Wechsel sich dein Char selbstständig macht und von alleine wieder zurückläuft?!?

Und du kannst dir 100% sicher sein das kein von dir geschriebenes Skriptereignis dies verursacht? Weil, das sieht mir einfach zu sehr nach einem geskriptetem Ereignis aus welches sich durch eine Variable abgesichert nur einmal auslösen soll und im Savegame ist diese Variable noch nicht aktiv.

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

Post: # 74678Post japanhonk
01 Nov 2009, 13:46

Habe auch daran gedacht, aber der Befehl, zum auslösenden Walkmappunkt zu laufen, muss doch erstmal erteilt werden und die Chars
sind davon stets weiter entfernt beim reinbeamen.
Die Variablen werden bei jedem Beamto neu gesetzt, darum versteh´ich das irgendwie nicht so ganz...oder ich bin einfach nur etwas Betriebsblind.

Wenn ich einen Raum wechsele, sieht das wie folgt aus :

(*---------------------Skript Walkmappunkt----------------------------------*)

Setnum (x;15) (*Zielpunkt X*)
setnum (y;15) (*Zielpunkt Y*)
setstring (room;<aktueller Raum>) (*aktueller Raum*)
setstring (nextroom;<neuer Raum>) (*zu betretender Raum*)
function (beamtoroom)

(*---------------------Skript "beamtoroom"----------------------------------*)

if_charin (kirk;[room])
{
beamto (kirk;[nextroom];[x];[y];1)
setnum (x;+1) (*walkmappunkt x für 2. Char*)
setnum (y;+1) (*walkmappunkt y für 2. Char*)
setnum (persons;+1) (*Feststellen, wieviele Personen*)
}

if_charin (spock;[room])
{
beamto (spock;[nextroom];[x];[y];1)
setnum (x;+1)
setnum (y;+1)
setnum (persons;+1)
}
usw...

Es kommt manchmal vor, dass die Türanimation das Skript "beamtoroom"
aufruft, sobald die Tür mit dem letzem Bild offen ist.
Das on (exit) Ereignis setzt die Animation dann wieder auf den Grundzustand. Vielleicht ist es das ?
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

Zimond
Der Engine Papa
Posts: 3420
Joined: 06 Apr 2003, 19:34
Location: Krefeld
Contact:

Post: # 74680Post Zimond
01 Nov 2009, 22:52

aber der Befehl, zum auslösenden Walkmappunkt zu laufen, muss doch erstmal erteilt werden und die Chars
sind davon stets weiter entfernt beim reinbeamen.
ich würd gern trotzdem mal dieses skript sehen bitte. Was läßt denn den char zur Tür gehen. Ganz normal ein Türobjekt mit on (click) oder anders?

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

Post: # 74681Post japanhonk
02 Nov 2009, 19:02

Hi,

ja, Türobjekt,mit Skript :

on (walk)
... ( Walkmappunkt xy anlaufen )

Ist keine Tür zu sehen, werden dort die Koordinaten gesetzt und die Funktion beamtoroom wird ausgelöst. Dann tritt das Problem auch auf, obwohl es hierbei ganz einfach ist...

Gibt es eine Tür, folgt folgendes :

auf dem Walkmappunkt wird die Türanimation zum Öffnen (=Zustand 2) abgespielt.
In dieser Sequenz wird der Befehl zum Weitergehen durch die Tür
auf einen zweiten Walkmappunkt erteilt und beim letzten Bild der Zustand
der Tür auf 3 (= Offen) umgesetzt.
Nun geht die Figur durch die Tür und erreicht den zweiten Walkmappunkt.

der Zweite WMP macht folgendes beim on (walk):
-Tür schliessen ( =Zustand 4)
-dabei Char wegbeamen (=function (beamtoroom) )
- da das Laden etwas dauert, wird das letzte Bild der Animation erreicht und dort der Türzustand auf 1 (= Geschlossen) gesetzt.

Das passiert unabhängig davon, ob im zu verlassenden Raum andere Figuren umherlaufen, denn das kommt auch oft vor.

Wenn ich das Spiel von Beginn an durchspiele, kommt das nicht vor,
auch tritt es nicht in jedem Raum auf, aber das Prinzip ist immer gleich.
Ausnahmen : die ersten Türen waren umständlicher, aber diese Skripte
wurden nicht geändert und laufen einwandfrei.

Habe ja auch hin und wieder das Problem, dass die Figuren gesperrte
WMPs betreten und so durch Kisten hindurchlaufen.
Sperre ich den Punkt aber extra mit dem passenden Befehl,dann klappt es, obwohl der Punkt schon gesperrt war und es keinen Befehl zum Freisetzen gegeben hat.
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

Benni
Tutorial Reader
Posts: 65
Joined: 09 Jan 2009, 23:38

Post: # 74682Post Benni
03 Nov 2009, 16:16

Zimond wrote:Und du kannst dir 100% sicher sein das kein von dir geschriebenes Skriptereignis dies verursacht? Weil, das sieht mir einfach zu sehr nach einem geskriptetem Ereignis aus welches sich durch eine Variable abgesichert nur einmal auslösen soll und im Savegame ist diese Variable noch nicht aktiv.
Kannst du das mal bitte genauer erläutern? Ich hatte bei mir nämlich ein ähnliches Problem wie japanhonk: Ich habe einen Raum, den der Charakter sofort wieder verlassen soll, wenn eine bestimmte Skriptvariable einen bestimmten Wert hat. Wenn die Variable auf einen anderen Wert gesetzt wird, wird die Cutscene nicht mehr ausgeführt - soweit alles richtig. Aber wenn ich - nachdem die Variable auf den "keine Cutscene"-Wert gesetzt wurde - in dem Raum speichere, das Spiel beende und wieder neu lade, wird die Cutscene doch wieder abgespielt und der Charakter verlässt den Raum. Wenn ich daraufhin nochmal neu lade, klappt wieder alles.

Ist dein Satz da oben so zu verstehen, dass beim Laden des Savegames einige Funktionen wie on(loop) bereits ausgeführt werden, bevor alle Variablen geladen wurden???

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

Post: # 74683Post japanhonk
03 Nov 2009, 17:09

Hi,

Das eigentliche Problem ist ja nicht das beamto , sondern dass die Figur
nach dem Betreten des Raumes überhaupt ein walkto Richtung Tür ausführt, dass es in den on (enter) oder den on (loop) Skripten der Räume nicht gibt.
Der angegebene Walkmappunkt, der die Variablen setzt, wird nur angelaufen, wenn ich auf das Türobjekt klicke, warum der Char nach dem Laden von alleine dorthin rennt, ist das Problem. Die Zielpunkte wurden
beim Verlassen des letzten Raumes ja korrekt und weit genug weg von
der Tür gesetzt. Es ist, als ob ich auf die Tür geklickt hätte. Nach einmaligem Auftreten ist das vorbei. Kann das wirklich ein Skriptfehler sein, wenn gar kein walkto befohlen wurde und es nur einmal auftritt ??

Hier mal das Raumskript eines Raumes, in dem das passiert :
Wie man sieht, ist da nix mit walkto oder beamto. Es liegen 4 Walkmappunkte zum hineingebeamten Char, also reichlich Luft...

on (enter)
{
hidealltext()
return()
setobj (buttontricorder2;0)
setobj (tricorder;0)
loopsound (st_eng_kli_science)
loopsound (tug3loop.voc)
if_bool (m2c5timer;false)
playmusic (brand x music - apparition)
setobj (m2c3dl;1)
setobj (m2c3dr;1)
}

on (exit)
{
loopstop (st_eng_kli_science)
loopstop (tug3loop.voc)

}

Gruss

Manni
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

Post Reply