Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #================================================#
- # ¦ ReinoRPG HUD v0.6
- # Script: LB
- # Translated: Bravo2Kilo
- # Toggle key: Kal
- #================================================#
- puts "HUD Loaded"
- module PR_RRPG_HUD
- #================================================#
- #============= General Settings ===============#
- #================================================#
- # Post nil if you want to center on screen
- # Place a minus sign in front of value to refer to the opposite side.
- Position_X = 0
- Position_Y = 260
- Bottom_of_the_HUD = "Back.png"
- Bar_HP = "HP.png"
- Bar_MP = "MP.png"
- Using_transparency_in_the_entrance = true # Makes the HUD fade when go under it
- Using_transparency_in_the_exit = true # FadeOut to disappear in just
- Speed = 3 # Speed to FadeIn/FadeOut
- Final_Opacity = 255 # Final 0pacity of the HUD
- Opacity_Final_Element = 255 # Opacity of the final elements of the HUD
- Character_Opacity = 150 # Opacity if the character is under
- Opacity_Character_Element = 160 # Opacity of the elements
- Switch_Control = 1 # Switch that controls whether the HUD is active or not
- # HUD to be active ON and OFF to turn it off.
- Number_Character = 1 # The number of character in order according to menu
- HUD_Toggle_Show_Key = Input::L # Press this key to show/hide the HUD
- # L is the Q key on a keyboard.
- # Press F1 in a game to see what the default
- # key mappings are.
- #==============================================#
- #=============== HUD Elements ================#
- #==============================================#
- # Set to true to display graphic charset (false to not display)
- Char_Show = true
- Char_X = 10
- Char_Y = 58
- # Set true to show the character's name (false to not display)
- Name_Show = true
- Name_Alignment = 0 # 0 = Left | 1 = Center | 2 = Right
- Name_X = 125
- Name_Y = 59
- Name_Width = 134
- Name_Color = Color.new(255,255,255)
- Name_Font = nil # Font to use, write nil to use the default
- Name_Size_of_Font = 22 # Size_of Font
- # Set true to show the character's class (false to not display)
- Class_Show = true
- Class_Alignment = 0 # 0 = Left | 1 = Center | 2 = Right
- Class_X = 125
- Class_Y = 87
- Class_Width = 60
- Class_Color = Color.new(255,255,255)
- Class_Font = nil # Font to use, write nil to use the default
- Class_Size_of_Font = 16 # Size_of Font
- # Set true to show the bar that represents the character's HP (false to not display)
- HP_Show = false
- HP_X = 92
- HP_Y = 42
- # Set true to show the bar that represents the character's MP (false to not display)
- MP_Show = false
- MP_X = 92
- MP_Y = 59
- # Set true to show the value of Current HP bar (false to not display)
- Values_HP_Show_Current = false
- # Set true to show the maximum value of the HP bar (false to not display)
- Values_HP_Show_Total = false
- Values_HP_Color = Color.new(255,255,255)
- Values_HP_Font = nil # Font to use, write nil to use the default
- Values_HP_Size_of_Font = 14 # Size_of Font
- Values_HP_X = 92
- Values_HP_Y = 38
- # Set true to show the value of Current MP bar (false to not display)
- Values_MP_Show_Current = false
- # Set true to show the maximum value of the MP bar (false to not display)
- Values_MP_Show_Total = false
- Values_MP_Color = Color.new(255,255,255)
- Values_MP_Font = nil # Font to use, write nil to use the default
- Values_MP_Size_of_Font = 14 # Size_of Font
- Values_MP_X = 92
- Values_MP_Y = 55
- # Set true to show the character's level (false to not display)
- LV_Show = true
- LV_Color = Color.new(255,255,255)
- LV_Font = nil # Font to use, write nil to use the default
- LV_Size_of_Font = 28 # Size_of Font
- LV_Width = 30
- LV_X = 47
- LV_Y = 15
- # Set true to show the character of money (false to not display)
- Gold_Show = true
- Gold_Color = Color.new(255,255,255)
- Gold_Font = nil # Font to use, write nil to use the default
- Gold_Size_of_Font = 18 # Size_of Font
- Gold_X = 125
- Gold_Y = 133
- Gold_Width = 65
- # Set true to show the suffix of play money (false to not display)
- Text_Show = false
- Text_Color = Color.new(255,255,255)
- Text_Font = nil # Font to use, write nil to use the default
- Text_Size_of_Font = 15 # Size_of Font
- Text_X = 281
- Text_Y = 50
- Text_Width = 50
- Text = "Gold" # Name of game currency
- end
- #===============================================#
- #============ End of Settings ================#
- #===============================================#
- #============ Top of Script ==================#
- #===============================================#
- module Cache
- #--------------------------------------------------------------------------
- # * Get HUD Graphic
- # filename : Filename
- #--------------------------------------------------------------------------
- def self.hud(filename)
- load_bitmap("Graphics/Hud/", filename)
- end
- end
- class Scene_Map < Scene_Base
- include PR_RRPG_HUD
- alias hud_start start
- alias hud_update update
- alias hud_terminate terminate
- def start
- active_hud
- hud_start
- end
- def active_hud
- unless @hud_has_run_before
- $game_switches[Switch_Control] = true
- @hud_has_run_before = true
- end
- @animation_hud1 = Using_transparency_in_the_entrance
- @animation_hud2 = Using_transparency_in_the_entrance
- @animation_hud_1 = Using_transparency_in_the_exit
- @animation_hud_2 = Using_transparency_in_the_exit
- @back = Sprite.new
- @back.bitmap = Cache.hud(Bottom_of_the_HUD)
- @back.opacity = 0 if @animation_hud1 == true
- x = Position_X
- y = Position_Y
- w = @back.width
- h = @back.height
- x = ( x == nil ? ( 544 - w ) / 2 : ( x < 0 ? ( 544 + x - w ) : x ) )
- y = ( y == nil ? ( 416 - h ) / 2 : ( y < 0 ? ( 416 + y - h ) : y ) )
- @back.x = x
- @back.y = y
- @back.z = 190
- @wind = Window_Base.new(x-16,y-16,w+32,h+32)
- @wind.opacity = 0
- @wind.contents_opacity = 0 if @animation_hud2 == true
- @wind.z = 195
- @wind.contents.font.shadow = false
- @id = Number_Character-1
- @info = []
- @hp = Sprite.new
- @hp.bitmap = Bitmap.new(32,32)
- @mp = Sprite.new
- @mp.bitmap = Bitmap.new(32,32)
- @hp.x = HP_X + x
- @mp.x = MP_X + x
- @hp.y = HP_Y + y
- @mp.y = MP_Y + y
- @hp.z = 192
- @mp.z = 193
- @hp.opacity = 0 if @animation_hud2 == true
- @mp.opacity = 0 if @animation_hud2 == true
- hud_real_update if status_update
- end
- def terminate
- if @animation_hud_1 == true
- @back.bitmap.dispose
- @back.dispose
- end
- if @animation_hud_2 == true
- @hp.bitmap.dispose
- @hp.dispose
- @mp.bitmap.dispose
- @mp.dispose
- @wind.contents.dispose
- @wind.dispose
- end
- hud_terminate
- end
- def update
- if $game_switches[Switch_Control] == true and @hud_keyboard_switch
- if @back != nil
- if @back.opacity < Final_Opacity and @animation_hud1 == true
- @back.opacity += Speed
- else
- @back.opacity = Final_Opacity
- @animation_hud1 = false
- end
- if @wind.contents_opacity < Opacity_Final_Element and @animation_hud2 == true
- @wind.contents_opacity += Speed
- @hp.opacity += Speed
- @mp.opacity += Speed
- else
- @wind.contents_opacity = Opacity_Final_Element
- @hp.opacity = Opacity_Final_Element
- @mp.opacity = Opacity_Final_Element
- @animation_hud2 = false
- end
- else
- active_hud
- end
- else
- if @back != nil
- if @back.opacity > Speed-1 and @animation_hud_1 == true
- @back.opacity -= Speed
- else
- @back.bitmap.dispose
- @back.dispose
- @back = nil
- @animation_hud_1 = false
- end
- if @wind.contents_opacity > Speed-1 and @animation_hud_2 == true
- @wind.contents_opacity -= Speed
- @hp.opacity -= Speed
- @mp.opacity -= Speed
- else
- if @animation_hud_2 == true
- @hp.bitmap.dispose
- @hp.dispose
- @hp = nil
- @mp.bitmap.dispose
- @mp.dispose
- @mp = nil
- @wind.contents.dispose
- @wind.dispose
- @wind = nil
- @animation_hud_2 = false
- end
- end
- end
- end
- if @back != nil
- if $game_player.screen_x >= @back.x and $game_player.screen_x <= @back.x + @back.width and
- $game_player.screen_y >= @back.y and $game_player.screen_y <= @back.y + @back.height
- @back.opacity = Character_Opacity
- @hp.opacity = Opacity_Character_Element
- @mp.opacity = Opacity_Character_Element
- @wind.contents_opacity = Opacity_Character_Element
- end
- end
- hud_real_update if status_update
- hud_check_key_toggle
- hud_update
- end
- def hud_real_update
- a = $game_party.members[@id]
- @wind.contents.clear
- @wind.draw_face(a.character_name, a.character_index, Char_X, Char_Y) if Char_Show
- if Name_Show
- @wind.contents.font.name = Name_Font if Name_Font != nil
- @wind.contents.font.color = Name_Color
- @wind.contents.font.size = Name_Size_of_Font
- @wind.contents.draw_text(Name_X, Name_Y, Name_Width, Name_Size_of_Font, a.name, Name_Alignment)
- end
- if Class_Show
- @wind.contents.font.name = Class_Font if Class_Font != nil
- @wind.contents.font.color = Class_Color
- @wind.contents.font.size = Class_Size_of_Font
- @wind.contents.draw_text(Class_X, Class_Y, Class_Width, Class_Size_of_Font, a.class.name, Class_Alignment)
- end
- if HP_Show
- @hp.bitmap.dispose
- @hp.bitmap = Cache.hud(Bar_HP)
- @hp.bitmap.clear_rect(Rect.new((@hp.width*a.hp/a.mhp),0,@hp.width,@hp.height))
- end
- if MP_Show
- @mp.bitmap.dispose
- @mp.bitmap = Cache.hud(Bar_MP)
- @mp.bitmap.clear_rect(Rect.new((@mp.width*a.mp/a.mmp),0,@mp.width,@mp.height))
- end
- if Values_HP_Show_Current
- text = a.hp.to_s
- end
- if Values_HP_Show_Total
- text = a.mhp.to_s
- end
- if Values_HP_Show_Current and Values_HP_Show_Total
- text = a.hp.to_s + "/" + a.mhp.to_s
- end
- if text != nil
- @wind.contents.font.name = Values_HP_Font if Values_HP_Font != nil
- @wind.contents.font.color = Values_HP_Color
- @wind.contents.font.size = Values_HP_Size_of_Font
- @wind.contents.draw_text(Values_HP_X, Values_HP_Y, @hp.width, Values_HP_Size_of_Font, text, 2)
- end
- text = nil
- if Values_MP_Show_Current
- text = a.mp.to_s
- end
- if Values_MP_Show_Total
- text = a.mmp.to_s
- end
- if Values_MP_Show_Current and Values_MP_Show_Total
- text = a.mp.to_s + "/" + a.mmp.to_s
- end
- if text != nil
- @wind.contents.font.name = Values_MP_Font if Values_MP_Font != nil
- @wind.contents.font.color = Values_MP_Color
- @wind.contents.font.size = Values_MP_Size_of_Font
- @wind.contents.draw_text(Values_MP_X, Values_MP_Y, @hp.width, Values_MP_Size_of_Font, text, 2)
- end
- if LV_Show
- @wind.contents.font.name = LV_Font if LV_Font != nil
- @wind.contents.font.color = LV_Color
- @wind.contents.font.size = LV_Size_of_Font
- @wind.contents.draw_text(LV_X, LV_Y, LV_Width, LV_Size_of_Font, a.level, 1)
- end
- if Gold_Show
- @wind.contents.font.name = Gold_Font if Gold_Font != nil
- @wind.contents.font.color = Gold_Color
- @wind.contents.font.size = Gold_Size_of_Font
- @wind.contents.draw_text(Gold_X, Gold_Y, Gold_Width, Gold_Size_of_Font, $game_party.gold, 2)
- end
- if Text_Show
- @wind.contents.font.name = Text_Font if Text_Font != nil
- @wind.contents.font.color = Text_Color
- @wind.contents.font.size = Text_Size_of_Font
- @wind.contents.draw_text(Text_X, Text_Y, Text_Width, Text_Size_of_Font, Text, 1)
- end
- end
- def status_update
- return false if @wind == nil
- a = $game_party.members[@id]
- return update_infos if a.id != @info[0]
- return update_infos if a.character_name != @info[1]
- return update_infos if a.character_index != @info[2]
- return update_infos if a.name != @info[3]
- return update_infos if a.class_id != @info[4]
- return update_infos if a.class.name != @info[5]
- return update_infos if a.hp != @info[6]
- return update_infos if a.mhp != @info[7]
- return update_infos if a.mp != @info[8]
- return update_infos if a.mmp != @info[9]
- return update_infos if a.level != @info[10]
- return update_infos if $game_party.gold != @info[11]
- return false
- end
- def update_infos
- a = $game_party.members[@id]
- @info[0] = a.id
- @info[1] = a.character_name
- @info[2] = a.character_index
- @info[3] = a.name
- @info[4] = a.class_id
- @info[5] = a.class.name
- @info[6] = a.hp
- @info[7] = a.mhp
- @info[8] = a.mp
- @info[9] = a.mmp
- @info[10] = a.level
- @info[11] = $game_party.gold
- return true
- end
- def hud_check_key_toggle
- @hud_keyboard_switch = true if @hud_keyboard_switch.nil?
- if Input.trigger?(HUD_Toggle_Show_Key)
- @hud_keyboard_switch = !@hud_keyboard_switch
- end
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement