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.

Need some Help on Moghunter's HUD

#_________________________________________________
# MOG_MPWindow_Status Lena V1.1           
#_________________________________________________
# By Moghunter               
#_________________________________________________
if true # True = Enable / False = Disable (Script)
module MOG
#HUD Position
STMAPX = 0 # X Pos
STMAPY = 0 # Y Pos
#Disable HUD Switch ID. 
STMAPVIS = 5
#Windowskin name.
STMAPSKIN = "001-Blue01"
#Window Opacity.
STMAPOPA = 0
end
$mogscript = {} if $mogscript == nil
$mogscript["mpstelen"] = true
###############
# Window_Base #
###############
class Window_Base < Window   
def draw_maphp(actor, x, y)
back = RPG::Cache.picture("BAR0")   
cw = back.width 
ch = back.height
src_rect = Rect.new(0, 0, cw, ch)   
self.contents.blt(x + 65, y - ch + 30, back, src_rect)
meter = RPG::Cache.picture("HP_BAR")   
cw = meter.width  * actor.hp / actor.maxhp
ch = meter.height
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x + 65, y - ch + 30, meter, src_rect)
text = RPG::Cache.picture("HP_T")   
cw = text.width 
ch = text.height
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x + 60, y - ch + 15, text, src_rect)
self.contents.font.color = Color.new(0,0,0,255)
self.contents.draw_text(x + 91, y - 7, 48, 32, actor.hp.to_s, 2)
self.contents.font.color = Color.new(250,255,255,255)
self.contents.draw_text(x + 90, y - 8, 48, 32, actor.hp.to_s, 2)   
end 
def draw_mapsp(actor, x, y)
back = RPG::Cache.picture("BAR0")   
cw = back.width 
ch = back.height
src_rect = Rect.new(0, 0, cw, ch)   
self.contents.blt(x + 65, y - ch + 30, back, src_rect)
meter = RPG::Cache.picture("SP_BAR")   
cw = meter.width  * actor.sp / actor.maxsp
ch = meter.height
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x + 65, y - ch + 30, meter, src_rect)
text = RPG::Cache.picture("SP_T")   
cw = text.width 
ch = text.height
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x + 60, y - ch + 15, text, src_rect)
self.contents.font.color = Color.new(0,0,0,255)
self.contents.draw_text(x + 91, y - 7, 48, 32, actor.sp.to_s, 2)   
self.contents.font.color = Color.new(250,255,255,255)
self.contents.draw_text(x + 90, y - 8, 48, 32, actor.sp.to_s, 2)   
end 
def draw_mexp(actor, x, y)
actor = $game_party.actors[0]
bitmap2 = RPG::Cache.picture("Exp_Back")
cw = bitmap2.width
ch = bitmap2.height
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x + 60 , y - ch + 30, bitmap2, src_rect)
if actor.next_exp != 0
rate = actor.now_exp.to_f / actor.next_exp
else
rate = 1
end
bitmap = RPG::Cache.picture("Exp_Meter")
if actor.level < 99
cw = bitmap.width * rate
else
cw = bitmap.width
end   
ch = bitmap.height
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x + 60 , y - ch + 30, bitmap, src_rect)
self.contents.font.color = Color.new(0,0,0,255)
self.contents.draw_text(x + 55, y + 1, 84, 32, "Exp",0)
self.contents.font.color = Color.new(255,255,255,255)
self.contents.draw_text(x + 54, y, 84, 32, "Exp",0)
end
def draw_actor_head(actor, x, y)
bitmap = RPG::Cache.character(actor.character_name, actor.character_hue)
cw = bitmap.width / 4
ch = bitmap.height / 4
src_rect = Rect.new(0, ch, cw, ch / 2)   
self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect)
end
def draw_actor_statemap(actor, x, y, width = 120)
text = make_battler_state_text(actor, width, true)
self.contents.font.color = Color.new(0,0,0,255)
self.contents.draw_text(x + 1, y + 1, width, 32, text)
self.contents.font.color = Color.new(250,255,255,255)
self.contents.draw_text(x, y, width, 32, text)
end
def draw_actor_levelmap(actor, x, y)
self.contents.font.color = Color.new(0,0,0,255)
self.contents.draw_text(x, y, 32, 32, "Lv")
self.contents.font.color = Color.new(50,255,250,255)   
self.contents.draw_text(x + 1, y + 1, 32, 32, "Lv")
self.contents.font.color = Color.new(0,0,0,255)
self.contents.draw_text(x + 22, y, 24, 32, actor.level.to_s, 1)
self.contents.font.color = Color.new(255,255,255,255)   
self.contents.draw_text(x + 23, y + 1, 24, 32, actor.level.to_s, 1)   
end 
end
#####################
# Window_Status_Map #
#####################
class Window_Stmap < Window_Base
def initialize
super(0, 0, 640, 110)
self.contents = Bitmap.new(width - 32, height - 32)
self.windowskin = RPG::Cache.windowskin(MOG::STMAPSKIN)   
self.contents.font.bold = true
self.contents.font.size = 20
self.contents.font.name = "Georgia"
self.opacity = MOG::STMAPOPA
refresh
end 
def refresh
self.contents.clear
for i in 0...$game_party.actors.size
actor = $game_party.actors
actor_x = i * 160 + 4
actor = $game_party.actors
draw_maphp(actor, actor_x - 25,  y + 5)
draw_mapsp(actor, actor_x - 60,  y + 30)
draw_mexp(actor, -50, 45)
draw_actor_head(actor, actor_x + 14, 48)
draw_actor_levelmap(actor, actor_x + 70, 47)     
end   
end
end
###############
# Game_Player #
###############
class Game_Player < Game_Character
attr_accessor :wref
end
#############
# Scene_Map #
#############
class Scene_Map
alias mog9_main main
def main
@stmap = Window_Stmap.new
@stmap.x = MOG::STMAPX
@stmap.y = MOG::STMAPY
if $game_switches[MOG::STMAPVIS] == false
@stmap.visible = true 
else
@stmap.visible = false 
end   
mog9_main
@stmap.dispose
end
alias mog9_update update
def update
if $game_switches[MOG::STMAPVIS] == false
@stmap.visible = true 
else
@stmap.visible = false 
end     
if $game_player.wref == true   
@stmap.refresh
$game_player.wref = false
end
mog9_update
end 
end 
##############
# Game_Party #
###############
class Game_Party
alias mog9_check_map_slip_damage check_map_slip_damage 
def check_map_slip_damage
for actor in @actors
if actor.hp > 0 and actor.slip_damage?
$game_player.wref = true
end
end
mog9_check_map_slip_damage 
end
end
##############
# Game_Actor #
##############
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
####################
# Game_Interpreter #
####################
class Interpreter
alias mog311ref command_311
def command_311
$game_player.wref = true   
return mog311ref
end
alias mog312ref command_312
def command_312
$game_player.wref = true   
return mog312ref
end
alias mog313ref command_313
def command_313
$game_player.wref = true   
return mog313ref
end
alias mog314ref command_314
def command_314
$game_player.wref = true   
return mog314ref
end
alias mog315ref command_315
def command_315
$game_player.wref = true   
return mog315ref
end
alias mog316ref command_316
def command_316
$game_player.wref = true   
return mog316ref
end
alias mog317ref command_317
def command_317
$game_player.wref = true   
return mog317ref
end 
end
################
# Game_Battler #
################
class Game_Battler
alias mog11_attack_effect attack_effect
def attack_effect(attacker)
mog11_attack_effect(attacker) 
$game_player.wref = true
end
alias mog11_skill_effect skill_effect
def skill_effect(user, skill)
mog11_skill_effect(user, skill)
$game_player.wref = true 
end 
alias mog11_item_effect item_effect
def item_effect(item)
mog11_item_effect(item)
$game_player.wref = true 
end
alias mog11_add_state add_state
def add_state(state_id, force = false)
mog11_add_state(state_id, force = false)
$game_player.wref = true 
end
end
end


Right so i kinda combined 2 of his hud's so the normal one had a XP-bar...
Now what I'm looking for is a way to refresh it lets say every x seconds, as I've got map regeneration, sprite changing etc...

Thanks in advance for helping, or at least having a look at this

-Avalon
 

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