[ACE] MENU SCENE EDITS
Posts
Pages:
1
Hey guys, I've been editing a script for a while now, just brute-forcing the numbers and lines to get it to look like I want, but there's two issues that have me stumped.
The script/s I'm using is Fomar0153's 1-5 person Party script.
So, what I'm aiming to do is make a one-person menu that looks nice and balanced. So far I've managed to get rid of the faceset, moved the hero name/level over and get rid of the Next EXP text. But I'm stumped at two should-be easy things:-
1 - Making the name bigger via font size change and bolded, and
2 - Moving the HP/MP gauges/stats down a line to go underneath the name/level.
Here's what I've got so far, visually:
This is what I'm aiming for:
And here is the script - do note that I've already edited a few things in it. Also note that currently they is only this script in the game, so there shouldn't be any compatibility issues to worry about. ^.^
Fomar's script:
I'm balls at scripting, though I do try my best, and I've come so far, only to get stumped on these two - what I assume to be - small things. Any help is greatly appreciated! Thanks for your time. ^.^
The script/s I'm using is Fomar0153's 1-5 person Party script.
So, what I'm aiming to do is make a one-person menu that looks nice and balanced. So far I've managed to get rid of the faceset, moved the hero name/level over and get rid of the Next EXP text. But I'm stumped at two should-be easy things:-
1 - Making the name bigger via font size change and bolded, and
2 - Moving the HP/MP gauges/stats down a line to go underneath the name/level.
Here's what I've got so far, visually:
This is what I'm aiming for:
And here is the script - do note that I've already edited a few things in it. Also note that currently they is only this script in the game, so there shouldn't be any compatibility issues to worry about. ^.^
Fomar's script:
=begin 1-5 Member Party Status Huds by Fomar0153 Version 1.0 ---------------------- Notes ---------------------- Automatically uses up all available space in the status menus. This is a member+ script. ---------------------- Instructions ---------------------- Follow the instructions in the MembersPlus module. ---------------------- Known bugs ---------------------- None =end module MembersPlus # Set this to the number of people you want to take part in battle Battle_Party_Size = 1 # When one person is in the party you can draw a portrait, it should # be placed in pictures and then you can notetag the actor e.g. # <portrait RalphPortrait> One_Member_Party_Use_Portrait = true # When 5 people are in the party their faces can sometimes overlap slightly, # this prevents that. Five_Party_Trunc_Faces = false end class Window_MenuStatus < Window_Selectable #-------------------------------------------------------------------------- # * Get Item Height #-------------------------------------------------------------------------- def item_height (height - standard_padding * 2) / [$game_party.members.size, MembersPlus::Battle_Party_Size].min end #-------------------------------------------------------------------------- # * Draw Item #-------------------------------------------------------------------------- def draw_item(index) actor = $game_party.members[index] enabled = $game_party.battle_members.include?(actor) rect = item_rect(index) draw_item_background(index) if MembersPlus::One_Member_Party_Use_Portrait && $game_party.members.size == 1 bitmap = Cache.picture(actor.actor.portrait) contents.blt(rect.x + 130, rect.y + line_height * 4, bitmap, bitmap.rect) end if MembersPlus::Battle_Party_Size == 5 && $game_party.members.size >= 5 draw_actor_simple_status(actor, rect.x + 108, rect.y + line_height / 4) else draw_actor_simple_status(actor, rect.x + 0, rect.y + line_height / 2) end case [$game_party.members.size, MembersPlus::Battle_Party_Size].min when 1 draw_exp_info(actor, rect.x + 5,rect.y + line_height * 4) 6.times {|i| draw_actor_param(actor, rect.x + 4, rect.y + line_height * (9 + i), i + 2) } when 2 draw_exp_info(actor, rect.x + 4,rect.y + line_height * 4) end end #-------------------------------------------------------------------------- # * Draw Experience Information #-------------------------------------------------------------------------- def draw_exp_info(actor, x, y) s_next = sprintf(Vocab::ExpNext, Vocab::level) change_color(system_color) end #-------------------------------------------------------------------------- # * Draw Face Graphic # enabled : Enabled flag. When false, draw semi-transparently. #-------------------------------------------------------------------------- def draw_face(face_name, face_index, x, y, enabled = false) return super(face_name, face_index, x, y, enabled) unless MembersPlus::Five_Party_Trunc_Faces bitmap = Cache.face(face_name) rect = Rect.new(face_index % 4 * 96, face_index / 4 * 96, 96, 96) rect.height = [rect.height,item_height - 2].min contents.blt(x, y, bitmap, rect, enabled ? 0 : translucent_alpha) bitmap.dispose end end class Game_Party < Game_Unit #-------------------------------------------------------------------------- # * Get Maximum Number of Battle Members #-------------------------------------------------------------------------- def max_battle_members return MembersPlus::Battle_Party_Size end end class RPG::Actor < RPG::BaseItem def portrait if @portrait.nil? if @note =~ /<portrait (.*)>/i @portrait = $1 else @portrait = @name end end @portrait end end class Window_BattleStatus < Window_Selectable #-------------------------------------------------------------------------- # * Object Initialization #-------------------------------------------------------------------------- def initialize super(0, 0, window_width, window_height) refresh self.openness = 0 end #-------------------------------------------------------------------------- # * Get Digit Count #-------------------------------------------------------------------------- def col_max item_max end #-------------------------------------------------------------------------- # * Get Spacing for Items Arranged Side by Side #-------------------------------------------------------------------------- def spacing 4 end #-------------------------------------------------------------------------- # * Get Item Height #-------------------------------------------------------------------------- def item_height line_height * 4 end #-------------------------------------------------------------------------- # * Draw Item #-------------------------------------------------------------------------- def draw_item(index) actor = $game_party.battle_members[index] draw_basic_area(basic_area_rect(index)) draw_gauge_area(gauge_area_rect(index)) end #-------------------------------------------------------------------------- # * Get Basic Area Retangle #-------------------------------------------------------------------------- def basic_area_rect(index) item_rect_for_text(index) end #-------------------------------------------------------------------------- # * Get Gauge Area Rectangle #-------------------------------------------------------------------------- def gauge_area_rect(index) rect = item_rect_for_text(index) rect.x += 4 rect.width -= 8 rect end #-------------------------------------------------------------------------- # * Get Gauge Area Width #-------------------------------------------------------------------------- def gauge_area_width return contents.width / item_max end #-------------------------------------------------------------------------- # * Draw Basic Area #-------------------------------------------------------------------------- def draw_basic_area(rect, actor) draw_actor_face(actor, rect.x + 1, rect.y + 1, actor.alive?) if $data_system.opt_display_tp draw_actor_icons(actor, rect.x, rect.y, rect.width) else if $game_party.members.size <= 2 draw_actor_name(actor, rect.x , rect.y, rect.width - 100, default.font_size = 22) draw_actor_icons(actor, rect.x, rect.y + line_height, rect.width - 100) else draw_actor_name(actor, rect.x, rect.y, rect.width) draw_actor_icons(actor, rect.x, rect.y + line_height, rect.width) end end end #-------------------------------------------------------------------------- # * Draw Gauge Area #-------------------------------------------------------------------------- def draw_gauge_area(rect, actor) if $game_party.members.size <= 2 rect.x += 100 rect.width -= 100 end if $data_system.opt_display_tp draw_gauge_area_with_tp(rect, actor) else draw_gauge_area_without_tp(rect, actor) end end #-------------------------------------------------------------------------- # * Draw Gauge Area (with TP) #-------------------------------------------------------------------------- def draw_gauge_area_with_tp(rect, actor) draw_actor_hp( rect.x, rect.y + line_height, rect.width) draw_actor_mp( rect.x, rect.y + line_height * 2, rect.width) draw_actor_tp( rect.x, rect.y + line_height * 3, rect.width) end #-------------------------------------------------------------------------- # * Draw Gauge Area (without TP) #-------------------------------------------------------------------------- def draw_gauge_area_without_tp(rect, actor) draw_actor_hp(actor, rect.x + 10 , rect.y + line_height * 2, rect.width) draw_actor_mp(actor, rect.x + 10 , rect.y + line_height * 3, rect.width) end #-------------------------------------------------------------------------- # * Draw Face Graphic # enabled : Enabled flag. When false, draw semi-transparently. #-------------------------------------------------------------------------- def draw_face(face_name, face_index, x, y, enabled = false) return super(face_name, face_index, x, y, enabled) unless MembersPlus::Five_Party_Trunc_Faces bitmap = Cache.face(face_name) rect = Rect.new(face_index % 4 * 96, face_index / 4 * 96, 96, 96) rect.width = [rect.width,item_width].min contents.blt(x-16, y, bitmap, rect, enabled ? 0 : translucent_alpha) bitmap.dispose end end
I'm balls at scripting, though I do try my best, and I've come so far, only to get stumped on these two - what I assume to be - small things. Any help is greatly appreciated! Thanks for your time. ^.^
#--------------------------------------------------------------------------
# * Add 2 more methods
#--------------------------------------------------------------------------
# * Draw Simple Status
#--------------------------------------------------------------------------
def draw_actor_simple_status(actor, x, y)
draw_actor_name(actor, x, y)
draw_actor_level(actor, x, y + line_height * 1)
draw_actor_icons(actor, x, y + line_height * 2)
#draw_actor_class(actor, x + 120, y)
draw_actor_hp(actor, x, y + line_height * 3)
draw_actor_mp(actor, x, y + line_height * 4)
end
#--------------------------------------------------------------------------
# * Draw Name
#--------------------------------------------------------------------------
def draw_actor_name(actor, x, y, width = 112)
change_color(hp_color(actor))
contents.font.size = 50
contents.font.bold = true
draw_text(x, y, width, contents.font.size, actor.name)
reset_font_settings
end
Add these two methods inside class Window_MenuStatus. The script was using methods from Window_Base, so there you couldn't edit those 2 things you needed from the script :P, just change those values to w.e you like. I also commented out draw_class because your screeny didn't have it, so I wasn't sure. If you do go bigger on text you might want to add to the y's in draw_actor_simple_status.
Woo~ Thanks a bunch, Quasi! <3
That worked a treat~ It's a good thing you threw in that extra too, because I managed to use it to change the width of the gauges so that they'd all match. ^.^
Thanks a lot, you really helped me out. ^.^~<3
That worked a treat~ It's a good thing you threw in that extra too, because I managed to use it to change the width of the gauges so that they'd all match. ^.^
Thanks a lot, you really helped me out. ^.^~<3
Pages:
1