Verbessertes Tutorial um Gegenstände im Menü kombinieren zu können! (Benötigt kostenloses Plugin) UPDATE!

  • Liebe RPG-Maker-Freunde,


    ich habe mich nun nochmals mit dem "Problem" der Item-Kombination herumgeschlagen und ich denke, ich bin zu einer weitaus besseren Lösung gelangt. Die neue Lösung hat, gegenüber der alten Methode, folgende Vorteile:


    - Beide Gegenstände, welche zur Kombination genutzt werden, können auch weiterhin Beide ganz normal im Gegenstands-Menu zur regulären Verwendung benutzt werden (im Gegensatz zur alten Methode wo der erste zur Komination zu verwendende Gegenstand nicht mehr im regulären Gegenstands-Menu benutzt werden konnte).
    - Benötigt nur noch ein einziges "Gewöhnliches Ereignis" für alle Gegenstands-Kombinationen (im Gegensatz zur alten Methode, wo man für jeden kombinierbaren (ersten) Gegenstand ein eigenes "Gewöhnliches Ereignis" benötigte).
    - Das Problem mit der Kombination von zwei identischen Gegenständen auch wenn man nur Menge 1 davon im Inventar hatte ist nun, dank eines inspirierenden Inputs von Quajutsi, behoben. Mit der erweiterten Abfrage im "Gewöhnlichen Ereignis" ist es nun nur noch möglich zwei identische Gegenstände zu kombinieren sofern man eine Menge von grösser/gleich 2 im Inventar hat. Ihr findet die erweiterte Abfrage im Addendum ganz am Ende dieses Tutorials.


    Kleiner Nachteile:

    - Braucht etwas mehr Mathematik als die alte Methode ;)


    Doch bevor ich die Methode genau erläutere noch ein paar Vorbemerkungen:


    Für diese Lösung benötigt Ihr ein (kostenloses) Plugin, welches es Euch erlaubt im Spiel-Menu einen neuen Befehl (z.B. "Kombinieren") einzufügen sowie durch diesen Befehl ein "Gewöhnliches Ereignis" auslösen zu können.

    Yanflys MainMenuManager-Plugin (inklusive Core-Engine-Plugin) ermöglicht Euch genau dieses zu tun. Beide Plugins sind komplett kostenlos und finden sich in Yanflys Free Plugins Pack welches Ihr mit folgenden Links, natürlich wie erwähnt, kostenlos downloaden könnt.


    Link1: Yanfly Free Plugins Pack

    Link2: Yanfly Free Plugins Pack


    Die Methode die ich nun herausgefunden habe basiert auf der "Primzahl-Multiplikation". Wenn man zwei Primzahlen miteinander multiplizert, dann erhält man als Ergebnis eine Zahl welche auch wieder nur durch diese zwei Primzahlen dividiert werden kann.

    Dies ist unglaublich nützlich um zwei (Primzahl-)Variablen in eine "einzigartige" Variable zu transformieren. Wenn wir nun eine soche "einzigartige" Variable anschauen z.B. 143, dann wissen wir das diese Zahl nur aus der Multplikation von 11 und 13 entstanden sein kann denn diese Zahl ist nur durch 11 und 13 ohne Rest teilbar. Weitere Details dazu später bei der ausführlichen Beschreibung der Methode.

    Ausserdem braucht Ihr für die Methode noch zwei Variablen, die ständig für diese Funktion reserviert bleiben müssen sowie 1 "Gewöhnliches Event" welches alle Gegenstands-Kombinationen durchführen kann.


    Und nun zur Methode selber:


    Kreiert mit Yanflys MainMenuManager einen neuen Menu-(Befehls)-Eintrag namens "Kombinieren" (Ihr könnt auch jede andere Bezeichnung verwenden) und lasst diesen Befehl ein "Gewöhnliches Ereignis" ausführen. Das "Gewöhnliche Ereignis", das durch den neuen Menueintrag (Kombinieren) ausgeführt werden soll, könnt Ihr ebenfalls in Yanflys MainMenuManager definieren.


    screenshot11.png


    Kreiert nun Eure Gegenstände in der Datenbank. ACHTUNG: Hier ist es nun ganz wichtig das Ihr die Gegenstände, die kombinierbar sein sollen, nur mit "Primzahl"-IDs erstellt. Das bedeutet: 2,3,5,7,11,13,17, usw. Die Gegenstands-IDs, die keine Primzahlen sind könnt Ihr mit Gegenständen "füllen", die nicht kombinierbar sein sollen.


    screenshot12.png


    Nun gehts ans Erstellen des "Gewöhnlichen Ereignisses", welches ausgeführt wird wenn wir im Spiel-Menu den Menupunkt "Kombinieren" auswählen. Hier kommt dann auch die Mathematik ins Spiel. Doch zuerst fügen wir die Funktion ein um zwei Gegenstände zum Kombinieren auszuwählen.

    Dazu zuerst den Befehl "Gegenstand auswählen" einfügen und die Gegenstands-ID in einer Variable (im Beispiel genannt: "Item1Var") speichern. Dann ein simples Textfenster mit dem Text: "kombinieren mit..." und dann nochmals ein "Gegenstand auswählen"-Befehl einfügen wobei hier die Gegenstands-ID in der Variable (hier im Beispiel genannt: "Item2VarFinalVar") gespeichert wird.

    Danach direkt ein "Variablen steuern-Befehl ausführen in dem wir die "Item2VarFinalVar" auswählen und mit "Item1Var" multiplizieren. Das speichert dann die multiplizierte Zahl in der Variable: "Item2VarFinalVar".

    Nun können wir mit Hilfe eines "Bedingte Verzweigung"-Befehls ganz einfach abfragen welche "Primzahl-Multiplikation" welchen Gegenstand erzeugt.


    Der folgende Screenshot zeigt ein fertig erstelltes Event zur Kominabtion von Gegenständen. Falls Ihr natürlich mehr Gegenstände zur Kombination habt, dann habt Ihr schlussendlich auch mehr "Bedingte Verzweigungs"-Abfragen in Eurem Event.


    screenshot13.png


    ACHTUNG: Die Variable, die aus einer Primzahl-Multikplikation entsteht entspricht nicht einer Gegenstands-ID-Variable sondern ist eine "eindeutige" Zahl welche nur aus der Kombination dieser zwei spezifischen Gegenstands-IDs ensteht. (Primzahl-Multiplikation). Deshalb ist es wichtig, zuerst eine Liste zu erstellen bei der wir alle möglichen Kombinationen zuerst mathematisch berechnen um dann herauszufinden welche Primzahl-Multiplikation welchem, zu erhaltenden, Gegenstand entspricht.


    screenshot15.png


    Ein Beispiel zur Liste:

    Der, im Beispiel, zweite Eintrag in der Liste bedeutet, das ein Starker Heiltrank (Item-ID: 3) und ein starkes Heilkraut (Item-ID: 7) kombiniert einen Meister-Trank (PZK: 21) ergibt (PZK = Primzahl-Kombination).

    Die Multiplikation der Item-IDs (3 und 7) erzeugt die PZK (Primzahl-Kombination) 21. Dieser Primzahl-Kombinations-Wert von 21 kann ausschliesslich nur durch die Kombination dieser zwei Gegenstände entstehen.

    Wir können nun im "Gewöhnlichen Event", mit Hilfe einer "Bedingten Verzweigung" abfragen welche Zahl aus der Kombination der Gegenstands-IDs entstanden ist und dadurch dem Spieler den erzeugten Gegenstand im Inventar hinzufügen und die zwei (zur Kombination) eingesetzten Gegenstände aus dem Inventar entfernen.


    PS: Bei der Abfrage der PZK durch "Bedingte Verzweigungen" ist es sehr empfehlenswert mit der grössten PZK anzufangen (im Beispiel mit der Zahl 143) und dann beständig runterzugehen (dann folgt 21 und dann 10).





    Ich hoffe dieses Tutorial ist genauso nützlich wie das erste Tutorial zur Gegenstands-Kombination. Ich denke die Idee mit der "Primzahl-Multiplikation" kann auch für andere Dinge sehr nützlich sein.


    Liebe Grüsse

    <3 Selina Luna <3

    Gute Freunde und füreinander da sein und sich gegenseitig unterstützen sind das Wichtigste und Wertvollste auf der Welt!

    I support LGBTQIA+ worldwide!

    Dieser Beitrag wurde bereits 10 Mal editiert, zuletzt von Luna ()

  • Zu dem Problem, dass man ein Item mit sich selbst kombinieren kann: Du kannst doch über eine Variable die Anzahl des Gegenstandes im Inventar abfragen lassen und wenn man nicht genug hat, einen kleinen Text a la "Du hast leider nicht genug davon bei dir" einblenden und dann die Ereignisbearbeitung beenden.

    - Nur wer sich seine Fehler eingesteht, kann sie überwinden und einen Schritt nach vorne machen. -



    11436-1171-challenge-verzaubert-png11437-1171-challenge-100worte-png11616-1171-challenge-tagebuch-png   12191-1171-challenge-mini-png  12209-1171-event-suchkri-png  13622-1171-event-mzhelden-png

  • Hi Quajutsi,


    vielen Dank für Deine inspirierende Idee. Ich habe nun versucht das mal umzusetzen und es scheint tatsächlich zu funktionieren. Man kann nun zwei gleiche Gegenstände kombinieren wenn man mindestens 2 davon im Inventar hat. Ich habe die Anleitung oben um ein Addendum ergänzt in welchem Interessierte, die die Kombinations-Möglichkeit von zwei gleichen Gegenständen in Ihr Spiel einbauen wollen, die erweiterte Abfrage mit Screenshot des erweiterten "Gewöhnlichen Ereignisses" und eine kurze Beschreibung dazu finden.


    Danke nochmals für Deinen Input und liebe Grüsse

    <3 Selina <3

    Gute Freunde und füreinander da sein und sich gegenseitig unterstützen sind das Wichtigste und Wertvollste auf der Welt!

    I support LGBTQIA+ worldwide!

    Dieser Beitrag wurde bereits 1 Mal editiert, zuletzt von Luna ()