@Multi-Master1988: Nein, das funktioniert in dem Fall nicht, da der Zweck des Events ja gerade ist zu verhindern, dass ich Tausende Events setzen muss. Würde ich jetzt aber das PP mit der Abfrage deaktivieren, müsste ich es auf irgendeinen Weg wieder aktivieren. Also eine Aktivierung des PPs wenn der Held weiterreist. Tja und dann bräuchte ich wieder das Hero-touch-Event, was ich ja eigentlich durch den PP ersetzen wollte.
Ich denke ich bleibe nun dabei, auf jeden Sektor ein Her-Touch-Event zu legen, das funktioniert wenigstens einwandfrei.
(Es gab noch einige andere kleine Fehler mit der PP Version)
Also wenn jetzt nicht jemand eine perfekte Lösung für ein Reiseskript hat, gehe ich den uneleganteren Weg.
mfG Räbbit
--
"Gib einem Mann Feuer, und er hat es einen Tag lang warm. Steck ihn in Brand, und er hat es warm für den Rest seines Lebens"
(Entfernt, da jetzt unten das tatsächliche Maker-Event ist~)
Wie gesagt, nicht getestet. Aber da die Terrain-ID nur abgefragt wird, wenn der Held sich bewegt hat, solltest du nichteinmal einen Switch brauchen.
Was du jetzt genau machst, wenn das Terrain den und den Wert hat ist dabei egal.
EDIT:
So klappt's im Maker.
Allerdings wird nicht berücksichtigt, ob du das Terrain verlässt, sprich, wenn du einen Schritt von Terrain 1 zu Terrain 1 machst, legt das Event trotzdem los.
Wenn du das unterbinden willst sähe es so aus:
Beides gerade getestet, die Message-Befehle waren der Dummy sozusagen. Wenn das auch nicht das richtige ist, musst du mir dein Problem noch mal erklären. xD
Ansonsten: Warum wolltest du im Zweifelsfall lieber unzählige Events machen, als EINES, was den PP auslöst? oO
Fast hätte ich geschrieben: Du bist ein Gott, BDraw!!!! Genau das habe ich gesucht!
Denn es funktioniert bereits sehr gut, habe den Code 1 zu 1 übernommen...
Aber!
Aus irgendeinem Grund, muss man erst 2-5 Sektoren ablaufen, bis die Terrain-ID verändert wird, wenn man bspw. zwischen Grasland und Wald wechselt. Das merke ich vor allem daran, das sich die Heldengeschwindigkeit verändert (und natürlich auch an der Variable) Komme ich also aus dem Wald heraus und stelle ich den Helden auf Grasland, wird die ID nicht gewechselt. Man muss erst ein paar Felder ablaufen bevor das Event die ID ändert.
Kann sich das jemand erklären? Der Code sieht meines wissens nach richtig aus und eigentlich müsste das Event die ID doch sofort erkennen, wenn man ein Feld betritt!?
Wäre auch in diesem Fall über eine hilfreiche Antwort sehr dankbar!
Edit: Wegen Ansonsten: Weil das schon einwandfrei funktioniert und keine Bugs am Event genagt haben. Die neue Version ist zwar elegant und erspart einen Haufen Arbeit, ist aber immer noch von Bugs, wie der hinterher hinkenden Terrain-ID Speicherung betroffen :/
--
"Gib einem Mann Feuer, und er hat es einen Tag lang warm. Steck ihn in Brand, und er hat es warm für den Rest seines Lebens"
Das ist allerdings interessant. Magst du mir mal deinen Code oder das Projekt (bzw einen Auszug) schicken? Also, inklusive der Tempoveränderung und dem Zeugs? Denn bei mir lief alles glatt... Auf Anhieb könnte ich mir gerade nur vorstellen, dass da was bei den Terraineinstellungen hakt oder ein anderes Event da mit reinlangt. Oder ich hab nen blöden Fehler gemacht, den ich gerade nicht finde.
Denn das wurmt mich jetzt doch ein kleines bisschen. xDD
Der Terrain-Heldenbewegungscode, ist exakt der gleiche wie von dir angegeben:
Edit: Von dem 2. Event, gibt es pro Terrain eines (mit 2 Seiten). Vllt ist da ja der Wurm vergraben. Aber wenn diese Events als Hero-Touch gelegt werden, funktionieren sie einwandfrei oO =verwirrt.
EDIT2: den 2. Code nochmal neu in den Spoiler reinkopiert, mit Erklärung versehen
--
"Gib einem Mann Feuer, und er hat es einen Tag lang warm. Steck ihn in Brand, und er hat es warm für den Rest seines Lebens"
Uff... auf Anhieb find' ich da nichts, allerdings hab ich auch keine Ahnung, was da was bewirkt bzw. bewirken soll.
Und die Variable mit der Terrain-ID ändert sich tatsächlich nicht, sprich, wenn du im Testgame in dieses Switch/Variablen-Menü gehst, ist die unverändert, auch wenn du auf nem neuen Terrain bist?
Ansonsten würde ich raten, dass dein zweites Event da irgendwas extrem verzögert. Ist etwas schwierig da jetzt bei dir durchzublicken, zumal die Formatierung kaputt ist. Wähl beim EventExporter mal dden Style für vBulletin mit hellem Hintergrund aus, dann wird's hier richtig angezeigt.
Aber wenn man die auf Touch stellt funktionieren sie doch prima!?
Es liegt also an der Verbindung mit dem PP-Terrain-ID-Event. Irgendwie wird die Terrain-ID erst nach mehreren Schritten ausgelöst, aber das ergibt bei diesem Aufbau doch eigentlich gar keinen Sinn...
Zudem ist mir aufgefallen, dass wenn man ohne zu stoppen von der Ebene durch ein Waldstück/Gebirge "durchrennt" die ID-überhaupt gar nicht erst verändert wird. Sehr merkwürdig.
--
"Gib einem Mann Feuer, und er hat es einen Tag lang warm. Steck ihn in Brand, und er hat es warm für den Rest seines Lebens"
Okay, 1. Sache die ich gefunden habe:
Du prüfst die falschen Koordinaten. Die Terrain-ID wird aus den 2. X- und Y-Koordinaten bezogen, da die ja aktueller sind. Aber das hilft gerade trotzdem nicht, stelle ich fest. xD
Edit: Ich könnte dich erwürgen... xD
Du hast nen Fehler beim einbauen meines Codes gemacht. So, wie du es gescriptet hast, wird der y-Unterschied niemals abgefragt werden. Du hast das nicht verschachtelt, sondern einfach untereinander gebaut. Bewegt der Held sich nun bei dir nach oben oder unten, wird immer noch zuerst die X-Koordinate verglichen - die ist aber identisch, und bei dir springt der Maker nun wieder zum Anfang.
Ne, ich hab's mal eben getestet. Die Terrain-ID gilt für alle Elemente vom Autotile. Sonst würde es auch wenig sinnvoll sein, dem überhaupt eine ID zuzuweisen.
Irgendwie bin ich beim Script skeptisch. Du fragst die Heldenposition ab und nach einem Wait 0,0 nochmal. Eigentlich müsstest du die Heldenposition aber nur nach jeder Bewegung abfragen. Vielleicht wäre es so besser:
Pseudo-Code:
Problematisch könnte nur sein, dass die Tastenabfrage vor der Bewegung stattfindet und man deswegen ein Wait bräuchte, das an die Bewegungsgeschwindigkeit angepasst ist.
@Kelven: Also für meine Zwecke funktioniert es zumindest Bestens, es ist ja eigentlich auch eher ein Weltkarten-Reiseskript, um verschiedenste Events zu aktivieren, das Terrain abzufragen und anzufragen, ob der Held sich gerade gerührt hat oder nicht.
Ich Danke Euch allen für Eure Antworten, Ihr habt mir alle seeeehr viel Arbeit erspart :]
--
"Gib einem Mann Feuer, und er hat es einen Tag lang warm. Steck ihn in Brand, und er hat es warm für den Rest seines Lebens"
@Kelven:
Worauf du mit dem Autotile hinauswillst, ist mir noch nicht ganz klar...
Aber mit der Abfrage, das stimmt schon, 100% vertraue ich dem 0,0-Wait auch nicht. Aber solange der Held nicht so schnell ist, dass er kürzer als 0,0 braucht um von Feld zu Feld zu kommen, dürfte da eigtl. nichts passieren. Einzig bei der Performance bin ich skeptisch, andererseits dürfte es relativ egal sein, ob man ne Taste abfragt oder Koordinaten vergleicht. Weswegen ich das mit der Tastenabfrage ungerne mache, ist, dass man das Script bei Sequenzen oder allgemein Bewegungen, die per Move Event getätigt werden, dann vergessen kann.
Danke für den Tipp aber mit der Abfrage, das ist echt einfacher. ^^