Help - Search - Members - Calendar
Full Version: Easy Battle HUD
RPG RPG Revolution Forums > Scripting > Script Submissions > RGSS2-Submissions
Dark Gaia
Easy Battle HUD
An RPG Maker VX script written by Dark Gaia


Introduction
Sick of seeing the same old boring battle status window in your game? Want something a bit different to the same old list with just your party's names and HP bars? That looks a bit dry, doesn't it?
This simple plug and play script will change that for you, by swapping over your battle status window for a nice looking HUD complete with facesets!
Plus, there's no need to make your own HUD image!

The reason I made this script is simple; I wanted to use EvenAngel's HUD script in my game but lacked the graphical skills to make a HUD image for it, so I decided to make my own HUD script which uses the normal battle window instead of a custom image.

Features
This script has a few notable features:

● Simple to use for newbies. Just paste it in and you're done!
● Includes customisable fonts, which are very easy to set up.
● Compatible with most popular battle systems, including the default battle system and the Tankentai SBS.
● Designed to be compatible with most other battle add ons.
● Displays status condition icons, unlike other HUDs.

Screenshot


Instructions
Simply paste the script under Materials and above Main. Place it under any custom battle systems you have installed.
Then, just set up the font and font size in the first section of the script (if you use custom fonts) and you're done!

Credit me if this is used. Free for use in commercial projects!

Compatibility
This script is designed to work with most popular battle systems and battle addons. The scripts however it won't work with are listed:

● Tankentai ATB (Only turn based variety is supported)
● Overdrive/Limit Break systems (unless the gauge is turned off in battle)
● Scripts which alter the Battle Status window itself.
● EvenAngel's Battle HUD script.

Script

CODE
#----------------------------------------------------------------------------
# Easy Battle HUD v1.3 (for RPG Maker VX *only*)
# -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# Scripted by Dark Gaia (www.darkgaia@live.com.au)
# Based in part upon EvenAngel's Battle HUD
# -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# Insert this script under Materials and above Main. This script is compatible
# with any other script that doesn't modify the Battle Status window.
# **Not to be used with Tankentai ABS battle system**
# -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# Credit if used. Free for use in commercial projects.
#----------------------------------------------------------------------------

  #--------------------------------------------------------------------------
  # ● Set Up Battle HUD
  #--------------------------------------------------------------------------
# You can customise aspects of your battle HUD here.

FONT_SIZE = 20 # Size of the font in the battle window.
STATUS_FONT = ["Verdana"] #Name of the font used in the battle window.

# End of customisation section.

class Window_BattleStatus
  #--------------------------------------------------------------------------
  # ● Initialize
  #--------------------------------------------------------------------------
  def initialize
    super(0, 0, 416, 128)
    @column_max = 4
    refresh
    self.active = false
    self.opacity = 255
    
   def update_cursor              
    self.cursor_rect.empty
  end

  end
  #--------------------------------------------------------------------------
  # ● Window_BattleStatus
  #--------------------------------------------------------------------------
  def draw_item(index)
    x = index * 96
    rect = Rect.new(x, 0, 96, 96)
    self.contents.clear_rect(rect)
    self.contents.font.color = normal_color
    actor = $game_party.members[index]
    
    draw_actor_face(actor, x + 1, -9, 74)
    draw_actor_state(actor, x + 72, WLH * 3)
    self.contents.font.color = hp_color(actor)
    self.contents.font.name = STATUS_FONT
    self.contents.font.size = FONT_SIZE
    draw_actor_hp(actor, x + 2, WLH * 2, 80)
    draw_actor_mp(actor, x + 2, WLH * 3, 70)
    
  end
end
[/size]
leongon
Could you post a screenshot of an empty proyect with your script?
geriand
Click to view attachment

RTP Screenshot

The only flaw with the script is that it doesn't tell you who you are choosing skills for when it's their turn. However this could be easily solved by customising their "skill" name, or potentially editting the script? I am unsure myself as I cannot use RGSS2 to save my life.
SuperMega
This is something I've been waiting to see for years! I'd love to use it, except, I use ATB Takentai AND the overdrive system... There's absolutely no way they will work with it? sad.gif
Dark Gaia
Well, not in this version. You absolutely can't use ATB yet, but you can use Overdrive if you disable the gauge from appearing in battle. I'll work on these things. But the whole point of Overdrive is seeing it in battle...
I must admit though I havent tested it in the ATB system yet, so I'm only guessing it wouldn't work properly but you can try.

@geriand: Actually, I hadn't tested it with the default system. I designed it for Tankentai where that's not a problem since the selected character steps forward when it's their turn. I'll work on making it highlight the chosen character's turn.
ZeroManArmy
I like your screenshot with the icons and what not next to the attacks and stuff.. I though thats what it did.
Here is mine
Dark Gaia
Oh no, the icons are from a different script. It's not publicly available, so contact Woratana if you want it. I just took a screenshot from my current project to use with this thread.
ZeroManArmy
So the icon one is made by wortana? wortana hasnt been on in ages.
wltr3565
@Dark Gaia + SuperMega:
I'm 100% positive that this is 100% compatible with ATB and overdrive scripts since the both scripts didn't mess with Window_BattleStatus class. And specially to Dark Gaia, you mean that the incompatibility is because of the ATB gauges' and overdrive gauges' default layout, right? Mr.Bubbles has the patch for fixing the layout with just a simple copy paste.

For overdrive (KGC):
CODE
# KGC_Overdrive Patch for ziifee's Spin Command
# Paste below Spin Command and KGC_Overdrive scripts.

class Window_BattleStatus < Window_Selectable
  
  OD_GAUGE_X = 0 # Gauge X coordinate
  OD_GAUGE_Y = 0 # Gauge Y coordinate
  OD_GAUGE_WIDTH = 80 # Gauge width
  
  alias od_for_spin_command_patch_draw_item draw_item
  def draw_item(index)
    od_for_spin_command_patch_draw_item(index)

    x = index * 96
    actor = $game_party.members[index]
    draw_actor_od_gauge(actor, x + OD_GAUGE_X, OD_GAUGE_Y, OD_GAUGE_WIDTH)
  end
end


For Enu's ATB:
CODE
#==============================================================================
# ■ module N02   for ATB Ver1.1
#==============================================================================
module N02
  # ATB Gauge Positions.  Overwrites ATB_PARTY_POSITION defined in ATB Config.
  ATB_PARTY_POSITION = [[64,306],[160,306],[256,306],[352,306]]
end


And be sure to alias the draw_item method. Overrides lessens compatibility <_<. Personally, I never knew that you've been working on scripts too, Dark Gaia. Keep on going smile.gif.
SuperMega
QUOTE (wltr3565 @ Jan 16 2010, 12:01 PM) *
@Dark Gaia + SuperMega:
I'm 100% positive that this is 100% compatible with ATB and overdrive scripts since the both scripts didn't mess with Window_BattleStatus class. And specially to Dark Gaia, you mean that the incompatibility is because of the ATB gauges' and overdrive gauges' default layout, right? Mr.Bubbles has the patch for fixing the layout with just a simple copy paste.

For overdrive (KGC):
CODE
# KGC_Overdrive Patch for ziifee's Spin Command
# Paste below Spin Command and KGC_Overdrive scripts.

class Window_BattleStatus < Window_Selectable
  
  OD_GAUGE_X = 0 # Gauge X coordinate
  OD_GAUGE_Y = 0 # Gauge Y coordinate
  OD_GAUGE_WIDTH = 80 # Gauge width
  
  alias od_for_spin_command_patch_draw_item draw_item
  def draw_item(index)
    od_for_spin_command_patch_draw_item(index)

    x = index * 96
    actor = $game_party.members[index]
    draw_actor_od_gauge(actor, x + OD_GAUGE_X, OD_GAUGE_Y, OD_GAUGE_WIDTH)
  end
end


For Enu's ATB:
CODE
#==============================================================================
# ■ module N02   for ATB Ver1.1
#==============================================================================
module N02
  # ATB Gauge Positions.  Overwrites ATB_PARTY_POSITION defined in ATB Config.
  ATB_PARTY_POSITION = [[64,306],[160,306],[256,306],[352,306]]
end


And be sure to alias the draw_item method. Overrides lessens compatibility <_<. Personally, I never knew that you've been working on scripts too, Dark Gaia. Keep on going smile.gif.

Seriously? Would those go above the script and work without flaw too?
wltr3565
Try it. No one complaints in rmvx.net about that patch especially the spin command. You better try, SuperMega.
Xomen
This script doesn't work for me. I copy and paste it, I go into the script menu and I scroll down to where it says "Insert here" between materals and menu, I right click, insert, and copy and paste the code into the script thing... I start up the game, and nothing happens, the battle is still the shitty old way.
Pokebaxker
QUOTE (Dark Gaia @ Jan 13 2010, 10:07 PM) *
Well, not in this version. You absolutely can't use ATB yet, but you can use Overdrive if you disable the gauge from appearing in battle. I'll work on these things. But the whole point of Overdrive is seeing it in battle...
I must admit though I havent tested it in the ATB system yet, so I'm only guessing it wouldn't work properly but you can try.

@geriand: Actually, I hadn't tested it with the default system. I designed it for Tankentai where that's not a problem since the selected character steps forward when it's their turn. I'll work on making it highlight the chosen character's turn.


I'm intrigued about the same thing that geriand asked. I'm new so I'm using the default battle system and would like to get it the cursor back. It's an excellent script by the way!
SuperMega
Okay, so I tried it with the patch. It took awhile, but I've been pretty busy lately...

Anyways, it works fairly good. My only concern is that the overdrive bar is cut off slightly:



Anyway to fix this?

Also, Dark Gaia, would it be possible to adjust the area of the face to use on the screen? It cuts off some of my actor's faces... It's a great script though, and I will use it for major projects. biggrin.gif
wltr3565
@SuperMega:
Just adjust the position of the overdrive bars. It should fix it. And what you wanted made me itchy...
CODE
#----------------------------------------------------------------------------
# Easy Battle HUD v1.3+ (for RPG Maker VX *only*)
# -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# Scripted by Dark Gaia (www.darkgaia@live.com.au)
# Based in part upon EvenAngel's Battle HUD
# -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# Insert this script under Materials and above Main. This script is compatible
# with any other script that doesn't modify the Battle Status window.
# -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# Credit if used. Free for use in commercial projects.
#----------------------------------------------------------------------------

  #--------------------------------------------------------------------------
  # ● Set Up Battle HUD
  #--------------------------------------------------------------------------
# You can customise aspects of your battle HUD here.

FONT_SIZE = 20 # Size of the font in the battle window.
STATUS_FONT = ["Verdana"] #Name of the font used in the battle window.
FACE_POSITION = 0 # Configure here to adjust the face's position to your
                  # fitting.

# End of customisation section.

class Window_BattleStatus
  #--------------------------------------------------------------------------
  # ● Initialize
  #--------------------------------------------------------------------------
  def initialize
    super(0, 0, 416, 128)
    @column_max = 4
    refresh
    self.active = false
    self.opacity = 255
    
   def update_cursor              
    self.cursor_rect.empty
  end

  end
  #--------------------------------------------------------------------------
  # ● Window_BattleStatus
  #--------------------------------------------------------------------------
  def draw_item(index)
    x = index * 96
    rect = Rect.new(x, 0, 96, 96)
    self.contents.clear_rect(rect)
    self.contents.font.color = normal_color
    actor = $game_party.members[index]
    
    draw_actor_face(actor, x + FACE_POSITION, -9, 74)
    draw_actor_state(actor, x + 72, WLH * 3)
    self.contents.font.color = hp_color(actor)
    self.contents.font.name = STATUS_FONT
    self.contents.font.size = FONT_SIZE
    draw_actor_hp(actor, x + 2, WLH * 2, 80)
    draw_actor_mp(actor, x + 2, WLH * 3, 70)
    
  end
end

Now more adjustments for configuring the face position is possible. Don't make it overlap with the window though!
I don't desire credits.
Leggy
Your screenshot looks beautiful~! I use a Side-Battle Script made by Claimh, so I guess it should work. I'm gonna give it a try; Good job!

*EDIT*

It works fine ^^ I just agree with geriand; As you suggested a flashing box over the character would help for the other side-battle scripts where the characters don't step forward. Until then though, everything else is perfect!
SuperMega
QUOTE (wltr3565 @ Jan 26 2010, 08:12 AM) *
@SuperMega:
Just adjust the position of the overdrive bars. It should fix it. And what you wanted made me itchy...
CODE
#----------------------------------------------------------------------------
# Easy Battle HUD v1.3+ (for RPG Maker VX *only*)
# -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# Scripted by Dark Gaia (www.darkgaia@live.com.au)
# Based in part upon EvenAngel's Battle HUD
# -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# Insert this script under Materials and above Main. This script is compatible
# with any other script that doesn't modify the Battle Status window.
# -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# Credit if used. Free for use in commercial projects.
#----------------------------------------------------------------------------

  #--------------------------------------------------------------------------
  # — Set Up Battle HUD
  #--------------------------------------------------------------------------
# You can customise aspects of your battle HUD here.

FONT_SIZE = 20 # Size of the font in the battle window.
STATUS_FONT = ["Verdana"] #Name of the font used in the battle window.
FACE_POSITION = 0 # Configure here to adjust the face's position to your
                  # fitting.

# End of customisation section.

class Window_BattleStatus
  #--------------------------------------------------------------------------
  # — Initialize
  #--------------------------------------------------------------------------
  def initialize
    super(0, 0, 416, 128)
    @column_max = 4
    refresh
    self.active = false
    self.opacity = 255
    
   def update_cursor              
    self.cursor_rect.empty
  end

  end
  #--------------------------------------------------------------------------
  # — Window_BattleStatus
  #--------------------------------------------------------------------------
  def draw_item(index)
    x = index * 96
    rect = Rect.new(x, 0, 96, 96)
    self.contents.clear_rect(rect)
    self.contents.font.color = normal_color
    actor = $game_party.members[index]
    
    draw_actor_face(actor, x + FACE_POSITION, -9, 74)
    draw_actor_state(actor, x + 72, WLH * 3)
    self.contents.font.color = hp_color(actor)
    self.contents.font.name = STATUS_FONT
    self.contents.font.size = FONT_SIZE
    draw_actor_hp(actor, x + 2, WLH * 2, 80)
    draw_actor_mp(actor, x + 2, WLH * 3, 70)
    
  end
end

Now more adjustments for configuring the face position is possible. Don't make it overlap with the window though!
I don't desire credits.

Sweet, thanks wltr3565! I got it all working perfect! biggrin.gif
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2013 Invision Power Services, Inc.