Battle Command List

Last Updated: 2012.12.18
Download Link
Github Link
Pastebin Mirror Link

This script allows you to change the order to commands that appear in battle for the Party Command Window and Actor Command Window. In addition to the ability to change the order commands appear, you may also add commands to the Actor Command Window that can trigger the usage of skills and/or items. The Confirm Command Window is also a new addition that appears at the end of the action select phase (after the last actor has made a choice) before entering the battle phase.

Commands may be rearranged, added, or removed to the Party Command and Actor Command Windows. The Party Command Window is the window that contains the usual “Fight” and “Escape” commands. The Actor Command Window is the one that selects which action the actor can do such as “Attack”, “Skill”, “Defend”, and “Item”. Rearranging these commands are done so in the module.

Actors and classes can have unique command sets. As such, you can remove, add, or rearrange the commands as you see fit for each actor or class. In this script, custom commands for actors will have priority over custom commands for classes. Custom commands for classes will have priority over the default command list.

<command list>
</command list>

These lines go inside of an actor’s or class’s notebox to adjust the battle commands that appear in the actor’s Actor Command Window. Refer to the module as to what to use for the strings. If a custom command list is used for an actor, it will take priority over its class’s custom command list, which takes place over the default command list.

Change the command names for items and skills and set the rules for when they can and can’t appear. If no rules are used, they’re always visible. Whether or not the commands are usable are dependent on whether or not the actor can perform the skill or use the item (aka MP and TP costs still matter).

<command name: string>

If this skill/item is being used as a command, it will use “string” to replace the skill’s/item’s name in the command list window.

<command hide until learn>

This hides the command until the actor has learned the respective skill/item for the command to appear in the actor’s command list.

<command hide until usable>

This hides the command until the actor is capable of using the command by meeting TP costs or MP costs. Usable only for skills.

<command hide until switch: x>

This switch x is OFF, then the command remains hidden. If the switch is ON, then the command becomes enabled and appears in the command list.

Commands are added using these strings in the Actor or Class Noteboxes.

"ATTACK"         Normal attack for actor. Default.
"SKILL LIST"     All of the skill types the actor can use. Default.
"DEFEND"         Set defend action for actor. Default.
"ITEMS"          Opens up the item menu for the actor. Default.
"SKILL TYPE X"   Specifically puts in skill type X if actor has it.
"SKILL X"        Uses Skill X in that slot.
"ITEM X"         Uses Item X in that slot.

Remove the quotes when you insert them into the noteboxes.

The Confirm Command Window is a new window that appears after the last actor has selected an action. This allows room for error in case the player makes a mistake in choosing the wrong command for the last actor in the party. Thus, the window lives up to its name by allowing the player to confirm his or her decision before starting the battle turn phase.

Custom commands may be added to the Party and Confirm Command Windows through the module. More instructions are written inside.

And that’s all, folks!

90 comments on “Battle Command List

  1. I noticed “Limit” as an example in your screenshot as one of the commands. I’m not sure if this would be better as a separate script but I would like to select “Limit” and instead of that command being tied to a particular script, it really opens another window where I can select from a group of skills (skills from a specified Skill Type!?!) that the character has learned. If the character hasn’t learned a skill as yet, it is not shown in the list. If the character has no skill in that Skill Type learned as yet, then the entire “Limit” command is hidden or disabled.

    What I’m trying to achieve is this feature which may require several scripts together with the “Command-Grouped Skill Type” addition to Battle Command List script:
    1. User equips accessory and it teaches him SkillA from the SkillTypeP skill-type.
    2. In battle, the user can access SkillTypeP command window (aka “Limit” command example above) because that command has been assigned to his commands window via script, plus he has learned SkillA from equipment so it is enabled/visible.
    3. SkillA costs TP. If not enough TP available, SkillA is disabled.

    I managed to achieve that feature in VX using several scripts.
    If you don’t want to add the SkillType window to this script or another, I won’t be disappointed ^_^
    I’m sure I’ll find a way in due time.
    FFVIII GFs ftw.

    • If I understood correctly, you can do all that without scripts in Ace. Do you tried the Trial version?
      1. Make a new Skill Type with the name “Limit” on the Terms tab.
      2. Make SkillA with your TP Cost and bind it’s skill type to “Limit”.
      2. Make an accessory with the trait “Additional Skill -> SkillA”
      If the actor has learned SkillA (equipped the accessory in this case), “Limit” will appear on the actor command menu.
      You can use this script to re-order the command list and add individual/”direct” skills to the actor command menu.

      • Oh. I didn’t understand the “Traits” thing before but I gave it a try like how you described and it did it. The only thing I wanted was for the Skill Type command (one being “Special Skill” in the demo) was not hidden or disabled when the actor currently has no skills in it. But that’s minor.
        Thanks so much. I was waiting for English tooltips to be released so I can understand the database fully, but I think I’ll go do some testing before asking making any more suggestions.
        Again, thanks.

  2. I was hoping more for a separate menu config option that would allow you to set up a command list for all party members.

    Or perhaps the ability for items to give you a special skill if equipped and you have met the requirements. [IE: Wild-Card (sword) replaces the ATTACK command with a skill called Wild. This skill would use the regular attack command but also unleash a random ability. Equipping Novice-Spell-Ring would give access to a command slot that held low level spells with a set # of uses per battle (uses recharge slowly after 5-10 turns or after 10-20 steps)]

  3. If I select Berserker’s Roar (target all allies), then the execute command window appears above the actor command window (which didn’t get disposed I guess). Doesn’t happen with single target or target all enemy (Giant’s Rampage skill).

    Also, I was using a party with only Eric, dunno if that matters or not (maybe because he’s the last action selected before the execute command window, it might matter? not sure).

  4. Hi Yanfly! Your powerful scripts have greatly improved my game. Thank you so much for that.
    And now I am having trouble using this script :(
    My situation is that I created a skill (id:5) called “blessing” for the white mage in my game. The effect of this skill is to heal the whole party 5% of the maxhp of each actor. I intend to make this an actor command, so I put “skill 5” inside “”. This command appears as expected. And it works fine until the end of the first turn of a combat — Starting from the second turn, whenever I use the”blessing” command, the actor command window for the subsequent actor disappears.
    I am not sure if this is only my own problem :-(
    I hope you could take a look at this when you have time.

    Best wishes :)

      • Sorry for bothering again.
        Indeed I’m using Battle Engine Ace and I still find myself getting into the same trouble again.
        Later on I find that this problem is more general that starting from the second turn of a battle, whenever an actor uses skills that target one or more allies (eg. cure), the subsequent actor’s command window disappears.
        There’s not such a problem if the skill is targeting enemies.

      • Yeah, I’ve fixed it again like three times so far today, heh. You probably downloaded one of the earlier iterations. Turns out there was a bug I’ve missed.

  5. Noticed today that if you cycle to the last character without choosing actions for anyone else (using the arrow keys), you will be given the chance to execute the battle phase. If you skipped any characters and activate the battle phase, everyone who has not chosen an action will perform a basic attack as their action.

    I’m not sure if you intended for it to work like this, but it would be great if we could customise what action is performed when this occurs :) (Personally I want it to just skip that character’s action altogether, but others may want them to defend or something.)

  6. Hey I’m just trying to do something pretty simple but I’m not sure how to go about it or whether I should just use a different script. I just wanted to restrict the “Limit” skill type from appearing in the command list if no skills in that type were learned or usable, but from what I can see the parameter only works for skill based commands, and not categories. Is this possible with your script, and if not is there another way I can accomplish this?

  7. Hey Yanfly!

    Love the script, but i came across a small yet game damaging conflict with Jet’s Side-view Battle System, and as far as i can tell after doing some testing, i think it is do to this script.

    I am using the YEA Battle Engine/Battle Command List with Jet’s SBS and everything works great until i enable the Execute command in YEA Battle Command List.

    with Jet’s SBS, when its time for a character’s actions to be chosen, they step forward and then afterward step back, but if Execute is active, the last party member never steps back, and then on each turn steps forward again further across the screen.

    Ive tested all the scripts to be sure, and rotated script order, and the results are the same. If Execute command is active, a SBS sprite will continue to step forward each turn. Im sure this is an incompatibility issue with YEA Battle Command List due to that.

      • Wondering if this problem was ever solved, as I am having the same. Tried EVERYTHING. I’m refusing to give up on this issue. Don’t wanna lose the battle commands :(

  8. I think this script is giving me trouble whenever a character has the Auto-Battle feature/trait set, as in; game always crashes with this when such a character is in a fight:

    Exception : NoMethodError
    undefined method `evaluate’ for false:FalseClass
    [“( Game_Actor ):547:in `block in make_action_list'”, “( Game_Actor ):546:in `each'”, “( Game_Actor ):546:in `make_action_list'”, “( Game_Actor ):556:in `block in make_auto_battle_actions'”, “( Game_Actor ):555:in `times'”, “( Game_Actor ):555:in `make_auto_battle_actions'”, “( Game_Actor ):573:in `make_actions'”, “( Game_Unit ):117:in `block in make_actions'”, “( Game_Unit ):117:in `each'”, “( Game_Unit ):117:in `make_actions'”, “( Yanfly Battle Engine ):1675:in `make_actions'”, “( BattleManager ):281:in `input_start'”, “( Scene_Battle ):305:in `start_party_command_selection'”, “( Yanfly Battle Engine ):3146:in `start_party_command_selection'”, “( Scene_Battle ):476:in `battle_start'”, “( Yanfly Battle Engine ):2939:in `battle_start'”, “( PolyEX ):304:in `post_start'”, “( Scene_Base ):13:in `main'”, “( Skip Title Screen ):24:in `run'”, “( ExitEX ):121:in `run'”, “( ExitEX ):130:in `block in ‘”, “:1:in `block in rgss_main'”, “:1:in `loop'”, “:1:in `rgss_main'”, “( ExitEX ):130:in `'”, “ruby:in `eval'”]

    That’s kind of bad because I find myself pretty much needing this script and needing those certain characters to be automatic battlers. =\

  9. So I was building my game when suddenly I realized…you can’t change Classes in battle. That would be a fantastic script. But thanks for all these scripts – they’ve totally changed the way I use RPG Maker. It’s amazing!

  10. I’m just gonna copy what Phelan said a few months ago, since I have a the same problem.

    “Hey I’m just trying to do something pretty simple but I’m not sure how to go about it or whether I should just use a different script. I just wanted to restrict the “Limit” skill type from appearing in the command list if no skills in that type were learned or usable, but from what I can see the parameter only works for skill based commands, and not categories. Is this possible with your script, and if not is there another way I can accomplish this?”

  11. Thanks for all the scripts! I am trying to add Class change in battle (using your class scripts) but am having some problems. I know you’re not updating for awhile, but I wonder if you might change your mind? :D

  12. I can’t get this right. Can anyone help?

    I have characters that have a skill command assigned to them. Let’s call it “Steal” for familiarity. When the character equips an accessory, I want that command to disappear and be replaced with a different command skill, let’s call that one “Mug.”

    For the life of me, I cannot get this working correctly. The character always either loses both commands, or permanently has the second command when the accessory is removed. All of the skills tied to commands already have the “command hide until usable” tag attached to them, and the accessory restricts the individual skills and adds the new one. Here is how I have the commands set for the character. I will comment it here so it’s easier to understand.

    “command list”
    skill list # Normal skills always available
    skill 38 # Steal Skill
    “/command list”

    What I need is for that “skill 38” to change based on a piece of equipment. Are we able to alter the command list via Call Script or comments in events? Because the normal way of doing this does not seem to be working.

    • Just popped into my head, but, couldn’t you make “Steal” appear only when usable, then have the accessory with “Mug” seal the skill “Steal”, which would then make it non-usable, and hidden from the command list, while making “Mug” then visible in the command list.

      • Oh, also forgot to say to have the skill “Steal” possibly seal the skill “Mug” so it shows non-usable and invisible on the command list when the accessory is unequipped.

  13. I was wondering if there is any chance of this being made compatible with your ATB battle system add-on? Thank you! :)

  14. I’m sure the solution to this is very simple, but my brain isn’t figuring it out: I downloaded this script because I thought it would let me hide Skill Type 1 (TP-based skills) until the actor had accrued enough TP. But I guess that’s not possible? You can only bring in and hide specific skills, not skill types?

  15. Hey Yanfly, your scripts are great. I was wondering if you can make an eval function in the command hide like the one at your other script? (the Hide Menu Skill) Thanks! :3

  16. Anyway to change the command list by inflicted status? for example: silence actually removing the Magic skill from the list instead of just greying it out.


      # – Edits by Xypher
      # – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
      # Set OVERDRIVE_STYPE to the skill type you want to hide until
      # the actor’s tp is whatever OVERDRIVE_TP is set to.
      # Set this to how much tp is required before the
      # Overdrive skill type appears.
      # STYPES_STATES is an array for skill types you want to be hidden
      # if they are inflicted with a certain state.
      # syntax: STYPES_STATES = [[skill_type, state_id]]
      # Supports multiple entrys
      # eg: STYPES_STATES = [[2, 4], [7, 3], [4, 5], [3, 3]]
      OVERDRIVE_TP = 100

      STYPES_STATES = [[2, 4]]

  17. Hello everyone, I have a simple question… I wanted a command to call a common event, unfortunately when I do this, the game freezes. Someone know why?
    The code edited is this:

    def command_name1



    Thanks to everyone who would be so nice to leave a reply >_<

  18. I want to make an item (an accessery), which when equiped to a character adds a command to the window (sort of like FF6 artifacts) can i do this with this script.

  19. I have no idea what I am doing wrong… I can’t seem to make 3 skill types on my command list hidden. I must be really stupid or something. I’ve tried this…

    Go into battle that command still appears in my list. In my game I called it “Invoke” and I even tried substituting that in with no results. If anyone can help me out and point out where I am going wrong I would be grateful.

    • it blocked my example so I am going to post it minus the brackets…

      command name: SKILL TYPE 2

      command hide until switch: 1

      • Is Invoke a skill type, or a skill?

        If it’s a [b]skill[/b], common errors for this include having the switch used elsewhere, and that elsewhere is turning the switch on, or are forgetting to toggle the switch. Or maybe you have another script calling that skill and placing it on your list (much less likely).

        If it’s a [b]skill type[/b], I’m not sure which notebox you put your tags in, because the skill types don’t support notes, only the skills themselves. You’d have to modify the actual script itself, using Xypher’s post here ( ) as a guideline. You’ll want to change “!=100” to “!$game_switches[1]” (if you want the skill type to show up when the switch is on) or “$game_switches[1]” (if you want the skill type to show up when the switch is off). If you change the switch you want to use, you’ll have to change the number in the brackets ([1]) to whatever number your switch is.

        Here’s hoping it doesn’t eat the brackets, haha.

  20. For those who are interested, I’ve modded this script to include the ability to permanently hide skill types in the battle window. This is useful, for instance, if you’ve created a skill type explicitly for passive effects, and don’t want that skill type to appear in the battle window.

    It uses “HIDE STYPE X”, similar to how the “SKILL TYPE X” command works currently, as well as four additional lines of code in the actual script body. These are marked with comments so you can remove them in the future if they cause problems (which they might, since I have no idea what I’m doing), or fiddle with them to further customize it. I give no promises on efficiency of code; there might be a better way of doing it… but this is how I made it work.

    You can find it at:

  21. I’m having a slight problem with the battle command list. The script works perfect, but when my battle scene comes up and i choose fight.. then i decide i want to autobattle. I go back one command and accidentally hit back one more time and instead of it staying at that command and not going anywhere.. the script crashes :(

    Screenshot Ex:
    Screenshot Ex(2):

    As you see in the first screenshot, I am at the very first battle command, then when i hit back, screenshot 2 shows what happens.

  22. Awesome script, i was really looking for something like this. but i do have a question that i hope someone can help me with.

    Is there anyway to make something like a stance system? Im thinking of making this Rune Knight class which magics change depending on which stance he/she is in. So for example let’s say that we have a command called stance, in there is different stances like chaos, storm, earth and more, if he/she enters chaos stance, then i want her to have the magics x and y in his/her magic list, but if i instead enter storm stance i get the magics a and b in his/her magic list.

    is this possible? and then how?

  23. I would really like for this script to work on an class basis rather than an actor basis. I have a script that lets you change class in the middle of battle. Any way of changing the abilities as well?

    • You can make the commands available be on a class basis if you put the notetags there, if that’s what you mean. If you’re doing that and it just won’t change the commands in battle, I’m not sure what to do about that. You might be able to get it to redraw the window or something, but I’m not sure.

  24. Hi there, is it possible for you to make the script compatible with Victor Sants ATB-System? I’m trying by myself, though I couldn’t do it until now.

  25. It appears as though if you have more than two skill types it doesnt automatically add any of them beyond the 2nd type to your battle commands list. So far all of my actors have either the 1st or 2nd skill type. When I add my next actor with skills of type 3, I cannot get those skills to appear during battle.

  26. Hi, I’m having some kind of problem.

    I set a specific skill as a command, but whenever I click it nothing happens.
    Any idea what might be causing it?

  27. Ok so, suppose you have an actor with a custom command list. You put a string that says

    skill 2

    and it adds Guard. But when you select it, you have to then select the target of the ability, which is silly, because you can only guard yourself. But suppose you make the string to say

    skill defend

    then it automatically knows to proceed without a self confirmation. My question is how to eliminate the self confirmation from custom abilities? Say for example I want a soldiery character to have a beefed-up S.Guard, which I would call with a string like

    skill 59

    where skill ID 059 was the S.Guard I created. That’s great, but the character gets the self confirmation upon selecting S.Guard! Is there any possible way to skip this?

    • wow i actually figured this out. i added

      if !@skill.need_selection? #ADDED THIS
      @skill_window.hide #ADDED THIS
      next_command #ADDED THIS
      $game_temp.battle_aid = nil #ADDED THIS

      to on skill ok

      • Can you be more specific, what live did you change and what script?
        Cause there is no on_skill_ok on command script, but it has on Yanfly Battle Engine but I cant make it work.

      • Nvm, got it to work with Battle Engine:

        def command_use_skill
        @skill = $data_skills[@actor_command_window.current_ext] = @skill
        if $imported[“YEA-BattleEngine”]
        $game_temp.battle_aid = @skill
        if @skill.for_opponent?
        elsif @skill.for_user?
        $game_temp.battle_aid = nil
        elsif @skill.for_friend?
        $game_temp.battle_aid = nil
        if !@skill.need_selection?
        elsif @skill.for_opponent?


    The cooldown never refreshes, does anyone know how to fix this?

  29. I have several commands that have a name that is too long to fit into the in-game battle command menu. Is there a way to increase that window size? I want to fit in “Unexpected Attack”

  30. I want to use this script in combination with the Learn Skill Engine. My Actors startout without any skills whatsoever and should learn all there Skills with JP, and their Command List should reflect that: No Magic-Command without knowing Magic-Type-Skills.
    But when they start without any Magic i can’t teach them Magic in the Learn-Skill-Menu because the don’t have the Magic Command yet.

    And i don’t want them to have a empty command in Battle.
    Anyone got an idea how to do this?

  31. Hi, I have a problem. I can’t get the class option to show up in battle. I re-downloaded the scripts but still nothing. Can someone help me?

  32. how can monster attack when I am agonizing command ?
    I tried to search Active time battles,
    but, yami’s ATB link is broken,
    in Fomar0153’s , monsters don’t attck when I am commanding.
    I want battle tension, someone help me

  33. Okay so when i use a Refresh skill from a healer in the third slot of the party to cure an actor, that is in the fourth slot, of paralysis, and then the cursor automatically moves to the fourth actor, and this error pops up:
    “Script ‘YEA-BattleCommandList’ line 1022: NoMethodError occurred.

    undefined method ‘valid?’ for nil:NilClass”

  34. How do I make a Skill Type (e.g skill type 1 – which is Special in my case or Skill Type 2 -Black Magic) be hidden until the character learns one of the moves? Sorry if this has been asked and answered

  35. This is cool! Though I have one question: I looked through the instructions and couldn’t find anything on this. How do I make a new command, and then have it read a certain line of text?

  36. so i’m not sure what i did wrong…
    how much of the text from the download link do i paste into the script section of the game?

  37. Ok… I have a small problem with adding skills or changing them with equipments.
    If in example taken from FF6 (Locke, Relm and Gogo): Locke’s Steal can be changed to Mug and Relm’s Sketch can be changed to Control with certain equips.
    How to fix this on here? I have tried, but can’t figure it out? States perhaps?

  38. Okay.

    I’m using Yanfly-Item Command Ace in place of VE Item Command because of the latter script’s conflict with Coelcanth’s Crafting Script.

    I’m also using Yanfly-Skill Cost Manager so I can use Throwing Items, however, I don’t want those items showing up in the Inventory in battle because they’re tied to skills only used by those with the ‘Throw’ Skill.

    With Yanfly-Item Command Ace, I have tagged said throwing items with , and would like it if there is a way to make those items NOT show up as usable in battle by just selecting Inventory (what I have decided to redefine Items as).

    Of course, since it seems that Yanfly has vanished off the face of the planet, any sort of response by anyone that would be helpful would be appreciated, since I’m a novice at RGSS Syntax.

    However, I’d like to think that the implementation of this would be simple.
    >Item: x
    >Item Category: String
    So that…
    >Item Category 3
    >Item Category 4

    But by excluding Item Category: Throw
    it doesn’t appear.

    Make sense? Anyone?
    Hell, I figured this would have been done already.

    • With Yanfly-Item Command Ace, I have tagged said throwing items with (Category: Throw), and would like it if there is a way to make those items NOT show up as usable in battle by just selecting Inventory (what I have decided to redefine Items as).

      The formatting syntax here hates these .

      • Hey,

        First, my RPG Maker is in french so I don’t know the exact english terms from the database.

        In the database, in the proprieties of your item, in “availability”, choose the option “Never” so it’s not usable in battle nor in the menu. Or “From the menu”, if for example, you want an Elixir to heal your character outside combat, but to be exclusively used as a trhowing item in combat. Either way, it won’t show up in your inventory while you’re in combat.

        Also, if you want that the player can see if he have the throwing item Y, but not use it from the inventory, you should put the tag in the skill’s notebox that use this item.
        Like this, the skill X won’t show up if the player don’t have the item X.

  39. Hello,

    Does anyone know a scriptcall I could do to change USE_CONFIRM_WINDOW to true or false, while in game ?
    Or how to bind it to a switch ?

  40. Yanfly your scripts are AMAZING!!!! I was wondering if you had a script that allows for options for speeding up and skipping battles for RMVXA? If not, would it be too much trouble to ask for one?

  41. This site is completely gret. I’ve researched these info a whole lot and I view it that is professional,
    easy to understand. I congratulate you because of this article that I’ll tell to people around.
    I request you to visit the page where
    each pupil or scholar can find results grade point average rating.
    All good!

  42. When I combine Battle comman list and Battle Log after 1 turn the party command list’s Battle Log freezes and can’t move in the menu :(

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s