ページ 11

スクリプトで装備の表示(解決済)

Posted: 2016年5月28日(土) 19:55
by mmm
スクリプトで装備の変更を行う方法 を参考にして、
スクリプトでアクターnの今の装備を変数に格納し、それを文章として表示させようとしています。

$gameActors.actor(アクターID).changeEquipById(装備タイプ, 装備品)

のうち、changeEquipByIdの部分を今の装備を意味するよう変えれば良いのだろうとは思うのですが、
EquipやArmorなどそれらしき単語で試してみても上手く行きません。
どなたかご存知の方、ここに入る正しい語句をお教え下さい。

Re: スクリプトで装備の表示

Posted: 2016年5月29日(日) 16:48
by 名無し蛙
お疲れ様です。

>スクリプトでアクターnの今の装備を変数に格納し、それを文章として表示させようとしています。

これが目的ならchangeEquipByIdは使う必要はないのではないでしょうか
これは名前の通り「装備品IDを指定してアクターの装備変更する」メソッドです

文章として表示させるつもりならば変数に直接、装備名を入れた方が楽でしょうね。

コード: 全て選択

var base = 101; // 装備名を連続代入する変数の先頭インデックス
var equips = $gameActors.actor(アクターID).equips();
for (var i = 0; i < equips.length; i++) {
    $gameVariables.setValue(base + i, equips[i].name);
}
これで\V[101]等で装備品名が表示されるはずです。

Re: スクリプトで装備の表示

Posted: 2016年5月29日(日) 22:36
by mmm
ありがとうございます!今挑戦してみて無事表示させる事が出来ました!
複数の変数を一気に処理してて凄いです!



以下、自分と似た操作をやりたい人のため、自分が引っ掛かった部分の注意メモを残しておきます。

・アクターn人目ではなくパーティメンバーn人目の装備を表示させたい場合は過去記事を参考にして
$gameActors.actor(アクターID)の部分を$gameParty.members()[n人目]に変えてください。

・「装備の変更」コマンドを使って動作確認をする場合、まず「武器or防具の増減」等で該当交換アイテムを入手してないと、そもそも装備が変更されないです。

・スクリプト用の()と変数用の[]は別物であって、素人が混ぜて使えるものではないです。