ページ 11

【解決済】イベントスクリプトで、職業ID1で覚えたスキルのみを忘れることはできますか?

Posted: 2020年6月04日(木) 20:31
by kumatokuma
イベントスクリプトで、アクター1が職業ID1で覚えたスキルのみを全て忘れることはできますでしょうか?

 転職を繰り返し、スキルが増えて見づらくなった時のために
 イベントで、職業ごとにスキルを忘れられるようにしたいのです。

 また逆に現在のレベルまで、スキルを覚えることは可能でしょうか?

Re: イベントスクリプトで、職業ID1で覚えたスキルのみを忘れることはできますか?

Posted: 2020年6月05日(金) 12:58
by 剣崎 宗二
何れも
アクターID = 5
クラスID = 1
の仮定でコードを書いてます。相応に変更してください。
またいつも通り実験してないので使用にはご注意を。

消す方

コード: 全て選択

$dataClasses[1].learnings.forEach(function(learning) {
            $gameActors.actor(5).forgetSkill(learning.skillId);
    }, this);
注意点としては、こちらは「指定したクラスで覚えるスキル(覚えるスキル一覧にある)であれば、例えアイテムで習得したり他のクラスで実際に習得したりしても消える」と言う点です。
ツクールのデータ上、覚えているスキルが「どうやって習得されたのか」は記録されていないので。



覚える方

コード: 全て選択

$gameActors.actor(5).currentClass().learnings.forEach(function(learning) {
        if (learning.level <= this._level) {
            this.learnSkill(learning.skillId);
        }
    }, $gameActors.actor(5));

Re: イベントスクリプトで、職業ID1で覚えたスキルのみを忘れることはできますか?

Posted: 2020年6月05日(金) 17:25
by kumatokuma
剣崎 宗二様、
ありがとうございます。
お陰様で、できました。
剣崎 宗二 さんが書きました: 注意点としては、こちらは「指定したクラスで覚えるスキル(覚えるスキル一覧にある)であれば、例えアイテムで習得したり他のクラスで実際に習得したりしても消える」と言う点です。
ツクールのデータ上、覚えているスキルが「どうやって習得されたのか」は記録されていないので。
複数の職業で覚えたり複数の習得方法があるスキルは、
習得方法に関わらず一律で忘れない、ということで対処したいのですが、

イベントスクリプトで忘れる時に、
スキルのメモ欄に<共通>などの特定の文字があるスキルは
忘れないということは可能ですか?

Re: イベントスクリプトで、職業ID1で覚えたスキルのみを忘れることはできますか?

Posted: 2020年6月05日(金) 19:42
by ムノクラ
kumatokuma さんが書きました:剣崎 宗二様、
ありがとうございます。
お陰様で、できました。
剣崎 宗二 さんが書きました: 注意点としては、こちらは「指定したクラスで覚えるスキル(覚えるスキル一覧にある)であれば、例えアイテムで習得したり他のクラスで実際に習得したりしても消える」と言う点です。
ツクールのデータ上、覚えているスキルが「どうやって習得されたのか」は記録されていないので。
複数の職業で覚えたり複数の習得方法があるスキルは、
習得方法に関わらず一律で忘れない、ということで対処したいのですが、

イベントスクリプトで忘れる時に、
スキルのメモ欄に<共通>などの特定の文字があるスキルは
忘れないということは可能ですか?
こちらが参考になると思います。
https://fungamemake.com/archives/8386

ツクールの転職の基本仕様と、解決するトリアコンタン氏作のプラグインの使用方法をまとめています。

ちなみに、Lv1で覚えるスキルをレベルで覚えるのではなく、職業の特徴でスキル追加しておくと、転職すると忘れます。
イベントスクリプトではありませんが…
この辺りも記事にまとめてあります。

ただ、現状のプラグインには、個別のスキルを特別扱いする機能はありません。

Re: 【解決済】イベントスクリプトで、職業ID1で覚えたスキルのみを忘れることはできますか?

Posted: 2020年6月06日(土) 23:59
by kumatokuma
ムノクラ様、転職システムのご紹介ありがとうございます。
そして説明不足でスミマセン、今回の質問とは直接は関係ないので記載していなかったのですが、
転職には、YEP_ClassChangeCoreを使用しています。
職業ごとのレベルを保持したまま自由に転職できるのですが、
スキルが増えすぎて邪魔なので、転職時とは別に任意で忘れられるように
スキル忘却屋のイベントを作りたいと思い質問させて頂きました。

(YEP_ClassChangeCoreをはじめ
ムノクラ様のYEP翻訳シリーズを使わせてもらっています、
凄く助かってます、ありがとうございます)



あと、追加で質問した複数の習得方法があるスキルについては、
剣崎様に教えて頂いたスクリプトで一旦全て忘れた後、
個別でイベントコマンドで覚えさせようと思います。


ムノクラ様、剣崎様、本当にありがとうございました。