CUSTOM battle status and command windows

Today I unleash…

CUSTOM battle status and command windows


Configuration script | Core script | Molegato’s functions page

And when I say custom, I say customizable as hell. As long as your idea for the battle windows and layouts doesnt require things very far from the core mechanics of rpgmaker vx ace, this will be able to do it.

What are the things it has?


  • Party command window
    • Custom windowskin
    • Custom tone
    • Custom opacity
    • Custom width
    • Custom maximum number of commands to show at once (requering scroll if there’re more)
    • If its position is on the left or right of the screen
    • X position (relative to it’s place)
    • Y position (relative to it’s place)
    • Custom font size
    • Use icons for the commands
      • You have to set the icon index for every command. By default you only need two values, for fight and flee, but if you have any more custom commands, just adding more values to the option should work just fine.
  • Actor command window
    • Custom windowskin
    • Custom tone
    • Custom opacity
    • Custom width
    • Custom maximum number of commands to show at once (requering scroll if there’re more)
    • If its position is on the left or right of the screen
    • X position (relative to it’s place)
    • Y position (relative to it’s place)
    • Custom font size
    • Use icons for the commands
      • You have to set the default icon index for attack and defense, and the icon index for item. Also you’ll have to give a list of icon indexes for every skill type.
      • You can enable the option for replacing the attack icon for the icon of the currently equiped weapon.
      • You can set for each actor via tags a custom icon for attack and defense.
        • <attack_icon: 20>
        • <guard_icon: 20>
      • If unarmed, or the option for weapons is not enabled, it will use the actor’s custom attack icon, and only if the actor has no defined custom attack icon, it’ll use the default one that you setted just a couple lines up here.
  • Help window
    • Custom Y position
    • Custom height
    • Custom windowskin
    • Custom tone
    • Custom opacity
    • Custom font size
  • Skill selection window
    • Custom X position
    • Custom Y position
    • Custom width
    • Custom height
    • Custom windowskin
    • Custom tone
    • Custom opacity
    • Custom font size
    • Custom number of columns
  • Item selection window
    • Pretty much the same as skill selection. The values are independent, you can set different options for each one.
  • Enemy selection window
    • Custom X position
    • Custom Y position
    • Custom Width
    • Custom Height
    • Custom windowskin
    • Custom tone
    • Custom opacity
    • Custom number of columns
    • Enable the option of using a enemy cursor instead of an enemy selection window
      • Note: while using this option, most of the values mentioned before for this window wont have effect, since there’s no window to apply the settings to.
      • Set if the directions used to switch enemies are the vertical ones, or if not, the horizontal.
      • The name for the cursor graphic
      • X center of the cursor image, since an arrow pointing to the left is not the same as a finger pointing up.
      • Y center of the cursor image.
      • Reverse or not the order of the enemies. (just in case your BS shows them in a different order than default, as my Basimple BS does)
      • Enable or not enemy’s name
        • Set X origin for enemy name
        • Set Y origin for enemy name
        • Set width for enemy name
        • Set the alignment for enemy name (0 = left, 1 = center, 2 = right)
        • Set a custom name color for individual enemies via note tags (<name_color: number>)
  • Status window (Where it shines most)
    • Custom windowskin
    • Custom tone
    • Custom opacity
    • Custom width
    • Custom height
    • Custom X position
    • Custom Y position
    • Custom font size
    • Enable/disable the horizontal panning the default battle system has.
    • Center or not the status window during turn actions
    • Custom X position during turns in case it doesnt center
    • Arrange Horizontally or, if not, vertically the actor information (columns vs. rows)
    • Center actor columns (only if arranged horizontally)
    • And the possibility to customize how the information of the actors is shown:
      • X and Y position for the actors Name
      • X and Y position for the status icons
      • Width for the icon list
      • X and Y position for the hp bar
      • Width for the hp bar
      • X and Y position for the mp bar
      • Width for the mp bar
      • X and Y position for the tp bar
      • Width for the tp bar
      • Draw actor level or not
        • X and Y position for the actor’s level
      • Draw actor’s face or not
        • X and Y position for the actor’s face
        • Scale factor for the actor’s face
      • Draw actor’s character or not
        • X and Y position for actor’s character
      • Draw or not an image below the actor’s face and character (great for frames)
        • Name of the image file
        • X and Y position of the image
        • Can set a custom image for individual actors via note tags (<custom_back_image: name>)
      • Draw or not an image over the actor’s face and character (using the two images can make awesome effects if you know what you’re doing)
        • Name of the image file
        • X and Y position of the image
        • Can set a custom image for individual actors via note tags(<custom_front_image: name>)
      • Note: all the positions under the ‘Actor information’ sections are relative to the actor’s place on the status window, wich depends on their place in the party, the size of the window, and if it’s arranged horizontal or vertically.

Now, that’s a damn big bunch of options. I want to warn the eventual random newbie that stumbles upon it, that having that many options for design is a responsability. If you just turn EVERYTHING on and place it wherever you can without planning, the battle interface will give a headache to whoever that plays. ’nuff said.

WARNING: For this to work you’ll have to have also my personal ‘molegato functions’ script, V1 or better.

-What do we have outside my dark dark dark confinement?

  • Yanfly gives us the target manager. Really nice thing to have, if you seek for advanced targetting modes, instead of one-or-all. Another basic we get covered in ace.
  • Yami continues making the CTB, keep it going, me wants to see it ready and running. Seriously, I’m kind of curuous.
  • Critical Miss is still on (surprising knowing how fast I get low on steam). Hooray for shameles self advertising!

61 thoughts on “CUSTOM battle status and command windows

  1. Mitchi says:

    Wow. Lot of customs there. Can you have like custom images, too, in exchange for windowskin? (or inside the window)

  2. molegato says:

    Well, it’d be a bit redundant, since you can do the same by making a windowskin graphic with that image as background. Anyway someday I’ll make an updated version. I dream of sprite based customizable bars *o*

  3. dartdaman says:

    you should make it were you can set an image to be shown for each player

  4. molegato says:

    Actually thought of that while making the script, but i thought nobody would use that feature anyway…
    Well, something else added for the list of things for v2. Thanks for the suggestion!

  5. […] info on the script’s post! Share this:TwitterFacebookLike this:LikeBe the first to like this post. This entry was posted in […]

  6. dartdaman says:

    awesome you updated it.
    by the way you need to fix the link to the core script

  7. dartdaman says:

    is there a way to change were the status window is placed on the y axis

    • molegato says:

      Well, the status window is kind of stuck on the low part of the screen for now (I just forgot about that) but if you plan on using an invisible window and images instead, you can just make it as tall as the screen itself, and place the stuff wherever you want.

      • dartdaman says:

        well i was wanting to move the status window down by 12 pixels because the bottom of the custom image is 12 pixels above the bottom of the screen

  8. dartdaman says:

    sorry for the double post but I have a few questions

    1. can you make a compatibility patch were I can change the location of the ATB gauge for Yami’s Classical Active Time Battle.

    2. how can I remove the status window cursor.

    3. how can I completely remove the party command window.

    • molegato says:

      For the compatibility patch, well, dont know, I’ll have to take a look at that script, because I didn’t even try it out yet.
      Why would you remove the status window cursor? You need it for knowing wich actor are you selecting command for, and you need it when you select an actor as a target for a healing skill or item. If there’s a reason for removing the cursor rectangle anyway, just use a windowskin without rectangle cursor for that window.
      And for removing the party command window, I think there’re already scripts for that, and mine should be compatible with them, give it a try, we’ll see how it works.

      Also, about that 12 pixels above the bottom of the screen… That’s because of the window border. So ya, I should add the custom Y position for the status window, as I cannot think of any other way to bypass that problem. Maybe tomorrow, If I get the time to do so.

  9. […] somehow, i forgot to add the first time as an option. That’s about it, more details at the script’s original post. Share this:TwitterFacebookLike this:LikeBe the first to like this post. This entry was posted in […]

  10. renegat92 says:

    Excellent script. I don’t know if i did everything right but i can’t change the Y values of party command window and the actor command window… is there a way to fix it?

    • molegato says:

      Probably you still have the old version, try re-downloading and re-pasting it. If it still happens, well, that’s odd, since It worked last time I checked. If that happens, I’ll see what to do to fix it.

  11. renegat92 says:

    I’m sorry it happened again with the 1.2 version 😦

    • molegato says:

      Aw…! Then it must be my fault then. I’ll check it. Don’t worry, I’m on it.
      Edit: It actually works here. Seriously, I just raised the status window to the middle of the screen.
      I thought maybe I didn’t upload correctly the script last time, so I re-uploaded the version I just tried.
      Anyway, from what you’re telling me, it can be a compatibility issue. Try changing the order of the scripts you’re using, or if you’re using any popular battle system too, tell me about it, so I can work on a compatibility patch.

      • renegat92 says:

        IIt works only with the status window but not with the party command window and the actor command window. Maybe i wasn’t clear enough. All my custom scripts are below main for the moment (i wanted to figure out exactly how your script works). And this is how i configured it just for testing
        “PARTY_COMMAND_WINDOW = ‘Window’
        PARTY_COMMAND_TONE = [0,0,255,255]
        PARTY_COMMAND_X = 0
        PARTY_COMMAND_Y = 128
        PARTY_COMMAND_FONT_SIZE = Font.default_size
        PARTY_COMMAND_ICONS = [3,4]

  12. molegato says:

    Ok, so you meant the party command window. I thought you referred to the status window. It was a bug indeed, and I just fixed it. Download again the script, and remember that the positions are relative, not absolute, so 0,0 is on the corner you selected with the other options.
    Sorry for the bug, and thanks for pointing it out!

  13. elcrom says:

    bug: the help window shows the skill description in one line only. if skill have 2 lines of descripcion it shows in one. any help?

    • molegato says:

      That’s more an RPGmakerVX Ace bug than a bug in this script. You need to add ‘\n’ at the end of the lines, instead of pressing enter. Annoying as hell, I know.

  14. Hytporsche69 says:

    Okay, I have a problem with the custom battle status. So, I decided to make a fresh project and put in your scripts and not touch them at all. Here is what I keep getting..

    In the image, i show you that i am running the barebones and shouldnt be having any problems. But, it continues to show this bug? I hope you can help me out.. Thanks.

    • molegato says:

      Is your problem the fact that the image used as cursor is the system image? Because there’s a configuration value on the config module to change how’s called the image file used for the cursor.
      CURSOR_NAME = 'Window'
      Instead of ‘Window’, write there the name of an image (should be on the Graphics/System folder) and that image will be displayed. An arrow, crosshair, finger or whatever you want.
      To change the point in wich the cursor will center, change this pair of values

      CURSOR_OX = 0
      CURSOR_OY = 0

      As they’re both set to 0, the up-left corner of the image will be used, but maybe you want to change them. Hope I got the problem right!
      It’s not a bug, just an option with an odd default value πŸ™‚

      • Hytporsche69 says:

        Okay, I get what your saying. Anyway you could toss me over a cursor image and see if that fixes my problem? Since I don’t have one and its using ‘Window”, i’m not really sure what the cursor image is suppose to look like…

      • molegato says:

        There, just googled it. Just showing it as an example, to make clearer what the cursor is supposed to be. Keep in mind the OX and OY, as I said before, and it can look awesome!

  15. Hytporsche69 says:

    That’s what I was needing? Ha. I feel embarrassed now. I basically through out the target window and stacked another script with yours and its perfect πŸ™‚

  16. AnonEmus says:

    Decided to try this script, but this error kept popping:
    And i havent even touched my windows_base script yet.

    any workaround?

    • molegato says:

      Sorry, been out! Well that’s a strange error. Do you have molegato functions core script?
      Not sure it that could fix the problem though, I don’t remember having that method.
      Probably is a compatibility issue, do you have anything else that could affect the battle window layout?

  17. Preston Russell says:

    Hello molegato, I love your script, but I have a small question. Before I installed your script I had my skill descriptions showing variables in them. Example. Skill1 Description = Dose \V[1] Damage. After I installed it the skill descriptions are not showing the variable it self, only the \V[1].
    I was wondering I could make the skill descriptions show variables and colors again. Thank you so much for this awesome script. Hope to hear from you soon.

    • molegato says:

      Hi! I’m glad that you’re using my scripts, but this one is kind of the black sheep of the family ^^U
      The lack of message commands on the description windows wasn’t an issue for me, though, as I just modified the place of the default windows, rather than creating my own ones. Either way I’m sorry to say that I can’t have a look at it at the moment (my computer is still dead, I’m still using my work computer, and I pretty much left rpgmaker to learn unity… )
      I’d recommend to try and modify the default hud yourself, but I’m aware that I made this script in the first place so people didn’t have to…
      Well, I hope you’re as understanding as I haven’t been useful. Sorry for the issues!

      • Preston Russell says:

        All good I actually figured this out myself. All I did was comment out the refresh function in the custom help window class =D. I do plan to do this my self after a while, just have a lot different things I want to do and only 24 hours in the day T_T. It’s too bad that you left rpg maker, but I defiantly understand. I’ll probably do the same thing after I get a game made. Thanks for the quick response though. Good Luck.

  18. xearothxDrahcir says:

    If this is a bit of a necro, I apologize, but is there any way there could be an ATB gauge added into it?

    • molegato says:

      Hi! Allways happy to read a comment, so no need to worry about the necro thing.
      Anyway this script was thought for use with the default battle system, so for that you’d have to modify the part of the code that draws the status window. I’m not big in rpgmaker since a while and I never was very fond on this particular script, so I guess your options are modifying it, or using another one.
      You could even overwrite that particular part with that of another script.
      Hope I’m at least of some help, and sorry for the awful mess that is this particular script!

  19. xDrahcir says:

    No problem. I found out how to include it, just had to add a couple of lines into the script.

  20. bloodyliao says:

    Hi,molegato .
    Your CUSTOM BATTLE STATUS is nice, yet it is not compatible with Yanfly Engine Ace – Ace Battle Engine v1.22, no matter where I put it–below or above. The skill menu as well as item menu seems out of control, taking up the whole screen instead of being cusomized. Could you pleas fix this?

    • molegato says:

      Hi! Custom BattleStatus is mostly incompatible with any other script that changes the HUD, because both try and rewrite it their own way. I don’t know how Yanfly Battle Engine works inside right now (Didn’t take a look yet) but considering the amount of tweaks it makes to the HUD, I’m even surprised that a good part of the menus work well.
      If you want, try and delete the part of custom battle status that focuses on the item menu, so that it defaults to yanfly’s.
      Cannot test it right now, but maybe that’ll do the trick.

      • bloodyliao says:

        The error still exists.Sometimes it seems okay, yet after a while or several entering and exiting the menu, the skill menu as well as the item menu would take over the whole screen.

      • molegato says:

        Hm… Don’t know what to say. Probably there’s still some traces of the item/skill menus in the custom battlestatus script. Both skills and item windows inherit from the same. Try deleting that one too, maybe?

  21. Roman Gorn says:

    Is it possible to customize the position of each individual bar? Like, have the HP bar of actor 1 be alligned to the left and the HP bar of actor 2 alligned to the right? I don’t want to change the position of the HP bar of one actor and at the same time changing everyone else’s as well…

    • molegato says:

      Hi! I’m sorry but the healthbar position is not one thing you can change for any specific actor.
      This script allows you to arrange your menus and windows anywhere, but all actors share the same layout.
      You can do two things:
      1- Create a custom script
      2- Modify this one so that second actor justifies its bar to the right. I cannot provide further assistance right now, but If you decide to take on the second option and have any doubt about where to add your custom code, just tell me.

  22. CleanFeet says:

    Hey molegato,

    First off, thank you so much for this script – it’s been extremely helpful with what I’m working on! But there are a couple things I haven’t been able to figure out…

    First off, I’m trying to skip right past the “Party Command Window”, so the player never even sees the option to Fight or Escape (they’ll only be fighting, not able to run).

    Secondly, I’m trying to delete the “Items” option from the “Actor Command Window”. Is there a way to do this?

    Again, thank you so much for the script!

    • molegato says:

      Hi! Those things are out of the scope of this script. Good news is: if you change them in the normal scripts, this script should work nicely on top of those changes.
      Do you have any script-savyy friend who can make that change for you?

      • CleenFeet says:

        No, but I can manage something if pointed in the right direction. ^^

      • molegato says:

        Let’s see… on the Window_ActorCommand script, go to the part that says

        def make_command_list
        return unless @actor

        and comment out the ‘add_item_command’ line.
        And for the flee/fight window… Well that needs a bit more of changing.
        In Scene_Battle, delete lines 293 and 294

        Change line 476 (if you already deleted those lines, it will be 474) from ‘start_party_command_selection’ to ‘start_actor_command_selection’.
        Do the same on line 502 (or 500, you know).
        Remember! Copy the whole scripts and paste them down like if they where custom ones, and modify the copy you placed there. They’ll overwrite the originals, but if you mess up, you still have the originals up there.
        (I didn’t try any of this right now, but it should work I guess)

        nah, I’m trying it right now and it has more to it. Man I forgot how the battle system works inside.

  23. CleenFeet says:

    Oh man, we got halfway, which is huge. The item selection is now gone. However when i try and disable the party_command_window, i recieved this error:

    “Script ‘NEW Scene_Battle’ line 330: NoMethodError occurred.
    undefined method ‘index’ for nil:NilClass”

    … part of this bit of code:

    # * Start Actor Command Selection
    def start_actor_command_selection

    any ideas? and thanks for the help so far!

  24. CleenFeet says:

    oh, and “” was like 330.

    • molegato says:

      Yeah bypassing the party command window is tricky because a lot of stuff is being setted up on that point.It would probably being more than a few lines of code worth editing. Well, if I get to it I’ll tell you.

  25. Limp3324 says:

    I love the customization of your script, however I’m having some trouble with skill targeting. Skills that are “Self Only” or “All Allies” are for some reason targetable on the window. Here is a link to what I am talking about: The “Self Repair” skill will only ever heal the user, but for some reason I can target the other 2 characters in the window when I go to use it (the same thing happens for all ally skills).
    Any help would be great!

    • molegato says:

      Hi! I’m sorry for the bug. I didn’t have idea until now. Unfortunately I moved away from rpgmaker and started working with unity and other engines, so right now my old code looks like a stranger to me. If both the use of this script and the ‘target the user’ skills are indispensable, I would suggest to event the effect of such skill, unless you have some sort of dynamic skill equiping setup it should be easy to do. If that doesn’t work with you and can’t renounce to that skill, you still have the luna engine, that Archeia Nessia has made. It has many more options than this old script, but is a paid package. Also the opinions about how easy to use is it are mixed, but I never got the chance to try it myself.
      I hope this answer has been at least partially useful. 😦

      • Limp3324 says:

        Not a problem, I’ve been more and more tempted to switch to Unity as well.
        I managed to fix the problem, don’t know if it’ll work for everyone, but it works for the scripts I’m currently using.

        class Window_BattleEnemy < Window_Selectable

        # overwrite method: initialize
        def initialize(info_viewport)
        super(0, Graphics.height, window_width, fitting_height(1))
        self.visible = false
        @info_viewport = info_viewport

        # overwrite method: col_max
        def col_max; return item_max; end

        # overwrite method: show
        def show

        # new method: create_flags
        def create_flags
        return if $game_temp.battle_aid.nil?
        if $game_temp.battle_aid.need_selection?
        elsif $game_temp.battle_aid.for_all?
        elsif $game_temp.battle_aid.for_random?

        # new method: set_flag
        def set_select_flag(flag)
        @select_flag = flag
        case @select_flag
        when :all, :random
        @cursor_all = true
        @cursor_all = false

        # new method: select_all?
        def select_all?
        return true if @select_flag == :all
        return true if @select_flag == :random
        return false

        # overwrite method: update_cursor
        def update_cursor
        if @cursor_all
        cursor_rect.set(0, 0, contents.width, contents.height)
        self.top_row = 0
        elsif @index < 0

        # overwrite method: cursor_movable?
        def cursor_movable?
        return false if @select_flag == :user
        return super

        # overwrite method: current_item_enabled?
        def current_item_enabled?
        return true if $game_temp.battle_aid.nil?
        if $game_temp.battle_aid.need_selection?
        member = $game_party.battle_members[@index]
        return member.dead? if $game_temp.battle_aid.for_dead_friend?
        elsif $game_temp.battle_aid.for_dead_friend?
        for member in $game_party.battle_members
        return true if member.dead?
        return false
        return true

        # overwrite method: enemy
        def enemy; @data[index]; end

        # overwrite method: refresh
        def refresh

        # overwrite method: make_item_list
        def make_item_list
        @data = $game_troop.alive_members
        @data.sort! { |a,b| a.screen_x b.screen_x }

        # overwrite method: draw_item
        def draw_item(index); return; end

        # overwrite method: update
        def update
        return unless active
        enemy.sprite_effect_type = :whiten
        return unless select_all?
        for enemy in $game_troop.alive_members
        enemy.sprite_effect_type = :whiten

        end # Window_BattleEnemy

      • molegato says:

        Ey! Thanks for the fix. I’ll be sure to update the file with the changes.
        If you do switch to unity and need newbie advice, you can come to me. I’m not a pro, but I’ve been using it since version 2. πŸ™‚

  26. Cymiril says:

    Hey, Molegato… First, thank you for this script, it’s working great with my giant list of scripts, no compatibility issues! I realize you said you’ve moved away from RPG Maker, but I was wondering if you could help me with a small problem.
    I can’t find an option to decrease the spacing between each actor’s name/HP/MP for the vertical setup in the Battle Status Window. I’m using Victor’s ATB, and that’s where the “TIME” bars are coming from. I added a “def line_height” to Window_BattleStatus, the TIME bars respond to the line height change, but your script doesn’t. I also have 6 party members from Yanfly Party System, and none of the “def visible_line_number” or “fitting_height(visible_line_number)’ commands work.


    • Cymiril says:

      Forgot to add this bit of info – In a brand new project with just your 3 scripts running, the vertical spacing is the same, even for 4 party members. So the issue I’m having isn’t related to any of my other scripts, I just can’t find a way to push the rows vertically closer.

      • molegato says:

        Ow I’m sorry to hear that. This script is really giving me headaches almost weekly! :’D
        It’s the least mantenible pice of code I’ve ever butt-typed… I don’t remember the details, but probably it’s already at its minimum. That window draws components in an automatic layout-kind rather than by-pixel, so some values like those were not implemented. 😦
        Maybe you can make more separated the time bars?
        Again, I’m sorry about not being of much help. 😦

  27. Cymiril says:

    No worries, dude. If I can’t get it to look the way I want, I’ll just try something else! I don’t get hung up on specific compatibility.
    I just thought it was worth a shot asking, since the basic
    “def visible_line_number” will use just enough space to display however many characters you tell it to return, but doesn’t work with your config. No big deal, and I will keep your script in mind, just in case. πŸ™‚

  28. Hello! I am loving the script, works perfectly for my game! I was wondering if there was a way to adjust the settings so that all my battle menus match the same color as my normal menus. I don’t know scripting well at all, I just know you can set the color tone for each window and Idk what to put to get them to match the normal window tones.

    I’m planning on including Yanfly’s System Options and would love for the players to be able to adjust the color to what they want and it would be nice if the battle menus adjusted in sync. If not, no biggie, just less options for the players.

    • molegato says:

      Aw, that’s something I wish I had thought of in its time. 😦
      Sadly I’ve retired from rpgmaker and now I only fix the worst bugs so that nobody has real problems with my scripts.
      If you don’t want a big dissonance in interface a trick would be to have a very light and specific battle UI, different from normal windows. (Think Persona or Final Fantasy X). In fact most elements could do just well without a background. It’s just an idea, and in the end is all up to your likings.
      Sorry for not being of more help!

      • Thanks for your reply! That’s okay, it’s still a great script! Now that I know it won’t match the settings I can at least firm up the battle UI completely. In the end, this project might end up moving to the new RPG Maker when it comes out. It’s more of a demo now to get ideas and gameplay down to show some people I’m planning on inviting to work on the project with me. You’ve been a great help! I will definitely look into picking a specific background for my battle windows, the important thing is that it works perfectly for my setup. I might just cut off the window color changer option or find a specific background style like you suggested. Thanks again! =)

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 )

Google+ photo

You are commenting using your Google+ 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