• Login

Dear visitor, welcome to RPG Studio - Make your World real. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

1

Monday, April 25th 2022, 9:17pm

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... :hilfe:

Playm

RPG Studio Webmaster

  • Send private message

2

Wednesday, April 27th 2022, 5:07pm

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.

JavaScript Source code

1
this.checkEventTriggerTouchFront(4);
vor einem MoveLeft

JavaScript Source code

1
this.checkEventTriggerTouchFront(6);
vor einem MoveRight

JavaScript Source code

1
this.checkEventTriggerTouchFront(2);
vor einem MoveTop

JavaScript Source code

1
this.checkEventTriggerTouchFront(8);
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:

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);
    }
};
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.

3

Wednesday, April 27th 2022, 11:21pm

Die Gegner sind immer auf "Annähernd" eingestellt.

Ich kenne mich mit allen Lösungen 0 aus.

Playm

RPG Studio Webmaster

  • Send private message

4

Thursday, April 28th 2022, 12:37am

Quoted

Die Gegner sind immer auf "Annähernd" eingestellt.
Benutzt Du den RPG Maker MV oder den RPG Maker MZ?
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.
Playm has attached the following file:

5

Thursday, April 28th 2022, 10:02am

Hättest du dir selbst beantworten können indem du bei Bound of Fantasy nach gesehen hättest.

RPG Maker MV

Playm

RPG Studio Webmaster

  • Send private message

6

Thursday, April 28th 2022, 5:52pm

Tja, leicht andere Vokabeln im Maker… da fragt man lieber mal nach.
Na dann kannst du das Plugin ja mal ausprobieren, ob es dein Problem löst

7

Thursday, April 28th 2022, 7:24pm

Tut es nicht.

Playm

RPG Studio Webmaster

  • Send private message

8

Thursday, April 28th 2022, 8:29pm

Tja, kann man nix machen :hi:

Spoiler: Klicken zum aufklappen
Spaß beiseite, warst du noch nie in einem Forum aktiv? Poste halt mal mehr als einen Satz. :D
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

9

Saturday, April 30th 2022, 8:13pm

Ich kenne mich mit allen deinen Lösungen nicht aus, ich glaube am ehesten würde mir die Event Lösung passen, aber dazu müsste ich mit dir auf Discord oder so in den Kontakt kommen, damit es einfacher für mich ist.

Social bookmarks