How to make a Custom Battle Scene with Forced Inputs

RyokuHasu

Developer
Veteran
Joined
Jun 23, 2012
Messages
274
Reaction score
37
First Language
English
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

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!
 

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

Threads
93,723
Messages
914,937
Members
123,329
Latest member
ChrisCKC
Top