ページ 11

【解決】スクリプトで装備変更

Posted: 2021年9月19日(日) 05:20
by アンドゥトロワ
スクリプトで装備変更をしたいのですが、

$gameActors.actor($gameVariables.value(n).id).changeEquipById(1, $gameVariables.value(n).id)

のような書き方はできないのでしょうか?

それか、何か私が勘違いしてるのでしょうか、、

Re: スクリプトで装備変更

Posted: 2021年9月19日(日) 05:39
by 虚構の城跡
変数の取得って、
$gameVariables.value(変数ID)
だったような?

http://rpgmaker-script-wiki.xyz/variables_mv.php

Re: スクリプトで装備変更

Posted: 2021年9月19日(日) 11:07
by Plasma Dark
$gameActors.actor($gameVariables.value(n).id).changeEquipById(1, $gameVariables.value(n).id)

のような書き方はできないのでしょうか?
変数にオブジェクトを直接代入するのであれば不可能ではありませんが、なぜこう書きたいのでしょう。
スクリプトで装備を変更して、その結果実現したいこととは何でしょうか。

イベントコマンドの装備の変更は変数による指定ができないので、スクリプトで装備を変更したいという要求はわからなくもないのですが、変数にオブジェクトを代入する必要が本当にあるのかは疑問です。

Re: スクリプトで装備変更

Posted: 2021年9月19日(日) 11:37
by アンドゥトロワ
回答ありがとうございます!


装備するアクターと、装備する装備品を自由にゲーム内で変更させるには変数しか思いつきませんでした!

他にいい方法ありますでしょうか、、、

トリアコンタン様のカスタムメニュー作成プラグインで作成したウィンドウで、武器購入時にそのまま選択したアクターに購入した装備品を装備させたかったのですが、、

Re: スクリプトで装備変更

Posted: 2021年9月19日(日) 20:20
by Plasma Dark
武器購入時にそのまま選択したアクターに購入した装備品を装備させたかった
購入した武器のデータオブジェクトそのものではなく、武器のIDのみを変数に記録する、としたほうがわかりやすそうです。
アクターのほうもデータオブジェクトではなくアクターIDのみを変数に記録すると良いのではないでしょうか。

指定のアクターの武器装備を変更するコードは以下のようになります。
(ただし、二刀流時の2番目のスロットには対応できません)

コード: 全て選択

$gameActors.actor(アクターID).changeEquipById(1, 武器ID)
変数1にアクターID、変数2に武器IDを代入したとすると

コード: 全て選択

$gameActors
  .actor($gameVariables.value(1))
  .changeEquipById(1, $gameVariables.value(2))
ですね。(可読性のために改行していますが、しなくても意味は変わりません)

Re: 【解決】スクリプトで装備変更

Posted: 2021年9月21日(火) 21:15
by アンドゥトロワ
ありがとうございました!!!

思い通りの動きになりました^ ^