Well, I saw that no one had fulfilled this request, let alone replied, so I decided to try scripting. I've tried before but failed many times, but I saw this and tried to make it, and got it working.
#Script Creado por UliK
#Editted to use variables instead of HP and SP by lilbrudder917
#-----------------------------------------------------------------
# CONFIGURATION
#-----------------------------------------------------------------
VAR1 = 1 #Which variable for the first row?
VAR2 = 2 #Which variable for the second row?
$Var1_name = "VAR1" #Replacement for the word "HP", only 3-4 letters
$Var2_name = "VAR2" #Replacement for the word "SP", only 3-4 letters
VAR_MAX = 20 #Maximum for the first variable
VAR_MAX2 = 25 #Maximum for the second variable
#-----------------------------------------------------------------
class Scene_Map
#-----------------------------------------------------------------
alias sk_bar_main main
def main
@bars = Window_Sk_Bars.new
sk_bar_main
@bars.dispose if @bars != nil
end
#-----------------------------------------------------------------
alias sk_bar_update update
def update
@bars.update
sk_bar_update
end
#-----------------------------------------------------------------
end
#-----------------------------------------------------------------
class Window_Base < Window
#-----------------------------------------------------------------
def sk_initialize(font=0,size=15)
font = "Tahoma" if font == 0
self.contents = Bitmap.new(self.width-32,self.height-32)
self.contents.font.name = font
self.contents.font.size = size
end
#-----------------------------------------------------------------
def draw_text_outline(x,y,w,h,str,c=normal_color,a=0)
self.contents.font.color = Color.new(0,0,0,255)
self.contents.draw_text(x-1,y,w,h,str,a)
self.contents.draw_text(x+1,y,w,h,str,a)
self.contents.draw_text(x,y+1,w,h,str,a)
self.contents.draw_text(x,y-1,w,h,str,a)
self.contents.font.color = c
self.contents.draw_text(x,y,w,h,str,a)
end
#-----------------------------------------------------------------
end
#-----------------------------------------------------------------
class Window_Sk_Bars < Window_Base
#-----------------------------------------------------------------
def initialize
super(444,-8,206,96)
sk_initialize("Arial")
self.opacity = 0
end
#-----------------------------------------------------------------
def update
self.contents.clear
actor = $game_party.actors[0]
draw_text_outline(5,-6,64,26,$Var1_name)
draw_actor_hp(actor,30,0)
end
#-----------------------------------------------------------------
def draw_actor_hp(actor,x,y)
width = 128
y += 4
white = Color.new(255,255,255,255)
black = Color.new(0,0,0,255)
w = width * $game_variables[VAR1] / VAR_MAX
# White border
self.contents.fill_rect(x+1, y-1, width-2, 5, white)
# Black back
self.contents.fill_rect(x+2, y, width-4, 3, black)
# Generating the color
val = 255 * ((actor.hp*100)/actor.maxhp)
green = 255 - val/100
color = Color.new(224,green,0,255)
w_color = Color.new(255,green+32,96,255)
if green > 64 then green -= 32
elsif green > 128 then green -= 64 end
# Making the bar
self.contents.fill_rect(x+2, y, w-4, 3, w_color)
end
#-----------------------------------------------------------------
end
#-----------------------------------------------------------------
#-----------------------------------------------------------------
class Scene_Map
#-----------------------------------------------------------------
alias sk_bar_main2 main
def main
@bars2 = Window_mk_Bars.new
sk_bar_main2
@bars2.dispose if @bars2 != nil
end
#-----------------------------------------------------------------
alias sk_bar_update2 update
def update
@bars2.update
sk_bar_update2
end
#-----------------------------------------------------------------
end
#-----------------------------------------------------------------
class Window_Base < Window
#-----------------------------------------------------------------
def sk_initialize2(font=0,size=22)
font = "Tahoma" if font == 0
self.contents = Bitmap.new(self.width-32,self.height-32)
self.contents.font.name = font
self.contents.font.size = size
end
#-----------------------------------------------------------------
def draw_text_outline(x,y,w,h,str,c=normal_color,a=0)
self.contents.font.color = Color.new(0,0,0,255)
self.contents.draw_text(x-1,y,w,h,str,a)
self.contents.draw_text(x+1,y,w,h,str,a)
self.contents.draw_text(x,y+1,w,h,str,a)
self.contents.draw_text(x,y-1,w,h,str,a)
self.contents.font.color = c
self.contents.draw_text(x,y,w,h,str,a)
end
#-----------------------------------------------------------------
end
#-----------------------------------------------------------------
class Window_mk_Bars < Window_Base
#-----------------------------------------------------------------
def initialize
super(444,5,206,96)
sk_initialize("Arial")
self.opacity = 0
end
#-----------------------------------------------------------------
def update
self.contents.clear
actor = $game_party.actors[0]
draw_text_outline(5,-6,64,26,$Var2_name)
draw_actor_hp(actor,30,0)
end
#-----------------------------------------------------------------
def draw_actor_hp(actor,x,y)
width = 128
y += 4
white = Color.new(255,255,255,255)
black = Color.new(0,0,0,255)
w = width * $game_variables[VAR2] / VAR_MAX2
# White border
self.contents.fill_rect(x+1, y-1, width-2, 5, white)
# Black back
self.contents.fill_rect(x+2, y, width-4, 3, black)
# Generating the color
val = 255 * ((actor.sp*100)/actor.maxsp)
green = 255 - val/100
color = Color.new(224,green,0,255)
w_color = Color.new(150,green-32,255,255)
if green > 64 then green -= 32
elsif green > 128 then green -= 64 end
# Making the bar
self.contents.fill_rect(x+2, y, w-4, 3, w_color)
end
#-----------------------------------------------------------------
end
#-----------------------------------------------------------------
You can configure which variables to use for the top and bottom row, what the word says instead of "HP" and "SP", although since I don't really know how to change the positioning of the text (when I tried, the bar moved with it), so the limits on the word are 3 or 4 letters. Also, to make sure a variable is significant enough to actually change the bar (1/9000 won't do much), you can decide what the maximum is, depending on what you were using the bars for. Just be sure not to get over the limit, or the color will go further than the bar itself, but you probably knew that.