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.

Mr. Mo's ABS HUD

Ok now so. I want to use the HUD from the Mr. Mo ABS Battle system.
But I only need the HUD part of it to be there...

I wanted to know if anybody would kindly mod the script so that it will work alone.
The script is here.
#==============================================================================
# ** HUD
#------------------------------------------------------------------------------
# Mr.Mo "Muhammet Sivri" & Axerax
# Version 1.8
# 10.01.06
# Credit: Prexus for the Original Background. Axerax for edited HUD Background.
# Axerax for HUD Display,Mini-Map Backdrop HUD, and Hotkeys HUD.
# Notes: Be sure you have the Selwyn Passability Mini-Map before trying to use
# this version of the HUD. As well follow steps provided by Selwyn in his script
# to display the Mini-Map itself, my HUD will not display it for you, it is only
# a backdrop that displays the name of the map you are currently on.
#==============================================================================
#-------------------------------------------------------------------------------
# Begin SDK Enabled Check
#-------------------------------------------------------------------------------
if SDK.state("Mr.Mo's ABS")
#--------------------------------------------------------------------------
# * Constants - MAKE YOUR EDITS HERE
#--------------------------------------------------------------------------
HP_X = 68             # X POS of the HP Bar
HP_Y = 29             # Y POS of the HP Bar
HP_WIDTH = 60         # WIDTH of the HP Bar
HP_HEIGHT = 5         # Height of the HP Bar
#--------------------------------------------------------------------------
SP_X = 68             # X POS of the SP Bar
SP_Y = 60             # Y POS of the SP Bar
SP_WIDTH = 60         # WIDTH of the SP Bar
SP_HEIGHT = 5        # Height of the SP Bar
#--------------------------------------------------------------------------
EXP_X = 156            # X POS of the EXP Bar
EXP_Y = 109           # Y POS of the EXP Bar
EXP_WIDTH = 60        # WIDTH of the EXP Bar
EXP_HEIGHT = 5        # Height of the EXP Bar
#--------------------------------------------------------------------------
STATES_SHOW = true    # Show states?
STATES_X = 170        # States X display
STATES_Y = 430        # States Y display
#--------------------------------------------------------------------------
HOTKEYS_SHOW = true  #Show hotkeys?
HOTKEYS_X = 362       #Hotkeys X Display
HOTKEYS_Y = 100       #Hotkeys Y Display
#--------------------------------------------------------------------------
SHOW_DASH = true      # Show dash bar?
DASH_X = 68          # X POS of the DASH Bar
DASH_Y = 109          # Y POS of the DASH Bar
DASH_WIDTH = 60      # WIDTH of the DASH Bar
DASH_HEIGHT = 5      # Height of the DASH Bar
DASH_BAR = "018-Simple03" # The file used for gradient
#--------------------------------------------------------------------------
SHOW_SNEAK = true      # Show SNEAK bar?
SNEAK_X = 68          # X POS of the SNEAK Bar
SNEAK_Y = 87          # Y POS of the SNEAK Bar
SNEAK_WIDTH = 60      # WIDTH of the SNEAK Bar
SNEAK_HEIGHT = 5      # Height of the SNEAK Bar
SNEAK_BAR = "019-Simple04" # The file used for gradient
#--------------------------------------------------------------------------
LOW_HP = 150          # What HP should the low HP icon be shown?
LOW_SP = 150          # What SP should the low SP icon be shown?
#--------------------------------------------------------------------------
HP_ITEMID = 1         # POTION ITEM ID
SP_ITEMID = 4         # SP Increase Item ID
#--------------------------------------------------------------------------
CAN_TOGGLE = true
TOGGLE_KEY = Input::Letters["E"]
#--------------------------------------------------------------------------
class Window_MrMo_HUD < Window_Base
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    super(-16, -16, 700, 700)
    #Record Old Data
    @actor = $game_party.actors[0]
    @old_hp = @actor.hp
    @old_sp = @actor.sp
    @old_exp = @actor.exp
    @level = @actor.level
    @hp_n = $game_party.item_number(HP_ITEMID)
    @sp_n = $game_party.item_number(SP_ITEMID)
    @gold_n = $game_party.gold
    @states = @actor.states.to_s
    @dash = $ABS.dash_min
    @sneak = $ABS.sneak_min
    #Create Bitmap
    self.contents = Bitmap.new(width - 32, height - 32)
    #Hide Window
    self.opacity = 0
    #Refresh
    refresh
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    self.contents.font.color = system_color
    self.contents.font.color = normal_color
    self.contents.font.size = 12
    #Record new data
    @actor = $game_party.actors[0]
    @old_hp = @actor.hp
    @old_sp = @actor.sp
    @old_exp = @actor.exp
    @level = @actor.level
    @hp_n = $game_party.item_number(HP_ITEMID)
    @sp_n = $game_party.item_number(SP_ITEMID)
    @gold_n = $game_party.gold
    @states = @actor.states.to_s
    @dash = $ABS.dash_min
    @sneak = $ABS.sneak_min
    @time = game_time
    @time = $kts.time.to_s if $kts != nil
    #Show the Pictures
    bitmap = RPG::Cache.picture("ABS Onepiece HUD-3")
    self.contents.blt(0, 0, bitmap, Rect.new(0, 0, 640, 480))
    #Show Map Name
    self.contents.font.color = system_color
    self.contents.font.color = normal_color
    self.contents.font.size = 20
    self.contents.draw_text(298, 0, 400, 32, "Location:")
    self.contents.font.color = system_color
    self.contents.font.color = normal_color
    self.contents.font.size = 14
    map_infos = load_data("Data/MapInfos.rxdata")
    name = map_infos[$game_map.map_id].name.to_s
    self.contents.draw_text(300, 18, 400, 32, name.to_s)
    #Draw the HP BAR
    draw_gradient_bar(HP_X, HP_Y, @actor.hp, @actor.maxhp, HP_BAR, HP_WIDTH, HP_HEIGHT)
    #Draw the SP Bar
    draw_gradient_bar(SP_X, SP_Y, @actor.sp, @actor.maxsp, SP_BAR, SP_WIDTH, SP_HEIGHT)
    #Draw the EXP Bar
    min = @actor.level == 99 ? 1 : @actor.now_exp
    max = @actor.level == 99 ? 1 : @actor.next_exp
    draw_gradient_bar(EXP_X, EXP_Y, min, max, EXP_BAR, EXP_WIDTH, EXP_HEIGHT)
    #Show Hero Name
    self.contents.draw_text(147, 55, 640, 32, @actor.name.to_s)
    #Show Party Names
    self.contents.draw_text(440, -8, 640, 32, "Party:")
    self.contents.font.color = system_color
    self.contents.font.color = normal_color
    self.contents.font.size = 12
    self.contents.draw_text(420, 10, 640, 32, "1.")
    self.contents.draw_text(430, 10, 640, 32, @actor.name.to_s)
    self.contents.draw_text(420, 18, 640, 32, "2.")
    self.contents.draw_text(420, 26, 640, 32, "3.")
    self.contents.draw_text(420, 34, 640, 32, "4.")
    self.contents.draw_text(420, 42, 640, 32, "5.")
    self.contents.draw_text(420, 50, 640, 32, "6.")
    self.contents.draw_text(420, 58, 640, 32, "7.")
    self.contents.draw_text(420, 66, 640, 32, "8.")
    self.contents.draw_text(420, 74, 640, 32, "9.")
    self.contents.draw_text(415, 82, 640, 32, "10.")
    #Show Level
    self.contents.font.color = system_color
    self.contents.font.color = normal_color
    self.contents.font.size = 14
    self.contents.draw_text(200, 10, 640, 32, "Level:")
    self.contents.draw_text(210, 20, 640, 32, @actor.level.to_s)
    #Show Gold
    self.contents.draw_text(522, 88, 640, 32, $game_party.gold.to_s)
    #Show Clock
    self.contents.font.color = system_color
    self.contents.font.color = normal_color
    self.contents.font.size = 14
    self.contents.draw_text(597, 13, 175, 175, @time.to_s)
    #If the HP is too low
    if @actor.hp.to_i <= LOW_HP
      bitmap = RPG::Cache.icon("Skull")
      self.contents.blt(320, 335, bitmap, Rect.new(0, 0, 24, 24))
    end
    #If the SP is too low
    if @actor.sp.to_i <- LOW_SP
      bitmap = RPG::Cache.icon("Skull")
      self.contents.blt(320, 361, bitmap, Rect.new(0, 0, 24, 24))
    end 
    #If the SP Item is more then 0
    if $game_party.item_number(SP_ITEMID) > 0
      bitmap = RPG::Cache.icon("SP Potion")
      self.contents.blt(518, 36, bitmap, Rect.new(0, 0, 24, 24))
    end
    #if the HP Item is more then 0
    if $game_party.item_number(HP_ITEMID) > 0
      bitmap = RPG::Cache.icon("HP Potion")
      self.contents.blt(518, 15, bitmap, Rect.new(0, 0, 24, 24))
    end
    #if the Revive Item is more then 0
    if STATES_SHOW
      begin
        #Draw States
        n = -2
        for id in @actor.states
          state = $data_states[id]
          next if state == nil
          bitmap = RPG::Cache.icon(state.name+"_Icon")
          x = (n*40) + +515
          self.contents.blt(x, 133, bitmap, Rect.new(0, 0, 24, 24))
          self.contents.draw_text(x, 133, 49, 58, state.name.to_s)
          n += 1
        end
      rescue
        print "#{$!} - Don't ask Mr.Mo for it!!!"
      end
    end
    if HOTKEYS_SHOW
      #Draw Hotkeys
      count = 0
      #Make a loop to get all the ideas that are Hotkeyed
      for id in $ABS.skill_keys.values
        #Skip NIL values
        next if id == nil
        #Get skill
        skill = $data_skills[id]
        #Skip NIL values
        next if skill == nil
        #Get Icon
        icon = RPG::Cache.icon(skill.icon_name)
        x = (count*32) + 10
        self.contents.blt(x, 445, icon, Rect.new(0, 0, 200, 100))
        self.contents.draw_text(x, 447, 49, 58, skill.name.to_s)
        #Increase Count
        count += 1
      end
    end
    #Change font size
    self.contents.font.size = 20
    #Dash Bar
    self.contents.draw_text(DASH_X - 40, DASH_Y-10, 40, 32, "") if SHOW_DASH
    draw_gradient_bar(DASH_X, DASH_Y, $ABS.dash_min, $ABS.dash_max, DASH_BAR, DASH_WIDTH, DASH_HEIGHT) if SHOW_DASH
    #SNEAK Bar
    self.contents.draw_text(SNEAK_X - 40, SNEAK_Y-10, 40, 32, "") if SHOW_SNEAK
    draw_gradient_bar(SNEAK_X, SNEAK_Y, $ABS.sneak_min, $ABS.sneak_max, SNEAK_BAR, SNEAK_WIDTH, SNEAK_HEIGHT) if SHOW_SNEAK
  end
  #--------------------------------------------------------------------------
  # * Update
  #--------------------------------------------------------------------------
  def update
    refresh if something_changed?
  end
  #--------------------------------------------------------------------------
  # * Something Changed?
  #--------------------------------------------------------------------------
  def something_changed?
    return false if Graphics.frame_count % 30 != 0
    return true if @actor != $game_party.actors[0]
    return true if @old_hp != @actor.hp or @old_sp != @actor.sp or @old_exp != @actor.exp
    return true if @level != @actor.level
    return true if @hp_n != $game_party.item_number(HP_ITEMID) or @sp_n != $game_party.item_number(SP_ITEMID)
    return true if @gold_n != $game_party.gold
    return true if @states.to_s != @actor.states.to_s
    return true if @dash != $ABS.dash_min or @sneak != $ABS.sneak_min
    return true if $kts != nil and @time != $kts.time.to_s
    return true if $kts == nil and @time != game_time
    return false
  end
  #--------------------------------------------------------------------------
  # * Game Time
  #--------------------------------------------------------------------------
  def game_time
    total_sec = Graphics.frame_count / Graphics.frame_rate
    hour = total_sec / 60 / 60
    min = total_sec / 60 % 60
    sec = total_sec % 60
    text = sprintf("%02d:%02d:%02d", hour, min, sec)
    return text
  end
  #--------------------------------------------------------------------------
  def CAN_TOGGLE
    return CAN_TOGGLE
  end
  #--------------------------------------------------------------------------
  def TOGGLE_KEY
    return TOGGLE_KEY
  end
end
#==============================================================================
# * Scene_Map
#==============================================================================
class Scene_Map
  #--------------------------------------------------------------------------
  alias mrmo_hud_main_draw main_draw
  alias mrmo_hud_main_dispose main_dispose
  alias mrmo_hud_update_graphics update_graphics
  alias mrmo_keyhud_update update
  #--------------------------------------------------------------------------
  # * Main Draw
  #--------------------------------------------------------------------------
  def main_draw
    @mrmo_hud = Window_MrMo_HUD.new
    mrmo_hud_main_draw
  end
  #--------------------------------------------------------------------------
  # * Turn HUD Show
  #--------------------------------------------------------------------------
  def hud_show
    @mrmo_hud.visible = true
  end
  #--------------------------------------------------------------------------
  # * Turn HUD Hide
  #--------------------------------------------------------------------------
  def hud_hide
    @mrmo_hud.visible = false
  end
  #--------------------------------------------------------------------------
  # * Main Dispose
  #--------------------------------------------------------------------------
  def main_dispose
    @mrmo_hud.dispose
    mrmo_hud_main_dispose
  end
  #--------------------------------------------------------------------------
  # * Update Graphics
  #--------------------------------------------------------------------------
  def update_graphics
    mrmo_hud_update_graphics
    @mrmo_hud.update
  end
  #--------------------------------------------------------------------------
  # * Update
  #--------------------------------------------------------------------------
  def update
    mrmo_keyhud_update
    if @mrmo_hud.CAN_TOGGLE and Input.trigger?(@mrmo_hud.TOGGLE_KEY)
      return @mrmo_hud.visible = true if !@mrmo_hud.visible
      return @mrmo_hud.visible = false if @mrmo_hud.visible
    end
  end
end
#--------------------------------------------------------------------------
# * SDK End
#--------------------------------------------------------------------------
end
class Game_Actor
  #--------------------------------------------------------------------------
  # * Get the current EXP
  #--------------------------------------------------------------------------
  def now_exp
    return @exp - @exp_list[@level]
  end
  #--------------------------------------------------------------------------
  # * Get the next level's EXP
  #--------------------------------------------------------------------------
  def next_exp
    exp = @exp_list[@level+1] > 0 ? @exp_list[@level+1] - @exp_list[@level] : 0
    return exp
  end
end
Im new to scripts and all that good stuff so Im not that good with it.

Somebody please help...
 

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