Beiträge von waynee95

    Sajiki

    Das gibt es leider nicht. Du kannst das aber lösen zusammen mit YEP_MainMenuManager und einem Switch.


    Code
    1. Name: "Achievements"
    2. Symbol: achievements
    3. Show: $gameSwitches.value(42)
    4. Enabled:
    5. Ext:
    6. Main Bind: this.commandAchievements.bind(this)
    7. Actor Bind:


    Der MainMenuManager würde das Command dann nur zeigen, wenn der Switch 42 in diesem Beispiel an wäre.

    Wie einige hier schon gesagt haben... wenn der neue Maker keine wirklichen nennenswerten Neuerungen bringt, dann lohnt es nicht wirklich.


    Wenn man sich MV genau anschaut, dann gab es im Vergleich zum VX Ace als einzige Große Änderungen den Wechsel auf JavaScript und Webtechnologie unter der Haube.


    Ursprünglich war der MV als multi-platfform Maker vermarktet, da man nun auch Handygames damit machen konnte. Leider find ich das einfach ultra schelcht gelöst. Da muss man erstmal durchsteigen bis man überhaupt eine App aus dem Makerprojekt rausbekommt... und dann funktioniert es nicht mal gut und die Hälfte der Plugins kann man dann eh vergessen. Sei es aus Kompatibilitäts- oder Performancegründen.


    Meiner Meinung nach müsste am Maker einiges geändert werden. Alles muss einfach wesentlich flexibler werden.


    Warum wird man gezwungen 48x48 als Tilegröße zu nutzen? Warum kann der Map-Editor kein freies Grid zum Mappen? Warum kann man keine eigenen Event-Commands oder andere Teile des Editors anpassen/erstellen?


    Es ist ja nunmal Fakt, dass man vieles nur mit Plugins lösen kann, aber diese fummelige kleine Notetagbox ist einfach viel zu klein... und wenn der User, dann gefühlt eh 30 Zeilen JS Code da reinklatschen muss, dann braucht man auch keine Non-Code Engine mehr, sondern ist besser dran, programmieren zu lernen und einfach Code zu schreiben.


    Auf der anderen Seite ist MV auch für Pluginprogrammierer nicht so ultra geil. Der Fakt, dass es keine offizielle Dokumentation gibt über den ganzen Aufbau von der MV Codebase ist schonmal richtig blöd. Viele Stellen sind so verschwurbelt gecoded, dass man da echt nicht gut durchsteigt.


    Auf der anderen Seite gibt es keinerlei API oder irgendwelche Schnittstellen, die einem das Leben als Plugincoder etwas leichter machen würde. Stattdessen muss jeder Coder sein eigenes Süppchen kochen und baut sich "Core-Plugins", die einem die Entwicklung von Plugins leichter machen.


    Und wir wollen gar nicht mal mit Pluginkonflikten anfangen... Natürlich kann man sowas nie 100% vermeiden. Aber wenn man sich mal genau überlegt, dann sind Plugins nicht anderes als Hacks, weil man einfach Teile vom Core Code nimmt und diese überschreibt. Dieses ganze Konzept kann ja auf Dauer nur zusammen fallen. Vorallem dann, wenn viele Stellen des MVs einfach so festklebend programmiert wurden, dass man da als Plugincoder gar nicht mal so leicht reinkommt um Feature X einzubauen. Also muss man stattdessen alles neu schreiben auf Kosten von Incompatability mit anderen Plugins.


    "Aber er Maker ist halt nur mal für Leute, die nicht programmieren können"


    Ja natürlich. Das ist ja auch in Ordnung. Aber ich finde halt, dass der Maker für Non-Coder nicht gerade eine mega angenehmen Workflow bietet. Weil es ist nunmal nicht Non-Code, früher oder später fummelt man dann doch mit JS Code rum, weil Eventing halt nur mal viel zu limitiert ist.


    Ich finde das Eventsystem sollte auch viel flexibler werden. Wenn man sich mal andere Non-Code Engines anschaut, dann können die wesentlich mehr und es ist viel angenehmer damit zu arbeiten.


    Der Maker bietet halt den schönen Vorteil, dass es unmengen an kostenlosen Grafiken und DLCs gibt, die man nutzen kann und in anderen Engiens halt nicht. Aber auf lange Sicht ist dieser Vorteil viel zu klein und man kann mit anderen Engines, auch als Non-Coder, viel besser mit arbeiten.

    1.) Man kann das gar nicht so genau sagen, weil es von viel zu vielen Dingen abhängt. Es ist ja nicht nur so, dass du JavaScript lernen musst, sondern

    • Je nach Erfahrung musst du generell programmieren lernen
    • Dann musst du die Syntax (aka wie schreibe ich Code) von JavaScript lernen
    • Dann musst du die Codebase vom MV lernen und verstehen, was da abgeht
    • Und zu guter letzt müsstest du lernen, wie Yanfly etc die Plugins schreiben und verstehen was da abgeht, damit man selber was editieren kann

    Wie Kirimoar schon sagte, selbst wenn man schon programieren kann oder JavaScript kann, heißt das automatisch nicht, dass man sofort Plugins schreiben/verstehen kann. Natürlich hängt das auch immer vom Typ des Plugins ab und wie umfangreich es ist.


    2.) Aus meiner Erfahrung mit MV und Plugins finde ich leider die Moghunter Plugins am schwersten zu verstehen und da was zu editieren. Moghunter schreibt seine Plugins in einer recht komischen Art und Weise. Wenn wir es mit einem Auto vergleichen , dann fällt es mir schwer zu verstehen wie sein "Motor" funktioniert. Deshalb ist meine Faustregel, dass ich keine Moghunter Plugins mehr editiere =O


    3.) Ich habe leider in der Vergangenheit auch viele solcher Online Kurse gekauft und manche waren gut und manche waren schlecht. Deshalb kann man da auch pauschal schlecht sagen, wie gut der von dir erwähnte ist. :/


    Ich würde an dieser Stelle einfach mal auf ein paar Posts von mir verweisen.


    waynee95's Getting into JavaScript Liste

    Das ist eine Liste von Ressourcen, die ich super fand um JavaScript bzw. MV unter der Haube zu verstehen. Ich würde vorschlagen, dass du erstmal diese Materialien anschaust, da sie alle kostenlos sind. Da ist ein Video von einem Teil eines Online Kurses über JavaScript. Ich finde diesen Kurs einfach verdammt gut, also wirklich wirklich gut. Das Video gibt einen guten Einblick in den Kurs. Auch wenn man ihn nicht kaufen will, das Video bietet trotzdem enorm viel an nützlichen Wissen über JavaScript. Wer an mehr interessiert ist, findet in der Beschreibung des Videos einen Coupon Code, womit man den Kurs für knapp 20€ bekommt.


    [Scripting] Mein erstes Plugin (MV)

    Ich habe auch eine kurze (2 Teile) Tutorialreihe, wie man ein Plugin für MV schreibt.

    Wiltrantaloran

    Ja stimmt, dass ist tatsächlich ein Problem.


    Ich schaue mal.


    EDIT:

    Probier das mal.

    Copy-paste das in eine .js-Datei und importiere es als Plugin, platziere es ganz unten.

    Um den Wert einer Game Variable zu ändern, reicht += allein nicht aus, wenn man den Wert denn tatsächlich ändern will.

    Wiltrantaloran

    Sorry für die späte Antwort. Wie viele Storage Systeme hast du denn? Wenn du nur eins hast, dann hat dies die ID von 0. Dann sieht das so aus

    Code
    1. StorageSystem add 0 $dataItems[1] 1


    Für die 2. Sache brauchst du eigentlich gar nicht das Plugin nutzen. Um das zu realisieren brauchen wir nur eine Variable und ein bisschen Script.


    Code
    1. // Event, was die alten Items speichert
    2. var items = [];
    3. $gameParty.allItems().forEach(function(item) {
    4. var count = $gameParty.numItems(item);
    5. items.push({ item: item, count: count});
    6. $gameParty.loseItem(item, count);
    7. });
    8. $gameSystem._oldItems = items;
    Code
    1. // Event, was die alten Items zurückgibt
    2. $gameSystem._oldItems.forEach(function(item) {
    3. $gameParty.gainItem(item.item, item.count);
    4. });
    5. $gameSystem._oldItems = null;

    Wiltrantaloran

    Wenn ich das richtig sehe, dann hast du da einen Fehler drin. Es sollte so aussehen:

    Code
    1. StorageSystem add 1 $dataItems[1] 1

    Die []-Klammern sind wichtig.


    Joa, das geht. Soll man währenddessen auf die Sachen, also das StorageSystem zugreifen können? Oder passiert das quasi intern geheim.

    Thibbs

    Hab erst gar nicht gesehen, wo deine Nachricht ist, weil die in das Zitat gerutscht ist. Generell ist es besser, immer die @name Funktion zu nutzen anstatt zu zitieren, dass sieht man dann besser.


    Ja kann man.


    Code
    1. $gameActors.actor($gameVariables.value(VAR_ID)).actor().meta.male

    VAR_ID durch die Id der gewünschten Variable ersetzen.