| | Final Fantasy IX Menu | |
| | Autor | Mensagem |
---|
MimicKayo VIP
Mensagens : 262 Data de inscrição : 10/08/2011 Idade : 26 Localização : Dynasty RPG ;)
| Assunto: Final Fantasy IX Menu Sex Ago 12, 2011 5:46 pm | |
| Final Fantasy IX Menu[/size] By BigEd781 Gráficos feitos por PainHurt com uma ediçãozinha do Principe Zuko! Introdução: Esse script fará que o menu convencional fique igual o menu do Final Fantasy IX. Vem com uma bela windowskin e algumas imagens extras.É fácil de usar e de configurar por images.Divirtam-se!
Bugs consertados: Existem vários que foram consertados durante a utilização. Mas, para aqueles que usam o Sephirothspawn's Materia script:
- Onde está o "create_command_window", troque por isso:
- Spoiler:
- Código:
-
def create_command_window s1 = Vocab::item s2 = Vocab::skill s3 = Vocab::equip s4 = Vocab::status s5 = "Materia" s6 = Vocab::save s7 = Vocab::game_end @command_window = Window_Command.new(132, [s1, s2, s3, s4, s5, s6, s7]) @command_window.index = @menu_index if $game_party.members.size == 0 @command_window.draw_item(0, false) @command_window.draw_item(1, false) @command_window.draw_item(2, false) @command_window.draw_item(3, false) @command_window.draw_item(4, false) end if $game_system.save_disabled @command_window.draw_item(5, false) end # new stuff here @command_window.font_name = FF9_Config::DEFAULT_FONT @command_window.x = 528 - @command_window.width @command_window.y = 16 @command_window.back_opacity = 255 end
Melhorias: - 99% plug 'n' play. - Menus de Skill e Item melhorados. - Adicionado menu de tempo e localização. - Usa uma seta animado de seleção. - Visual melhor do que o menu normal.
Configuração/Usar:
- Colocar esse script acima de Main. - Escolha uma dessas setas e renomeie como Pointer.png Graphics\Pictures
- Coloque essas imagens no Graphics\Pictures:
- (Opcional) Coloque essa windowskin (bela windowskin) no Graphics\System:
Customização: Procure esses códigos no script e aprenda a modificá-los:
- Código:
-
DEFAULT_FONT = Font.default_name Mude a fonte "Font.default.name" para uma fonte que você goste.
- Código:
-
USE_FOR_ALL = true Recomendo deixar do modo que está. Mas se quiser, modifique para "false" se não quiser manter a fonte para todos os windows.
- Código:
-
GOLD_ICON_ID = 194 O ID do ícone da janela de Gold.
Screenshots:
- Spoiler:
Script:
- Spoiler:
- Código:
-
=begin BigEd781' Final Fantasy IX Menu Credit to PainHurt at rpgmakervx.net for most of the graphics =end
module FF9_Config # the name of the font used in the menu. # use 'Font.default_name' for the default font. Try 'Centaur' for a nice, smaller font. DEFAULT_FONT = Font.default_name # set this to true to enable the font above for all windows. # also sets the back_opacity to 255 for all windows. # I recommend setting this to 'true' to maintain a consistent look. USE_FOR_ALL = true # the icon id for your gold window portion of the menu, 194 by default. GOLD_ICON_ID = 194 end
if FF9_Config::USE_FOR_ALL Font.default_name = FF9_Config::DEFAULT_FONT class Window_Base < Window alias :eds_pre_ff9_menu_base_initialize :initialize def initialize(x, y, width, height) eds_pre_ff9_menu_base_initialize(x, y, width, height) self.back_opacity = 255 end end end
class Window_Base < Window def find_window_width(text) return Bitmap.new(544, 416).text_size(text).width + 32 end end
class Window_TimeGold < Window_Base def initialize(x, y) width = find_window_width("9999999") width = 140 if width < 140 super(x, y, width, WLH + 58) self.back_opacity = 255 self.contents.font.name = FF9_Config::DEFAULT_FONT @time_icon = Cache.picture('Timer') @intern_frame_count = 0 refresh end def draw_time sec = Graphics.frame_count / 60 min = Graphics.frame_count / 3600 hrs = Graphics.frame_count / 216000 self.contents.font.color = Color.new(255, 255, 255) time = "%02d:%02d:%02d" % [hrs, min, sec] self.contents.draw_text(0, 0, self.contents.width, WLH, time, 2) end def refresh self.contents.clear self.contents.blt(0, 0, @time_icon, @time_icon.rect) draw_icon(FF9_Config::GOLD_ICON_ID, 2, WLH) draw_currency_value($game_party.gold, 0, WLH, self.contents.width) draw_time end def update super @intern_frame_count += 1 return if (@intern_frame_count % 60) != 0 refresh end def find_window_width(text) return Bitmap.new(544, 416).text_size(text).width + 80 end end
class Window_MenuLocation < Window_Base def initialize(x, y) @map_name = load_data("Data/MapInfos.rvdata")[$game_map.map_id].name width = find_window_width(@map_name) super(x, y, width, WLH + 32) self.contents.font.name = FF9_Config::DEFAULT_FONT self.back_opacity = 255 refresh end def refresh self.contents.clear self.contents.draw_text(0, 0, self.contents.width, WLH, @map_name, 1) end def find_window_width(text) return Bitmap.new(544, 416).text_size(text).width + 48 end end
class Window_Command < Window_Selectable alias :eds_pre_ff9_menu_win_command_init :initialize def initialize(width, commands, column_max = 1, row_max = 0, spacing = 32) @font_name = Font.default_name eds_pre_ff9_menu_win_command_init(width, commands, column_max, row_max, spacing) end #-------------------------------------------------------------------------- # * OVERWRITTEN #-------------------------------------------------------------------------- def refresh self.contents.clear self.contents.font.name = @font_name for i in 0...@item_max draw_item(i) end end def font_name=(name) @font_name = name end end
class Window_Uses < Window_Base def initialize(right, y, item) @remaining_text = "Remaining: #{$game_party.item_number(item)}" w = 160 x = right ? (544 - w) : 0 super(x, y, w, WLH + 32) refresh end def item=(item) return unless item.is_a?(RPG::Item) @remaining_text = "Remaining: #{$game_party.item_number(item)}" refresh end def visible=(value) super refresh if value end def refresh self.contents.clear self.contents.draw_text(self.contents.rect, @remaining_text, 1) end end
class Window_SkillUses < Window_Base def initialize(right, y, actor, skill) @remaining_text = make_info_string(actor, skill) w = 182 x = right ? (544 - w) : 0 super(x, y, w, WLH + 32) refresh end def make_info_string(actor, skill) return "Remaining: 0" if actor.nil? || skill.nil? return "Remaining: #{(actor.mp / actor.calc_mp_cost(skill)).to_i}" end def set_skill(actor, skill) return if actor.nil? return unless skill.is_a?(RPG::Skill) @remaining_text = make_info_string(actor, skill) refresh end def visible=(value) super refresh if value end def refresh self.contents.clear self.contents.draw_text(self.contents.rect, @remaining_text, 1) end end
class Window_MenuStatus < Window_Selectable #-------------------------------------------------------------------------- # * OVERWRITTEN #-------------------------------------------------------------------------- def initialize(x, y) super(x, y, 452, 352) @bg_image = Cache.picture('FF9_MenuBar') @arrow_image = Cache.picture('Pointer') @arrow_sprite = Sprite.new @arrow_sprite.bitmap = Bitmap.new(45, 38) #7 pixels larger in 'w' for animation @arrow_sprite.y = 52 @arrow_sprite.z = 999 @sprite_last_draw_x = 0 @sprite_inc_x = 1 @intern_frame_count = 0 self.contents.font.name = FF9_Config::DEFAULT_FONT self.opacity = 0 self.z = 99 refresh self.active = false self.index = -1 end #-------------------------------------------------------------------------- # * OVERWRITTEN #-------------------------------------------------------------------------- def refresh self.contents.clear @item_max = $game_party.members.size draw_background_windows for actor in $game_party.members x = 104 y = actor.index * 80 y_offset = 6 draw_actor_face(actor, 19, y + 4, 73) draw_actor_name(actor, x, y + y_offset) draw_actor_class(actor, x + 125, y + y_offset) draw_actor_level(actor, x, y + WLH * 1) draw_actor_state(actor, x, y + WLH * 2) draw_actor_hp(actor, x, ((y) + (WLH * 2) - 5)) draw_actor_mp(actor, x + 125, ((y) + (WLH * 2) - 5)) end end #-------------------------------------------------------------------------- # * OVERWRITTEN #-------------------------------------------------------------------------- def update_cursor if @index < 0 @arrow_sprite.bitmap.clear return end @intern_frame_count += 1 return if (@intern_frame_count % 5) != 0 if @sprite_last_draw_x == 7 @sprite_inc_x = -1 elsif @sprite_last_draw_x == 0 @sprite_inc_x = 1 end @arrow_sprite.bitmap.clear @arrow_sprite.y = (@index * 80) + self.y + 40 #40 is on half the image height @arrow_sprite.x = self.x x = @sprite_last_draw_x + @sprite_inc_x @sprite_last_draw_x = x @arrow_sprite.bitmap.blt(x, 0, @arrow_image, @arrow_image.rect) end #-------------------------------------------------------------------------- # * draw_background_window #-------------------------------------------------------------------------- def draw_background_windows self.contents.blt(0, 0, @bg_image, @bg_image.rect) self.contents.blt(0, 80, @bg_image, @bg_image.rect) self.contents.blt(0, 160, @bg_image, @bg_image.rect) self.contents.blt(0, 240, @bg_image, @bg_image.rect) end #-------------------------------------------------------------------------- # * visible #-------------------------------------------------------------------------- def visible=(value) super @arrow_sprite.visible = value end #-------------------------------------------------------------------------- # * dispose #-------------------------------------------------------------------------- alias :eds_pre_ff9_win_stat_dispose :dispose def dispose eds_pre_ff9_win_stat_dispose @arrow_sprite.dispose end end
class Scene_Menu #-------------------------------------------------------------------------- # * OVERWRITTEN #-------------------------------------------------------------------------- def create_command_window s1 = Vocab::item s2 = Vocab::skill s3 = Vocab::equip s4 = Vocab::status s5 = Vocab::save s6 = Vocab::game_end # just changed the width of the window here @command_window = Window_Command.new(132, [s1, s2, s3, s4, s5, s6]) @command_window.index = @menu_index if $game_party.members.size == 0 # If number of party members is 0 @command_window.draw_item(0, false) # Disable item @command_window.draw_item(1, false) # Disable skill @command_window.draw_item(2, false) # Disable equipment @command_window.draw_item(3, false) # Disable status end if $game_system.save_disabled # If save is forbidden @command_window.draw_item(4, false) # Disable save end # new stuff here @command_window.font_name = FF9_Config::DEFAULT_FONT @command_window.x = 528 - @command_window.width @command_window.y = 16 @command_window.back_opacity = 255 end #-------------------------------------------------------------------------- # * OVERWRITTEN #-------------------------------------------------------------------------- def start super create_menu_background create_command_window @gold_window = Window_TimeGold.new(372, 360) @gold_window.y -= @gold_window.height @gold_window.x = 528 - @gold_window.width @status_window = Window_MenuStatus.new(0, 12) @location_window = Window_MenuLocation.new(0, 0) @location_window.x = 528 - @location_window.width @location_window.y = 416 - @location_window.height end #-------------------------------------------------------------------------- # * Termination Processing #-------------------------------------------------------------------------- alias :eds_pre_ff9_menu_scene_menu_terminate :terminate def terminate eds_pre_ff9_menu_scene_menu_terminate @location_window.dispose end end
class Scene_Item < Scene_Base #-------------------------------------------------------------------------- # * start #-------------------------------------------------------------------------- alias :eds_pre_ff9_menu_scene_item_start :start def start eds_pre_ff9_menu_scene_item_start @target_window.y = 58 @uses_window = Window_Uses.new(true, @help_window.height, nil) @uses_window.visible = false end #-------------------------------------------------------------------------- # * OVERWRITTEN # - right-align flag ignored #-------------------------------------------------------------------------- alias :eds_pre_ff9_menu_win_stat_show_target_window :show_target_window def show_target_window(right) @uses_window.item = @item_window.item @uses_window.visible = true @item_window.visible = false @item_window.active = false @target_window.visible = true @target_window.active = true @viewport.rect.set(0, 0, 544, 416) @viewport.ox = 0 end #-------------------------------------------------------------------------- # * hide_target_window #-------------------------------------------------------------------------- alias :eds_pre_ff9_menu_scene_item_hide_target_window :hide_target_window def hide_target_window eds_pre_ff9_menu_scene_item_hide_target_window @uses_window.visible = false unless @uses_window.nil? @item_window.visible = true end #-------------------------------------------------------------------------- # * determine_target #-------------------------------------------------------------------------- alias :eds_pre_ff9_menu_scene_item_determine_target :determine_target def determine_target eds_pre_ff9_menu_scene_item_determine_target @uses_window.item = @item_window.item end #-------------------------------------------------------------------------- # * Termination Processing #-------------------------------------------------------------------------- alias :eds_pre_ff9_menu_scene_item_terminate :terminate def terminate eds_pre_ff9_menu_scene_item_terminate @uses_window.dispose end end
class Scene_Skill < Scene_Base #-------------------------------------------------------------------------- # * start #-------------------------------------------------------------------------- alias :eds_pre_ff9_menu_scene_skill_start :start def start eds_pre_ff9_menu_scene_skill_start @target_window.y = 58 @uses_window = Window_SkillUses.new(true, @help_window.height, nil, nil) @uses_window.visible = false end #-------------------------------------------------------------------------- # * OVERWRITTEN # - right-align flag ignored #-------------------------------------------------------------------------- def show_target_window(right) @uses_window.set_skill($game_party.members[@actor_index], @skill_window.skill) @uses_window.visible = true @status_window.visible = false @skill_window.visible = false @skill_window.active = false @target_window.visible = true @target_window.active = true @viewport.rect.set(0, 0, 544, 416) @viewport.ox = 0 end #-------------------------------------------------------------------------- # * hide_target_window #-------------------------------------------------------------------------- alias :eds_pre_ff9_menu_scene_skill_hide_target_window :hide_target_window def hide_target_window eds_pre_ff9_menu_scene_skill_hide_target_window @uses_window.visible = false unless @uses_window.nil? @skill_window.visible = true @status_window.visible = true end #-------------------------------------------------------------------------- # * determine_target #-------------------------------------------------------------------------- alias :eds_pre_ff9_menu_scene_skill_determine_target :determine_target def determine_target eds_pre_ff9_menu_scene_skill_determine_target @uses_window.set_skill($game_party.members[@actor_index], @skill_window.skill) end #-------------------------------------------------------------------------- # * Termination Processing #-------------------------------------------------------------------------- alias :eds_pre_ff9_menu_scene_item_terminate :terminate def terminate eds_pre_ff9_menu_scene_item_terminate @uses_window.dispose end end
Compatibilidade: Incompatível com qualquer outro script de menu ou modificação de submenus.
Créditos e Agradecimentos: BigEd781 - Por criar o script PainHurt - Pelos gráficos Principe Zuko - Corrigir alguns Bugs MimicKayo - Disponibilizando para a Dynasty Staffs - Apoio
Espero que gostem!! | |
| | | Thiago_Lief Expert
Mensagens : 148 Data de inscrição : 03/08/2011 Idade : 29 Localização : Presidente Prudente - SP
| Assunto: Re: Final Fantasy IX Menu Sex Ago 12, 2011 6:29 pm | |
| Assim como o do FFXII achei esse menu bem legal (mas gostei mais do menu do FFXII), mas legal vc ter disponibilizado aki | |
| | | Ryugo Administrador
Mensagens : 285 Data de inscrição : 30/07/2011 Idade : 25 Localização : São José dos Campos
| Assunto: Re: Final Fantasy IX Menu Sex Ago 12, 2011 7:49 pm | |
| Achei bem feio. +1 crédito por disponibilizar. Off:Acabei de mover outro tópico seu,vou ter que mover esse também | |
| | | Zendion Cordenador
Mensagens : 372 Data de inscrição : 31/07/2011 Idade : 27 Localização : Leme
| Assunto: bacana Sex Ago 12, 2011 8:40 pm | |
| Gostei de v. Ta legal msm esse sistema(apesar de naw gostar de FFXII) Belo trabalho Fui | |
| | | MimicKayo VIP
Mensagens : 262 Data de inscrição : 10/08/2011 Idade : 26 Localização : Dynasty RPG ;)
| Assunto: Re: Final Fantasy IX Menu Sex Ago 12, 2011 9:00 pm | |
| Obrigado pessoal,eu também acho o do XII mais bonito. Mas pra quem vai fazer fan games né...xD. - Ryugo escreveu:
- Achei bem feio.
+1 crédito por disponibilizar.
Off:Acabei de mover outro tópico seu,vou ter que mover esse também Kk' postei eles nas áreas erradas. Eu pensei que estava em script,mas estava em sistemas. Desculpe meus erros podres Abraço~ | |
| | | XDJonasXD Administrador
Mensagens : 179 Data de inscrição : 26/07/2011 Idade : 27 Localização : São Paulo
| Assunto: Re: Final Fantasy IX Menu Sáb Ago 13, 2011 9:28 am | |
| Super legal, eu já tinha visto o de FFXII,mas esse ai nunca +1 crédito | |
| | | Conteúdo patrocinado
| Assunto: Re: Final Fantasy IX Menu | |
| |
| | | | Final Fantasy IX Menu | |
|
Tópicos semelhantes | |
|
| Permissões neste sub-fórum | Não podes responder a tópicos
| |
| |
| julho 2024 | Dom | Seg | Ter | Qua | Qui | Sex | Sáb |
---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | | | | Calendário |
|
Últimos assuntos | » Nova categoria: DIVULGAÇÃOQui Set 14, 2017 9:18 pm por Ryugo» MAKE THE RPG, Revista (Magazine) de RPG Maker, 95, 97, 2000, 2003, MV...Ter Out 25, 2016 8:54 pm por MimicKayo» Oi , eu sou o goku!Ter Out 25, 2016 8:28 pm por MimicKayo» Pokémon Starter Kit VXTer Set 24, 2013 6:04 pm por Cloud Kayo» [Tópico atualizado]Stone of TimeDom Jul 14, 2013 1:09 am por Zendion» Mega pack de resourcesQua maio 08, 2013 10:49 pm por Zendion» ApresentaçãoQua maio 01, 2013 7:54 pm por Gilliard Uchiha» Ter Dez 18, 2012 6:03 am por Zendion» Sistema de mechas por evento(Veiculos terrestres)Qua Dez 05, 2012 7:43 am por fdaviloka |
Quem está conectado? | Há 4 usuários online :: 0 registrados, 0 invisíveis e 4 visitantes Nenhum O recorde de usuários online foi de 209 em Ter Mar 09, 2021 5:43 am |
Parceiros |
|
|