Envision, Create, Share

Welcome to HBGames, a leading amateur game development forum and Discord server. All are welcome, and amongst our ranks you will find experts in their field from all aspects of video game design and development.

Health Bar

Status
Not open for further replies.
Alright I did not do this and I have no idea who did it, I'm just posting it here.
Post it above Main and call it HP Bar
Code:
#-----------------------------------------------------------------
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=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_Sk_Bars < Window_Base
#-----------------------------------------------------------------
  def initialize
    super(250,-8,206,96)
    sk_initialize("Comic Sans MS")
    self.opacity = 0
  end
#-----------------------------------------------------------------
  def update
    self.contents.clear
    actor = $game_party.actors[0]
    draw_text_outline(0,-4,64,26,"HP")
    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 * actor.hp / actor.maxhp
    # White border
    self.contents.fill_rect(x+1, y-1, width-2, 1, white)
    self.contents.fill_rect(x, y, width, 1, white)
    self.contents.fill_rect(x-1, y+1, width+2, 9, white)
    self.contents.fill_rect(x, y+10, width, 1, white)
    self.contents.fill_rect(x+1, y+11, width-2, 1, white)
    # Black back
    self.contents.fill_rect(x+2, y, width-4, 1, black)
    self.contents.fill_rect(x+1, y+1, width-2, 1, black)
    self.contents.fill_rect(x, y+2, width, 7, black)
    self.contents.fill_rect(x+1, y+9, width-2, 1, black)
    self.contents.fill_rect(x+2, y+10, width-4, 1, 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
    b_color = Color.new(172,green,0,255)
    # Making the bar
    self.contents.fill_rect(x+2, y, w-4, 1, w_color)
    self.contents.fill_rect(x+1, y+1, w-2, 1, w_color)
    self.contents.fill_rect(x, y+2, w, 7, color)
    self.contents.fill_rect(x+1, y+9, w-2, 1, color)
    self.contents.fill_rect(x+2, y+10, w-4, 1, b_color)
  end
#-----------------------------------------------------------------
end
#-----------------------------------------------------------------
 
Don't post scripts unless you know the name of the author. PM me once you figure that out (and with a description) and I can fix the topic and re-open it.
 
Status
Not open for further replies.

Thank you for viewing

HBGames is a leading amateur video game development forum and Discord server open to all ability levels. Feel free to have a nosey around!

Discord

Join our growing and active Discord server to discuss all aspects of game making in a relaxed environment. Join Us

Content

  • Our Games
  • Games in Development
  • Emoji by Twemoji.
    Top