Ryugo Administrador
![Administrador Administrador](https://2img.net/r/ihimizer/img9/4997/imperador.png)
![Ryugo](https://2img.net/h/k.min.us/j5A7C.png)
Mensagens : 285 Data de inscrição : 30/07/2011 Idade : 25 Localização : São José dos Campos
![MOG - Menu Status V 2.0 Empty](https://2img.net/i/empty.gif) | Assunto: MOG - Menu Status V 2.0 Seg Ago 15, 2011 10:41 am | |
| MOG - Menu Status V 2.0Introdução:Menu Status com layout em pictures.. Instruções:1 - Crie uma pasta com o nome de Menus (Graphics/Menus). 2 - Nesta pasta devem conter as seguintes imagens. Imagens Necessárias![MOG - Menu Status V 2.0 Background](https://2img.net/h/atelier-rgss.com/RGSS/Menu/IMG/VX_03/Background.png) ![MOG - Menu Status V 2.0 M_Status_Exp_Meter](https://2img.net/h/atelier-rgss.com/RGSS/Menu/IMG/VX_03/M_Status_Exp_Meter.PNG) ![MOG - Menu Status V 2.0 M_Status_HPSP](https://2img.net/h/atelier-rgss.com/RGSS/Menu/IMG/VX_03/M_Status_HPSP.PNG) ![MOG - Menu Status V 2.0 M_Status_Parameter_Meter](https://2img.net/h/atelier-rgss.com/RGSS/Menu/IMG/VX_03/M_Status_Parameter_Meter.PNG) ![MOG - Menu Status V 2.0 M_Status_OBJ](https://2img.net/h/atelier-rgss.com/RGSS/Menu/IMG/VX_03/M_Status_OBJ.PNG) ![MOG - Menu Status V 2.0 M_Status_OBJ](https://2img.net/h/atelier-rgss.com/RGSS/Menu/IMG/VX_03/M_Status_OBJ.PNG) 3 - Serão necessários ter as seguintes imagens na pasta SYSTEM (Graphics/System)![MOG - Menu Status V 2.0 Number_01](https://2img.net/h/atelier-rgss.com/RGSS/Menu/IMG/VX_03/Number_01.png) Grave as imagens na pasta Graphics/SystemsScreenShot- ScreenShot:
Demo:VX_MOG_Menu_Status_Aya.rar Script:- Spoiler:
- Código:
-
#============================================================================== # MOG VX - Menu Status Aya v2.0 #============================================================================== # By Moghunter # http://www.atelier-rgss.com/ #============================================================================== # Menu Status com layout em pictures. #============================================================================== # UTILIZAÇÃO # # 1 - Crie uma pasta com o nome de MENUS. (Graphics/Menus) # 2 - Nesta pasta devem conter as seguintes imagens. # # Background.png # M_Status_Exp_Meter.png # M_Status_Parameter_Meter.png # M_Status_HPSP.png # M_Status_Layout.png # M_Status_OBJ.png # # 3 - Serão necessários as seguintes imagens na pasta SYSTEM. (Graphics/System) # # Number_01.png # Number_01_B.png # #============================================================================== # Histórico # 1.1 Melhor codificação e novos efeitos. #============================================================================== module MOG_VX07 #Definição do parameter maximo. MAX_PARAMETER = 999 end #=============================================================================== # ● Game_Actor #=============================================================================== class Game_Actor < Game_Battler #-------------------------------------------------------------------------- # ● now_exp #-------------------------------------------------------------------------- def now_exp return @exp - @exp_list[@level] end
#-------------------------------------------------------------------------- # ● next_exp #-------------------------------------------------------------------------- def next_exp return @exp_list[@level+1] > 0 ? @exp_list[@level+1] - @exp_list[@level] : 0 end end
#=============================================================================== # Cache #===============================================================================
module Cache #-------------------------------------------------------------------------- # ● menu #-------------------------------------------------------------------------- def self.menu(filename) load_bitmap("Graphics/Menus/", filename) end end
#=============================================================================== # ● Window_Base #=============================================================================== class Window_Base < Window #-------------------------------------------------------------------------- # ● draw_picture_number(x,y,value,file_name,align, space, frame_max ,frame_index) #-------------------------------------------------------------------------- # X - Posição na horizontal # Y - Posição na vertical # VALUE - Valor Numérico # FILE_NAME - Nome do arquivo # ALIGN - Centralizar 0 - Esquerda 1- Centro 2 - Direita # SPACE - Espaço entre os números. # FRAME_MAX - Quantidade de quadros(Linhas) que a imagem vai ter. # FRAME_INDEX - Definição do quadro a ser utilizado. #-------------------------------------------------------------------------- def draw_picture_number(x,y,value, file_name,align = 0, space = 0, frame_max = 1,frame_index = 0) number_image = Cache.system(file_name) frame_max = 1 if frame_max < 1 frame_index = frame_max -1 if frame_index > frame_max -1 align = 2 if align > 2 cw = number_image.width / 10 ch = number_image.height / frame_max h = ch * frame_index number = value.abs.to_s.split(//) case align when 0 plus_x = (-cw + space) * number.size when 1 plus_x = (-cw + space) * number.size plus_x /= 2 when 2 plus_x = 0 end for r in 0..number.size - 1 number_abs = number[r].to_i number_rect = Rect.new(cw * number_abs, h, cw, ch) self.contents.blt(plus_x + x + ((cw - space) * r), y , number_image, number_rect) end number_image.dispose end #-------------------------------------------------------------------------- # ● draw_actor_parameter_meter #-------------------------------------------------------------------------- def draw_actor_parameter_meter(actor, x, y,type) image = Cache.menu("M_Status_Parameter_Meter") cw = image.width ch = image.height / 2 src_rect = Rect.new(0, 0, cw, ch) self.contents.blt(x , y, image, src_rect) case type when 0 value = actor.atk when 1 value = actor.def when 2 value = actor.spi when 3 value = actor.agi end cw = image.width * value / MOG_VX07::MAX_PARAMETER src_rect = Rect.new(0, ch, cw, ch) self.contents.blt(x , y , image, src_rect) draw_picture_number(x + image.width ,y - 22 ,value, "Number_01",0, 0,3,0) image.dispose end
#-------------------------------------------------------------------------- # ● draw_item_name_menu_status #-------------------------------------------------------------------------- def draw_item_name_menu_status(item, x, y, enabled = true) if item != nil draw_icon(item.icon_index, x, y, enabled) self.contents.font.color = normal_color self.contents.font.color.alpha = enabled ? 255 : 128 self.contents.draw_text(x + 30, y, 155, WLH, item.name) end end #-------------------------------------------------------------------------- # ● draw_equipments_menu_status #-------------------------------------------------------------------------- def draw_equipments_menu_status(actor, x, y) draw_item_name_menu_status(actor.equips[0], x , y) draw_item_name_menu_status(actor.equips[1], x , y + 45) draw_item_name_menu_status(actor.equips[2], x , y + 90) draw_item_name_menu_status(actor.equips[3], x + 125, y + 20) draw_item_name_menu_status(actor.equips[4], x + 125, y + 65) end #-------------------------------------------------------------------------- # ● draw_actor_hp_menu_status #-------------------------------------------------------------------------- def draw_actor_hp_menu_status(actor, x, y) image = Cache.menu("M_Status_HPSP") cw = image.width * actor.hp / actor.maxhp ch = image.height / 2 src_rect = Rect.new(0, 0, cw, ch) self.contents.blt(x , y - ch + 30, image, src_rect) draw_picture_number(x + 35 ,y + image.height, actor.hp, "Number_01_B",0, 10,3,1) draw_picture_number(x + 95 ,y + image.height , actor.maxhp, "Number_01_B",0, 10,3,1) image.dispose end #-------------------------------------------------------------------------- # ● draw_actor_mp_menu_status #-------------------------------------------------------------------------- def draw_actor_mp_menu_status(actor, x, y) image = Cache.menu("M_Status_HPSP") cw = image.width * actor.mp / actor.maxmp ch = image.height / 2 src_rect = Rect.new(0, ch, cw, ch) self.contents.blt(x , y - ch + 30, image, src_rect) draw_picture_number(x + 35 ,y + image.height, actor.mp, "Number_01_B",0, 10,3,2) draw_picture_number(x + 95 ,y + image.height , actor.maxmp, "Number_01_B",0, 10,3,2) image.dispose end #-------------------------------------------------------------------------- # ● draw_menu_status_obj #-------------------------------------------------------------------------- def draw_menu_status_obj(x,y) image = Cache.menu("M_Status_OBJ") cw = image.width ch = image.height src_rect = Rect.new(0, 0, cw, ch) self.contents.blt(x , y - ch, image, src_rect) image.dispose end #-------------------------------------------------------------------------- # ● draw_actor_exp_meter_status_menu #-------------------------------------------------------------------------- def draw_actor_exp_meter_status_menu(actor, x, y) rate = actor.now_exp.to_f / actor.next_exp rate = 1 if actor.next_exp == 0 image = Cache.menu("M_Status_Exp_Meter") cw = image.width ch = image.height / 2 src_rect = Rect.new(0, 0, cw, ch) self.contents.blt(x , y , image, src_rect) cw = image.width * rate cw = image.width if actor.level == 99 src_rect = Rect.new(0, ch, cw, ch) self.contents.blt(x , y , image, src_rect) if actor.next_exp != 0 self.contents.draw_text(x + 30, y - 20, 80, 32, actor.next_rest_exp_s, 2) else self.contents.draw_text(x + 30, y - 20, 80, 32, "Max", 2) end self.contents.draw_text(x - 30, y + 10, 120, 32, actor.exp_s.to_s, 2) image.dispose end end
#=============================================================================== # ● Window_Status_Left #=============================================================================== class Window_Status_Left < Window_Base #-------------------------------------------------------------------------- # ● initialize #-------------------------------------------------------------------------- def initialize(actor) super(0, 0, 560, 430) @actor = actor self.opacity = 0 self.contents.font.size = 16 self.contents.font.bold = true self.contents.font.name = "Georgia" refresh end
#-------------------------------------------------------------------------- # ● refresh #-------------------------------------------------------------------------- def refresh self.contents.clear self.contents.draw_text(350, 195, 90, 32, @actor.class.name, 1) draw_actor_face(@actor, 350, 90) draw_picture_number(500 ,195 , @actor.level, "Number_01",1, 0,3,0) draw_actor_hp_menu_status(@actor, 350, 213) draw_actor_mp_menu_status(@actor, 380, 240) draw_actor_exp_meter_status_menu(@actor, 350, 300) draw_actor_parameter_meter(@actor, 50, 200,0) draw_actor_parameter_meter(@actor, 70, 230,1) draw_actor_parameter_meter(@actor, 90, 260,2) draw_actor_parameter_meter(@actor, 110, 290,3) draw_equipments_menu_status(@actor, 30, 40) draw_actor_state(@actor,190, 320) end end
#=============================================================================== # Window_Status_Right #=============================================================================== class Window_Status_Right < Window_Base #-------------------------------------------------------------------------- # ● initialize #-------------------------------------------------------------------------- def initialize(actor) super(0, 0, 560, 430) @actor = actor self.opacity = 0 self.contents.font.size = 16 self.contents.font.bold = true self.contents.font.name = "Georgia" refresh end #-------------------------------------------------------------------------- # ● refresh #-------------------------------------------------------------------------- def refresh self.contents.clear draw_actor_name(@actor, 55, 367) draw_menu_status_obj(0, 380) end end
#=============================================================================== # Scene_Status #=============================================================================== class Scene_Status < Scene_Base #-------------------------------------------------------------------------- # ● initialize #-------------------------------------------------------------------------- def initialize(actor_index = 0) @actor_index = actor_index end #-------------------------------------------------------------------------- # ● start #-------------------------------------------------------------------------- def start super @actor = $game_party.members[@actor_index] @status_window_right = Window_Status_Right.new(@actor) @status_window_right.x = 544 @status_window_right.contents_opacity = 0 @status_window_left = Window_Status_Left.new(@actor) @status_window_left.x = -544 @status_window_left.contents_opacity = 0 @menu_back = Plane.new @menu_back.bitmap = Cache.menu("Background") @menu_layout = Sprite.new @menu_layout.bitmap = Cache.menu("M_Status_Layout") end #-------------------------------------------------------------------------- # ● perform_transition #-------------------------------------------------------------------------- def perform_transition Graphics.transition(0) end #-------------------------------------------------------------------------- # ● pre_terminate #-------------------------------------------------------------------------- def pre_terminate super for i in 0..25 @status_window_right.x += 25 @status_window_left.x -= 25 @status_window_right.contents_opacity -= 15 @status_window_left.contents_opacity -= 15 @menu_back.ox += 1 Graphics.update end end #-------------------------------------------------------------------------- # ● terminate #-------------------------------------------------------------------------- def terminate super @status_window_right.dispose @status_window_left.dispose @menu_back.bitmap.dispose @menu_back.dispose @menu_layout.bitmap.dispose @menu_layout.dispose end #-------------------------------------------------------------------------- # ● return_scene #-------------------------------------------------------------------------- def return_scene $scene = Scene_Menu.new(3) end
#-------------------------------------------------------------------------- # ● next_actor #-------------------------------------------------------------------------- def next_actor @actor_index += 1 @actor_index %= $game_party.members.size $scene = Scene_Status.new(@actor_index) end #-------------------------------------------------------------------------- # ● prev_actor #-------------------------------------------------------------------------- def prev_actor @actor_index += $game_party.members.size - 1 @actor_index %= $game_party.members.size $scene = Scene_Status.new(@actor_index) end #-------------------------------------------------------------------------- # ● update #-------------------------------------------------------------------------- def update @status_window_right.update update_slide update_command super end #-------------------------------------------------------------------------- # ● update_slide #-------------------------------------------------------------------------- def update_slide @menu_back.ox += 1 @status_window_right.contents_opacity += 10 @status_window_left.contents_opacity += 10 if @status_window_right.x > 0 @status_window_right.x -= 25 elsif @status_window_right.x <= 0 @status_window_right.x = 0 @status_window_right.contents_opacity = 255 end if @status_window_left.x < 0 @status_window_left.x += 25 elsif @status_window_left.x >= @status_window_left.x = 0 @status_window_left.contents_opacity = 255 end end #-------------------------------------------------------------------------- # ● update_command #-------------------------------------------------------------------------- def update_command if Input.trigger?(Input::B) Sound.play_cancel return_scene elsif Input.trigger?(Input::R) or Input.trigger?(Input::RIGHT) Sound.play_cursor next_actor elsif Input.trigger?(Input::L) or Input.trigger?(Input::LEFT) Sound.play_cursor prev_actor end end end
$mog_rgssvx_scene_status = true Créditos:MogHunter por criar o script. Eu: por disponibilizar aqui. | |
|