Im RPG Maker MV/MZ gibt es eine Möglichkeit ohne viel Variablen Abfrage die Distanz zwischen 2 Events oder dem Spieler abzufragen.
Wie genau geht das?
Mit $gameMap.distance starten wir die Funktion zum Abfragen der Distanz, wir brauchen aber noch mehr, und zwar in diesem Beispiel den Spieler und ein Event das machen wir
über $gamePlayer.x, $gamePlayer.y für den Spieler und $gameMap._mapId, this.eventId() für das Event.
$gamePlayer.x, $gamePlayer.y = Hat die x und y Koordinaten des Spielers gespeichert.
$gameMap._mapId, this.eventId() = Fragt die Karten ID ab, auf der sich das Event befindet und dann die ID des Events.
Für dieses Beispiel will ich noch den Selbstschalter des Events steuern und das mache ich mit $gameSelfSwitches.setValue([$gameMap._mapId, this.eventId(), 'A'], true/false).
Jetzt haben wir alles, was wir für das Beispiel brauchen, aber nun zeige ich euch erstmal wie der Maker die Abstände wahrnimmt.
Wir erstellen ein Event und machen eine benutzerdefinierte Bewegungsroute über autonome Bewegung, den das erlaubt uns, dass die Bewegungsroute ausgeführt wird, ohne dass unser Event auf Parallel steht.
In diese Bewegungsroute gehen wir hin und drücken auf Skript und geben Folgendes ein.
$gameMap.distance(this.x, this.y, $gamePlayer.x, $gamePlayer.y) <= 2 ? $gameSelfSwitches.setValue([$gameMap._mapId, this.eventId(), 'A'], true) : $gameSelfSwitches.setValue([$gameMap._mapId, this.eventId(), 'A'], false)
Das speichern wir und kopieren uns die Eventseite und ändern dort einfach das Bild, das mit Selbstschalter A angezeigt werden soll.
Vergesst nicht auf der 2 Seite Selbstschalter A Links bei Bedingung zu aktivieren.
Jetzt könnt ihr ins Spiel und es testen, dann sollte es etwa so aussehen.
Ich hoffe, ihr könnt was damit anfangen und viel Spaß beim Makern.
