Hallo,
ich beschäftige mich gerade etwas mit Scripting im RPG Maker MZ. Dabei versuche ich aktuell eine Art Lehrer für Skills um zu setzen. Der soll natürlich nur anbieten, was der Charakter noch nicht kennt.
Das funktioniert soweit auch ganz gut. Allerdings würde ich gerne nach der Auswahl noch Text anzeigen lassen. Also sowas wie "Jap hat geklappt" oder "nee Steigere erstmal dein Level". Leider bekomme ich es nicht hin, dass diese Folgenachriten im Script ausgelöst werden.
Hier das Coding:
- let act_id = 1;
- let txtClose = "Beenden";
- let txtChooseSkill = "Choose Skill";
- let choices = [];
- let choices_txt = [];
- let choices_minLvl = [];
- // Skill ID, Minimales Level
- let Skills = [
- [100, 2], // Feuer II
- [101, 3] // Feuer III
- ];
- for(let i = 0; i < Skills.length; i++) {
- let Skill = Skills[i];
- if (!$gameActors.actor(act_id).skills().contains($dataSkills[Skill[0]])) {
- choices.push(Skill[0])
- choices_txt.push($dataSkills[Skill[0]].name + " Min. Level: " + Skill[1]);
- choices_minLvl.push(Skill[1]);
- }
- }
- choices_txt.push(txtClose);
- let sel = 0;
- $gameMessage.add(txtChooseSkill);
- $gameMessage.setChoices(choices_txt,0,choices_txt.length);
- $gameMessage.setChoiceCallback(n => {
- this._branch[this._indent] = n;
- sel = n;
- if (sel < choices.length) {
- if ($gameActors.actor(act_id).level >= choices_minLvl[sel]) {
- // Give Skill
- $gameActors.actor(act_id).learnSkill(choices[sel]);
- $gameVariables.setValue(13,0);
- } else {
- $gameVariables.setValue(13,1);
- }
- } else {
- $gameVariables.setValue(13,2);
- $gameMessage.add("Nee, Steigere erstmal dein Level");
- }
- });
- this.setWaitMode("message");
Enthalten ist hier ein Workarround. Indem ich die Variable setze kann ich in der Eventliste die Variable abfragen und so den Text ausgeben. Eleganter fände ich es aber im Script, da ich so alles Zentraler verwalten kann.
Der Code ist noch recht Basic und ungeschliffen. Also nicht wundern ;D
Hat da jemand eine Idee oder ist mein "Workaround" der gedachte Work Flow?
Vielen Dank schon einmal und Liebe Grüße
RoPurX
** Edit 23:03 Uhr
Falls sich wer wundert, ich habe das Script noch etwas überarbeitet. Ich Ziehe mir jetzt den Namen des Skills direkt aus den Daten.