Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #----------------------------------------------------------------
- # 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, 56)
- @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::save
- s3 = Vocab::game_end
- @command_window = Window_Command.new(544, [s1, s2, s3],3)
- @command_window.index = @menu_index
- if $game_party.members.size == 0
- @command_window.draw_item(0, false)
- @command_window.draw_item(2, false)
- end
- if $game_system.save_disabled
- @command_window.draw_item(1, 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 == 1
- Sound.play_buzzer
- return
- end
- Sound.play_decision
- case @command_window.index
- when 0
- $scene = Scene_Item.new
- when 1
- $scene = Scene_File.new(true, false, false)
- when 2
- $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
- when 2
- when 3
- end
- end
- end
- end
- class Window_MenuStatus < Window_Selectable
- def initialize(x, y)
- super(x, y, 544, 304)
- @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_graphic(actor, x , y + WLH * 4)
- # 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, "indiegames.esy.es")
- 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
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement