How to make a Custom Battle Scene with Forced Inputs

● ARCHIVED · READ-ONLY
Started by RyokuHasu 3 posts View original ↗
  1. This will ONLY work with the DEFAULT battle system.

    In this Tutorial I will show you how I made a "Tutorial" battle where the player could only use the commands he was told to use. This is a a general guild and you may have to change it to fit your own needs however all the information oh how to get one going is here.

    Copy the Scene_Battle script and paste it in section for Script inserts

    Copy Scene_Battle.png

    Rename it to Scene_Tutorial

    Create Tutorial Battle Troop in the FIRST SLOT

    Create Tutorial Battle Troop.png

    Next Create your Instructions for the player for each turn.

    Instruct 1.pngInstruct 2.pngInstruct 3.pngInstruct 4.pngInstruct 5.png

    Next add in event command to change a variable for each prompt given, using the FIRST VARIABLE

    Variable 1.pngVariable 2.pngVariable 3.pngVariable 4.png

    Lastly before we Edit the Scripts Create an Event to Launch the tutorial battle

    Event.png

    Now we are ready to start Editing the Scripts!

    in the Script Game_Interpreter use Ctrl+F to find "Battle Processing" (line 1095 in stock scripts)

    change the line

    SceneManager.call(Scene_Battle)to

    if troop_id == 1 SceneManager.call(Scene_Tutorial)else SceneManager.call(Scene_Battle)endnext in your Scene_Tutorial

    Find "def post_start"

    Below "super" add

    BattleManager.save_bgm_and_bgsBattleManager.play_battle_bgmFind "def pre_terminate"

    Bellow "super" add

    BattleManager.replay_bgm_and_bgsNow that all that's left is to Block out all actions except the one we want

    **Form this point on the tutorial is based on the Images included. This is subject for you to change for your own personal needs

    Find "def command_attack" and replace the whole block with

    def command_attack if $game_variables[1] == 1 BattleManager.actor.input.set_attack select_enemy_selection else start_actor_command_selection endendFind "def command_skill" and replace the whole block with

    def command_skill if $game_variables[1] == 3 && @actor_command_window.current_ext == 3 @skill_window.actor = BattleManager.actor @skill_window.stype_id = @actor_command_window.current_ext @skill_window.refresh @skill_window.show.activate else start_actor_command_selection end end** "@actor_command_window.current_ext == 3" can change if you are using multiple skill types and want one specific type used

    Find "def command_guard" and replace the block with

    def command_guard if $game_variables[1] == 4 BattleManager.actor.input.set_guard next_command else start_actor_command_selection endendFind "def command_item" and replace the block with

    def command_item if $game_variables[1] == 2 @item_window.refresh @item_window.show.activate else start_actor_command_selection endendCongrats on your new Forced Inputs Tutorial Battle Scene!
  2. *Golf clap* This is great!
  3. Excellent! Thank you very much for this!