Rennen auf Karte temporär unterbinden

  • Hallo zusammen,

    ich hätte mal eine kleine Frage - kennt ihr einen Script-Call, welcher direkt auf das Aktivieren und Deaktivieren der Rennenfunktion zugreifen kann?

    Anhand der Karten-Einstellungen kann man das Rennen ja entweder aktivieren oder deaktivieren. In den Moveroute-Einstellungen scheint es nichts dergleichen zu geben. Natürlich könnte man jetzt auch einen Workaround daraus machen, dass man das betreffende Tilesets 2x anlegt (mit beiden Varianten an Optionen) und (für den Spieler unsichtbar) wechseln lässt. Aber das wäre extrem unsauber und könnte den Rahmen mancher (großen) Projekte sprengen, was die Tilesets betrifft.

    Ich habe mich hier schon ausgiebig umgesehen (es gibt nur 7 Erwähnungen zum "Dash", welche aber teilweise nur Abfragen ob er stattfindet, nicht ob er erlaubt ist). Da der RPG Maker (MZ) die Funktion kennt und für die Tilesets nutzt, muss man doch irgendwie darauf zugreifen können oder? :)

    Sowas in der Art bräuchte ich:

    Code
    $gamePlayer.DisableDashing()
    $gamePlayer.EnableDashing()

    Sollte also irgendjemand eine Idee haben und teilen mögen - danke sehr!

    Meine Projekte:

    Hauptprojekt:Village Siege (Arbeitstitel)Tower-Defense Spiel mit kleinem TwistPrototyp: ~ 30%GDevelop
    Nebenprojekt:Misty Hollow: Makabere Abenteuer (Arbeitstitel)klassisches RPG mit einer Mischung aus Witz und GruselDemo: ~ 5%RPG Maker MZ
  • Es gibt vielleicht noch einen einfacheren Workaround: Verbiete Sprinten auf der Karte generell und nutze stattdessen ein Paralleles Event, das die Sprinten-Tatse abfragt und die Spielergeschwindigkeit ändert. Das könntest du dann bei Bedarf ein und ausschalten.

  • Habs jetzt nicht getestet, aber sollte mit folgendem funktionieren:


    $gamePlayer._dashing = true;

    $gamePlayer._dashing = false;


    Wenn du noch wissen willst, ob der Spieler gerade am Rennen ist, hast du auch die Möglichkeit das mit dem Schnipsel abzufragen:


    $gamePlayer.isDashing()


    lg Flip


    Edit:


    Grad gemerkt, dass dieser Befehl nix bringt. Es gibt von Haus aus keine Funktion, die einem das ermöglicht. Wenn du es während dem Spielen auf einer Map immer wieder an unf aus schalten willst, müsste man eine Funktion in JavaScript bearbeiten.


    lg

  • Coucassi
    Das wäre natürlich noch eine halbwegs saubere Lösung - halt eine manuelle Sprinten-Funktion, wie man sie früher erstellen musste, wenn sie in den älteren Makern (zumindest RMXP) nicht enthalten war. Danke für den Input!

    FlipelyFlip
    Danke Dir für das Bereitstellen und auch Ausprobieren eines möglichen Script Call-Ansatzes!
    Für den MV gibt es wohl ein Mini-Plugin, welches das ermöglicht. Ich hatte jedoch die Hoffnung, dass in der verlinkten Liste diese Funktion vielleicht nur untergegangen ist, da sie ja über die Tileset-Einstellungen Verwendung findet.

    Nach ein paar Tests:
    Ich habe mal Galvs Dash-Plugin (eigentlich für den MV) ausprobiert und es funktioniert soweit, außer dass es scheinbar - egal wie man den Boolean im Plugin selbst einstellt (true/false) stets die Voreinstellungen der Tilesets auf false setzt

    Wahrscheinlich werde ich kurzfristig wohl auf die Idee von Coucassi übergehen und notfalls eine (weniger intuitive) Sequenz im Spiel einbauen, da ich gerade an einem "Klettersystem" arbeite, wo ein Sprint für mich eher deplatziert wirkt.

    Danke nochmal! =)

    Meine Projekte:

    Hauptprojekt:Village Siege (Arbeitstitel)Tower-Defense Spiel mit kleinem TwistPrototyp: ~ 30%GDevelop
    Nebenprojekt:Misty Hollow: Makabere Abenteuer (Arbeitstitel)klassisches RPG mit einer Mischung aus Witz und GruselDemo: ~ 5%RPG Maker MZ

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!