条件分岐 / ツクールVXAceスクリプト(RGSS3)wiki
ツクールVXAceで条件分岐をスクリプトで行うなら以下の通りです。
スイッチでの条件分岐
if $game_switches[スイッチID] == trueかflase
条件を満たしたときの処理
end
サンプルコード(スイッチでの条件分岐)
if $game_switches[1] == true
$game_message.add("条件に一致")
end
変数での条件分岐
if $game_variables[変数ID] == 数字または変数
条件を満たしたときの処理
end
サンプルコード(変数での条件分岐)
if $game_variables[1] == 12
$game_message.add("変数が12だった")
end
セルフスイッチでの条件分岐
key = [マップID, イベントID, "セルフスイッチ"]
if $game_self_switches[key] == trueまたはfalse
条件を満たしたときの処理
end
サンプルコード(マップIDが2, イベントIDが16のイベントのセルフスイッチAで条件分岐)
key = [2, 16, "A"]
if $game_self_switches[key] == true
$game_message.add("条件を満たしました")
end
タイマーでの条件分岐
if $game_timer.sec <= 秒数
条件を満たしたときの処理
end
サンプルコード(タイマーで条件分岐)
if $game_timer.sec <= 10
$game_message.add("残り10秒以下になりました")
end
アクターがパーティーにいるかで条件分岐
actor = $game_actors[アクターID]
if $game_party.members.include?(actor)
条件を満たしたときの処理
end
サンプルコード(ナタリーがパーティーにいるかで条件分岐)
actor = $game_actors[2]
if $game_party.members.include?(actor)
$game_message.add("ナタリーは仲間だ")
end
アクターの名前で条件分岐
actor = $game_actors[アクターID]
if actor.name == "名前"
条件を満たしたときの処理
end
サンプルコード(エリックの名前がタロウかで条件分岐)
actor = $game_actors[1]
if actor.name == "タロウ"
$game_message.add("タロウになっている")
end
アクターが特定の職業で条件分岐
actor = $game_actors[アクターID]
if actor.class_id == 職業ID
条件を満たしたときの処理
end
サンプルコード(エリックがモンクかで条件分岐)
actor = $game_actors[1]
if actor.class_id == 2
$game_message.add("エリックはモンクだ")
end
アクターがスキルを習得しているかで条件分岐
actor = $game_actors[アクターID]
if actor.skill_learn?($data_skills[スキルID])
条件を満たしたときの処理
end
サンプルコード(エリックが強撃を習得してるかで条件分岐)
actor = $game_actors[1]
if actor.skill_learn?($data_skills[80])
$game_message.add("強撃を習得している")
end
アクターが武器を装備しているかで条件分岐
actor = $game_actors[アクターID]
if actor.weapons.include?($data_weapons[武器ID])
条件を満たしたときの処理
end
サンプルコード(ハンドアクスを装備しているかで条件分岐)
actor = $game_actors[1]
if actor.weapons.include?($data_weapons[1])
$game_message.add("ハンドアクスを装備")
end
アクターが防具を装備しているかで条件分岐
actor = $game_actors[アクターID]
if actor.armors.include?($data_armors[防具ID])
条件を満たしたときの処理
end
サンプルコード(普段着を装備しているかで条件分岐)
actor = $game_actors[1]
if actor.armors.include?($data_armors[1])
$game_message.add("普段着を着ている")
end
アクターが特定のステートで条件分岐
actor = $game_actors[アクターID]
if actor.state?(ステートID)
条件を満たしたときの処理
end
サンプルコード(エリックが毒状態かで条件分岐)
actor = $game_actors[1]
if actor.state?(2)
$game_message.add("エリックは毒状態")
end
敵が出現しているかで条件分岐
enemy = $game_troop.members[敵メンバーID]
if enemy.alive?
条件を満たしたときの処理
end
サンプルコード(敵1が出現しているかで条件分岐)
enemy = $game_troop.members[1]
if enemy.alive?
$game_message.add("出現してる")
end
敵が特定のステートかで条件分岐
enemy = $game_troop.members[敵メンバーID]
if enemy.state?(ステートID)
条件を満たしたときの処理
end
サンプルコード(敵2が睡眠状態かで条件分岐)
enemy = $game_troop.members[1]
if enemy.state?(6)
$game_message.add("睡眠状態だ")
end
キャラクターの向きで条件分岐
character = get_character(キャラクターID)
#キャラクターIDは-1以下でプレイヤー、0でこのイベント、それ以外で数字のイベント
if character.direction == 方向
#2:下 4:左 6:右 8:上
条件を満たしたときの処理
end
サンプルコード(プレイヤーが下を向いてるかで条件分岐)
character = get_character(-1)
if character.direction == 2
$game_message.add("プレイヤーが下向き")
end
乗り物に乗っているかで条件分岐
if $game_player.vehicle == $game_map.vehicles[乗り物ID]
$game_message.add("飛行船に乗っている")
end
補足($game_map.vehicles[乗り物ID]の乗り物のIDについて)
0:小型船 1:大型船 2:飛行船
サンプルコード(飛行船に乗っているかで条件分岐)
if $game_player.vehicle == $game_map.vehicles[2]
$game_message.add("飛行船に乗っている")
end
お金(所持金)での条件分岐
if $game_party.gold == 数値
条件を満たしたときの処理
end
サンプルコード(800G以上持っていたとき条件分岐)
if $game_party.gold >= 800
$game_message.add("800G以上持っている")
end
特定のアイテム所持での条件分岐
if $game_party.has_item?($data_items[アイテムID])
条件を満たしたときの処理
end
サンプルコード(ID17のアイテムを持っていた時条件分岐)
if $game_party.has_item?($data_items[17])
$game_message.add("アイテムを持っている")
end
武器の所持での条件分岐(「装備」は装備品も含めるか)
if $game_party.has_item?($data_weapons[武器ID], 装備)
条件を満たしたときの処理
end
サンプルコード(ハンドアクスを持っていると条件分岐)
if $game_party.has_item?($data_weapons[1], true)
$game_message.add("ハンドアクスを持っている")
end
防具の所持での条件分岐(「装備」は装備品も含めるか)
if $game_party.has_item?($data_armors[防具ID], 装備)
条件を満たしたときの処理
end
サンプルコード(普段着を持っていると条件分岐)
if $game_party.has_item?($data_armors[1], true)
$game_message.add("普段着を持っている")
end
ボタンでの条件分岐
if Input.press?(@params[1])
条件を満たしたときの処理
end
サンプルコード(決定キー(z,enter)を押されたとき条件分岐)
if Input.press?(:C)
$game_message.add("決定キーが押されました")
end
ツクールVXAceスクリプトリファレンスwikiトップページへ戻る
オリジナルシステムなどの製作依頼・相談があればプラグイン・マップ等個別製作依頼のページまでお願いします。