アイテムの選択の処理 / ツクールVXAceスクリプト(RGSS3)wiki
ツクールVXAceでアイテムの選択の処理をスクリプトで行うなら以下の通りです。
wait_for_message
setup_item_choice([アイテムIDを受け取る変数])
Fiber.yield while $game_message.item_choice?
サンプルコード(IDが3の変数に選択したアイテムのアイテムIDを入力)
wait_for_message
setup_item_choice([3])
Fiber.yield while $game_message.item_choice?
コード解説
1行目 "wait_for_message"
メッセージ、選択肢、数値入力、アイテム選択が表示されているときにウェイトがかかるようにする処理です
2行目 "setup_item_choice"
アイテムIDを受け取る変数を処理しています。("$game_message.item_choice_variable_id"という内部で使用される変数にアイテムIDを受け取る変数を設定しています。)
3行目 "Fiber.yield while $game_message.item_choice?"
アイテム選択がなされるまでウェイトをかけるようにしています。
上記のコードは3行となっておりますが、実は1行でも実行可能です。
アイテム選択の処理は以下のコードでも実行可能です。
$game_message.item_choice_variable_id = アイテムIDを受け取る変数
サンプルコード(IDが1の変数に選択したアイテムのアイテムIDを入力)
$game_message.item_choice_variable_id = 1
上記のコードではウェイト処理がなされていませんが、イベントコマンドでメッセージなどの処理が前後にあっても問題なく、順番に実行されます。
これはアイテム選択の処理やメッセージ、数値の処理などで専用のウィンドウが出ている時点でウェイトがかかるように設定されているためです。
気を付けなければならないのはスクリプトで前後に他の処理があるときです。
特にメッセージを表示するときや、数値入力など専用のウィンドウを開くイベントを行うときは最初のコードで行わないと処理がちぐはぐになってしまいます。
イベントコマンドでのアイテム選択の処理をして欲しいときは3行のコード、アイテム選択のみの簡単なものであれば一行のコードで良いかと思います。
ツクールVXAceスクリプトリファレンスwikiトップページへ戻る
オリジナルシステムなどの製作依頼・相談があればプラグイン・マップ等個別製作依頼のページまでお願いします。