じ☆ve冰风 发表于 5 天前

How to make a Custom Battle Scene with Forced Inputs

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



Rename it to Scene_Tutorial

Create Tutorial Battle Troop in the FIRST SLOT



Next Create your Instructions for the player for each turn.



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



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

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      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 == 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    endend** "@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 == 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 == 2      @item_window.refresh      @item_window.show.activate    else      start_actor_command_selection    endendCongrats on your new Forced Inputs Tutorial Battle Scene!


本贴来自国际rpgmaker官方论坛作者:RyokuHasu处,因国际论坛即将永久关站,为了存档多年珍贵资料,署名转载到本论坛存档,由于官方帖子为英文原帖,需要中文翻译请点击论坛顶部切换语言为中文就可以将帖子翻译成中文浏览,方便大家随时查看,原文地址:https://forums.rpgmakerweb.com/threads/how-to-make-a-custom-battle-scene-with-forced-inputs.27762/
页: [1]
查看完整版本: How to make a Custom Battle Scene with Forced Inputs