Sign in to follow this  
Followers 0
Fegarur

[RMVX] Menú Jão

3 posts in this topic

Descripción:
Un nuevo estilo para el menú de nuestro proyecto. Para el que no quiere usar el menú por defecto.

Screen:
[SPOILER]user posted image[/SPOILER]

Script:
[SPOILER]
CODE
#----------------------------------------------------------------
#                           SCENE_MENU
#----------------------------------------------------------------
# Creado por: Jão
# Versión: 1.0
# Agradecimientos: DarkChocobo
#
# Modifica el menú del juego. Sustitúyelo por este.
#----------------------------------------------------------------

class Scene_Menu < Scene_Base

 def initialize(menu_index = 0)
   @menu_index = menu_index
 end

 def start
   super
   create_menu_background
   create_command_window
   @gold_window = Window_Gold.new(0, 360)
   @status_window = Window_MenuStatus.new(0, 80)
   @window_local = Window_Local.new(120,360)
   @time = Window_Time.new(360,360)
 end

 def terminate
   super
   dispose_menu_background
   @command_window.dispose
   @gold_window.dispose
   @status_window.dispose
   @window_local.dispose
   @time.dispose
 end

 def update
   super
   update_menu_background
   @command_window.update
   @gold_window.update
   @status_window.update
   @window_local.update
   @time.update
   if @command_window.active
     update_command_selection
   elsif @status_window.active
     update_actor_selection
   end
 end

 def create_command_window
   s1 = Vocab::item
   s2 = Vocab::skill
   s3 = Vocab::equip
   s4 = Vocab::status
   s5 = Vocab::save
   s6 = Vocab::game_end
   @command_window = Window_Command.new(544, [s1, s2, s3, s4, s5, s6],3)
   @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)    
   end
   if $game_system.save_disabled            
     @command_window.draw_item(4, false)    
   end
 end

 def update_command_selection
   if Input.trigger?(Input::B)
     Sound.play_cancel
     $scene = Scene_Map.new
   elsif Input.trigger?(Input::C)
     if $game_party.members.size == 0 and @command_window.index < 4
       Sound.play_buzzer
       return
     elsif $game_system.save_disabled and @command_window.index == 4
       Sound.play_buzzer
       return
     end
     Sound.play_decision
     case @command_window.index
     when 0    
       $scene = Scene_Item.new
     when 1,2,3  
       start_actor_selection
     when 4      
       $scene = Scene_File.new(true, false, false)
     when 5      
       $scene = Scene_End.new
     end
   end
 end

 def start_actor_selection
   @command_window.active = false
   @status_window.active = true
   if $game_party.last_actor_index < @status_window.item_max
     @status_window.index = $game_party.last_actor_index
   else
     @status_window.index = 0
   end
 end

 def end_actor_selection
   @command_window.active = true
   @status_window.active = false
   @status_window.index = -1
 end

 def update_actor_selection
   if Input.trigger?(Input::B)
     Sound.play_cancel
     end_actor_selection
   elsif Input.trigger?(Input::C)
     $game_party.last_actor_index = @status_window.index
     Sound.play_decision
     case @command_window.index
     when 1  
       $scene = Scene_Skill.new(@status_window.index)
     when 2
       $scene = Scene_Equip.new(@status_window.index)
     when 3  
       $scene = Scene_Status.new(@status_window.index)
     end
   end
 end
end

class Window_MenuStatus < Window_Selectable
 def initialize(x, y)
   super(x, y, 544, 230)
   @column_max = 2
   refresh
   self.active = false
   self.index = -1
 end
 def refresh
   self.contents.clear
   @item_max = $game_party.members.size
   for actor in $game_party.members
     x = actor.index % @column_max * self.width/2 + 96
     y = actor.index / @column_max * 96 + WLH / 2
     draw_actor_face(actor, x - 96, y, 92)
     draw_actor_name(actor, x, y)
     draw_actor_level(actor, x + 80, y)
     draw_actor_state(actor, x, y + WLH * 3)
     draw_actor_hp(actor, x , y + WLH * 1)
     draw_actor_mp(actor, x , y + WLH * 2)
   end
 end
 def update_cursor
   case @index
   when -1
     self.cursor_rect.empty
   when 0, 1, 2, 3
     self.cursor_rect.set(@index % @column_max * self.width/2 - 4, index / @column_max * 96 + WLH / 2 - 4, self.width / 2 - 32 +4, 96+4)
   else
     self.cursor_rect.set(0, 0, contents.width, @item_max * 96)
   end
 end
end

class Game_Map
attr_reader   :map_id  
def namemap
$name_map = load_data("Data/MapInfos.rvdata")
$name_map[@map_id].name
end
end

class Window_Local < Window_Base
   def initialize(x,y)
   super(x, y, 240, WLH + 32)
   refresh
 end  
def refresh
   self.contents.clear
   self.contents.font.color = system_color
   self.contents.draw_text(-2, -5, 200, 32, "Localización:")
   self.contents.font.color = normal_color
   self.contents.draw_text(59, -5, 210, 32, $game_map.namemap.to_s)
end
end

class Window_Gold < Window_Base

 def initialize(x, y)
   super(x, y, 120, WLH + 32)
   refresh
 end
 
 def refresh
   self.contents.clear
   draw_currency_value($game_party.gold, 4, 0, 80)
 end
end

class Window_Time < Window_Base
 def initialize(x, y)
   super(x, y, 184, WLH + 32)
   refresh
 end
 def refresh
   self.contents.clear
   self.contents.font.color = system_color
   self.contents.draw_text(0, -5, 200, 32, "Tiempo:")
   @total_sec = Graphics.frame_count / Graphics.frame_rate
   hour = @total_sec / 60 / 60
   min = @total_sec / 60 % 60
   sec = @total_sec % 60
   text = sprintf("%02d:%02d:%02d", hour, min, sec)
   self.contents.font.color = normal_color
   self.contents.draw_text(67, -5, 200, 32, text)
end
 def update
   super
   if Graphics.frame_count / Graphics.frame_rate != @total_sec
     refresh
   end
 end
end
[/SPOILER]

Instrucciones:
Sustituye el script Scene_Menu del RMVX con este otro.

Créditos:
Script creado por Jão. Edited by Fegarur
0

Share this post


Link to post
Share on other sites
esta muy bonito xD.png
0

Share this post


Link to post
Share on other sites
si, esta muy bien, aver si me instalo el VX aber laugh.gif icon13.gif
0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0