Bravo2Kilo 32 Posted December 16, 2011 (edited) ReinoRpg Hud http://reinorpg.com/...hp?topic=3156.0 Author: LB Translation: Bravo2Kilo Ported: Bravo2Kilo Toggle Key: Kal This script was wrote by LB in RGSS2 in Portuguese. Some time ago i translated this script into English, now i have ported this script from RGSS2 to RGSS3. I have also made various edits to the script other than porting it from RGSS2 to RGSS3. Thanks to Kal for adding the toggle key to the script. Sceenshot Script #================================================# # ¦ 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 = nil Position_Y = -8 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 = 46 Char_Y = 66 # Set true to show the character's name (false to not display) Name_Show = true Name_Alignment = 1 # 0 = Left | 1 = Center | 2 = Right Name_X = 92 Name_Y = 25 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 = 17 # 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 = 229 Class_Y = 25 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 = true HP_X = 92 HP_Y = 42 # Set true to show the bar that represents the character's MP (false to not display) MP_Show = true 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 = 19 # Size_of Font LV_Width = 30 LV_X = 241 LV_Y = 49 # 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 = 281 Gold_Y = 35 Gold_Width = 50 # Set true to show the suffix of play money (false to not display) Text_Show = true 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_character(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, 1) 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 If you want the hud, hp, and mp graphic Edited July 25, 2012 by Bravo2Kilo 4 Ally, KayDgirl91, KaylieMarie and 1 other reacted to this Share this post Link to post Share on other sites
Rosenblack 79 Posted December 17, 2011 Nice, I was waiting for this. *Added to the Master Script List* Share this post Link to post Share on other sites
Ally 13 Posted December 17, 2011 Like HUD :3 Thanks for porting =) Share this post Link to post Share on other sites
EBelle 12 Posted December 17, 2011 Cool HUD. I might use this. Nice job on the port and translation, dartdaman. Share this post Link to post Share on other sites
kal 40 Posted December 17, 2011 (edited) Nice script! The way it fades in and out and handles opacity is cool. It's missing one thing though (in my opinion) and that is a the ability to to toggle the HUD (show/hide that is) by pressing a keyboard/gamepad button. I added this functionality to the script here: https://gist.github....862b02f35509c93 In the config you can set what button you want to toggle the HUD with (default is the Q button on a keyboard). I made it so that the key button press has a lower priority than the switch that controls if the HUD is on or off. So if the switch is off, pressing the key won't do anything, but if the switch is on, you can press the key to show/hide the HUD. And one more thing, you (or the person who made the script) might want to consider changing the method and constant names that are added to Scene_Menu. For example there's a method added called real_update and there's a possibility some other script defines this method too. If that's the case it would lead to some very annoying errors for the user. If you change it to something like hud_real_update it is much less likely that this will happen. Edited December 17, 2011 by kal 1 Ally reacted to this Share this post Link to post Share on other sites
Bravo2Kilo 32 Posted December 17, 2011 thanks for adding the toggle key kal i will update the script right now Share this post Link to post Share on other sites
Ally 13 Posted December 17, 2011 I love you Kal :3 This change is much better ^^ Share this post Link to post Share on other sites
kal 40 Posted December 19, 2011 Haha I'm glad you liked it, Ally. Thanks for adding it to the script dartdaman! I found something else too in this part here: def active_hud $game_switches[switch_Control] = true [...] So here the switch is turned on every time the active_hud method is getting called. The problem is that active_hud gets called every time the scene changes to Scene_Map, and not just once. So say for example that the user turns the switch off, which hides the HUD, and then enters a battle on the map, and when the battle is over the HUD will be shown again because the switch got set to true again. I'm not sure if this is the intended behavior but it seems like a bug to me. If you change that line to the following code: def active_hud unless @hud_has_run_before $game_switches[switch_Control] = true @hud_has_run_before = true end It will only turn the switch on the first time this method is run and when the scene changes later on it won't reset any changes the player made to the switch. 1 Ally reacted to this Share this post Link to post Share on other sites
Bravo2Kilo 32 Posted December 19, 2011 i have updated the script thanks a lot for all your help kal Share this post Link to post Share on other sites
Ally 13 Posted December 22, 2011 Thanks also for this correction ^ç^ And thanks to Dart ^^ Share this post Link to post Share on other sites
DragunovaVX 0 Posted January 18, 2012 Is the Graphic used in the screenshot for the HUD Back available for download? Share this post Link to post Share on other sites
Bravo2Kilo 32 Posted January 19, 2012 (edited) i added the images to the original post if you want them Edited January 19, 2012 by dartdaman 2 Ally and DragunovaVX reacted to this Share this post Link to post Share on other sites
Bravo2Kilo 32 Posted February 19, 2012 I was thinking about starting a resource thread were I can make custom hud graphics to be used with this hud. I was wondering how may people actually use this hud and would want a custom graphic made. I have an example hud I made . What do you think should I open this thread and make custom huds. 2 Triggerhound777 and Rosenblack reacted to this Share this post Link to post Share on other sites
Triggerhound777 7 Posted February 19, 2012 That sounds like a great idea. I still use the vx version of this script, and it's really a great looking hud. Good job on porting dart and to kal for adding the extra couple features. Share this post Link to post Share on other sites
Shadic 5 Posted April 8, 2012 Hey Bravo,I really like this script and I think the idea of making custom huds is really good and all,but I'm encountering an error,everytime I open a chest,this happens:- Share this post Link to post Share on other sites
Bravo2Kilo 32 Posted April 8, 2012 @shadic what other scripts are you using because there has to be a compatibility error between one of those scripts and the hud script Share this post Link to post Share on other sites
Shadic 5 Posted April 9, 2012 One possible script could be the menu bars script by syvkal. Share this post Link to post Share on other sites
syrus ultima 44 Posted May 16, 2012 (edited) Hey Bravo,I really like this script and I think the idea of making custom huds is really good and all,but I'm encountering an error,everytime I open a chest,this happens:- I get this same error and I have no other scripts installed but the default scripts that came with ace. I get this message when I open a treasure chest that gives the player gold. I noticed if I press the Q button on the keyboard to hid the Hud and then open a treasure chest I don't get the error. only when the hud is displayed and I open a chest i get the error because its not being updated. Edit: Ok never mind. I fixed the problem myself. On line 273 for those who get that error, rename real_update to hud_real_update.. this fixed and solved it for me. Edited May 16, 2012 by syrus ultima Share this post Link to post Share on other sites
Dojoep 0 Posted July 23, 2012 (edited) i can't move when i install this script... fixed: For some reason having a common event trigger set to ON makes the character not move...also i couldn't open the menu or press f1. Line 273 was also an issue but updated to hud_real_update Great HUD! Edited July 23, 2012 by Dojoep Share this post Link to post Share on other sites
pjbdes 3 Posted August 8, 2012 (edited) Thanks a lot for this script, which is the first one i've integrated and modified :-) A screenshot to this one below (level, face, name, class and money) : If you want to use it : Code (on pastebin) ; Image (in attached file) Enjoy! Edited August 20, 2012 by pjbdes 3 LordPegazus, Caveman and KaylieMarie reacted to this Share this post Link to post Share on other sites
Caveman 0 Posted August 19, 2012 pjbdes -- that modification looks awesome! Could you share the changed script and images please??? Share this post Link to post Share on other sites
pjbdes 3 Posted August 20, 2012 pjbdes -- that modification looks awesome! Could you share the changed script and images please??? I've edited my previous post :-) Share this post Link to post Share on other sites
MegaNew 0 Posted August 20, 2012 Thanks a lot for this script, which is the first one i've integrated and modified :-) A screenshot to this one below (level, face, name, class and money) : If you want to use it : Code (on pastebin) ; Image (in attached file) Enjoy! Omg this is incredible! Share this post Link to post Share on other sites
Caveman 0 Posted August 20, 2012 (edited) Thanks for the code!!! I have modified it slightly, kinda combining yours and Bravo2Kilo's. I changed out the money section and added in HP/MP bars... What do you guys think? Edited August 20, 2012 by Caveman Share this post Link to post Share on other sites
Sievn 3 Posted August 22, 2012 (edited) Thanks for the code!!! I have modified it slightly, kinda combining yours and Bravo2Kilo's. I changed out the money section and added in HP/MP bars... What do you guys think? Sounds nice I did that too. Edited August 22, 2012 by Sievn Share this post Link to post Share on other sites