Achievement Skript für VX Ace

  • Huhu,

    kennt jemand ein gutes Skript für das Hinzufügen von Achievements oder kann hier jemand gut Ruby?

    Ich hab dieses hier gefunden:

    https://www.rpgmakercentral.co…31375-achievement-system/

    Unglaublich genial und genau das was ich suche. Habe auch noch 2 andere Skripts gefunden, die nicht annähernd so cool sind.

    Aber leider hat dieses Skript entweder Fehler in der Programmierung oder ich mache irgendwas falsch. Standardmäßig ist hier das zweite Achievement locked, also schaltet sich erst frei wenn man das erste Achievement zweimal wiederholt hat. Den ganzen Kram mit wiederholbar möchte ich aber nicht und habe alle vorhandenen Achievements auf ":Prerequisite => :none," gesetzt. Und trotzdem wird das zweite Achievement als locked angezeigt bzw das Spiel stürzt direkt ab, wenn man die Achievements aufruft.

    Ich quäle mich momentan durch jede einzelne Zeile und kommentiere die Prerequisites aus, aber ich hab leider keine Ahnung von Ruby und kann hier nur raten, was ich tue.

    Irgendjemand ne Idee?

  • Benutzt du die Standard Achievements? Im Code steht eigentlich das Achievement 2 Solange locked ist bis die Achievment 1, 3 und 5 erhalten wurden.

    Und wenn ich das Script ausprobiere funktioniert auch alles wie es soll, auch wenn ich einstelle das nichts locked sein soll.

    Hast du irgendetwas anderes Am Code geändert?

    Schau nochmal ob du alles richtig geschrieben hast oder ob du eventuell den Doppelpunkt vor dem none vergessen hast.

    Kommentar Zutaten:

    Schlechte Laune 45%, Unwissen 20%, Sarkasmus 17%, Hass auf die Menschheit 8%, Süßstoff 6%, Guter Rat 4%, Antioxidationsmittel (Ascorbinsäure)


    Nach dem lesen kühl lagern und innerhalb von einer Woche verbrauchen.


    Habe ich Ihnen zu sehr auf die Füße getreten und sie fühlen sich jetzt nicht mehr gut genug um ein passables Spielchen auf die Beine zu stellen?

    Unter diesem Link kann ihnen geholfen werden: Mentoren Liste

  • Danke fürs reinschauen.

    Das ist jetzt echt komisch. Ich hab das Skript geladen, reinkopiert, Prerequisite auf none gestellt und es ging nicht.

    Jetzt habe ich es gerade noch mal reinkopiert, wieder auf none, und jetzt geht es.

    Keine Ahnung was das war.

    Habe in der Zwischenzeit noch ein zweites Problem gefunden. Habe die Liste der Achievements von 10 auf 19 erhöht und jetzt stürzt es ab, wenn ich die Achievements bestimmter Kategorien öffne.

    Werde nochmal alles neu aufsetzen.


    edit: Den ersten Fehler hab ich gerade gefunden, ist reproduzierbar. Nimm das Skript so wie es ist, ändere nichts. Starte ein neues Spiel. Alles gut. Ändere die prerequisite auf none. Lade dein Spiel. Stürzt ab. Starte ein neues Spiel und es funktioniert.


    Nochmal danke für deine Hilfe, du hast mich auf die richtige Spur gebracht :-)

  • Ich bin auf ein neues Problem mit diesem Skript gestoßen.

    Wollte die Belohnungen anpassen, die man bei 1000 Errungenschaftspunkten bekommt.

    Habe also die Zeile entsprechend angepasst:

    Achievement_Point_Rewards[0] = [1000, [[0, 011, 5], [0, 031, 4]]]

    Bedeutet dass man 5x das Item Nr.11 und 4x das Item Nr.31 bekommen soll.

    Wie im Screenhot ersichtlich, sind das Heiltrank und Gegengift.




    Einmal getestet und hoppla, ich bekomme ganz andere Items, nämlich Wein und Magisches Wasser. Nanu??? Was ist da los?

    Also jedes Item einzeln genommen und jedes Mal wieder getestet.

    Zwiebel, Pilz, usw, alles ok. Aber bei Nr. 8, Brot, geht es dann los. Fehlermeldung noch beim Start des Spiels, ich kann also nicht mal einen Spielstand auswählen.




    Nun habe ich gegoogelt und rausgefunden, dass bei octal digits keine 8 und 9 vorkommen darf. Das System geht wohl nur bis 7.

    Muss ich jetzt jedes einzelne Item umrechnen, welche Nr. es hat?



    -----------------------------------------------------------------------------------------------------------------


    Edit: Hat sich erledigt *hust*. Keine Ahnung, warum das voreingestellte Array in dem Skript z.B. 001 beinhaltet. Wenn man die vorangehenden Nullen weglässt, dann zählt es richtig. Also in meinem Fall einfach Achievement_Point_Rewards[0] = [1000, [[0, 11, 5], [0, 31, 4]]].