PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Events, die im Weg stehen



UhuSchuhu
28.02.2007, 20:46
Mein Held soll sich auf einer Map immer so lange in eine Richtung bewegen, bis ein Hinderniss im Weg steht. Bei Terrain war das - über die Terrain-ID - kein Problem.
Wesentlich mehr Schwierigkeiten machen mir Events, die den Weg versperren (Türen z.B.).
Mit Event-ID kann ich hier nichts anfangen, da er über Events unter oder über ihm normal laufen soll. Würde ich über die Event-ID abfragen, ob rechts von ihm ein Event ist, würde er unabhängig davon stehen bleiben.

Jemand eine Idee, wie man das lösen könnte?

Coincidence
28.02.2007, 21:20
Kannst du denn in diesem Fall das Problem nicht mit "Same Level As Hero", "Over Hero" und "Below Hero" lösen? Also damit, dass du sagen kannst, dass das Event mit dem Helden auf einer Eben, unter ihm oder über ihm sein soll?

Coincidence

Cherry
28.02.2007, 21:40
1. du machst einen Cycle, wo du alles, war jetzt kommt, reinmachst
2. Koordinaten vom Held in Varis speichern
3. dann kommt ein Move Event, das den Spieler einen Schritt (!) vorwärts bewegt und zwar mit Haken bei "ignore ge cant be moved"
4. Koordinaten in anderen Varis speichern
5. Varis vergleichen, wenn sie gleich sind, dann Break Cycle
mfG Cherry

UhuSchuhu
02.03.2007, 17:38
So siehts jetzt aus:

http://upload.npcfighter.de/files/36/998kaputt.JPG

Jetzt passiert nur überhaupt nix mehr. Wenn ich die Taste drücke bewegt der Held sich kein Stück. Wo liegt der Fehler?

makenshi
02.03.2007, 19:34
Hm , so würde ich den Code ehe nicht benutzen. Cycles sind nicht wirklich toll im Maker. Schleife ohne jede Abbruchbedingung. Die selbstgestellte fängt auch nicht unbedingt alle Fälle ab.

Mein Vorschlag von daher :

http://home.arcor.de/makenshi2k/bewegung.png

Der dürfte an sich immer funktionieren.

UhuSchuhu
02.03.2007, 20:27
Jetzt bewegt er sich immerhin schon mal wieder.
Das einzige, was mir fehlt, ist das "Proceed with Movement". Ich hab bei mir neben "Move" nur "Move All" und "Stop All".
Das würde dann bedeuten, dass mit der Weiterführung des Scriptes gewartet wird, bis die Bewegung abgeschlossen ist, richtig? Weil genau das wird mir wohl fehlen, das setzen von x_new und y_new wird bei deiner Version immer übersprungen.

makenshi
02.03.2007, 21:34
Proceed with Movement = Move All im 2k.
Dann dürfte auch die Koordinatenabfrage anständig verlaufen.

Cherry
02.03.2007, 23:01
was hast du gegen Cycles?
Ach, ich hab vergessen, dass ins Cycle noch ein Wait bzw. Move All rein muss...

makenshi
02.03.2007, 23:44
was hast du gegen Cycles?
Ach, ich hab vergessen, dass ins Cycle noch ein Wait bzw. Move All rein muss...

Was soll man an den Dingern mögen?*g*
Jeder Mensch der schonmal programmiert hat , kann diese Karikatur einer Schleife nur nicht mögen.
Der Ablauf eines Zyklus kann im bösesten Fall unberechenbar werden. Je nach dem Grad der Benutzung. Von der Systemleistung die sie fressen mal ganz zu schweigen.

Eigentlich soll man ja GOTO Sprünge vermeiden , in diesem Fall sind sie jedoch eindeutig besser. Man hat so also eine recht einfache künstliche Schleife die bei weitem nicht soviel Systemleistung frisst. Vorallem jedoch hat man die Kontrolle das du von jedem Teil deines Codes wieder zum künstlichen Schleifenkopf springen kannst. Das ist unglaublich nützlich.

Cherry
03.03.2007, 11:43
Hast recht -.-

:eek: MAKENSHI?!

http://www.multimediaxis.de/images/smilies/old/sm_12.gif Oh, man jetzt hab ich zum ersten mal den Namen über diesem Avatar gelesen... Mit dem Avatar, den du im Quartier hast, siehst du klüger und mächtiger aus *sabbel* *pwöp* oder so... :D

http://forum.rpg2000.4players.de/images/avatars/70691895744bc22078af7a.jpg

mfG Cherry

UhuSchuhu
04.03.2007, 13:35
So, nach viel rumprobieren geht es jetzt. Danke für die Hilfe.

UhuSchuhu
07.03.2007, 11:10
Okay, das Problem ist wieder da:
Um einen problemlosen wechsel zwischen verschiedenen Charakteren innerhalb der Map zu ermöglichen hab ich beschlossen, statt dem Helden Events zu nehmen. Und jetzt wird der Cycle wieder nicht unterbrochen:

http://upload.npcfighter.de/files/36/728fehler.JPG

Mit Labeln funktioniert es hier übringens überhaupt nicht. Und als Nicht-Programmierer sind mir Cycles gut genug.

makenshi
07.03.2007, 15:43
Okay, das Problem ist wieder da:
Um einen problemlosen wechsel zwischen verschiedenen Charakteren innerhalb der Map zu ermöglichen hab ich beschlossen, statt dem Helden Events zu nehmen. Und jetzt wird der Cycle wieder nicht unterbrochen:


Das musst du mir einmal genauer erklären. Wo lag denn genau das Problem mit dem Hero?
Und mit deinem neuen Code willst du jetzt erreichen das ein Event von einem Event gestoppt wird , richtig?

UhuSchuhu
07.03.2007, 17:10
Beim ersten Mal gab es nur einen Helden, der bewegt werden sollte. Jetzt gibt es mehrere, zwischen denen man wechseln kann und das ist mit Events dann leichter zu lösen.
Jepp, er soll bei Events und Block-Terrain stehen bleiben.

makenshi
07.03.2007, 19:59
Also hast du nun mehrere "Helden" die alle gleichzeitig auf der Karte sein können und sich auch alle gleichzeitig so bewegen können, so das sie gegen ein Hindernis prallen können?

Ich muss dich ein wenig ausfragen, je nachdem muss ich dann halt ein paar Sachen beachten.