表題の通り、トリアコンタン様のカスタムメニュー作成プラグインにて、
アクターの装備を表示しようと思い、以下の設定をしておりました。
一覧取得スクリプト:this._actor.equips(); // メインメニューで選択したアクターの装備品
項目描画スクリプト:this.drawTextEx(`${item.name}`, r.x, r.y, r.width); // 任意のテキスト描画(制御文字変換あり)
ひとまずこれで装備しているスロット全ての名前の取得ができているのですが、
装備を外した際に、外したスロットでエラーになってしまう為、(console.log(item.name)で確認)
下記のトピックを参考に、
viewtopic.php?t=9240
コード: 全て選択
item.name!=0 ? this.drawTextEx(`${item.name}`, r.x, r.y, r.width):"装備なし"
item.name!='' ? this.drawTextEx(`${item.name}`, r.x, r.y, r.width):"装備なし"
item.name!=undefined ? this.drawTextEx(`${item.name}`, r.x, r.y, r.width):"装備なし"
item.name!=null ? this.drawTextEx(`${item.name}`, r.x, r.y, r.width):"装備なし"
こんな形で値の取得が出来ない場合は「装備なし」という文字列にしようと4パターン試してみましたが、
「TypeError: Cannot read property 'Text' of null」のエラーがずっと回避できず…。
フィルタスクリプトに「!!item; // null, undefined, 0, 空文字以外」というものはありましたが、
console.log(item.name)で取得状況を見ている限り、
フィルタ無しだと上から順に装備がないスロットまで名前が取得出来ているのに対して、
フィルタ有りの場合は、itemを取得した瞬間にエラーが出ていました。
これはまた別の扱いですかね…。
最悪「$dataWeapons~」等でひとつずつアクターIDを埋める形で表示する事も考えましたが、
あと一歩という所まで来ているので、何とかこの方法で取得できないものかと考えています。
お力添え頂けると幸いです。