Yanflys eigene Plugins nicht miteinander kompatibel?! (Morpher & Mini Label)

  • Huhu,


    anscheinend sind Yanflys eigene Plugins nicht miteinander kompatibel oder ich mach was falsch :|


    Ich kopiere ein paar Events mit dem Event Copier auf meine Maps. Das funktioniert. Das Template hat ein Kommentar, welches vom Plugin Mini Label ausgelesen und angezeigt wird. Das funktioniert ebenfalls. Alle kopierten Events haben das Mini Label über ihrem Kopf. Jetzt verwandle ich aber ein (oder mehrere) Event(s) in ein anderes mit dem Event Morpher. Das Template dazu hat ebenfalls ein Mini Label, was auf der Map, wo das Template ist, auch korrekt angezeigt wird. Aber sobald nun ein Event in ein anderes morpht, wird das Label nicht mehr angezeigt. Anscheinend kopiert der Morph das Kommentar nicht mit, welches ja ausschlaggebend für das Mini Label ist.


    Hat jemand diese Plugins und kann sich das einmal ansehen? Ich hab auch schon eine Weile nach Alternativen gesucht, bin aber nicht wirklich fündig geworden und verstehe auch nicht, warum Yanflys Plugins nicht miteinander funktionieren...


    PS: Ich hab die Plugins in der Reihenfolge, wie Yanfly es empfiehlt. Hab auch schon probiert, das Mini Label erst nach dem Morph zu laden, bringt aber auch nix.


    PS: Sorry, ich hab Mist geschrieben. Die Vorlage der kopierten Events ist komplett leer, da ist also kein Kommentar drin, was vom Mini Label ausgelesen werden könnte. Wenn ich andere Events (mit Kommentar) kopiere, werden diese aber richtig angezeigt, auch nach dem Morph. Bedeutet: Wenn in der Vorlage kein Mini Label drin ist, zeigt auch der Morpher keins an, obwohl in ein Event mit Label verwandelt wird. Ich muss also auch im leeren Event ein Label erstellen, was ich aber nicht will, weil das doof aussieht. Irgendwelche Lösungsvorschläge?

  • Das ist eines der Set's die ich von Yanfly nicht habe, ich gehe davon aus, dass beim Morphen (im Grunde ist es soweit ich es aus der Beschreibung rausgelesen habe ein löschen und ersetzen des vorherigen) die Inhalte vom vorherigen Kopiert werden. Daher jetzt meine Vermutung: Es wird nicht das Event an sich kopiert sondern nur dessen Inhalt, wobei nur einige Abfragen kopiert werden (z.B. If's, Messages,...)


    Aus meiner Sicht ist die einfachste Lösung es folgt zu machen:

    Wenn ein Event verändert werden soll sein Self-Switch zu ändern, in jeder Eventseite des Selfswitchs ist eine andere Version des Copy's


    Falls diese Variante nicht geht (wie gesagt ich kanns auch nicht testen und hab den Script nicht), würde ich es so probieren:

    Event Daten speichern (X & Y Koordinate)

    Event Löschen

    Event Kopieren mit dem "Copier von Yanfly" und auf den Ort von der vorherigen X&Y Koordinate setzen

    Natürlich ist dies zunächst Komplizierter, daher würde ich es folgend "Automatisieren":

    Variable(Zwischenspeicher) = ID des Events

    Common Event ausführen

    Dies führt dann das oben genannte aus, nur das die EventID per der genannten Variable ermittelt wird.


    Ich hoffe das Hilft :P;)

  • Auf die schnelle hätte ich nur einen Script-Call gefunden, wie man das nachträglich anpassen könnte:


    $gameMap.event(ID des Events).event().note = "Dein Text" (habs diesmal nicht ausgetestet)


    Ansonsten auf die Schnelle das von Firemaster, wo man die Events löscht und ersetzt, jedoch könnte ich mir vorstellen, dass es nicht so gut aussieht z.B. ganz kurz verschwindet und wieder auftaucht - sozusagen "blinkt" - oder wenn das Event z.B. nach rechts schaut und vorm löschen dann gespawnt wird, dass diese sich kurz "überlappen". Müsste man ausprobieren, wäre nur ein theoretisches Problem das eventuell auftreten könnte. ^^


    Oder das mit den Self-Switches / mehreren Eventseiten, aber da ich nicht weis was du vorhast bzw. mir die Plugin noch nicht angeschaut habe... würd ich einfach mal auf deine Rückmeldung warten. ^^


    Ansonsten müsste man eventuell das Morph Plugin genauer anschauen bzw. sogar anpassen.


    EDIT: Du müsstest mit dem Script-Call dann irgendwie deine Events die du morphen möchtest rausbekommen. Wenn du Events spawnst gäbe es eventuell verschiedene Möglichkeiten z.B. via variablen. Du hast 5 Events schon auf der Karte, also dann z.B. die Variable auf 5 setzen und immer nach dem spawnen diese um +1 erhöhen. Aber wie gesagt weis ich nicht was du vor hast, daher keine Ahnung ob das nötig wäre oder ob du eventuell dann etwas anderes benötigst.

  • Schon mal danke euch beiden :)


    Ja, vielleicht hätte ich mein Vorhaben grundsätzlich kurz erklären sollen. Es geht um Büsche. Diese werden in einem leeren Zustand (ohne Beeren) auf die Maps kopiert. Da ich sehr viele davon habe und aus Erfahrung weiß, dass ich sicher noch einiges an diesen Events verändern werde, möchte ich sie nicht manuell setzen. Sonst müsste ich jedes Mal, wenn ich im Event was verändere, alle zig Events neu setzen. Mit dem Copier Plugin muss ich das Event nur einmal auf der Testmap verändern (die der Spieler natürlich nie sieht) und der Copier kopiert sämtliche Informationen auf alle Büsche auf alle Maps. Spart eine Menge Arbeit und potenzielle Fehlerquellen.


    Nun habe ich die Büsche aber natürlich nicht nur in leerem Zustand, sondern es gibt auch welche mit Beeren. Hierfür nutze ich nun den Morpher. Dieser verwandelt den leeren Busch in einen Busch mit Beeren. Natürlich nicht alle, sondern nur einige, das wird über einen Zufallsgenerator laufen, den ich nachher noch einbaue.


    Das Mini Label soll nun bei den Büschen mit Beeren etwas anzeigen, damit man sieht, dass man diesen Busch anklicken kann. Die leeren Büsche sollen natürlich kein Mini Label kriegen, weil es hier ja nix zu klicken gibt. Folglich hat der leere Busch auch kein Mini Label Kommentar drin, sondern nur der Busch mit Beeren.


    (Der Vollständigkeit halber sei noch gesagt, dass ich jeden Busch in 3 Varianten habe. Grüne Farbe sowohl herbstliches Gelb und Rot. Manuelles herumkopieren kommt also nicht infrage.)


    Wenn ich nun ein Event MIT Mini Label mit dem Copier kopiere - funktioniert.

    Wenn ich ein ich ein Event MIT Mini Label morphe - funktioniert.

    Aber wenn ich ein Event OHNE Label morphe in ein Event MIT Label - wird kein Label angezeigt.

    Testweise hab ich nun ein Event mit Mini Label, aber mit Inhalt A erstellt, was gemorpht wird in ein Event mit Label mit Inhalt B. Ergebnis - Label A wird angezeigt. Was beweist, dass der Morph das Kommentar völlig ignoriert.


    Aus meiner Sicht ist die einfachste Lösung es folgt zu machen:

    Wenn ein Event verändert werden soll sein Self-Switch zu ändern, in jeder Eventseite des Selfswitchs ist eine andere Version des Copy's

    Ich weiß nicht, ob ich verstehe, was du meinst. Ich kann ja keine einzelnen Eventseiten kopieren, sondern nur komplette Events.

    Was ich aber vielleicht machen könnte: Eine Vorlage mit 2 Seiten erstellen - einmal leerer Busch und einmal mit Beeren. Dann müsste man mit einem globalen Self Switch Befehl die Büsche aktivieren, die Beeren haben sollen (habe ich hier mit $game_self_switches[[mapid,eventid,switch]] den richtigen Befehl gefunden?). Normale Schalter kommen ja nicht infrage, da ich dann jedes Event einzeln erstellen müsste. Müsste ich gleich mal ausprobieren.


    Deine zweite Variante ist mir bei der Menge an Events leider zu aufwendig und ich verstehe auch immer noch nicht, warum ich mir so viel Arbeit machen sollte, die mir diese Plugins doch eigentlich abnehmen sollten :(


    Auf die schnelle hätte ich nur einen Script-Call gefunden, wie man das nachträglich anpassen könnte:


    $gameMap.event(ID des Events).event().note = "Dein Text" (habs diesmal nicht ausgetestet)

    Aber das brauch ich ja dann für jedes Event, was per Morph verändert wird, oder? :/

    Mein Kommentar sieht aktuell so aus:


    Code
    1. <Mini Label Range: 1>
    2. <Mini Label Require Facing>
    3. <Mini Label: \I[18] 8-25g>

    Wäre ein bisschen viel, oder?

  • $game_self_switches[[mapid,eventid,switch]

    Das wäre soweit ich noch auswendig weiß, der richtige Befehl :-)



    Deine zweite Variante ist mir bei der Menge an Events leider zu aufwendig

    Würde ich nicht mal sagen ;-)

    Hier mal als Beispiel:

    Code: Scriptcall: Event verändern
    1. ID = ID-des-Events; //ID des Events das verändert wird muss angegeben werden
    2. $gameVariables.setValue(1, ID); //Variable 1 wird entsprechend der ID des Events gesetzt
    3. $gameTemp.reserveCommonEvent(2) // Common Event 2 wird ausgeführt
    Code: Common Event (2)
    1. $gameVariables.setValue(2, ***); // X Koordinate des Events speichern
    2. $gameVariables.setValue(3, ***); // Y Koordinate des Events speichern
    3. $gameMap.eraseEvent($gameVariables.Value(1)); //Event löschen
    4. [Command: Event an Stelle Variable 2 (für x) und Variable 3 (für Y) setzen [Hab auf die Schnelle nicht den passenden Scriptcommand
    5. *** = Ich weiß auswendig diesen Command nicht, er müsste etwa so heißen: $gameMap.Event(X oder Y) müsste aber um es sicher zu sagen nachschauen :-)

    Also pro Änderungsauftrag sind es 3 Variablen und 1 Common Event (3-5 Zeilen) und im Event sind es 3 Zeilen :-)
    Eine Idee die mir gerade noch gekommen ist: Wenn es nicht viele Template-Daten vorhanden sind könntest du für jedes ein eigenes Common Event verwenden, falls es doch mehr sind würde ich die Ziel ID auch per Variable einstellen ;-)


    Noch ne Kurze Anmerkung als Edit:

    Die Zuweisung beim "Scriptcall: Event ändern", Zeile 1 kann sich auch auf "self" beziehen, dann kannst du z.B. auch einfach Copy-Paste von Events verwenden, weil dann immer die eigene ID ausgelesen wird. :-)

  • Ah okay sorry habs falsch verstanden, ich dachte du meintest das kleine Feld oben bei den Events. Hab mir kurz das Minilabel-Plugin angeschaut wie das funktioniert.

    Das Script-Call würde dann nicht funktionieren und ja müsste man jedesmal nach dem Morphen aufrufen - aber wie gesagt würde eh nicht funktionieren. ^^'


    Firemaster640 musste grade auch nochmal nachschauen: $gameMap.event(ID).x und $gameMap.event(ID).y

    Für "dieses Event": $gameMap.event(this._eventId).x


    EDIT: Ist ja von Yanfly, hab leider nicht das Bundle, daher kann ich es nicht austesten. Was passiert wenn du auf der ersten Eventseite nur ein "Self-Switch A aktivieren" reinmachst, auf der zweiten Seite mit der Bedingung, das A aktiv ist und dort den Kommentar mit dem Label reinpackst und auch wieder "Self-Switch A deaktivieren". Wenn du mit dem Event interagierst wird dann das Label angezeigt und wenn du nochmal interagierst nicht mehr oder was passiert dann? Weis nicht ob du das schon probiert hast wegen dem Morphen, aber werf ich einfach mal so rein.

  • Nochmals vielen Dank euch beiden :)

    Ich denk, ich werd das wirklich so machen und auf den Morph komplett verzichten. Habe es grade mal ausprobiert und es funktioniert, wenn ich es folgendermaßen mache:


    Event Vorlage erstellen mit zwei Seiten - Seite 1 leerer Busch ohne Beeren, Seite 2 mit Beeren und Selbstschalter A.

    Event Vorlage per Copier kopieren.

    Mit einem Scriptcall Selbstschalter A aktivieren, mit dem dann die Beeren am Busch hängen.


    Seltsamerweise funktioniert


    Code
    1. $game_self_switches[[mapid,eventid,switch]


    bei mir nicht. Keine Ahnung, ob da wieder ein anderes Plugin drinhängt und diese Befehle umschreibt.


    Wenn ich es so schreibe:


    Code
    1. $gameSelfSwitches.setValue([mapid,eventid,'switch'], true);


    dann klappt es.

  • Der erste Code könnte zum Abfragen sein und der zweite für die Ausführung ;)

    Auf diese Falle tappe ich jedenfalls oft :-)

    Vielleicht, aber vielmehr stören mich die _ Unterstriche. Es gibt meines Wissens nach nicht beide Versionen, aber leider hab ich wieder vergessen, welches die richtige ist :D

  • Die Versionen mit Unterstrichen sind aus den RPG Makern vor MV. Ab MV gibt's da keine Unterstriche mehr.

    Ich hab es jetzt extra nochmal rausgesucht. Damals ging es um diesen Befehl hier:


    Code
    1. SceneManager.scene.commandNewGame();
    2. SceneManager._scene.commandNewGame()

    Ich hab aufgeschrieben, dass der Unterstrich ein Muss ist und es ohne den eigentlich nicht funktionieren dürfte. Dass es das bei mir trotzdem tut, daran muss wohl irgendein Plugin schuld sein.

    Jetzt sagst du aber, dass es keine Unterstriche im MV gibt und jetzt bin ich verwirrt :D


    PS: waynee95 Ich glaub, du hast den falschen User markiert (fängt zwar auch mit Fire an... ^^)

  • Ab MV gibt's da keine Unterstriche mehr.

    Das Stimmt aber nicht ganz ;-)
    Es sind im Vergleich zu vorherigen Versionen definitiv weniger geworden, es wird jedoch oftmals bei verschiedenen Stellen weiter verwendet. wie zum Beispiel Bereiche mit self._**** oder auch in einigen Scene_***



    Ich hab aufgeschrieben, dass der Unterstrich ein Muss ist und es ohne den eigentlich nicht funktionieren dürfte. Dass es das bei mir trotzdem tut, daran muss wohl irgendein Plugin schuld sein.

    Jetzt sagst du aber, dass es keine Unterstriche im MV gibt und jetzt bin ich verwirrt

    Schau dir einfach da den Original Script an, das hilft meist - als Beispiel: this._commandWindow.setHandler('newGame', this.commandNewGame.bind(this));


    Jetzt Streichen wir mal alles weg, was im Bezug auf dem Command WIndow steht: this.commandNewGame

    Und jetzt fehlt natürlich, dass dies von irgendwo anders ausgeführt wird, und nicht aus sich selbst, daher kommt der Scene Manger ins Spiel: SceneManager.******.commandNewGame

    Ich habe die Sterne rein gemacht, weil das soweit ich es bislang verstanden habe so eine Eigenart von Java ist, wobei das _scene ansprich, dass dies aus dieser Sektion kommt.