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.

A new problem with Mr. Mo's ABS

Well, this is my first problem since RMXP was updated...

Changing the subject, I'm butchering up Mr. Mo's ABS to suit my needs and I've done great so far. I've removed the mini-map and the Hotkeys...BUT the Time Hud is where the Hotkey HUD is and the actual time is still where it is. So, with solving this error I could do this:
http://img205.imageshack.us/img205/831/abserroruw6.png[/img]

Oh, here's the script
Code:
#==============================================================================
# ** 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 = 54             # X POS of the HP Bar
HP_Y = 3              # Y POS of the HP Bar
HP_WIDTH = 55         # WIDTH of the HP Bar
HP_HEIGHT = 5         # Height of the HP Bar
#--------------------------------------------------------------------------
SP_X = 54             # X POS of the SP Bar
SP_Y = 22             # Y POS of the SP Bar
SP_WIDTH = 55         # WIDTH of the SP Bar
SP_HEIGHT = 5         # Height of the SP Bar
#--------------------------------------------------------------------------
EXP_X = 55            # X POS of the EXP Bar
EXP_Y = 42            # 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 = 180       #Hotkeys X Display
HOTKEYS_Y = 440       #Hotkeys Y Display
#--------------------------------------------------------------------------
SHOW_DASH = true      # Show dash bar?
DASH_X = 95          # X POS of the DASH Bar
DASH_Y = 430          # Y POS of the DASH Bar
DASH_WIDTH = 55      # 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 = 95          # X POS of the SNEAK Bar
SNEAK_Y = 445          # Y POS of the SNEAK Bar
SNEAK_WIDTH = 55      # 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?
#--------------------------------------------------------------------------
HP_ITEMID = 1         # POTION ITEM ID
SP_ITEMID = 4         # SP Increase Item ID
#--------------------------------------------------------------------------
CAN_TOGGLE = true
TOGGLE_KEY = Input::Letters["E"]
#--------------------------------------------------------------------------
MINI_MAP = true       # Display Mini-Map?
#--------------------------------------------------------------------------
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("HUD Graphic")
    self.contents.blt(0, 0, bitmap, Rect.new(0, 10, 175, 175))
    bitmap = RPG::Cache.picture("HUD Display")
    self.contents.blt(15, 380, bitmap, Rect.new(0, 0, 175, 175))
    bitmap = RPG::Cache.picture("HUD Time Display")
    self.contents.blt(553.5, 338.5, bitmap, Rect.new(0, 0, 175, 175))
    bitmap = RPG::Cache.picture("Hotkeys HUD")
    self.contents.blt(250, -10, bitmap, Rect.new(0, 0, 400, 80))
    if MINI_MAP
      bitmap = RPG::Cache.picture("Mini-Map HUD")
      self.contents.blt(493, 362.5, bitmap, Rect.new(0, 0, 175, 175))
      #Show Map Name
      map_infos = load_data("Data/MapInfos.rxdata")
      name = map_infos[$game_map.map_id].name.to_s
      self.contents.draw_text(520, 455, 400, 32, name.to_s)
    end
    #Show the HP Symbol
    bitmap = RPG::Cache.icon("HP Symbol")
    self.contents.blt(0, -2, bitmap, Rect.new(0, 0, 24, 24))
    self.contents.draw_text(35, -9, 640, 32, "HP")
    #Draw the HP BAR
    draw_gradient_bar(HP_X, HP_Y, @actor.hp, @actor.maxhp, HP_BAR, HP_WIDTH, HP_HEIGHT)
    #Show the SP Symbol
    bitmap = RPG::Cache.icon("SP Symbol")
    self.contents.blt(0, 18, bitmap, Rect.new(0, 0, 24, 24))
    self.contents.draw_text(35, 11, 640, 32, "SP")
    #Draw the SP Bar
    draw_gradient_bar(SP_X, SP_Y, @actor.sp, @actor.maxsp, SP_BAR, SP_WIDTH, SP_HEIGHT)
    #Show the EXP Symbol
    bitmap = RPG::Cache.icon("EXP Symbol")
    self.contents.blt(0, 37, bitmap, Rect.new(0, 0, 24, 24))
    self.contents.draw_text(35, 30, 640, 32, "EXP")
    #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 Icon
    bitmap = RPG::Cache.icon("Hero")
    self.contents.blt(2, 59, bitmap, Rect.new(0, 0, 24, 24))
    self.contents.draw_text(35, 49, 640, 32, "Hero:")
    self.contents.draw_text(30, 59, 640, 32, @actor.name.to_s)
    #Show Level Icon
    bitmap = RPG::Cache.icon("Level")
    self.contents.blt(2, 81, bitmap, Rect.new(0, 0, 24, 24))
    self.contents.draw_text(33, 72, 640, 32, "Level:")
    self.contents.draw_text(43, 82, 640, 32, @actor.level.to_s)
    #Show Gold Icon
    bitmap = RPG::Cache.icon("Gold")
    self.contents.blt(35, 390, bitmap, Rect.new(0, 0, 24, 24))
    self.contents.draw_text(30, 400, 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(570, 270, 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(130, 0, 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(110, 20, 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(110, 0, bitmap, Rect.new(0, 0, 24, 24))
    end
    if STATES_SHOW
      begin
        #Draw States Background
        n = -2
        for id in @actor.states
          state = $data_states[id]
          next if state == nil
          bitmap = RPG::Cache.picture("States Display")
          x = (n*40) + 185
          self.contents.blt(x, 50, bitmap, Rect.new(0, 0, 49, 58))
          n += 1
        end
        #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) + +195
          self.contents.blt(x, 65, bitmap, Rect.new(0, 0, 24, 24))
          self.contents.draw_text(x, 66.5, 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) + 280
        self.contents.blt(x, 27, icon, Rect.new(0, 0, 200, 100))
        self.contents.draw_text(x, 33, 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
  attr_accessor:mrmo_hud
  #--------------------------------------------------------------------------
  # * 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

Thankyou in advance. Sorry for the trouble people.
 
Ummmmmmmm, bump. 72 hours.

Just a rephrase (to hide the bump), the time HUD is in a different place to the time and I'm wondering if I could move it to the top right. Please help,
Thank you in advance,
Sasuke
 
This is where the script draw time text:
Code:
self.contents.draw_text(570, 270, 175, 175, @time.to_s)
change 570 (x) and 270 (y) to any number you want~

but for the picture, I don't sure. Because I don't know its file name.
 
Thanks woratana..that fixes it. I just did the same for the Time HUD (with rounding) and fixed it.

self.contents.draw_text(600, 0, 175, 175, @time.to_s) for time

THANK YOU.
 

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