Problem mit benutzerdefinierter Route

  • Hey ihr Lieben.


    Ich habe ein kleines Problem mit den benutzerdefinierten Routen von Events und weiß nicht so recht wie ich das lösen kann.


    Und zwar sieht das Problem bei mir wie folgt aus:




    Ich habe bei dem Event eine Route eingestellt die immer wiederholt wird, zusätzlich kann ich das Event ansprechen und es gibt ein kurzes Gespräch.

    Wenn ich das Gespräch nun aber auf einem der rot markierten Felder anspreche, beginnt die Bewegungsroute nach dem Gespräch an dieser Stelle von vorn, was die ursprüngliche Route kaputt macht.


    Ich bin nun am überlegen, wie ich das Problem beheben kann, bin aber ehrlich gesagt überfragt.

    Ich weiß, dass es eine Möglichkeit gibt den Standort abzufragen, aber ob und wie das damit funktioniert, weiß ich leider nicht.

    Vielleicht übersehe ich aber auch einfach nur eine ganz simple Lösung für das Problem.


    Wenn ich nun mehrere Events (Charaktere) mit festen Bewegungsabläufen integrieren möchte, die auch ansprechbar sind, würde eine Lösung mit Standortabfragen ja Unmengen an Arbeit kosten, falls überhaupt möglich.


    Wäre super, wenn mir da jemand helfen könnte.



    Ishtar

    Dieser Beitrag wurde bereits 1 Mal editiert, zuletzt von Ishtar ()

  • das Problem kann technisch nicht ohne Umwege gelöst werden, da jeder "Kontakt", egal wo, die Bewegungsroute wieder von vorne anfangen lässt.


    Entweder man hat eine Bewegungsroute bei der die Position absolut egal ist, oder man benötigt eine Bewegungsroute mit Pathfinding - und das letztere geht nur über Skripte/Plugins.

  • Versuch bitte nochmal ein richtiges Bild hochzustell, weil ich das so auch nicht sehen kann (Vielleicht über Dateianhang oder extern hochladen und hier als Bild einfügen). Ich habe eine Idee, die sich aber nur bestätit, wenn ich weiß, wie die bewegungsroute aussieht und wo/wie die roten Felder sind.


    LG

    Dizzy

  • Ok...dann ist der Grund für das Wiederholen und der "falschen" Bewegung klar. Wenn das Gespräch beendet ist, beginnt das Event ganz normal nach Maker-Verhalten wieder von oben der Bewegungsroute.


    Das zu verhindern ist durchaus möglich, aber so als erster Gedanke nicht einfach. Du kannst in Bewegungsrouten auch Skripte nutzen, um die Positionen zu prüfen, so wie


    if (this.pos(7, 20)) {tue Kram}


    Damit prüft das Event, welche Position es hat und dann kannst du mit weiteren Skripten sagen, was es dann tun soll.


    Das ist jetzt natürlich nur ein erster Gedanke, um das Problem zu lösen (bzw. tue ich es so XD)


    LG

    Dizzy

  • Mit Skripten habe ich mich noch gar nicht auseinandergesetzt, hätte auch nicht gedacht das ich die für sowas benötige.

    Hatte gehofft, das ich nur was simples übersehen habe. ^^


    Irgendwie schade, das es nicht einfacher zu lösen ist.

    Heißt, wenn ich kein Skript nutzen möchte, das ich mich entscheiden muss ob ich den Chars eine Route erstelle oder mit ihnen interagieren kann.

  • Mit Skripten habe ich mich noch gar nicht auseinandergesetzt, hätte auch nicht gedacht das ich die für sowas benötige.

    Ich glaube, du verwechselst hier etwas. Mit "Skript" ist hier kein externer Codeschnipsel gemeint, was beim MV als "Plugin" bekannt ist.

    Was Dizzy dir vorgeschlagen hat, ist nichts anderes als Javascript-Code, aus dem der Maker besteht. Manchmal kann man bestimmte Befehle nicht ohne Javascript ausführen, weil der Maker den Befehl nicht als "Baukasten" mitbringt. Die Funktion an sich ist aber vorhanden. Es gibt sogar ein eigenes Feld im Maker, um Javascript-Code einzufügen (dritte Seite bei den Events bzw auf deinem Screenshot ganz unten rechts).

  • Wieso machst du die Route nicht einfach auf Zufällig?

    Weil ich nicht möchte das die Charaktere im Spiel wie Eierköpfe durch die Gegend irren. :D



    Mit Skripten habe ich mich noch gar nicht auseinandergesetzt, hätte auch nicht gedacht das ich die für sowas benötige.

    Ich glaube, du verwechselst hier etwas. Mit "Skript" ist hier kein externer Codeschnipsel gemeint, was beim MV als "Plugin" bekannt ist.

    Was Dizzy dir vorgeschlagen hat, ist nichts anderes als Javascript-Code, aus dem der Maker besteht. Manchmal kann man bestimmte Befehle nicht ohne Javascript ausführen, weil der Maker den Befehl nicht als "Baukasten" mitbringt. Die Funktion an sich ist aber vorhanden. Es gibt sogar ein eigenes Feld im Maker, um Javascript-Code einzufügen (dritte Seite bei den Events bzw auf deinem Screenshot ganz unten rechts).

    Okay, dann habe ich das verwechselt.

    Jedoch weiß ich leider auch damit nicht, wie ich mein Problem lösen kann.

    Gibt es da eine Liste mit den Skriptbefehlen?

  • Hey ich hätte auch noch eine andere Idee, diese jedoch auch etwas Arbeit erfordert jedoch ohne Skript funktioniert.


    Du könntest die Bewegung in drei Events aufteilen.

    Bsp.:

    Event Startet in der Mitte dreht sich nach unten und geht einen Schritt Variable +1

    Event wird dadurch deaktiviert und per Selfswitch Event Position zurück gesetzt, gleichzeitig jedoch durch die Variable Event zwei getriggert.

    dieses dreht sich geht wieder nach oben Variable +1 da nun die zweite Seite des ersten Events aktiviert wird und das zweite wieder deaktiviert.

    Dieses dreht sich und läuft nach oben Variable +1 wodurch dieses erneut deaktiviert wird.

    Drittes Event aktiviert sich dreht sich läuft nach unten Variable -3 um wieder von vorne zu beginnen.


    Wichtig ist wenn sich die Events deaktivieren müssen sie Durchlässig sein damit das sich bewegende Event durchgehen kann.


    somit wäre jedes ansprechbar und würde sich theoretisch nur neu umdrehen was jedoch nicht auffällt da es entweder schon in die richtige Richtung schaut oder sich logischer weise umdrehen müsste da man es aus einer anderen Richtung angesprochen hat.


    Ist ein wenig Kompliziert wäre aber eine Skript freie Lösung, ich arbeite selbst nur mit Events deswegen wäre das meine Herangehensweise.