LOGIN
SEARCH
PROFILE
keys: ↑ ↓
LOGOUT
INDEX
MEMBERS
keys: ↑ ↓
HOME
PORTAL
PLAY ALONG
PLAY with WORDS
PLAY with GRAPHICS
PLAY with SOUNDS
PLAY with CODES
PLAY with PROJECTS
keys: ← →
Guest Access
Register:
Members:



View previous topic View next topic Go down Message [Page 1 of 1]

Administrator
Administrator
#1 RMXP + XAS = Hero Mini HUD
Loading

G@MeF@Ce

Administrator
Administrator
Administrator
profile
With the support of Hackel, mr_wiggles, and LiTTleDRAgo we now have a stable version of the new "XAS Hero Mini HUD!"

thought I'd share with our guests too!

*I'll continue to add more features to the script if it makes sense.



HERO MINI HUD 3.1

+ XP/VX (cross engined)
+ no graphics required
+ disable switch
+ configure two buttons to toggle display
+ Red HP heart containers
+ Blue Special bar
+ Green Experience bar
+ White Hero Name
+ Yellow Stamina bar (requires XAS)
+ Purple Charge bar (requires XAS)
+ reduced lag (or no lag at all)

Code:
################################################################################
# ============= XAS Hero Mini HUD v3.1 by gameface101 4/11/2011 ================
# special thanks to: Hackel, mr_wiggles, and LiTTleDRAgo for RGSS support
################################################################################

module Hero_Mini_HUD
#[display options]==============================================================
  HMINI_DISABLE = 2
  PRESS_HOLD  = Input::A  # (Shift)
  TRIGGER_HUD = Input::C  # (Space/Enter)
  VISIBLE_DEF = false
  HMINI_HUD_SKIN = 0
  HMINI_HUD_OPACITY = 255
#[health bar settings]==========================================================
  HP_HEARTS = true
  HP_QUANTITY = 3
  HP_X = 37
  HP_Y = 85
#[special bar settings]=========================================================
  SP_ON = true
  SP_X = 2
  SP_Y = 14
  SP_WID = 36
  SP_HET = 4
#[experience bar settings]======================================================
  EXP_ON = true
  EXP_X = 2
  EXP_Y = 72
  EXP_WID = 36
  EXP_HET = 4
#[name settings]================================================================
  HERO_NAME = true
  NAME_SIZE = 14
  N_X = 10
  N_Y = 67
#[stamina bar settings](requires XAS)===========================================
  ST_ON = true
  ST_X = 2
  ST_Y = 68
  ST_WID = 36
  ST_HET = 2
#[charge bar settings](requires XAS)============================================
  CHARGE_ON = true
  CH_X = 2
  CH_Y = 20
  CH_WID = 36
  CH_HET = 2
 
  XAS_39 = true
end

#===============================================================================
class HMini_Hud < Window_Base
  def initialize
      super($game_player.screen_x-38,$game_player.screen_y-48,160,160)
      self.visible = (Hero_Mini_HUD::VISIBLE_DEF)
      self.contents = Bitmap.new(width - 32, height - 32)
      self.contents.font.name = "Impact"
      self.contents.font.size = 24
      self.z = 3000
      self.opacity = Hero_Mini_HUD::HMINI_HUD_SKIN
      @hearts  = Hero_Mini_HUD::HP_QUANTITY
      @opacity = Hero_Mini_HUD::HMINI_HUD_OPACITY
      @old_name = ''
      @old_hp = @old_sp = @old_exp = @hr = 0
 
      @name_sprite = Sprite.new
      @name_sprite.bitmap = Bitmap.new(132, 132)
      @name_sprite.z = self.z
      @name_sprite.bitmap.font.name = self.contents.font.name
      @name_sprite.bitmap.font.size = self.contents.font.size
      @name_sprite.visible = self.visible
      refresh
    end
 
  def refresh
    actor = !rpgvx? ? $game_party.actors[0] : $game_party.members[0]
    return if @old_hp == actor.hp
    self.contents.clear
    self.opacity = Hero_Mini_HUD::HMINI_HUD_SKIN
    self.contents_opacity = Hero_Mini_HUD::HMINI_HUD_OPACITY

    if Hero_Mini_HUD::HERO_NAME && @old_name != actor.name
      @old_name = actor.name
      @name_sprite.bitmap.clear
      @name_sprite.bitmap.font.size = Hero_Mini_HUD::NAME_SIZE
      @name_sprite.bitmap.font.color.set(0, 0, 0)#black
      @name_sprite.bitmap.draw_text(N_X - 1, N_Y - 1, 160, 32, actor.name, 0)
      @name_sprite.bitmap.draw_text(N_X - 1, N_Y + 1, 160, 32, actor.name, 0)
      @name_sprite.bitmap.draw_text(N_X + 1, N_Y - 1, 160, 32, actor.name, 0)
      @name_sprite.bitmap.draw_text(N_X + 1, N_Y + 1, 160, 32, actor.name, 0)
      @name_sprite.bitmap.font.color = normal_color #white
      @name_sprite.bitmap.draw_text(N_X, N_Y, 160, 32, actor.name, 0)
    end

    if Hero_Mini_HUD::HP_HEARTS
      @old_hp = actor.hp
      @n = actor.hp
      @mn = actor.maxhp
      @hr = 0
      @lh = 0
      @hearts = Hero_Mini_HUD::HP_QUANTITY
      @c = 255
      @l = @n*100/@mn
      @ho = @l*@hearts
      for i in 0..@hearts-1
        x = self.contents
#-------------------------------------------------------------[heart containers]
        c = Color.new(0, 0, 0, @opacity)
        x.fill_rect(i*14, 4, 1, 3, c)
        x.fill_rect(i*14+1, 3, 1, 5, c)
        x.fill_rect(i*14+2, 2, 1, 7, c)
        x.fill_rect(i*14+3, 1, 1, 9, c)
        x.fill_rect(i*14+4, 0, 1, 11, c)
        x.fill_rect(i*14+5, 1, 1, 11, c)
        x.fill_rect(i*14+6, 2, 1, 11, c)
        x.fill_rect(i*14+7, 1, 1, 11, c)
        x.fill_rect(i*14+8, 0, 1, 11, c)
        x.fill_rect(i*14+9, 1, 1, 9, c)
        x.fill_rect(i*14+10, 2, 1, 7, c)
        x.fill_rect(i*14+11, 3, 1, 5, c)
        x.fill_rect(i*14+12, 4, 1, 3, c)
 
#----------------------------------------------------------------[heart outline]
    c = Color.new(255, 255, 255, @opacity)
    x.fill_rect(i*14+1, 4, 1, 2, c)
    x.fill_rect(i*14+2, 3, 1, 4, c)
    x.fill_rect(i*14+3, 2, 1, 6, c)
    x.fill_rect(i*14+4, 1, 1, 8, c)
    x.fill_rect(i*14+5, 2, 1, 8, c)
    x.fill_rect(i*14+6, 3, 1, 8, c)
    x.fill_rect(i*14+7, 2, 1, 8, c)
    x.fill_rect(i*14+8, 1, 1, 8, c)
    x.fill_rect(i*14+9, 2, 1, 6, c)
    x.fill_rect(i*14+10, 3, 1, 4, c)
    x.fill_rect(i*14+11, 4, 1, 2, c)
 
#-------------------------------------------------------------------[heart fill]
        c_color(1)
        x.fill_rect(i*14+2, 4, 1, 2, Color.new(@c, 0, 0, @opacity))
        c_color(2)
        x.fill_rect(i*14+3, 3, 1, 4, Color.new(@c, 0, 0, @opacity))
        c_color(3)
        x.fill_rect(i*14+4, 2, 1, 6, Color.new(@c, 0, 0, @opacity))
        c_color(4)
        x.fill_rect(i*14+5, 3, 1, 6, Color.new(@c, 0, 0, @opacity))
        c_color(5)
        x.fill_rect(i*14+6, 4, 1, 6, Color.new(@c, 0, 0, @opacity))
        c_color(6)
        x.fill_rect(i*14+7, 3, 1, 6, Color.new(@c, 0, 0, @opacity))
        c_color(7)
        x.fill_rect(i*14+8, 2, 1, 6, Color.new(@c, 0, 0, @opacity))
        c_color(8)
        x.fill_rect(i*14+9, 3, 1, 4, Color.new(@c, 0, 0, @opacity))
        c_color(9)
        x.fill_rect(i*14+10, 4, 1, 2, Color.new(@c, 0, 0, @opacity))
        @hr += 1
      end
    end
  end

  def c_color(a)
    @c = (@hr <= (@ho/100)-1) ? 255 :
      (@ho/10-@hr*10 >= a and @ho/10-@hr*10 <= 9) ? 255 : 0
  end
 
  def update
    super
    @name_sprite.x = self.x + N_X
    @name_sprite.y = self.y + N_Y - 50
  end
 
  def dispose
    super
    @name_sprite.dispose
  end
 
  def vis=(val)
    self.visible = val
    @name_sprite.visible = self.visible
  end
 
  N_X = Hero_Mini_HUD::N_X
  N_Y = Hero_Mini_HUD::N_Y
end

module Kernel
  if !defined? rpgvx?
  def rpgvx?
    return true if defined? Graphics.resize_screen
    return false
  end
  end
end
#-------------------------------------------------------------------------------

#===============================================================================
class Scene_Map
 
  PRESS_HOLD  = Hero_Mini_HUD::PRESS_HOLD
  TRIGGER_HUD = Hero_Mini_HUD::TRIGGER_HUD
 
  if rpgvx?
 
    alias hud_terminate terminate
    def terminate
      delete_hud
      hud_terminate
    end
 
    alias hmini_hud_main main
    def main
      seting_hud
      hmini_hud_main
      delete_hud
    end
 
  else
 
    alias hmini_hud_main main
    def main
      seting_hud
      hmini_hud_main
      delete_hud
    end
 
  end
 
  alias hmini_hud_update update
  def seting_hud
    @HMini_hud  = HMini_Hud.new
    @SMini_Hud  = SMini_Hud.new
    @XPMini_Hud = XPMini_Hud.new
    @STMini_Hud = STMini_Hud.new
    @CHMini_Hud = CHMini_Hud.new
  end
 
  def delete_hud
      [@HMini_hud, @SMini_Hud, @XPMini_Hud, @STMini_Hud,
      @CHMini_Hud].each {|i| i.dispose if i != nil && !i.disposed?}
  end
 
  def update
    if !$game_switches[Hero_Mini_HUD::HMINI_DISABLE]
      if @HMini_hud.visible and Input.press?(PRESS_HOLD) and
        Input.trigger?(TRIGGER_HUD)
          @HMini_hud.vis = @HMini_hud.visible  = false
      elsif !@HMini_hud.visible and Input.press?(PRESS_HOLD) and
          Input.trigger?(TRIGGER_HUD)
          @HMini_hud.vis = @HMini_hud.visible  = true
      end
    else
      @HMini_hud.vis = @HMini_hud.visible  = false
    end
    hmini_hud_update
    @HMini_hud.x = $game_player.screen_x - Hero_Mini_HUD::HP_X #--------location
    @HMini_hud.y = $game_player.screen_y - Hero_Mini_HUD::HP_Y #--------location
    [@SMini_Hud, @XPMini_Hud, @STMini_Hud,
    @CHMini_Hud].each {|i| i.visible = @HMini_hud.visible
                        i.x = @HMini_hud.x
                        i.y = @HMini_hud.y}
    if @HMini_hud.visible == true
      [@HMini_hud, @SMini_Hud, @XPMini_Hud, @STMini_Hud,
      @CHMini_Hud].each {|i| i.update
                        i.refresh}
    end
  end
end

#===============================================================================
class Window_Base < Window
  def draw_hmini_hud_bar(x, y, min, max, width = 152, height = 6,
      bar_color = Color.new(150, 0, 0, 255),
      end_color = Color.new(255, 255, 60, 255))
    for i in 0..height
      self.contents.fill_rect(x, y + height - i, width + 1, 1,
      Color.new(50, 50, 50, 255))
    end
#-------------------------------------------------------------------------------
    for i in 1..(height - 1)
      r = 100 * (height - i) / height + 0 * i / height
      g = 100 * (height - i) / height + 0 * i / height
      b = 100 * (height - i) / height + 0 * i / height
      a = 255 * (height - i) / height + 255 * i / height
      self.contents.fill_rect(x, y + height, width, 1, Color.new(r, b, g, a))
    end
#-------------------------------------------------------------------------------
    for i in 1..( (min / max.to_f) * width - 1)
      for j in 1..(height -1)
      r = bar_color.red * (width - i) / width + end_color.red * i / width
      g = bar_color.green * (width - i) / width + end_color.green * i / width
      b = bar_color.blue * (width - i) / width + end_color.blue * i / width
      a = bar_color.alpha * (width - i) / width + end_color.alpha * i / width
      self.contents.fill_rect(x + i, y + height - j, 1, 1, Color.new(r, g, b, a))
      end
    end
  end
end
class SMini_Hud < Window_Base
 
  include Hero_Mini_HUD
  def initialize
    super($game_player.screen_x-38,$game_player.screen_y-48,160,160)
    self.visible = (VISIBLE_DEF)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.name = "Impact"
    self.contents.font.size = 24
    self.z = 3000
    self.opacity = HMINI_HUD_SKIN
    @old_hp = @old_sp = @old_exp = @hr = 0
    refresh
  end

  def refresh
    sp = !rpgvx? ? $game_party.actors[0].sp : $game_party.members[0].mp
    maxsp = !rpgvx? ? $game_party.actors[0].maxsp : $game_party.members[0].maxmp
    return if @old_sp == sp
    self.contents.clear
    self.opacity = HMINI_HUD_SKIN
    self.contents_opacity = HMINI_HUD_OPACITY
    if SP_ON == true
      @old_sp = sp
      draw_hmini_hud_bar(SP_X, SP_Y, sp,
      maxsp, SP_WID, SP_HET, Color.new(0,50,250,255),
      Color.new(50,100,255,255))
    end
  end
end
 
 
class XPMini_Hud < Window_Base
 
  include Hero_Mini_HUD
  def initialize
    super($game_player.screen_x-38,$game_player.screen_y-48,160,160)
    self.visible = (VISIBLE_DEF)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.name = "Impact"
    self.contents.font.size = 24
    self.z = 3000
    self.opacity = HMINI_HUD_SKIN
    @old_hp = @old_sp = @old_exp = @hr = 1234567890000
    refresh
  end

  def refresh
    if EXP_ON == true
      actor = !rpgvx? ? $game_party.actors[0] : $game_party.members[0]
      return if @old_exp == actor.now_exp
      self.contents.clear
      self.opacity = HMINI_HUD_SKIN
      self.contents_opacity = HMINI_HUD_OPACITY
      @old_exp = actor.now_exp
      draw_hmini_hud_bar(EXP_X,EXP_Y,actor.now_exp,
      actor.next_exp,EXP_WID,EXP_HET,Color.new(0,255,0,255),
      Color.new(100,255,100,255))
    end
  end
end


class STMini_Hud < Window_Base
  include Hero_Mini_HUD #
  def initialize
    super($game_player.screen_x-38,$game_player.screen_y-48,160,160)
    self.visible = (VISIBLE_DEF)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.name = "Impact"
    self.contents.font.size = 24
    self.z = 3000
    self.opacity = HMINI_HUD_SKIN
    @old_hp = @old_sp = @old_st = @hr = 0
    refresh
  end

  def refresh
  if $xrxs_xas
      if ST_ON
        meter_now = XAS_39 ? $game_system.action_meter : $game_system.move_meter
        return if @old_st == meter_now
        self.contents.clear
        self.opacity = HMINI_HUD_SKIN
        self.contents_opacity = HMINI_HUD_OPACITY
        @old_st = meter_now
        draw_hmini_hud_bar(ST_X,ST_Y,meter_now ,
        100,ST_WID,ST_HET,Color.new(255,255,25,255),
        Color.new(255,255,25,255))
      end
    end
  end
end

 
class CHMini_Hud < Window_Base
  include Hero_Mini_HUD #
  def initialize
    super($game_player.screen_x-38,$game_player.screen_y-48,160,160)
    self.visible = (VISIBLE_DEF)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.name = "Impact"
    self.contents.font.size = 24
    self.z = 3000
    self.opacity = HMINI_HUD_SKIN
    @old_hp = @old_sp = @old_charge = @hr = 1
    refresh
  end
 
  def refresh
    if $xrxs_xas
      if CHARGE_ON
        charge = $game_temp.xas_charge_time
        return if @old_charge == charge
        self.contents.clear
        self.opacity = HMINI_HUD_SKIN
        self.contents_opacity = HMINI_HUD_OPACITY
        @old_charge = $game_temp.xas_charge_time
        draw_hmini_hud_bar(CH_X,CH_Y,charge,
        100,CH_WID,CH_HET, Color.new(255,100,225,255),
        Color.new(255,150,255,255))
      end
    end
  end
end

#===============================================================================
class Game_Actor < Game_Battler
  def now_exp
    return @exp - @exp_list[@level]
  end
  def next_exp
    return @exp_list[@level+1] > 0 ? @exp_list[@level+1] - @exp_list[@level] : 0
  end
end

*enjoy! gameface
Administrator
https://www.dropbox.com/sh/i47rig99qhrvn8s/4m5HvsM2fD http://g4m3f4c3.deviantart.com https://www.facebook.com//pages/Gameface101/332331300127008 https://twitter.com//mr_gameface101 https://soundcloud.com/schurr http://www.youtube.com/user/MrGameface101?feature=watch
||||||||||
||||||||||
#2 Re: RMXP + XAS = Hero Mini HUD
Loading

supercow

||||||||||
||||||||||
profile
Was looking for this amazing kindda script long ago affraid
the simple looking of the hp bar (and especialy near the char) make's it more action feel Razz , and no graphics needed? Shocked , im out of words.....
this could be one of script ppl would be looking for, and the addition of turning it on and off is like bonus on christmas present Laughing
i know its work in progress , but my hp bar doesnt decrease like in your pict, is there script in XAS that has to be deleted first for it to work? Wink thx gameface for another awesome script

i'm using MOG - S Hud 1.0 for the most part but i might change my mind Smile

||||||||||
Show Signature
||||||||||
Administrator
Administrator
#3 Re: RMXP + XAS = Hero Mini HUD
Loading

G@MeF@Ce

Administrator
Administrator
Administrator
profile
@supercow - hey I'm glad that you enjoy it!

I'm going to continue to add more features such as SP, EXP, NAME, etc...

this should have no conflicts with any other scripts.
but if you run into any errors let me know.

works great with XAS mini Map
Administrator
https://www.dropbox.com/sh/i47rig99qhrvn8s/4m5HvsM2fD http://g4m3f4c3.deviantart.com https://www.facebook.com//pages/Gameface101/332331300127008 https://twitter.com//mr_gameface101 https://soundcloud.com/schurr http://www.youtube.com/user/MrGameface101?feature=watch
C.O.R.N.
C.O.R.N.
#4 Re: RMXP + XAS = Hero Mini HUD
Loading

BluE

C.O.R.N.
C.O.R.N.
C.O.R.N.
profile
this is totally epic Gameface. keep it up!
C.O.R.N.
Show Signature


Want a real challenge? Try Crack this code!

If you read this message, please PM me. this is a test. And I'm serious, this isnt just some lousy time wasting paragraph that I wrote just to fill in my signature. It's here for a reason. PM ME.
C.O.R.N.
http://51s-seedy-masteroogway.blogspot.com
Administrator
Administrator
#5 Re: RMXP + XAS = Hero Mini HUD
Loading

G@MeF@Ce

Administrator
Administrator
Administrator
profile
*updated! added blue SP and green EXP bars to go with the red HP hearts!

edit: added Hero's Name Feature!


gameface
Administrator
https://www.dropbox.com/sh/i47rig99qhrvn8s/4m5HvsM2fD http://g4m3f4c3.deviantart.com https://www.facebook.com//pages/Gameface101/332331300127008 https://twitter.com//mr_gameface101 https://soundcloud.com/schurr http://www.youtube.com/user/MrGameface101?feature=watch
||||||||||
||||||||||
#6 Re: RMXP + XAS = Hero Mini HUD
Loading

supercow

||||||||||
||||||||||
profile
affraid what a cute little name...totally using this Razz
very clean and user friendly to configure Smile
||||||||||
Show Signature
||||||||||
C.O.R.N.
C.O.R.N.
#7 Re: RMXP + XAS = Hero Mini HUD
Loading

BluE

C.O.R.N.
C.O.R.N.
C.O.R.N.
profile
dude this is completely bull epic. Just looking at this makes me instantly top my "drooling" class. gonna try this out. Is it still WIP?
C.O.R.N.
Show Signature


Want a real challenge? Try Crack this code!

If you read this message, please PM me. this is a test. And I'm serious, this isnt just some lousy time wasting paragraph that I wrote just to fill in my signature. It's here for a reason. PM ME.
C.O.R.N.
http://51s-seedy-masteroogway.blogspot.com
Administrator
Administrator
#8 Re: RMXP + XAS = Hero Mini HUD
Loading

G@MeF@Ce

Administrator
Administrator
Administrator
profile
^ nah, I think I'm done? ~ as long as it works like a charm...

EDIT: actually I'm going to finish the user friendly module THEN I'm done.

^,^
Administrator
https://www.dropbox.com/sh/i47rig99qhrvn8s/4m5HvsM2fD http://g4m3f4c3.deviantart.com https://www.facebook.com//pages/Gameface101/332331300127008 https://twitter.com//mr_gameface101 https://soundcloud.com/schurr http://www.youtube.com/user/MrGameface101?feature=watch
||||||||||
||||||||||
#9 Re: RMXP + XAS = Hero Mini HUD
Loading

supercow

||||||||||
||||||||||
profile
Perfect script & A very well done job gameface cheers
this is just an idea, theres one more feature in the future that you can put there, its stamina bar Cool
||||||||||
Show Signature
||||||||||
Administrator
Administrator
#10 Re: RMXP + XAS = Hero Mini HUD
Loading

G@MeF@Ce

Administrator
Administrator
Administrator
profile
^@supercow ~ (stamina) you mean the CT meter?
so make this exclusive to XAS!?
ok brilliant!
Administrator
https://www.dropbox.com/sh/i47rig99qhrvn8s/4m5HvsM2fD http://g4m3f4c3.deviantart.com https://www.facebook.com//pages/Gameface101/332331300127008 https://twitter.com//mr_gameface101 https://soundcloud.com/schurr http://www.youtube.com/user/MrGameface101?feature=watch
||||||||||
||||||||||
#11 Re: RMXP + XAS = Hero Mini HUD
Loading

supercow

||||||||||
||||||||||
profile
whoa whoa this is just an idea gameface Shocked
dont force yourself to exhaustion now Smile , you already made so many cool script , bask in its glory for now Very Happy (did i say it right? bask? it mean shower in it right? Rolling Eyes still need to refine my english)
||||||||||
Show Signature
||||||||||
Administrator
Administrator
#12 Re: RMXP + XAS = Hero Mini HUD
Loading

G@MeF@Ce

Administrator
Administrator
Administrator
profile
^,^
\_/

it's a great idea how could I resist,
hey your English is better than my Indonesian

^ update!
added yellow stamina bar and purple charge bar ! ^,^
Administrator
https://www.dropbox.com/sh/i47rig99qhrvn8s/4m5HvsM2fD http://g4m3f4c3.deviantart.com https://www.facebook.com//pages/Gameface101/332331300127008 https://twitter.com//mr_gameface101 https://soundcloud.com/schurr http://www.youtube.com/user/MrGameface101?feature=watch
C.O.R.N.
C.O.R.N.
#13 Re: RMXP + XAS = Hero Mini HUD
Loading

BluE

C.O.R.N.
C.O.R.N.
C.O.R.N.
profile
@GF some feedback:
No matter how hard I try to press the "Z" "B" (as in "X") by default opens up the stupid menu. I was just thinking that it'd be better for the Mini HUD's default open button to be something that isn't as vital.
Another cool thing would be something like you press "J" and it only shows the EXP bar or something.
Like supercow said, easier to configure than a power switch. And super awesome. ++++++++++++++++++++++++
C.O.R.N.
Show Signature


Want a real challenge? Try Crack this code!

If you read this message, please PM me. this is a test. And I'm serious, this isnt just some lousy time wasting paragraph that I wrote just to fill in my signature. It's here for a reason. PM ME.
C.O.R.N.
http://51s-seedy-masteroogway.blogspot.com
Administrator
Administrator
#14 Re: RMXP + XAS = Hero Mini HUD
Loading

G@MeF@Ce

Administrator
Administrator
Administrator
profile
^yeah I disabled the menu to have an extra key to play with.

once I'm done with the module, you can easily set it up however you like.
I'll put a nice touch to the default settings, so now I think I'm finished with it

@supercow - how you like the stamina and charge bars?

gameface
Administrator
https://www.dropbox.com/sh/i47rig99qhrvn8s/4m5HvsM2fD http://g4m3f4c3.deviantart.com https://www.facebook.com//pages/Gameface101/332331300127008 https://twitter.com//mr_gameface101 https://soundcloud.com/schurr http://www.youtube.com/user/MrGameface101?feature=watch
||||||||||
||||||||||
#15 Re: RMXP + XAS = Hero Mini HUD
Loading

supercow

||||||||||
||||||||||
profile
affraid i run out of words to say ,its pure AWESOME !!!!!
cheers cheers cheers cheers cheers cheers


wow
||||||||||
Show Signature
||||||||||
Administrator
Administrator
#16 Re: RMXP + XAS = Hero Mini HUD
Loading

G@MeF@Ce

Administrator
Administrator
Administrator
profile
experimenting with the viewports under the Sprite class instead of the traditional window class for this mini HUD. this way there's no overflow (lag) when other scripts that use Window_Base are running.

here's what I have so far... the script doesn't update/refresh as I'm working on a conditional update method so I can keep the game running above 35fps.



Spoiler:
Code:
#===============================================================================
# XAS H_mini Sprite HUD  v.1 by gameface101 2/11/2011 ==========================
#===============================================================================
module XAS_hmini_hud
    HMHUD_DISWITCH = 5
    HMHUD_OPCACITY = 255
    HMHUD_Z = 1
#DRAW OPTIONS ==============================================================
    DRAW_BARS = true # display script drawn gradient bars
    DHP_X = 0#horizontal position
    DHP_Y = 26#vertical position
    DHP_WID = 40#bar width
    DHP_HET = 4#bar hieght
    DSP_X = 0#horizontal position
    DSP_Y = 32#vertical position
    DSP_WID = 40#bar width
    DSP_HET = 4#bar hieght
#NAME OPTIONS ==============================================================
    NAME = true# use name
    NAME_SIZE = 12#font size
    N_X = -60#horizontal position
    N_Y = 24#vertical position
#NUMBER OPTIONS ============================================================
    NUMBERS = true #use numbers for enemy HP, SP on/off
    NUM_SIZE = 12
    NUM_X = 24#
    NUM_Y = 15#
  end
#============================================================================
class Hero_Bars < Sprite

  include XAS_hmini_hud
 
  def initialize(viewport2)
    super(viewport2)
    @actor = $game_party.actors[0]
    return if @actor == nil
    self.bitmap = Bitmap.new(160, 60)
    self.visible = true
    self.opacity = HMHUD_OPCACITY
    self.z = 100
    refresh
    #update
  end
  #--------------------------------------------------------------------------
  def refresh
    self.bitmap.clear
#=====================================================================[DRAW BARS
    if DRAW_BARS == true
    draw_hmini_hud_bar(DHP_X, DHP_Y, @actor.hp, @actor.maxhp,
      width = DHP_WID, height = DHP_HET, bar_color = Color.new(255,0,0,255) ,
      end_color = Color.new(100,0,0,255))
    draw_hmini_hud_bar(DSP_X, DSP_Y, @actor.sp, @actor.maxsp,
      width = DSP_WID, height = DSP_HET, bar_color = Color.new(100,0,255,255),
      end_color = Color.new(50,0,100,255))
    end
#=====================================================================[DRAW NAME
    if NAME == true
    bitmap.font = Font.new("Arial", NAME_SIZE)
    bitmap.draw_hemming_text(N_X, N_Y, 160, 36, @actor.name, 1)
    end
#=======================================================================[numbers
    if NUMBERS == true
        self.bitmap.font.size = NUM_SIZE
        self.bitmap.font.color = Color.new(0,0,0,255)#black
        self.bitmap.draw_hemming_text(NUM_X, NUM_Y , 28, 22, @actor.hp.to_s, 2)
        lowhp = @actor.maxhp * 20 / 100
        avhp = @actor.maxhp * 50 / 100
    if @actor.hp <= lowhp
        self.bitmap.font.color = Color.new(232,8,0,255)#red
        elsif @actor.hp <= avhp
        self.bitmap.font.color = Color.new(253,241,7,255)#yellow
        else
        self.bitmap.font.color = Color.new(96,224,82,255)#green
    end
        self.bitmap.draw_hemming_text(NUM_X, NUM_Y , 29, 23,@actor.hp.to_s, 2)
        self.bitmap.font.size = 12
    if @actor.maxsp > 0
        self.bitmap.font.name = "Arial"
        self.bitmap.font.color = Color.new(0,0,0,255)#black
        self.bitmap.draw_hemming_text(NUM_X, NUM_Y , 28, 42, @actor.sp.to_s, 2)
        lowsp = @actor.maxsp * 20 / 100
        avsp = @actor.maxsp * 50 / 100
    if @actor.sp <= lowsp
        self.bitmap.font.color = Color.new(194,210,255,255)#light blue
        elsif @actor.sp <= avsp
        self.bitmap.font.color = Color.new(92,130,255,255)#medium blue
        else
        self.bitmap.font.color = Color.new(223,204,178,255)#pale
    end
        self.bitmap.draw_hemming_text(NUM_X , NUM_Y , 29, 43,@actor.sp.to_s, 2)
    end
  end
  end#end refresh method
  #--------------------------------------------------------------------------
  def update
    @actor = $game_party.actors[0]
    return if @actor == nil
    #refresh
    visible_update
  end
  #--------------------------------------------------------------------------
  # * Visible Update
  #--------------------------------------------------------------------------
  def visible_update
    if $game_switches[HMHUD_DISWITCH] == true
      self.visible = false
    else
      self.visible = true
    end
  end
#-------------------------------------------------------------------------------
  def draw_hmini_hud_bar(x, y, min, max, width = 152, height = 6,
      bar_color = Color.new(150, 0, 0, 255),
      end_color = Color.new(255, 255, 60, 255))
    for i in 0..height
      self.bitmap.fill_rect(x + i, y + height - i, width + 1, 1, Color.new(50, 50, 50, 255))
    end
#-------------------------------------------------------------------------------
    for i in 1..(height - 1)
      r = 100 * (height - i) / height + 0 * i / height
      g = 100 * (height - i) / height + 0 * i / height
      b = 100 * (height - i) / height + 0 * i / height
      a = 255 * (height - i) / height + 255 * i / height
      self.bitmap.fill_rect(x + i, y + height - i, width, 1, Color.new(r, b, g, a))
    end
#-------------------------------------------------------------------------------
    for i in 1..( (min / max.to_f) * width - 1)
      for j in 1..(height - 1)
        r = bar_color.red * (width - i) / width + end_color.red * i / width
        g = bar_color.green * (width - i) / width + end_color.green * i / width
        b = bar_color.blue * (width - i) / width + end_color.blue * i / width
        a = bar_color.alpha * (width - i) / width + end_color.alpha * i / width
        self.bitmap.fill_rect(x + i + j, y + height - j, 1, 1, Color.new(r, g, b, a))
      end
    end
  end
end
#
#============================================================================
class Scene_Map
  include XAS_hmini_hud
  alias hminihud_main main
  def main
      @hmini_view = Viewport.new($game_player.screen_x / 64,
      $game_player.screen_y / 64, 640, 480)
      @hmini_view.z = HMHUD_Z
      @hmini = Hero_Bars.new(@hmini_view)
      hminihud_main   
      @hmini.dispose
      @hmini = nil
      @hmini_view.dispose
      @hmini_view = nil
  end
  #--------------------------------------------------------------------------
  alias hmini_update update
  def update
    @hmini.x = $game_player.screen_x - 24
    @hmini.y = $game_player.screen_y - 24
    hmini_update
    @hmini.update
  end 
end
#------------------------------------------------------------------------------

any skilled in script are most welcome to lend a hand or share some pointers,
it appears the more RGSS you learn the more RGSS there is to learn. study

edit: got a few pointers from wiggles about bitmap rects and
some good advice on refresh, update methods from Hackel.

got a new structure for how this script is called, now to get a baby smooth refresh, update method before I re-add the remaining features to this version.

Spoiler:
Code:
#===============================================================================
# XAS H_mini Sprite HUD  v.2 by gameface101 2/11/2011 ==========================
#===============================================================================
module XAS_hmini_hud
    HMHUD_DISWITCH = 5
    HMHUD_OPCACITY = 255
    HMHUD_Z = 1
#DRAW OPTIONS ==============================================================
    DRAW_BARS = true # display script drawn gradient bars
    DHP_X = 0#horizontal position
    DHP_Y = 26#vertical position
    DHP_WID = 40#bar width
    DHP_HET = 4#bar hieght
    DSP_X = 0#horizontal position
    DSP_Y = 32#vertical position
    DSP_WID = 40#bar width
    DSP_HET = 4#bar hieght
#NAME OPTIONS ==============================================================
    NAME = true# use name
    NAME_SIZE = 12#font size
    N_X = -60#horizontal position
    N_Y = 25#vertical position
#NUMBER OPTIONS ============================================================
    NUMBERS = true #use numbers for enemy HP, SP on/off
    NUM_SIZE = 12
    HNUM_X = 24#
    HNUM_Y = 15#
    SNUM_X = 24#
    SNUM_Y = 15#
  end
#============================================================================
class Hero_Bars < Sprite

  include XAS_hmini_hud
 
  def initialize(viewport3)
    super(viewport3)
    @actor = $game_party.actors[0]
    return if @actor == nil#
    self.bitmap = Bitmap.new(160, 60)
    #self.visible = true
    #self.opacity = HMHUD_OPCACITY
    #self.z = 1
    draw_the_name
    draw_the_hp_bar
    draw_the_sp_bar
    draw_the_hp_number
    draw_the_sp_number
    visible_update
    hud_pos_update
  end
#=====================================================================[draw name
  def draw_the_name
    bitmap.font = Font.new("Arial", NAME_SIZE)
    bitmap.draw_hemming_text(N_X, N_Y, 160, 36, @actor.name, 1)
  end
#---------------------------------------------------------------[draw bar method
  def draw_hmini_hud_bar(x, y, min, max, width = 152, height = 6,
      bar_color = Color.new(150, 0, 0, 255),
      end_color = Color.new(255, 255, 60, 255))
    for i in 0..height
      self.bitmap.fill_rect(x + i, y + height - i, width + 1, 1, Color.new(50, 50, 50, 255))
    end
#-------------------------------------------------------------------------------
    for i in 1..(height - 1)
      r = 100 * (height - i) / height + 0 * i / height
      g = 100 * (height - i) / height + 0 * i / height
      b = 100 * (height - i) / height + 0 * i / height
      a = 255 * (height - i) / height + 255 * i / height
      self.bitmap.fill_rect(x + i, y + height - i, width, 1, Color.new(r, b, g, a))
    end
#-------------------------------------------------------------------------------
    for i in 1..( (min / max.to_f) * width - 1)
      for j in 1..(height - 1)
        r = bar_color.red * (width - i) / width + end_color.red * i / width
        g = bar_color.green * (width - i) / width + end_color.green * i / width
        b = bar_color.blue * (width - i) / width + end_color.blue * i / width
        a = bar_color.alpha * (width - i) / width + end_color.alpha * i / width
        self.bitmap.fill_rect(x + i + j, y + height - j, 1, 1, Color.new(r, g, b, a))
      end
    end
  end
#===================================================================[draw hp bar
  def draw_the_hp_bar
    draw_hmini_hud_bar(DHP_X, DHP_Y, @actor.hp, @actor.maxhp,
      width = DHP_WID, height = DHP_HET, bar_color = Color.new(255,0,0,255) ,
      end_color = Color.new(100,0,0,255))
  end
#===================================================================[draw sp bar   
  def draw_the_sp_bar
    draw_hmini_hud_bar(DSP_X, DSP_Y, @actor.sp, @actor.maxsp,
      width = DSP_WID, height = DSP_HET, bar_color = Color.new(100,0,255,255),
      end_color = Color.new(50,0,100,255))
  end
#================================================================[draw hp number
  def draw_the_hp_number
        bitmap.font.size = NUM_SIZE
        bitmap.font.color = Color.new(0,0,0,255)#black
        bitmap.draw_hemming_text(HNUM_X, HNUM_Y , 28, 22, @actor.hp.to_s, 2)
        lowhp = @actor.maxhp * 20 / 100
        avhp = @actor.maxhp * 50 / 100
    if @actor.hp <= lowhp
        bitmap.font.color = Color.new(232,8,0,255)#red
        elsif @actor.hp <= avhp
        bitmap.font.color = Color.new(253,241,7,255)#yellow
        else
        bitmap.font.color = Color.new(96,224,82,255)#green
    end
        bitmap.draw_hemming_text(HNUM_X, HNUM_Y , 29, 23,@actor.hp.to_s, 2)
        bitmap.font.size = 12
    end
#================================================================[draw sp number
  def draw_the_sp_number
    if @actor.maxsp > 0
        bitmap.font.name = "Arial"
        bitmap.font.color = Color.new(0,0,0,255)#black
        bitmap.draw_hemming_text(SNUM_X, SNUM_Y , 28, 42, @actor.sp.to_s, 2)
        lowsp = @actor.maxsp * 20 / 100
        avsp = @actor.maxsp * 50 / 100
    if @actor.sp <= lowsp
        bitmap.font.color = Color.new(194,210,255,255)#light blue
        elsif @actor.sp <= avsp
        bitmap.font.color = Color.new(92,130,255,255)#medium blue
        else
        bitmap.font.color = Color.new(223,204,178,255)#pale
    end
        bitmap.draw_hemming_text(SNUM_X , SNUM_Y , 29, 43,@actor.sp.to_s, 2)
    end
end
#=======================================================================[dispose
  def dispose
    @actor = $game_party.actors[0]
    return if @actor == nil
    self.bitmap.dispose
    self.bitmap = nil
#    self.bitmap.clear
  end
#========================================================================[update
  def update
    @actor = $game_party.actors[0]
    return if @actor == nil
    hud_pos_update
    visible_update
  end
#================================================================[visible update
  def visible_update
    if $game_switches[HMHUD_DISWITCH] == true
      self.visible = false
    else
      self.visible = true
    end
  end
  #--------------------------------------------------------------------------
  # * Hud Pos Update
  #--------------------------------------------------------------------------
  def hud_pos_update
    self.x = $game_player.screen_x - 24
    self.y = $game_player.screen_y - 24 
  end

end #end class

#===============================================================================
class Scene_Map
  include XAS_hmini_hud
  alias hminihud_main main
  def main
      @hmini_view = Viewport.new($game_player.screen_x / 64,
      $game_player.screen_y / 64, 640, 480)
      @hmini_view.z = HMHUD_Z
      @hmini = Hero_Bars.new(@hmini_view)
      hminihud_main 
      @hmini.dispose
      @hmini = nil
      @hmini_view.dispose
      @hmini_view = nil
  end
#-------------------------------------------------------------------------------
  alias hmini_update update
  def update
    hmini_update
    @hmini.update
  end
end
#-------------------------------------------------------------------------------
Administrator
https://www.dropbox.com/sh/i47rig99qhrvn8s/4m5HvsM2fD http://g4m3f4c3.deviantart.com https://www.facebook.com//pages/Gameface101/332331300127008 https://twitter.com//mr_gameface101 https://soundcloud.com/schurr http://www.youtube.com/user/MrGameface101?feature=watch
Active Member
Active Member
#17 Re: RMXP + XAS = Hero Mini HUD
Loading

LiTTleDRAgo

Active Member
Active Member
Active Member
profile
I'm trying to edit it, but I guess it's still lagg
I wonder why

-----removed-----
Active Member
Show Signature
Active Member
http://littledrago.blogspot.com
Administrator
Administrator
#18 Re: RMXP + XAS = Hero Mini HUD
Loading

G@MeF@Ce

Administrator
Administrator
Administrator
profile


Drago! it runs perfectly now on a new XAS3.9.1 project WITH the Emini HUD.

like a priest, you blessed these scripts and performed an exorcism on the lag demon LOL!

Maybe your project has a conflicting script?
Administrator
https://www.dropbox.com/sh/i47rig99qhrvn8s/4m5HvsM2fD http://g4m3f4c3.deviantart.com https://www.facebook.com//pages/Gameface101/332331300127008 https://twitter.com//mr_gameface101 https://soundcloud.com/schurr http://www.youtube.com/user/MrGameface101?feature=watch
||||||||||
||||||||||
#19 Re: RMXP + XAS = Hero Mini HUD
Loading

supercow

||||||||||
||||||||||
profile
affraid no lagg at all this is awesome
i even put >30 enemy in one map and only lag a tiny bit Shocked awesome
||||||||||
Show Signature
||||||||||
Administrator
Administrator
#20 Re: RMXP + XAS = Hero Mini HUD
Loading

G@MeF@Ce

Administrator
Administrator
Administrator
profile
@supercow - I'm just as affraid as you are Razz

@Hackel, mr_wiggles, LiTTleDRAgo - thanks guys couldn't have done this with out you.

Original post updated with latest version!!!

gameface
Administrator
https://www.dropbox.com/sh/i47rig99qhrvn8s/4m5HvsM2fD http://g4m3f4c3.deviantart.com https://www.facebook.com//pages/Gameface101/332331300127008 https://twitter.com//mr_gameface101 https://soundcloud.com/schurr http://www.youtube.com/user/MrGameface101?feature=watch
Active Member
Active Member
#21 Re: RMXP + XAS = Hero Mini HUD
Loading

LiTTleDRAgo

Active Member
Active Member
Active Member
profile
If you're not noticing it when attacking / attacked the enemy the FPS dropped by almost half in my project
Active Member
Show Signature
Active Member
http://littledrago.blogspot.com
Administrator
Administrator
#22 Re: RMXP + XAS = Hero Mini HUD
Loading

G@MeF@Ce

Administrator
Administrator
Administrator
profile
there may be a script in your project or event causing this...?

supercow tested it too and works fine for him.

here's a screenshot with my project on a simple map,lots going on still at 38FPS.


I'm sure it's not your PC Neutral

edit: need to make that enemy Hud behind/blow the hero
Administrator
https://www.dropbox.com/sh/i47rig99qhrvn8s/4m5HvsM2fD http://g4m3f4c3.deviantart.com https://www.facebook.com//pages/Gameface101/332331300127008 https://twitter.com//mr_gameface101 https://soundcloud.com/schurr http://www.youtube.com/user/MrGameface101?feature=watch
Active Member
Active Member
#23 Re: RMXP + XAS = Hero Mini HUD
Loading

Legault123

Active Member
Active Member
Active Member
profile
This looks so clean and cool on any project! As always you did an amazing job gf, good to see that everytime you release something your skill level seems to get better and better, hope to see more from you!
Active Member
Show Signature
Active Member
Active Member
Active Member
#24 Re: RMXP + XAS = Hero Mini HUD
Loading

LiTTleDRAgo

Active Member
Active Member
Active Member
profile
I guess I should add fade function on your enemy hud
you didn't mind do you?
Active Member
Show Signature
Active Member
http://littledrago.blogspot.com
Administrator
Administrator
#25 Re: RMXP + XAS = Hero Mini HUD
Loading

G@MeF@Ce

Administrator
Administrator
Administrator
profile
Man you have freereign with all of them Very Happy
your code skill is powerful.
Administrator
https://www.dropbox.com/sh/i47rig99qhrvn8s/4m5HvsM2fD http://g4m3f4c3.deviantart.com https://www.facebook.com//pages/Gameface101/332331300127008 https://twitter.com//mr_gameface101 https://soundcloud.com/schurr http://www.youtube.com/user/MrGameface101?feature=watch
||||||||||
||||||||||
#26 Re: RMXP + XAS = Hero Mini HUD
Loading

supercow

||||||||||
||||||||||
profile
this script had
HMINI_DISABLE
but i dont see it anywhere in the script and cant seem to use it Neutral hope i can get some help Wink
||||||||||
Show Signature
||||||||||
Active Member
Active Member
#27 Re: RMXP + XAS = Hero Mini HUD
Loading

LiTTleDRAgo

Active Member
Active Member
Active Member
profile
here you go

------removed------

Cross Engined !!
Active Member
Show Signature
Active Member
http://littledrago.blogspot.com
Administrator
Administrator
#28 Re: RMXP + XAS = Hero Mini HUD
Loading

G@MeF@Ce

Administrator
Administrator
Administrator
profile
cross engined!? way too cool LiTTleDRAgo, thanks for throwing the disable switch back in ^,^

-=[ + ]=-
Administrator
https://www.dropbox.com/sh/i47rig99qhrvn8s/4m5HvsM2fD http://g4m3f4c3.deviantart.com https://www.facebook.com//pages/Gameface101/332331300127008 https://twitter.com//mr_gameface101 https://soundcloud.com/schurr http://www.youtube.com/user/MrGameface101?feature=watch
#29 Re: RMXP + XAS = Hero Mini HUD
Loading

Sponsored content

profile

View previous topic View next topic Back to top Message [Page 1 of 1]

 

Chatbox system disabled
Personal messaging disabled