Ergebnis 1 bis 10 von 10

Thema: [RPGMAKER MV] Feature Problem: Krüge/Töpfe heben und transportieren

  1. #1

    [RPGMAKER MV] Feature Problem: Krüge/Töpfe heben und transportieren

    Hallo zusammen,

    Ich bin gerade dabei das mehrfach erwähnte Lufia Projekt zu gestalten und der Teaser ist im vollen Gange, jedoch habe ich immer noch ein ungelöstes Problem, bei dem ich euch einfach einmal um Rat fragen möchte, in der Hoffnung, dass jemand eine Lösung hat.

    Es geht um den RPG Maker MV, den ich benutze und um ein Feature, welches offensichtlich konträr zu den Makermöglichkeiten steht.

    Gewünschtes Feature:
    Ich möchte, dass der Held nicht nur Steine schieben kann oder dergleichen, sondern auch einen Krug oder Topf hochheben kann, um ihn an einer geeigneten Stelle wiederum abzusetzen.
    Das stelle ich mir so vor, der Charakter läuft zum Krug, man drückt Enter, dann hebt sich der Krug über den Kopf des Charakters. Dann bewegt man sich mit dem Krug über dem Kopf und beim erneuten Drücken der Aktionstaste, versucht der Charakter den Krug abzusetzen, was - je nach dem, was für ein Feld vor dem Charakter ist - entweder den Krug an dieser Stelle platziert, oder scheitert, sodass der Krug über dem Kopf verbleibt.

    Mein Hauptproblem:
    Ich schaffe es zwar den Krug glaubhaft hochzuheben und abzusetzen, jedoch schaffe ich es nicht, dass der Krug sich glaubhaft mit dem Helden mitbewegt. Probiert habe ich verschiedene Arten der Nachahmung der Heldenbewegungen.
    Das Resultat war immer, dass der Krug manchmal zu weit ging oder nicht weit genug oder die Bewegung viel zu spät oder teleportartig ausführte.

    Nicht gewünschte Lösungen:
    Die Lösung, dass ich den Sprite des Charakters bearbeite, sodass der Krug auf dem Sprite ist und das Krug-Event verschwindet, möchte ich erst verwenden, wenn alles andere scheitert.
    Mir wäre es sogar lieber, ein Bild über dem Charakter anzeigen zu lassen oder dergleichen.
    Grund: Der Charakter, der den Krug hochhebt, hat verschiedene Sprites. Es soll also Sprite-Unabhängig sein.


    Ich bin für Vorschläge offen.
    Schön wäre es, wenn der Krug im Prinzip dem Helden also folgt, aber halt immer genau über dem Helden bleibt (insbesondere, wenn der Charakter/Held nach oben geht).


    Freundliche Grüße

  2. #2
    Bei den Vorgängern ist es so, dass die Bewegung der Spielfigur über eine eigene Methode gesteuert wird. Dort könnte man eine Abfrage fürs Tragen (Switch) einbauen und falls der Switch an ist, wird dann zusätzlich zur Spielfigur auch ein Event bewegt (die ID des Events könnte man beim Aufheben speichern). Ich kann aber leider nicht sagen, ob dieser Lösungsweg auch mit dem MV funktioniert.

  3. #3
    Ah, danke für die Antwort.
    Klingt interessant und nach einer Art Plugin oder ähnlichem?

    Meine Idee wäre es, dass man versucht ein passendes Bild immer an die selbe Position zu setzen, auf der der Held steht.

  4. #4
    Hat der MV eine Größenbegrenzung bei Charsets? Sonst könntest du ein Charset für den Helden machen, wo der getragene Gegenstand bereits drin ist. Dann bräuchtest du aber natürlich auch ein Heldencharset pro möglichem Gegenstand.

  5. #5
    @The3X
    Ja, ab dem XP kann der Entwickler direkt auf den Code des Spiels zugreifen. Beim MV ist das Spiel in Javascript geschrieben, vorher war es Ruby. Und den Code kann man selbst umschreiben.

    Zitat Zitat
    Meine Idee wäre es, dass man versucht ein passendes Bild immer an die selbe Position zu setzen, auf der der Held steht.
    Die Pictures liegen aber auf einer höheren Ebene als z. B. der Tileset. Der Krug würde wohl durch Wände u. ä. durchscheinen. Es wäre mit der Programmiersprache aber auch möglich, das Sprite für den Krug auf die Ebene der Charsets zu zeichnen.

  6. #6
    Zitat Zitat von BDraw Beitrag anzeigen
    Hat der MV eine Größenbegrenzung bei Charsets? Sonst könntest du ein Charset für den Helden machen, wo der getragene Gegenstand bereits drin ist. Dann bräuchtest du aber natürlich auch ein Heldencharset pro möglichem Gegenstand.
    Wie bereits oben erwähnt, möchte ich genau das NICHT.
    Siehe:
    Zitat Zitat von The3X Beitrag anzeigen
    Nicht gewünschte Lösungen:
    Die Lösung, dass ich den Sprite des Charakters bearbeite, sodass der Krug auf dem Sprite ist und das Krug-Event verschwindet, möchte ich erst verwenden, wenn alles andere scheitert.
    Mir wäre es sogar lieber, ein Bild über dem Charakter anzeigen zu lassen oder dergleichen.
    Grund: Der Charakter, der den Krug hochhebt, hat verschiedene Sprites. Es soll also Sprite-Unabhängig sein.



    @Kelven
    Zitat Zitat von Kelven Beitrag anzeigen
    @The3X
    Ja, ab dem XP kann der Entwickler direkt auf den Code des Spiels zugreifen. Beim MV ist das Spiel in Javascript geschrieben, vorher war es Ruby. Und den Code kann man selbst umschreiben.
    Ich frage mich nur, wie und wo ich diese Funktion einsetzen kann.
    Ich weiß zwar, wie ich "Skript" schreibe, also javascript statt einer vordefinierten Methode, aber ich müsste ja dort, wo die Heldenbewegung stattfindet, eine andere Funktion genau dann aufrufen, falls der Held sich tatsächlich bewegt (also nicht geblockt wird durch irgendetwas).
    In der Funktion müsste ich dann auf eine globale Variable zugreifen, um genau das Event zu bewegen, welches gerade hochgehoben wird, bzw. gar kein Event bewegen, wenn nichts hochgehoben würde.

    Der zweite Teil ist durchaus für mich machbar, jedoch der erste Teil nicht - also der Funktionsaufruf an passender Stelle.
    Kann mir das jemand erklären? (also: wo finde ich die Methode, die die Heldenbewegung steuert)

    Geändert von The3X (29.05.2018 um 13:30 Uhr)

  7. #7
    Die Frage ist persistent!

    Wie kann ich eine Funktion einbauen, die exakt dann getriggert wird, wenn der Held sich tatsächlich bewegt?
    Zur Zeit bekomme ich keine sichere Abfrage hin.
    Wie gesagt ist es zur Zeit so, dass der Krug, der mitbewegt werden soll, sich entweder zu viel oder zu wenig bewegt oder auch hinterherhinkt (d.h. zu spät losläuft)

  8. #8
    Was spräche dagegen, die direkte Steuerung durch den Spieler ganz auszusetzen und stattdessen per Tastenabfrage Parallel Process oder Autostart Held + Krug zu steuern? So würde beides gleichzeitig bewegt, nicht das eine in Reaktion auf das andere. In Sachen Javascript kann ich nicht helfen, aber das sollte eigentlich auch problemlos mit normalem Eventcode gehen. Größte Hürde wäre da ne Art künstliche Kollisionsabfrage, aber je nach dem, in welchem Rahmen du dieses Feature brauchst, ließe sich da auch eventuell der Aufwand gering halten.

  9. #9
    Das hier scheint ein Script Plugin zu sein, das in etwa tut was du willst.

    https://atelierrgss.wordpress.com/rm...-up-and-throw/

  10. #10
    Der parallele Prozess ist nicht das, wonach ich suche.

    Das Plugin sieht sehr vielversprechend aus, aber die Beschreibungen sind alle auf Spanisch... das ist heftig.
    Da werde ich also viel nachsehen müssen, aber ich versuche das mal...

    PS:
    Habe es zum Laufen gebracht.
    Leider macht das Plugin, dass das hochgehobene Item "über" allem anderen ist. Also auch über Dingen, unter denen der Held ist.
    Das ist leider ein riesiger Nachteil.

    Beispiel: Der Held geht hinter einer Säule her. Dann wird das Getragene (z.B. der Krug) auf der Säule angezeigt, liegt also in der obersten Darstellungsebene. Das ist problematisch...

    Geändert von The3X (12.06.2018 um 20:35 Uhr)

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •