RPGツクールMVでステートの変更をスクリプトから行う方法についてまとめていきます。
イベントコマンドの1ページ目、アクター > ステートの変更…と同様の操作を、
イベントコマンドの3ページ目、上級 > スクリプトから行う方法です。
Table of Contents
スクリプトコード
付加
actor関数の引数にはステートを付加したいアクターのIDを、
addState関数の引数には付加したいステートのIDを指定します。
以下の例ではアクターIDが1のアクターに対して戦闘不能のステートを付与しています。
$gameActors.actor(1).addState(1);
解除
actor関数の引数にはステートを解除したいアクターのIDを、
addState関数の引数には解除したいステートのIDを指定します。
以下の例ではアクターIDが1のアクターに対して戦闘不能のステートを解除しています。
$gameActors.actor(1).addState(1);
イベントコマンドの内容
イベントコマンドのステートの変更を追加した場合、内部的には以下のようなデータが挿入されており、
js\rpg_objects.jsの10229行目に定義されているcommand313関数が呼び出され、引数にparametersの値が渡されています。
{"code":313,"indent":0,"parameters":[0,0,0,4]}
parametersの値の内容は以下の通りです。
インデックス | 内容 |
[0] | [1]に格納されている値が固定か変数かを示す値(0 : 固定、1 : 変数) |
[1] | アクターのID、または変数のID |
[2] | どの操作を行うかを示す値(0 : 付加、1 : 解除) |
[3] | 付加、または解除したいステートのID |