Befehl: Alle Events Pausieren

  • Wir reden immer noch vom MV, ja?

    Ich hatte vor wenigen Tagen genau das gleiche Problem. Die Antwort wird dir nicht gefallen, denn ich habe nur eine teilweise Lösung gefunden.

    Stop Event Movement

    Mit dem Plugin (oder einem anderen, es gibt mehrere, die auf ähnliche Weise funktionieren) werden alle Bewegungsrouten von Events angehalten.

    Warum das mein Problem nur teilweise gelöst hat: Es funktioniert NICHT, wenn du ein Event aus einem anderen heraus steuerst.

    Beispiel:

    1) Event A hat Bewegungsroute XY und bewegt sich. Mit dem Plugin tut es das nicht mehr, es pausiert.

    2) Event A beinhaltet mehrere Bewegungsrouten, z.B. es sorgt dafür, dass sich Event B und C bewegen. Mit dem Plugin ändert sich da leider nix, die bewegen sich immer noch.

    Zuerst habe ich das für einen Fehler im Plugin gehalten und habe nach Alternativen gesucht. Ergebnis nach einem ganzen Tag Suche und Ausprobieren: Ich fand keins. Bewegungsrouten werden zwar angehalten, man kann aber die Events manuell immer noch bewegen, was in Beispiel 2 ja gegeben ist. Diese Events bewegen sich also immer noch.

    Ich habe dann gesucht, ob man die Pause-Funktion, also wenn man das Menü öffnet, irgendwie simulieren kann. Denn im Menü hält ja auch ALLES an. Nach mehreren Stunden englisches Javascript lesen rauchte mir der Kopf und ein Ergebnis hatte ich trotzdem nicht.


    TLDR: Falls es dir nur um Bewegungsrouten innerhalb jedes einzelnen Events geht, kannst du das Plugin oben nehmen. Andernfalls tut es mir leid, denn ich habe dazu auch nichts gefunden :(

  • Es hängt davon ab, was noch funktionieren soll.


    Die meisten aktionen finden in einer Hauptschleife statt, und diese zu stoppen würde alles stoppen (inklusive Animationen, Sound und Spieler-Interaktion).


    Wenn Du speziell parallele Events auf der Karte stoppen willst, dann wäre die beste Option auch im Eventing: gib allen Map Events mit Parallel eine zusätzliche Seite mit der Bedingung "Stop-Schalter", und sobald Du diesen Schalter auf EIN stellst, sind alle parallels dort weg.


    Für andere Sachen brauchen wir mehr details, denn es gibt keine Lösung für "Alles" die nicht zu einem Freeze Deines gesamten Games führt, weil wirklich alles gestoppt wird.

  • Auch ich würde zunächst versuchen, das Problem mit dem Eventcode zu lösen. So könnte man z. B. vor einen kritischen Bereich eines Parallel Processes eine Schleife setzen. Ungefähr so in Pseudo-Code:


    Code
    1. if switch_zum_pausieren == true
    2. loop
    3. if switch_zum_pausieren == false
    4. break loop
    5.         else
    6.             wait 0.1 (oder wie auch immer das auf dem MV ist)
    7. end
    8. end
    9. end
  • Ich hatte sowas auch schon gesucht und das ist der Grund warum ich derzeit bei meiner "Programmierung" seit längerem nicht mehr weiter mache. Weil mir der Befehl fehlt, wenn man im Spiel die Tasche oder die Auswahl (/"Menü") öffnet, weil ich eben diese selbst darstellen und anpassen möchte, auf Karten und an Ereignissen alles einzufrieren ist, was nicht die Tasche oder die Auswahl betrifft.

    Eben halt wie wenn man es unverändert lässt und jenes öffnet, das sich nichts mehr im Hintergrund tut, bis es wieder geschlossen wird und ab dann es genau da weiter geht wo es war. Somit mim Teleport auch nicht gelöst wäre, weil zumindest Ereignisse auf der Karte dann wieder zurükgesetzt werden.


    Am Ende blieb bislang leider nur, dass ich die "Programmiersprache" komplett zu erlernen hätte, zumindest solang mir die Lösung fehlt (damals konnte man mir jedenfalls nicht helfen). Und wenn das Spiel statt einem Befehl es mittels einem Verweis erledigt, wo das alles geschieht. Möglich ist es, sonst würde es ja nicht klappen, wenn man unverändert entsprechendes benutzt (also wie schon 2 Mal erwähnt, die Tasche [E]/[I]/[Num0] oder die Auswahl[Esc]).

  • Der Grund, warum das makereigene Hauptmenü die Map "pausiert", ist der, dass dieses Menü einen eigene Szene ist. Und im Maker kann immer nur eine Szene aktiv sein. Es gibt einen Szenenstapel und die oberste Szene ist die aktive. Die Mapverarbeitung ist ebenfalls eine eigene Szene. Es gibt also keine richtige Funktion um die Map zu pausieren. Sie wird dann einfach nicht weiter verarbeitet, solange eine andere Szene aktiv ist. Darum funktioniert das eben nicht mit einem eigenen Menü, welches komplett über Events gesteuert wird. Die Szene bleibt die gleiche. Daher denke ich, die Lösung mit dem Schalter und den leeren Eventseiten ist wohl die einfachste. Die Alternative wäre halt, selbst ein Menü zu coden, also eine neue Szene zu erstellen bzw. die Menüszene zu überschreiben. Das dauert zwar länger und ist am Anfang auch schwieriger, allerdings ist man damit flexibler und hat mehr Möglichkeiten als mit dem Menü aus Events.

  • Heißt mit andere Worten, mittels Ereignisse ist sowas nicht lösbar, denn die Umsetzung würde jene Ereignisse für eine eigene Anpassung ebenfalls pausieren/einfrieren (also auch die "Szene" mittels "Skipt"-Befehl ansteuern und dennoch seine Ereignisse nutzen würde demnach nicht klappen). Es ist nur mittels (selbst geschriebenem) "PlugIn" möglich, wo dann möglichst alles enthalten ist.