Problem mit Gegnern auf dem Wasser
Moin,
in meinem Spiel ist es so, dass die Gegner auf der Map zu sehen sind und wenn sie einen berühren, dann wird halt ein Kampf getriggert.
Jedoch habe ich ein Problem mit Gegnern auf dem Wasser, während man mit einem Schiff fährt.
Auf meinem See gibt es gegnerische Schiffe, welche bei Berührung auch einen Kampf triggern sollen, jedoch kamen folgende Probleme auf...
(1.) Gegner können sich auf dem Wasser nicht bewegen.
Dies konnte ich nur zur Hälfte fixen und zwar mit einem Haken bei Durchgang.
(2.) Durch den Durchgang wird bei Berührung mit einem Gegner auf dem Wasser kein Kampf mehr getriggert.
Und das ist das aktuelle Problem.
Ich habe schon einen Lösungsansatz versucht, wo ich das Wasser begehbar gemacht habe, dadurch jedoch ist dann das Schiff nicht mehr steuerbar.
Hat jemand eine Lösung, ich bin am verzweifeln...
in meinem Spiel ist es so, dass die Gegner auf der Map zu sehen sind und wenn sie einen berühren, dann wird halt ein Kampf getriggert.
Jedoch habe ich ein Problem mit Gegnern auf dem Wasser, während man mit einem Schiff fährt.
Auf meinem See gibt es gegnerische Schiffe, welche bei Berührung auch einen Kampf triggern sollen, jedoch kamen folgende Probleme auf...
(1.) Gegner können sich auf dem Wasser nicht bewegen.
Dies konnte ich nur zur Hälfte fixen und zwar mit einem Haken bei Durchgang.
(2.) Durch den Durchgang wird bei Berührung mit einem Gegner auf dem Wasser kein Kampf mehr getriggert.
Und das ist das aktuelle Problem.
Ich habe schon einen Lösungsansatz versucht, wo ich das Wasser begehbar gemacht habe, dadurch jedoch ist dann das Schiff nicht mehr steuerbar.
Hat jemand eine Lösung, ich bin am verzweifeln...

Jo, ein Touch-Event (Ereignis-Berührung) wird von sich aus nur evaluiert, wenn das Event den aktuellen Schritt der MoveRoute nicht gehen kann.
Ein Event was überall passieren kann, kann also nur auslösen, indem der Spieler selber aktiv rein läuft.
Bewegt sich dein Event "zufällig" oder mit einer festen Route?
Wenn es eine Route ist, könntest du selbstständig vor jedem Schritt prüfen, ob ein Touch-Event durch diesen Schritt getriggert werden würde. Dafür einfach vor jeden Schritt in der Route ein Skript (letzte Option/Button im Routen-Editor) aufrufen.
vor einem MoveLeft
vor einem MoveRight
vor einem MoveTop
vor einem MoveBottom
Ist natürlich mega aufwändig. Vielleicht findest Du auch ein Plugin, was dir Events erlaubt, die sich wie Fahrzeuge/Schiffe bewegen, was die Passierbarkeit betrifft. So ein Plugin ist mir aber nicht bekannt.
Sollte aber nicht so aufwändig sein, eigentlich sollte ja reichen sowas hier als Plugin einzubauen:
Mit diesem "Plugin" würde jedes Event, was als Hinweis/Note im Event exakt boat eingetragen hat sich auf Wasser bewegen können (ohne auf Durchgängig gestellt zu sein).
Aber meine RPG Maker MV Version ist uralt… vielleicht haben sich die Basis-Skripte inzwischen auch geändert.
Die alternative Event-Lösung wäre, dass deine gegnerischen Schiffe keinen eigenen EventCode haben, sonder es ein Event "Puppenspieler" gibt, mit Auslöser=Parallel, dass per Variablen Steuern die XY-Position von Events auf der Map mit denen des Spielers vergleicht und wenn diese gleich sind, für das jeweilige Event irgendwelche Befehle stellvertretend ausführt. Die Schiffe also von diesem Puppenspieler verwaltet werden. Dann könnten die Schiffe einfach weiter auf Durchgängig stehen, da sie ja selber keinen EventCode ausführen.
Ich glaube ich fände die Plugin-Lösung am Besten, aber kann dir nicht versprechen, dass obiger Code in aktuellen MV-Versionen läuft.
Ein Event was überall passieren kann, kann also nur auslösen, indem der Spieler selber aktiv rein läuft.
Bewegt sich dein Event "zufällig" oder mit einer festen Route?
Wenn es eine Route ist, könntest du selbstständig vor jedem Schritt prüfen, ob ein Touch-Event durch diesen Schritt getriggert werden würde. Dafür einfach vor jeden Schritt in der Route ein Skript (letzte Option/Button im Routen-Editor) aufrufen.
![]() |
JavaScript Source code |
1 |
this.checkEventTriggerTouchFront(4); |
![]() |
JavaScript Source code |
1 |
this.checkEventTriggerTouchFront(6); |
![]() |
JavaScript Source code |
1 |
this.checkEventTriggerTouchFront(2); |
![]() |
JavaScript Source code |
1 |
this.checkEventTriggerTouchFront(8); |
Ist natürlich mega aufwändig. Vielleicht findest Du auch ein Plugin, was dir Events erlaubt, die sich wie Fahrzeuge/Schiffe bewegen, was die Passierbarkeit betrifft. So ein Plugin ist mir aber nicht bekannt.
Sollte aber nicht so aufwändig sein, eigentlich sollte ja reichen sowas hier als Plugin einzubauen:
![]() |
JavaScript Source code |
1 2 3 4 5 6 7 8 9 10 |
Game_Event.prototype.isMapPassable = function(x, y, d) { var isBoat = (this.event().note == "boat"); if( isBoat ){ var x2 = $gameMap.roundXWithDirection(x, d); var y2 = $gameMap.roundYWithDirection(y, d); return $gameMap.isBoatPassable(x2, y2); }else{ return Game_Character.prototype.isMapPassable.call(this, x, y, d); } }; |
Aber meine RPG Maker MV Version ist uralt… vielleicht haben sich die Basis-Skripte inzwischen auch geändert.
Die alternative Event-Lösung wäre, dass deine gegnerischen Schiffe keinen eigenen EventCode haben, sonder es ein Event "Puppenspieler" gibt, mit Auslöser=Parallel, dass per Variablen Steuern die XY-Position von Events auf der Map mit denen des Spielers vergleicht und wenn diese gleich sind, für das jeweilige Event irgendwelche Befehle stellvertretend ausführt. Die Schiffe also von diesem Puppenspieler verwaltet werden. Dann könnten die Schiffe einfach weiter auf Durchgängig stehen, da sie ja selber keinen EventCode ausführen.
Ich glaube ich fände die Plugin-Lösung am Besten, aber kann dir nicht versprechen, dass obiger Code in aktuellen MV-Versionen läuft.
Benutzt Du den RPG Maker MV oder den RPG Maker MZ?
Quoted
Die Gegner sind immer auf "Annähernd" eingestellt.
Frage nur, weil in meinem Maker der Event-Trigger anders beschriftet ist. Kann aber auch wie gesagt an der alten Version liegen, die ich habe. Welche Programm-Version hast Du? Kann man in der Menüzeile unter dem Punkt "Hilfe" nachgucken.
Also wenn Du einen RPG Maker MV verwendest, kannst du einfach mal probieren die Plugin-Datei, die ich dir angehängt habe in den Plugin-Ordner deines Spiels zu tun und dann im Maker neben dem Menüpunkt "Database" auf "Pluginmanager" zu gehen und das Plugin zu aktivieren.
Habe die Datei aber jetzt gerade erst erzeugt, komme selber erst morgen dazu sie zu testen… sollte aber schon funktionieren.
Wenn Du den RPG Maker MZ verwendest, klappt das Plugin natürlich nicht.
Ansonsten poste mal Screenshots von deinen gegnerischen Schiffen, von dem Eventeditor. Man kann wie gesagt ("alternative Event-Lösung") auch anstatt Plugins einfach eine Lösung mit EventCode umsetzen.
Tja, kann man nix machen

Spaß beiseite, warst du noch nie in einem Forum aktiv? Poste halt mal mehr als einen Satz. 
Willst du die Idee mit dem Plugin weiter verfolgen und das debuggen? Dann schreib halt, ob gar kein Effekt kommt oder eine Fehlermeldung durch das Plugin.
Wenn kein Effekt kommt, zeig einen Screenshot von deinem gegnerischen Schiff im Eventeditor.
Wenn du lieber auf eine Event gestützte Lösung hinaus möchtest, also keine extra Plugins, zeig halt auch mal dein Schiff-Event und wenn du fragen hast, wie man von einem dritten Event prüfen lässt ob der Spieler gerade an ein anderes Event stößt, dann stell halt Detailfragen und sag, was du selbst schon kannst.
Von deinen Spielevorstellungen ausgehend nahm ich an, du bist erfahren mit dem RPG Maker. Keine Ahnung, womit du genau hilfe brauchst und mit welchen Aspekten nicht.

Willst du die Idee mit dem Plugin weiter verfolgen und das debuggen? Dann schreib halt, ob gar kein Effekt kommt oder eine Fehlermeldung durch das Plugin.
Wenn kein Effekt kommt, zeig einen Screenshot von deinem gegnerischen Schiff im Eventeditor.
Wenn du lieber auf eine Event gestützte Lösung hinaus möchtest, also keine extra Plugins, zeig halt auch mal dein Schiff-Event und wenn du fragen hast, wie man von einem dritten Event prüfen lässt ob der Spieler gerade an ein anderes Event stößt, dann stell halt Detailfragen und sag, was du selbst schon kannst.
Von deinen Spielevorstellungen ausgehend nahm ich an, du bist erfahren mit dem RPG Maker. Keine Ahnung, womit du genau hilfe brauchst und mit welchen Aspekten nicht.
highlight to read

Similar threads
-
Taverne zum philosophischen Phönix »
-
Laterale Rätsel (Apr 10th 2010, 7:21pm)
-
RGSS 1 Probleme & Talk »
-
Frage zum Rataime Sprite Reflection Script. (Neues Problem) (Jul 27th 2011, 12:52pm)
-
Maker-Talk »
-
Maker VX Problem Wasser und Wände (Jul 19th 2011, 5:11am)
-
Events & Technik »
-
Problem: Unpassierbarkeit zu Passierbarkeit änderbar ? (Sep 13th 2008, 6:23pm)
-
Eventtechnik Archiv »
-
Gestalten von Räumen und Seen (Jul 24th 2005, 11:02am)