The RPG Maker Resource Kit

RMRK RPG Maker Creation => RPG Maker General => General Scripting => Topic started by: Snailer on December 30, 2006, 12:45:10 PM

Title: See Better difference in HP and SP ?
Post by: Snailer on December 30, 2006, 12:45:10 PM
I'm looking for a script that shows better HP and SP because its hard to read them when its white..
And I don't know how to script so does anybody have a better script for HP and SP ??
PLEASE !!!
Title: Re: Better HP and SP ?
Post by: Snailer on December 30, 2006, 05:53:00 PM
Bump..  :'(
Title: Re: See Better difference in HP and SP ?
Post by: feildmaster on December 30, 2006, 06:17:21 PM
you could use blizzards add ons and put the shadow text on... but that doesn't change the colors...
I'd tell you how to change color but I don't have rpg maker on this comp...
Title: Re: See Better difference in HP and SP ?
Post by: Snailer on December 30, 2006, 06:48:15 PM
Something else is also good but I need something that let the HP and SP and name come out very good maybe bars or something like that but white doesn't work with my battler ..
Title: Re: See Better difference in HP and SP ?
Post by: Snailer on December 30, 2006, 11:19:23 PM
Bump again  :'(
Title: Re: See Better difference in HP and SP ?
Post by: feildmaster on December 30, 2006, 11:33:18 PM
bars are...

credits to DerVVulfman (didn't feel like FINDING link...) this works... n u can change the colors and stuff for em...
[spoiler]#==============================================================================
# ** COGWHEEL Plug 'n' Play Menu Bars (based on Syvkal's revisions)
#-------------------------------------------------------------------------------
# by DerVVulfman
# Version 1.1
# 06-28-06
#------------------------------------------------------------------------------
# This is a revision of Cogwheel's famous bargraph system, now set as an inser-
# table script to display bargraphs behind values in the menus.
#
# To prevent conflict with Cogwheel's RTAB system, two key definitions have been
# renamed: "gauge_rect" to "cw_gauge" & "gradation_rect" to "cw_grad_rect."
#
#
# Affected Systems:  Main Menu
#                    Skill Menu
#                    Status Menu
#                    Hero Select Menu (for Items & Skills)
#                    Equipment Menu
#                    BattleStatus Menu
#                   
# The system uses a series of CONSTANTS that can be edited here.  They control
# the basic gauge colors and the manner the gauge is filled:

  # Gauge Border Colors
    COG_COLOR1 = Color.new(0, 0, 0, 192)         # Outer Border
    COG_COLOR2 = Color.new(255, 255, 192, 192)   # Inner Border
  # Gauge Empty filler
    COG_COLOR3 = Color.new(0, 0, 0, 192)         # Half of Inner Shading
    COG_COLOR4 = Color.new(64, 0, 0, 192)        # Half of Inner Shading
  # Alignment
    COG_ALIGN1 = 1    # Type 1: (0: Left / 1: Center / 2: Right Justify)
    COG_ALIGN2 = 2    # Type 2: (0: Upper / 1: Central / 2: Lower)
    COG_ALIGN3 = 0    # FILL ALIGNMENT (0: Left Justify / 1: Right Justify)
  # Gauge Settings
    COG_GRADE1 = 2    # EMPTY  gauge (0: Side / 1: Vertical / 2: Slanted)
    COG_GRADE2 = 1    # FILLER gauge (0: Side / 1: Vertical / 2: Slanted)


#==============================================================================
# ** Game_Actor
#------------------------------------------------------------------------------
#  This class handles the actor. It's used within the Game_Actors class
#  ($game_actors) and refers to the Game_Party class ($game_party).
#==============================================================================

class Game_Actor < Game_Battler
  #--------------------------------------------------------------------------
  # * Get EXP - numeric for calculations
  #-------------------------------------------------------------------------- 
  def now_exp
   return @exp - @exp_list[@level]
  end
  #--------------------------------------------------------------------------
  # * Get Next Level EXP - numeric for calculations
  #--------------------------------------------------------------------------
  def next_exp
   return @exp_list[@level+1] > 0 ? @exp_list[@level+1] - @exp_list[@level] : 0
  end
  #--------------------------------------------------------------------------
  # * End of Class
  #--------------------------------------------------------------------------
end


#==============================================================================
# ** Window_Base
#------------------------------------------------------------------------------
#  This class is for all in-game windows.
#==============================================================================

class Window_Base < Window
 
 
  #--------------------------------------------------------------------------
  # * Draw EXP w/ Bars
  #     actor : actor
  #     x     : draw spot x-coordinate
  #     y     : draw spot y-coordinate
  #--------------------------------------------------------------------------
  alias draw_actor_exp_original draw_actor_exp
  def draw_actor_exp(actor, x, y, width = 204)
    if actor.next_exp != 0
      rate = actor.now_exp.to_f / actor.next_exp
    else
      rate = 1
    end
    # Calculate Bar Gradiation
    if actor.next_exp != 0
      rate = actor.now_exp.to_f / actor.next_exp
    else
      rate = 1
    end
    # Adjust Bar Color based on Gradiation
    color1 = Color.new(80 - 24 * rate, 80 * rate, 14 * rate, 192)
    color2 = Color.new(100 - 72 * rate, 240 * rate, 62 * rate, 192)
    # Calculate Bar Width
    if actor.next_exp != 0
      exp = width * actor.now_exp / actor.next_exp
    else
      exp = width
    end
    # Draw Bar Graph
    cw_gauge(x, y + 25, width, 10, exp, color1, color2)
    # Call original EXP               
    draw_actor_exp_original(actor, x, y)
  end 
 
  #--------------------------------------------------------------------------
  # * Draw HP w/ Bars
  #     actor : actor
  #     x     : draw spot x-coordinate
  #     y     : draw spot y-coordinate
  #     width : draw spot width
  #--------------------------------------------------------------------------
  alias draw_actor_hp_original draw_actor_hp
  def draw_actor_hp(actor, x, y, width = 144)
    # Calculate Bar Gradiation
    if actor.maxhp != 0
      rate = actor.hp.to_f / actor.maxhp
    else
      rate = 0
    end
    # Adjust Bar Color based on Gradiation
    color1 = Color.new(216 - 24 * rate, 0 * rate, 0 * rate, 192)
    color2 = Color.new(255 * rate, 165 * rate, 0 * rate, 192)
    # Calculate Bar Width
    if actor.maxhp != 0
      hp = width * actor.hp / actor.maxhp
    else
      hp = 0
    end
    # Draw Bar Graph
    cw_gauge(x, y + 25, width, 10, hp, color1, color2)
    # Call original HP
    draw_actor_hp_original(actor, x, y, width)
  end

  #--------------------------------------------------------------------------
  # * Draw SP w/ Bars
  #     actor : actor
  #     x     : draw spot x-coordinate
  #     y     : draw spot y-coordinate
  #     width : draw spot width
  #--------------------------------------------------------------------------
  alias draw_actor_sp_original draw_actor_sp
  def draw_actor_sp(actor, x, y, width = 144)
    # Calculate Bar Gradiation
    if actor.maxsp != 0
      rate = actor.sp.to_f / actor.maxsp
    else
      rate = 1
    end 
    # Adjust Bar Color based on Gradiation
    color1 = Color.new(14 * rate, 80 - 24 * rate, 80 * rate, 192)
    color2 = Color.new(62 * rate, 240 - 72 * rate, 240 * rate, 192)
    # Calculate Bar Width
    if actor.maxsp != 0
      sp = width * actor.sp / actor.maxsp
    else
      sp = width 
    end
    # Draw Bar Graph
    cw_gauge(x + width * 0 / 100, y + 25, width, 10, sp, color1, color2)
    # Call original SP               
    draw_actor_sp_original(actor, x, y, width)
  end

  #--------------------------------------------------------------------------
  # * Draw Parameter w/ Bars
  #     actor : actor
  #     x     : draw spot x-coordinate
  #     y     : draw spot y-coordinate
  #     type  : parameter type (0-6)
  #--------------------------------------------------------------------------
  alias draw_actor_parameter_original draw_actor_parameter
  def draw_actor_parameter(actor, x, y, type)
    # Choose Color & Parameter Type
    case type
    when 0
      e1 = actor.atk
      c6 = Color.new(253, 53, 56, 192)
      c5 = Color.new(242, 2, 6, 192)
    when 1
      e1 = actor.pdef
      c6 = Color.new(238, 254, 124, 192)
      c5 = Color.new(228, 253, 48, 192)
    when 2
      e1 = actor.mdef
      c6 = Color.new(150, 37, 184, 192)
      c5 = Color.new(170, 57, 204, 192)
    when 3
      e1 = actor.str
      c6 = Color.new(253, 163, 33, 192)
      c5 = Color.new(254, 209, 154, 192)
    when 4
      e1 = actor.dex
      c6 = Color.new(255, 255, 255, 192)
      c5 = Color.new(222, 222, 222, 192)
    when 5
      e1 = actor.agi
      c6 = Color.new(124, 254, 155, 192)
      c5 = Color.new(33, 253, 86, 192)
    when 6
      e1 = actor.int
      c6 = Color.new(119, 203, 254, 192)
      c5 = Color.new(8, 160, 253, 192)
    end
    # Calculate Bar Gradiation
    e2 = 999
    if e1.to_f != 0
      rate = e1.to_f / e2.to_f
    else
      rate = 1
    end
    # Adjust Bar Color based on Gradiation & Parameter Type
    for i in 0..7
      r = c6.red * rate
      g = (c6.green - 10) * rate
      b = c6.blue  * rate
      a = c6.alpha
    end
    # Calculate Bar Width
    width = 168
    if e1.to_f != 0
      par = width * e1.to_f / e2.to_f
    else
      par = width
    end
    # Equipment Calc Fix   
    case type
    when 0
      if e1 == 0
        par = 0
      end
    when 1
      if e1 == 0
        par = 0
      end
    when 2
      if e1 == 0
        par = 0
      end
    end
    # Draw Bar Graph
    cw_gauge(x , y + 25, width, 7, par, c5, Color.new(r, g, b, a))
    # Call Original Parameter             
    draw_actor_parameter_original(actor, x, y, type)
  end

  #--------------------------------------------------------------------------
  # * Gauge Rectangle (New to Class)
  #--------------------------------------------------------------------------
  def cw_gauge(x, y, width, height, gauge, color1, color2)

    # Use Cogwheel PRESETS
    color3 = COG_COLOR1
    color4 = COG_COLOR2
    color5 = COG_COLOR3
    color6 = COG_COLOR4
    align1 = COG_ALIGN1
    align2 = COG_ALIGN2
    align3 = COG_ALIGN3
    grade1 = COG_GRADE1
    grade2 = COG_GRADE2
   
    # Create Rectangle Width based on gauge max.
    rect_width = width
   
    case align1
    when 1
      x += (rect_width - width) / 2
    when 2
      x += rect_width - width
    end
    case align2
    when 1
      y -= height / 2
    when 2
      y -= height
    end
    self.contents.fill_rect(x, y, width, height, color3)
    self.contents.fill_rect(x + 1, y + 1, width - 2, height - 2, color4)
    if align3 == 0
      if grade1 == 2
        grade1 = 3
      end
      if grade2 == 2
        grade2 = 3
      end
    end
    if (align3 == 1 and grade1 == 0) or grade1 > 0
      color = color5
      color5 = color6
      color6 = color
    end
    if (align3 == 1 and grade2 == 0) or grade2 > 0
      color = color1
      color1 = color2
      color2 = color
    end
    self.contents.cw_grad_rect(x + 2, y + 2, width - 4, height - 4, color5, color6, grade1)
    if align3 == 1
      x += width - gauge
    end
    self.contents.cw_grad_rect(x + 2, y + 2, gauge - 4, height - 4, color1, color2, grade2)
  end
 
  #--------------------------------------------------------------------------
  # * End of Class
  #--------------------------------------------------------------------------
end


#==============================================================================
# ** Bitmap
#==============================================================================
class Bitmap

  #--------------------------------------------------------------------------
  # * Gradation Rectangle
  #--------------------------------------------------------------------------
  def cw_grad_rect(x, y, width, height, color3, color4, align = 0)
   if align == 0
     for i in x...x + width
       red   = color3.red + (color4.red - color3.red) * (i - x) / (width - 1)
       green = color3.green +
               (color4.green - color3.green) * (i - x) / (width - 1)
       blue  = color3.blue +
               (color4.blue - color3.blue) * (i - x) / (width - 1)
       alpha = color3.alpha +
               (color4.alpha - color3.alpha) * (i - x) / (width - 1)
       color = Color.new(red, green, blue, alpha)
       fill_rect(i, y, 1, height, color)
     end
   elsif align == 1
     for i in y...y + height
       red   = color3.red +
               (color4.red - color3.red) * (i - y) / (height - 1)
       green = color3.green +
               (color4.green - color3.green) * (i - y) / (height - 1)
       blue  = color3.blue +
               (color4.blue - color3.blue) * (i - y) / (height - 1)
       alpha = color3.alpha +
               (color4.alpha - color3.alpha) * (i - y) / (height - 1)
       color = Color.new(red, green, blue, alpha)
       fill_rect(x, i, width, 1, color)
     end
   elsif align == 2
     for i in x...x + width
       for j in y...y + height
         red   = color3.red + (color4.red - color3.red) *
                 ((i - x) / (width - 1.0) + (j - y) / (height - 1.0)) / 2
         green = color3.green + (color4.green - color3.green) *
                 ((i - x) / (width - 1.0) + (j - y) / (height - 1.0)) / 2
         blue  = color3.blue + (color4.blue - color3.blue) *
                 ((i - x) / (width - 1.0) + (j - y) / (height - 1.0)) / 2
         alpha = color3.alpha + (color4.alpha - color3.alpha) *
                 ((i - x) / (width - 1.0) + (j - y) / (height - 1.0)) / 2
         color = Color.new(red, green, blue, alpha)
         set_pixel(i, j, color)
       end
     end
   elsif align == 3
     for i in x...x + width
       for j in y...y + height
         red   = color3.red + (color4.red - color3.red) *
               ((x + width - i) / (width - 1.0) + (j - y) / (height - 1.0)) / 2
         green = color3.green + (color4.green - color3.green) *
               ((x + width - i) / (width - 1.0) + (j - y) / (height - 1.0)) / 2
         blue  = color3.blue + (color4.blue - color3.blue) *
               ((x + width - i) / (width - 1.0) + (j - y) / (height - 1.0)) / 2
         alpha = color3.alpha + (color4.alpha - color3.alpha) *
               ((x + width - i) / (width - 1.0) + (j - y) / (height - 1.0)) / 2
         color = Color.new(red, green, blue, alpha)
         set_pixel(i, j, color)
       end
     end
   end
end

  #--------------------------------------------------------------------------
  # * End of Class
  #--------------------------------------------------------------------------
end[/spoiler]woot for my first spoiler...
Title: Re: See Better difference in HP and SP ?
Post by: Snailer on December 30, 2006, 11:36:03 PM
YAY Thanks gonna try it tommorow gonna go to bed now :P
Title: Re: See Better difference in HP and SP ?
Post by: feildmaster on December 30, 2006, 11:40:14 PM
alright, hope thats what you wanted
Title: Re: See Better difference in HP and SP ?
Post by: Snailer on December 31, 2006, 10:56:30 AM
Cool script !!
But for some reason it laggs.. :S
Title: Re: See Better difference in HP and SP ?
Post by: Winged on January 01, 2007, 07:38:37 AM
I use Sephiroth Spawn's bar script, it's heaps nice!

~Winged
Title: Re: See Better difference in HP and SP ?
Post by: Snailer on January 01, 2007, 07:22:10 PM
Can somebody tell me where to get that.. ?
Title: Re: See Better difference in HP and SP ?
Post by: &&&&&&&&&&&&& on January 01, 2007, 10:32:54 PM
OMG! Please if you gonna bump, wait at leaest a day, NOT, an hour!

HERE IS YOU DAMN LINK! (http://rmrk.net/index.php/topic,1411.0.html)

Stop the freaking triple posting!
Title: Re: See Better difference in HP and SP ?
Post by: Snailer on January 01, 2007, 10:36:18 PM
Posted on: Today at 03:22:10 PM
Posted by: Snailer

Posted on: Today at 06:24:32 PM
Posted by: Snailer


^^
Is not an hour :S

And i got that script but it doesn't work inbattle  ::)

I know im a pain in the ..
Title: Re: See Better difference in HP and SP ?
Post by: &&&&&&&&&&&&& on January 01, 2007, 10:37:22 PM
wow 3 hours, that is still 21 hours less then you should wait.
Title: Re: See Better difference in HP and SP ?
Post by: Snailer on January 01, 2007, 10:44:43 PM
But my first post was on

«  on: December 30, 2006, 08:45:10 AM »

So that would be like 3 days in total.
And i need it but i can't find it.
Title: Re: See Better difference in HP and SP ?
Post by: &&&&&&&&&&&&& on January 02, 2007, 12:26:36 AM
This script was not made me, it was made by Tsunokiette the Tsunophile

Just place this in a new script right bellow Window_Base.

#------------------------------------------------------------------------------
   # Begin Game_Actor Edit
   #------------------------------------------------------------------------------
   class Game_Actor < Game_Battler
      #--------------------------------------------------------------------------
      # * Return the exp needed to reach the next level
      #--------------------------------------------------------------------------
      def needed_exp(current_lvl)
         return @exp_list[current_lvl + 1]
      end
      #--------------------------------------------------------------------------
      # * Return the currently gained exp
      #--------------------------------------------------------------------------
      def gained_exp(current_lvl,current_exp)
         return (current_exp - @exp_list[current_lvl])
       end
      #--------------------------------------------------------------------------
      # * Return the current level
      #--------------------------------------------------------------------------
      def lvl
         return @level
      end
   end
   #------------------------------------------------------------------------------
   # End Game_Actor Edit
   #------------------------------------------------------------------------------

   #------------------------------------------------------------------------------
   # Begin Window_Base Edit
   #------------------------------------------------------------------------------
   class Window_Base < Window
      #--------------------------------------------------------------------------
      # * Draw HP Bar
      #--------------------------------------------------------------------------
      def draw_hp_bar(actor,x,y,w = 202)
         #get hp and max hp
         hp = actor.hp
         max_hp = actor.maxhp
         #define colors to be used
         border_color = Color.new(0,0,0,255)
         line1_color = Color.new(0,145,0,255)
         line2_color = Color.new(0,176,0,255)
         line3_color = Color.new(0,215,0,255)
         line4_color = Color.new(0,253,0,255)
         line5_color = Color.new(0,215,0,255)
         line6_color = Color.new(0,176,0,255)
         line7_color = Color.new(0,145,0,255)
         line8_color = Color.new(0,120,0,255)
         empty_color = Color.new(75,75,75,255)
         #get widths and x's
         line_width = (((hp * 1.0) / max_hp) * (w - 2))
         empty_width = ((w - 2) - line_width)
         empty_x = ((x + 1) + line_width)
         #make border Rects
         border1 = Rect.new(x, y, w, 1)
         border2 = Rect.new(x, y + 9, w, 1)
         border3 = Rect.new(x, y + 1, 1, 8)
         border4 = Rect.new(x + (w - 1), y + 1, 1, 8)
         #make line Rects
         line1 = Rect.new(x + 1, y + 1, line_width, 1)
         line2 = Rect.new(x + 1, y + 2, line_width, 1)
         line3 = Rect.new(x + 1, y + 3, line_width, 1)
         line4 = Rect.new(x + 1, y + 4, line_width, 1)
         line5 = Rect.new(x + 1, y + 5, line_width, 1)
         line6 = Rect.new(x + 1, y + 6, line_width, 1)
         line7 = Rect.new(x + 1, y + 7, line_width, 1)
         line8 = Rect.new(x + 1, y + 8, line_width, 1)
         #make empty Rect
         empty = Rect.new(empty_x, y + 1, empty_width, 8)
         #fill border Rects
         self.contents.fill_rect(border1,border_color)
         self.contents.fill_rect(border2,border_color)
         self.contents.fill_rect(border3,border_color)
         self.contents.fill_rect(border4,border_color)
         #fill line Rects
         self.contents.fill_rect(line1,line1_color)
         self.contents.fill_rect(line2,line2_color)
         self.contents.fill_rect(line3,line3_color)
         self.contents.fill_rect(line4,line4_color)
         self.contents.fill_rect(line5,line5_color)
         self.contents.fill_rect(line6,line6_color)
         self.contents.fill_rect(line7,line7_color)
         self.contents.fill_rect(line8,line8_color)
         #fill empty Rect
         self.contents.fill_rect(empty,empty_color)
      end
      #--------------------------------------------------------------------------
      # * Draw SP Bar
      #--------------------------------------------------------------------------
      def draw_sp_bar(actor,x,y,w = 202)
         #get sp and max sp
         sp = actor.sp
         max_sp = actor.maxsp
         #get percentage width
         percentage_width = ((w - 2) / 100)
         #define colors to be used
         border_color = Color.new(0,0,0,255)
         line1_color = Color.new(112,0,223,255)
         line2_color = Color.new(130,4,255,255)
         line3_color = Color.new(155,55,255,255)
         line4_color = Color.new(170,85,255,255)
         line5_color = Color.new(155,55,255,255)
         line6_color = Color.new(130,4,255,255)
         line7_color = Color.new(112,0,223,255)
         line8_color = Color.new(88,0,176,255)
         empty_color = Color.new(75,75,75,255)
         #get widths and x's
         line_width = (((sp * 1.0) / max_sp) * (w - 2))
         empty_width = ((w - 2) - line_width)
         empty_x = ((x + 1) + line_width)
         #make border Rects
         border1 = Rect.new(x, y, w, 1)
         border2 = Rect.new(x, y + 9, w, 1)
         border3 = Rect.new(x, y + 1, 1, 8)
         border4 = Rect.new(x + (w - 1), y + 1, 1, 8)
         #make line Rects
         line1 = Rect.new(x + 1, y + 1, line_width, 1)
         line2 = Rect.new(x + 1, y + 2, line_width, 1)
         line3 = Rect.new(x + 1, y + 3, line_width, 1)
         line4 = Rect.new(x + 1, y + 4, line_width, 1)
         line5 = Rect.new(x + 1, y + 5, line_width, 1)
         line6 = Rect.new(x + 1, y + 6, line_width, 1)
         line7 = Rect.new(x + 1, y + 7, line_width, 1)
         line8 = Rect.new(x + 1, y + 8, line_width, 1)
         #make empty Rect
         empty = Rect.new(empty_x, y + 1, empty_width, 8)
         #fill border Rects
         self.contents.fill_rect(border1,border_color)
         self.contents.fill_rect(border2,border_color)
         self.contents.fill_rect(border3,border_color)
         self.contents.fill_rect(border4,border_color)
         #fill line Rects
         self.contents.fill_rect(line1,line1_color)
         self.contents.fill_rect(line2,line2_color)
         self.contents.fill_rect(line3,line3_color)
         self.contents.fill_rect(line4,line4_color)
         self.contents.fill_rect(line5,line5_color)
         self.contents.fill_rect(line6,line6_color)
         self.contents.fill_rect(line7,line7_color)
         self.contents.fill_rect(line8,line8_color)
         #fill empty Rect
         self.contents.fill_rect(empty,empty_color)
      end
      #--------------------------------------------------------------------------
      # * Draw EXP Bar
      #--------------------------------------------------------------------------
      def draw_exp_bar(actor,x,y,w = 202)
         #get exp and needed exp
         exp = actor.exp
         gained_exp = actor.gained_exp(actor.lvl,exp)
         needed_exp = actor.needed_exp(actor.lvl)
         #define colors to be used
         border_color = Color.new(0,0,0,255)
         line1_color = Color.new(140,140,0,255)
         line2_color = Color.new(157,157,0,255)
         line3_color = Color.new(170,170,0,255)
         line4_color = Color.new(196,196,0,255)
         line5_color = Color.new(170,170,0,255)
         line6_color = Color.new(157,157,0,255)
         line7_color = Color.new(140,140,0,255)
         line8_color = Color.new(128,128,0,255)
         empty_color = Color.new(75,75,75,255)
         #get widths and x's
         line_width = (((gained_exp * 1.0) / needed_exp) * (w - 2))
         empty_width = ((w - 2) - line_width)
         empty_x = ((x + 1) + line_width)
         #make border Rects
         border1 = Rect.new(x, y, w, 1)
         border2 = Rect.new(x, y + 9, w, 1)
         border3 = Rect.new(x, y + 1, 1, 8)
         border4 = Rect.new(x + (w - 1), y + 1, 1, 8)
         #make line Rects
         line1 = Rect.new(x + 1, y + 1, line_width, 1)
         line2 = Rect.new(x + 1, y + 2, line_width, 1)
         line3 = Rect.new(x + 1, y + 3, line_width, 1)
         line4 = Rect.new(x + 1, y + 4, line_width, 1)
         line5 = Rect.new(x + 1, y + 5, line_width, 1)
         line6 = Rect.new(x + 1, y + 6, line_width, 1)
         line7 = Rect.new(x + 1, y + 7, line_width, 1)
         line8 = Rect.new(x + 1, y + 8, line_width, 1)
         #make empty Rect
         empty = Rect.new(empty_x, y + 1, empty_width, 8)
         #fill border Rects
         self.contents.fill_rect(border1,border_color)
         self.contents.fill_rect(border2,border_color)
         self.contents.fill_rect(border3,border_color)
         self.contents.fill_rect(border4,border_color)
         #fill line Rects
         self.contents.fill_rect(line1,line1_color)
         self.contents.fill_rect(line2,line2_color)
         self.contents.fill_rect(line3,line3_color)
         self.contents.fill_rect(line4,line4_color)
         self.contents.fill_rect(line5,line5_color)
         self.contents.fill_rect(line6,line6_color)
         self.contents.fill_rect(line7,line7_color)
         self.contents.fill_rect(line8,line8_color)
         #fill empty Rect
         self.contents.fill_rect(empty,empty_color)
       end
      end
   #------------------------------------------------------------------------------
   # End Window_Base Edit
   #------------------------------------------


Now in the window you want to show the bars in, just do this -

HP
draw_hp_bar(actor,x position,y position,width)

SP
draw_sp_bar(actor,x position,y position,width)

Exp
draw_exp_bar(actor,x position,y position,width)