ページ 11

[解決済み]特定のアクターが覚えている特定のスキルを戦闘中だけグレーアウトしたい

Posted: 2021年6月06日(日) 02:24
by 春みかん
戦闘中のお話で
メモ欄に<SpecialGrayout>と書かれたスキルを覚えているアクターのIDが5だったら、
そのスキルを一覧からグレーアウトするスクリプトが知りたいです。

別件の都合上、そのスキルの「使用可能時」は「バトル画面」に設定しておかなければなりません。

ややこしいのですが
「そのスキルを覚えていて、なおかつ戦闘中に使用できるよう設定されてはいるけれど、
 そのアクターでは使えない」というスキルを作りたいので
繰り返しになりますが
アクターID5が覚えているスキルのメモ欄に<SpecialGrayout>と書かれているものをグレーアウトするスクリプトがいただけると幸いです。

Re: 特定のアクターが覚えている特定のスキルを戦闘中だけグレーアウトしたい

Posted: 2021年6月06日(日) 05:29
by 名無し蛙
戦闘中、というかメニュー画面からのスキル使用を考慮する必要が無いのであらば
スキル使用可否判定に条件を加えるだけで良いのでは

コード: 全て選択

(() => {
    'use strict'
    const _Game_Actor_meetsSkillConditions = Game_Actor.prototype.meetsSkillConditions;
    Game_Actor.prototype.meetsSkillConditions = function (skill) {
        return _Game_Actor_meetsSkillConditions.apply(this, arguments) &&
            !(this._actorId === 5 && skill.meta['SpecialGrayout']);
    };
})();

Re: [解決済み]特定のアクターが覚えている特定のスキルを戦闘中だけグレーアウトしたい

Posted: 2021年6月06日(日) 23:30
by 春みかん
ありがとうございます。
実現できました。