How to make a Custom Battle Scene with Forced Inputs


Jun 23, 2012
Reaction score
First Language
Primarily Uses
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


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

if troop_id == 1 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 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.stype_id = @actor_command_window.current_ext @skill_window.refresh 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 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 else start_actor_command_selection endendCongrats on your new Forced Inputs Tutorial Battle Scene!

Users Who Are Viewing This Thread (Users: 0, Guests: 1)

Latest Threads

Latest Posts

Latest Profile Posts

Is the "2 status updates 24h" still in effect?
My first attempt at Pixel Art :blink::) (I have no idea what I'm doing but I'm doing it)
Plugin instructions: *exists*
Plugin: What did he say? *error*
I feel like it's about time I share all the result of my experiment project here. But there's a lot of it.
Me and brother have an ongoing rivalry. We constantly fight for the High Score in Galaga on our arcade cabinet. Today I take back the top with 239,000. He'll be back. (No-Fire glitch is banned)

Forum statistics

Latest member