dani3 Posted February 23, 2008 Share Posted February 23, 2008 Ecco la versione di XRXS, Dubealex e Hypershadow180 del menu ad anello da me adattato per renderlo compatibile con il menu delle limit, per chi lo usa: #------------------------------------------------------------------------------ # Menu ad anello #------------------------------------------------------------------------------ # Versione originale: XRXS, Dubealex e Hypershadow180 # Adattato da Dani3 per renderlo compatibile con il menu delle Limit Break, puo' # comunque essere personalizzato per farlo funzionare con il menu di default # togliendo le stringhe relative alla limit break e ordinandole seguendo # l'ordine di default. #------------------------------------------------------------------------------ class Scene_Menu #------------------------------------------------------------------------------ # Initialize #------------------------------------------------------------------------------ def initialize(menu_index = 0) @menu_index = menu_index $location_text=[] $gold_text=[] $window_size=[] $ring_menu_text=[] $chara_select=[] @window_opacity=[] @chara_select=[] @window_position=[] $gold_text[0]="JSL Ancient" # Tipo d font $gold_text[1]=20 # Font Size $gold_text[2]=0 # $gold_text[3]=0 # Gold Color $gold_text[4]="UBS" # Testo @window_opacity[0]=255 # Opacita'bordo @window_opacity[1]=130 # Opacita' sfondo $window_gold_skin="001-Blue01" # Skin finestra gold @window_position[0]=0 # posizione asse x @window_position[2]=384 # posizione asse y finestra gold $window_size[0]=160 # Lunghezza $window_size[1]=96 # Altezza $ring_menu_text[0]="JSL Ancient" # tipo font $ring_menu_text[7]=0 # colore font $ring_menu_text[8]=20 # grandezza font $ring_menu_text[1]="Oggetti" # se non si utilizza il menu delle limit $ring_menu_text[2]="Tecniche"# eliminare la stringa relativa ad esso $ring_menu_text[3]="Equip" # e ordinare le stringhe seguendo l'ordine del $ring_menu_text[4]="Status" # menu di default $ring_menu_text[5]="Touki Aura" $ring_menu_text[6]="Salva" $ring_menu_text[7]="Esci dal gioco" @chara_select[0]=408 # posizione asse x @chara_select[1]=0 # posizione asse y $chara_select[0]="JSL Ancient" # tipo font $chara_select[1]=0 # colore font $chara_select[5]=24 # grandezza font $chara_select[2]=255 # opacita' bordo $chara_select[3]=130 # opacita' sfondo $chara_select[4]="001-Blue01" # Windowskin end #------------------------------------------------------------------------------ # Main #------------------------------------------------------------------------------ def main @window_gold = Window_MenuGold.new @window_gold.x = @window_position[0] @window_gold.y = @window_position[2] @window_gold.opacity = @window_opacity[0] @window_gold.back_opacity = @window_opacity[1] @spriteset = Spriteset_Map.new px = $game_player.screen_x - 15 py = $game_player.screen_y - 24 @command_window = Window_RingMenu.new(px,py) @command_window.index = @menu_index if $game_party.actors.size == 0 @command_window.disable_item(0) @command_window.disable_item(1) @command_window.disable_item(2) @command_window.disable_item(3) end @command_window.z = 100 if $game_system.save_disabled @command_window.disable_item(4) end @status_window = Window_RingMenuStatus.new @status_window.x = @chara_select[0] @status_window.y = @chara_select[1] @status_window.z = 200 @status_window.opacity=$chara_select[2] @status_window.back_opacity=$chara_select[3] @status_window.visible = false Graphics.transition loop do Graphics.update Input.update update if $scene != self break end end Graphics.freeze @spriteset.dispose @window_gold.dispose @command_window.dispose @status_window.dispose end #------------------------------------------------------------------------------ # Update #------------------------------------------------------------------------------ def update @window_gold.update @command_window.update @status_window.update if @command_window.active update_command return end if @status_window.active update_status return end end #------------------------------------------------------------------------------ # Update Comman #------------------------------------------------------------------------------ def update_command if Input.trigger?(Input::B) $game_system.se_play($data_system.cancel_se) $scene = Scene_Map.new return end if Input.trigger?(Input::C) if $game_party.actors.size == 0 and @command_window.index < 4 $game_system.se_play($data_system.buzzer_se) return end case @command_window.index when 0 $game_system.se_play($data_system.decision_se) $scene = Scene_Item.new when 1 $game_system.se_play($data_system.decision_se) @command_window.active = false @status_window.active = true @status_window.visible = true @status_window.index = 0 when 2 $game_system.se_play($data_system.decision_se) @command_window.active = false @status_window.active = true @status_window.visible = true @status_window.index = 0 when 3 $game_system.se_play($data_system.decision_se) @command_window.active = false @status_window.active = true @status_window.visible = true @status_window.index = 0 when 4 if $game_system.save_disabled $game_system.se_play($data_system.buzzer_se) return end $game_system.se_play($data_system.decision_se) $scene = Scene_LimitMenu.new when 5 $game_system.se_play($data_system.decision_se) $scene = Scene_Save.new when 6 $game_system.se_play($data_system.decision_se) $scene = Scene_End.new end return end return if @command_window.animation? if Input.press?(Input::UP) or Input.press?(Input::LEFT) $game_system.se_play($data_system.cursor_se) @command_window.setup_move_move(Window_RingMenu::MODE_MOVEL) return end if Input.press?(Input::DOWN) or Input.press?(Input::RIGHT) $game_system.se_play($data_system.cursor_se) @command_window.setup_move_move(Window_RingMenu::MODE_MOVER) return end end #------------------------------------------------------------------------------ # Update Status #------------------------------------------------------------------------------ def update_status if Input.trigger?(Input::B) $game_system.se_play($data_system.cancel_se) @command_window.active = true @status_window.active = false @status_window.visible = false @status_window.index = -1 return end if Input.trigger?(Input::C) case @command_window.index when 1 if $game_party.actors[@status_window.index].restriction >= 2 $game_system.se_play($data_system.buzzer_se) return end $game_system.se_play($data_system.decision_se) $scene = Scene_Skill.new(@status_window.index) when 2 $game_system.se_play($data_system.decision_se) $scene = Scene_Equip.new(@status_window.index) when 3 $game_system.se_play($data_system.decision_se) $scene = Scene_Status.new(@status_window.index) when 4 $game_system.se_play($data_system.decision_se) $scene = $scene = Scene_LimitMenu.new(@status_window.index) end return end end end #------------------------------------------------------------------------------ # Window_RingMenu #------------------------------------------------------------------------------ class Window_RingMenu < Window_Base STARTUP_FRAMES = 20 MOVING_FRAMES = 5 RING_R = 64 ICON_ITEM = RPG::Cache.icon("034-Item03") ICON_SKILL = RPG::Cache.icon("044-Skill01") ICON_EQUIP = RPG::Cache.icon("001-Weapon01") ICON_STATUS = RPG::Cache.icon("050-Skill07") ICON_TOUKI_AURA = RPG::Cache.icon("050-Skill07") #elimarla se il menu delle ICON_SAVE = RPG::Cache.icon("038-Item07")#limit non viene utilizzato e ordi- ICON_EXIT = RPG::Cache.icon("046-Skill03")#nare le strighe come il menu di ICON_DISABLE= RPG::Cache.icon("") #default SE_STARTUP = "056-Right02" MODE_START = 1 MODE_WAIT = 2 MODE_MOVER = 3 MODE_MOVEL = 4 attr_accessor :index #------------------------------------------------------------------------------ # Initialize #------------------------------------------------------------------------------ def initialize( center_x, center_y ) super(0, 0, 640, 480) self.contents = Bitmap.new(width-32, height-32) self.contents.font.name = $ring_menu_text[0] self.contents.font.color = text_color($ring_menu_text[7]) self.contents.font.size = $ring_menu_text[8] self.opacity = 0 self.back_opacity = 0 s1 = $ring_menu_text[1] #aggiungere o cancellare stringhe a seconda del s2 = $ring_menu_text[2] # numero di finestre presenti nel menu in uso s3 = $ring_menu_text[3] s4 = $ring_menu_text[4] s5 = $ring_menu_text[5] s6 = $ring_menu_text[6] s7 = $ring_menu_text[7] @commands = [ s1, s2, s3, s4, s5, s6,s7 ] @item_max = 6 #cancellare icon_touki_aura se non si usa il menu limit @index = 0 # o sostituirla con un'altra del menu in uso @items = [ ICON_ITEM, ICON_SKILL, ICON_EQUIP, ICON_STATUS, ICON_TOUKI_AURA, ICON_SAVE, ICON_EXIT ] @disabled = [ false, false, false, false, false, false, false ] @cx = center_x - 16 @cy = center_y - 16 setup_move_start refresh end #------------------------------------------------------------------------------ # Aggiornamento #------------------------------------------------------------------------------ def update super refresh end #------------------------------------------------------------------------------ # Refresh #------------------------------------------------------------------------------ def refresh self.contents.clear case @mode when MODE_START refresh_start when MODE_WAIT refresh_wait when MODE_MOVER refresh_move(1) when MODE_MOVEL refresh_move(0) end rect = Rect.new(@cx - 272, @cy + 24, self.contents.width-32, 32) self.contents.draw_text(rect, @commands[@index],1) end #------------------------------------------------------------------------------ # Refresh Start #------------------------------------------------------------------------------ def refresh_start d1 = 2.0 * Math::PI / @item_max d2 = 1.0 * Math::PI / STARTUP_FRAMES r = RING_R - 1.0 * RING_R * @steps / STARTUP_FRAMES for i in 0...@item_max j = i - @index d = d1 * j + d2 * @steps x = @cx + ( r * Math.sin( d ) ).to_i y = @cy - ( r * Math.cos( d ) ).to_i draw_item(x, y, i) end @steps -= 1 if @steps < 1 @mode = MODE_WAIT end end #------------------------------------------------------------------------------ # Refresh Wait #------------------------------------------------------------------------------ def refresh_wait d = 2.0 * Math::PI / @item_max for i in 0...@item_max j = i - @index x = @cx + ( RING_R * Math.sin( d * j ) ).to_i y = @cy - ( RING_R * Math.cos( d * j ) ).to_i draw_item(x, y, i) end end #------------------------------------------------------------------------------ # Refresh Move #------------------------------------------------------------------------------ def refresh_move( mode ) d1 = 2.0 * Math::PI / @item_max d2 = d1 / MOVING_FRAMES d2 *= -1 if mode != 0 for i in 0...@item_max j = i - @index d = d1 * j + d2 * @steps x = @cx + ( RING_R * Math.sin( d ) ).to_i y = @cy - ( RING_R * Math.cos( d ) ).to_i draw_item(x, y, i) end @steps -= 1 if @steps < 1 @mode = MODE_WAIT end end #------------------------------------------------------------------------------ # Disegna oggetti #------------------------------------------------------------------------------ def draw_item(x, y, i) rect = Rect.new(0, 0, @items[i].width, @items[i].height) if @index == i self.contents.blt( x, y, @items[i], rect ) if @disabled[@index] self.contents.blt( x, y, ICON_DISABLE, rect ) end else self.contents.blt( x, y, @items[i], rect, 128 ) if @disabled[@index] self.contents.blt( x, y, ICON_DISABLE, rect, 128 ) end end end #------------------------------------------------------------------------------ # Disabilita oggetti #------------------------------------------------------------------------------ def disable_item(index) @disabled[index] = true end #------------------------------------------------------------------------------ # Setup Move Start #------------------------------------------------------------------------------ def setup_move_start @mode = MODE_START @steps = STARTUP_FRAMES if SE_STARTUP != nil and SE_STARTUP != "" Audio.se_play("Audio/SE/" + SE_STARTUP, 80, 100) end end #------------------------------------------------------------------------------ # Setup Move Move #------------------------------------------------------------------------------ def setup_move_move(mode) if mode == MODE_MOVER @index -= 1 @index = @items.size - 1 if @index < 0 elsif mode == MODE_MOVEL @index += 1 @index = 0 if @index >= @items.size else return end @mode = mode @steps = MOVING_FRAMES end #------------------------------------------------------------------------------ # Animazione #------------------------------------------------------------------------------ def animation? return @mode != MODE_WAIT end end #------------------------------------------------------------------------------ # Window_RingMenuStatus #------------------------------------------------------------------------------ class Window_RingMenuStatus < Window_Selectable #------------------------------------------------------------------------------ # Initialize #------------------------------------------------------------------------------ def initialize super(204, 64, 232, 352) self.contents = Bitmap.new(width - 32, height - 32) self.contents.font.size = $chara_select[5] refresh self.active = false self.index = -1 end #------------------------------------------------------------------------------ # Refresh #------------------------------------------------------------------------------ def refresh self.contents.clear self.windowskin = RPG::Cache.windowskin($chara_select[4]) self.contents.font.name = $chara_select[0] self.contents.font.color = text_color($chara_select[1]) @item_max = $game_party.actors.size for i in 0...$game_party.actors.size x = 80 y = 80 * i actor = $game_party.actors[i] draw_actor_graphic(actor, x - 60, y + 65) draw_actor_name(actor, x, y + 2) draw_actor_hp(actor, x - 40, y + 26) draw_actor_sp(actor, x - 40, y + 50) end end #------------------------------------------------------------------------------ # Aggiornamento Cursor Rect #------------------------------------------------------------------------------ def update_cursor_rect if @index < 0 self.cursor_rect.empty else self.cursor_rect.set(0, @index * 80, self.width - 32, 80) end end end #------------------------------------------------------------------------------ # Scene_Title #------------------------------------------------------------------------------ class Scene_Title $map_infos = load_data("Data/MapInfos.rxdata") for key in $map_infos.keys $map_infos[key] = $map_infos[key].name end end #------------------------------------------------------------------------------ # Window_MenuGold #------------------------------------------------------------------------------ class Window_MenuGold < Window_Base #------------------------------------------------------------------------------ # Initialize #------------------------------------------------------------------------------ def initialize super(0, 0, $window_size[0], $window_size[1]) self.contents = Bitmap.new(width - 32, height - 32) self.contents.font.name = $gold_text[0] self.contents.font.size = $gold_text[1] refresh end #------------------------------------------------------------------------------ # Refresh #------------------------------------------------------------------------------ def refresh self.contents.clear self.windowskin = RPG::Cache.windowskin($window_gold_skin) self.contents.font.color = text_color($gold_text[2]) self.contents.draw_text(4, 0, 120, 32, $gold_text[4]) self.contents.font.color = text_color($gold_text[3]) self.contents.draw_text(4, 32, 120, 32, $game_party.gold.to_s, 2) end end qui c'e' quello originale: #------------------------------------------------------------------------------ # Ring_Menu #------------------------------------------------------------------------------ # By: XRXS, Dubealex, and Hypershadow180 #------------------------------------------------------------------------------ class Scene_Menu #------------------------------------------------------------------------------ # Initialize #------------------------------------------------------------------------------ def initialize(menu_index = 0) @menu_index = menu_index $location_text=[] $gold_text=[] $window_size=[] $ring_menu_text=[] $chara_select=[] @window_opacity=[] @chara_select=[] @window_position=[] $location_text[0]="Calibri" # Font Type $location_text[1]=24 # Font Size $location_text[2]=0 # Location Title Color $location_text[4]=0 # Map Name Color $location_text[3]="Location:" # Text $gold_text[0]="Calibri" # Font Type $gold_text[1]=20 # Font Size $gold_text[2]=0 # Gold Title Color $gold_text[3]=0 # Gold Color $gold_text[4]="Gold" # Text @window_opacity[0]=255 # Border Opacity @window_opacity[1]=130 # Background Opacity $window_location_skin="001-Blue01" # Location Windowskin $window_gold_skin="001-Blue01" # Gold Windowskin @window_position[0]=0 # X Axis Position @window_position[1]=0 # Location Y Axis Position @window_position[2]=384 # Gold Y Axis Position $window_size[0]=160 # Length $window_size[1]=96 # Height $ring_menu_text[0]="Calibri" # Font Type $ring_menu_text[7]=0 # Font Color $ring_menu_text[8]=20 # Font Size $ring_menu_text[1]="Items" $ring_menu_text[2]="Skills" $ring_menu_text[3]="Equip" $ring_menu_text[4]="Stats" $ring_menu_text[5]="Save" $ring_menu_text[6]="Quit" @chara_select[0]=408 # X Axis Position @chara_select[1]=0 # Y Axis Position $chara_select[0]="Calibri" # Font Type $chara_select[1]=0 # Font Color $chara_select[5]=24 # Font Size $chara_select[2]=255 # Border Opacity $chara_select[3]=130 # Background Opacity $chara_select[4]="001-Blue01" # Windowskin end #------------------------------------------------------------------------------ # Main #------------------------------------------------------------------------------ def main @window_location = Window_Location.new @window_location.x = @window_position[0] @window_location.y = @window_position[1] @window_location.opacity = @window_opacity[0] @window_location.back_opacity = @window_opacity[1] @window_gold = Window_MenuGold.new @window_gold.x = @window_position[0] @window_gold.y = @window_position[2] @window_gold.opacity = @window_opacity[0] @window_gold.back_opacity = @window_opacity[1] @spriteset = Spriteset_Map.new px = $game_player.screen_x - 15 py = $game_player.screen_y - 24 @command_window = Window_RingMenu.new(px,py) @command_window.index = @menu_index if $game_party.actors.size == 0 @command_window.disable_item(0) @command_window.disable_item(1) @command_window.disable_item(2) @command_window.disable_item(3) end @command_window.z = 100 if $game_system.save_disabled @command_window.disable_item(4) end @status_window = Window_RingMenuStatus.new @status_window.x = @chara_select[0] @status_window.y = @chara_select[1] @status_window.z = 200 @status_window.opacity=$chara_select[2] @status_window.back_opacity=$chara_select[3] @status_window.visible = false Graphics.transition loop do Graphics.update Input.update update if $scene != self break end end Graphics.freeze @spriteset.dispose @window_location.dispose @window_gold.dispose @command_window.dispose @status_window.dispose end #------------------------------------------------------------------------------ # Update #------------------------------------------------------------------------------ def update @window_location.update @window_gold.update @command_window.update @status_window.update if @command_window.active update_command return end if @status_window.active update_status return end end #------------------------------------------------------------------------------ # Update Comman #------------------------------------------------------------------------------ def update_command if Input.trigger?(Input::B) $game_system.se_play($data_system.cancel_se) $scene = Scene_Map.new return end if Input.trigger?(Input::C) if $game_party.actors.size == 0 and @command_window.index < 4 $game_system.se_play($data_system.buzzer_se) return end case @command_window.index when 0 $game_system.se_play($data_system.decision_se) $scene = Scene_Item.new when 1 $game_system.se_play($data_system.decision_se) @command_window.active = false @status_window.active = true @status_window.visible = true @status_window.index = 0 when 2 $game_system.se_play($data_system.decision_se) @command_window.active = false @status_window.active = true @status_window.visible = true @status_window.index = 0 when 3 $game_system.se_play($data_system.decision_se) @command_window.active = false @status_window.active = true @status_window.visible = true @status_window.index = 0 when 4 if $game_system.save_disabled $game_system.se_play($data_system.buzzer_se) return end $game_system.se_play($data_system.decision_se) $scene = Scene_Save.new when 5 $game_system.se_play($data_system.decision_se) $scene = Scene_End.new end return end return if @command_window.animation? if Input.press?(Input::UP) or Input.press?(Input::LEFT) $game_system.se_play($data_system.cursor_se) @command_window.setup_move_move(Window_RingMenu::MODE_MOVEL) return end if Input.press?(Input::DOWN) or Input.press?(Input::RIGHT) $game_system.se_play($data_system.cursor_se) @command_window.setup_move_move(Window_RingMenu::MODE_MOVER) return end end #------------------------------------------------------------------------------ # Update Status #------------------------------------------------------------------------------ def update_status if Input.trigger?(Input::B) $game_system.se_play($data_system.cancel_se) @command_window.active = true @status_window.active = false @status_window.visible = false @status_window.index = -1 return end if Input.trigger?(Input::C) case @command_window.index when 1 if $game_party.actors[@status_window.index].restriction >= 2 $game_system.se_play($data_system.buzzer_se) return end $game_system.se_play($data_system.decision_se) $scene = Scene_Skill.new(@status_window.index) when 2 $game_system.se_play($data_system.decision_se) $scene = Scene_Equip.new(@status_window.index) when 3 $game_system.se_play($data_system.decision_se) $scene = Scene_Status.new(@status_window.index) end return end end end #------------------------------------------------------------------------------ # Window_RingMenu #------------------------------------------------------------------------------ class Window_RingMenu < Window_Base STARTUP_FRAMES = 20 MOVING_FRAMES = 5 RING_R = 64 ICON_ITEM = RPG::Cache.icon("034-Item03") ICON_SKILL = RPG::Cache.icon("044-Skill01") ICON_EQUIP = RPG::Cache.icon("001-Weapon01") ICON_STATUS = RPG::Cache.icon("050-Skill07") ICON_SAVE = RPG::Cache.icon("038-Item07") ICON_EXIT = RPG::Cache.icon("046-Skill03") ICON_DISABLE= RPG::Cache.icon("") SE_STARTUP = "056-Right02" MODE_START = 1 MODE_WAIT = 2 MODE_MOVER = 3 MODE_MOVEL = 4 attr_accessor :index #------------------------------------------------------------------------------ # Initialize #------------------------------------------------------------------------------ def initialize( center_x, center_y ) super(0, 0, 640, 480) self.contents = Bitmap.new(width-32, height-32) self.contents.font.name = $ring_menu_text[0] self.contents.font.color = text_color($ring_menu_text[7]) self.contents.font.size = $ring_menu_text[8] self.opacity = 0 self.back_opacity = 0 s1 = $ring_menu_text[1] s2 = $ring_menu_text[2] s3 = $ring_menu_text[3] s4 = $ring_menu_text[4] s5 = $ring_menu_text[5] s6 = $ring_menu_text[6] @commands = [ s1, s2, s3, s4, s5, s6 ] @item_max = 6 @index = 0 @items = [ ICON_ITEM, ICON_SKILL, ICON_EQUIP, ICON_STATUS, ICON_SAVE, ICON_EXIT ] @disabled = [ false, false, false, false, false, false ] @cx = center_x - 16 @cy = center_y - 16 setup_move_start refresh end #------------------------------------------------------------------------------ # Update #------------------------------------------------------------------------------ def update super refresh end #------------------------------------------------------------------------------ # Refresh #------------------------------------------------------------------------------ def refresh self.contents.clear case @mode when MODE_START refresh_start when MODE_WAIT refresh_wait when MODE_MOVER refresh_move(1) when MODE_MOVEL refresh_move(0) end rect = Rect.new(@cx - 272, @cy + 24, self.contents.width-32, 32) self.contents.draw_text(rect, @commands[@index],1) end #------------------------------------------------------------------------------ # Refresh Start #------------------------------------------------------------------------------ def refresh_start d1 = 2.0 * Math::PI / @item_max d2 = 1.0 * Math::PI / STARTUP_FRAMES r = RING_R - 1.0 * RING_R * @steps / STARTUP_FRAMES for i in 0...@item_max j = i - @index d = d1 * j + d2 * @steps x = @cx + ( r * Math.sin( d ) ).to_i y = @cy - ( r * Math.cos( d ) ).to_i draw_item(x, y, i) end @steps -= 1 if @steps < 1 @mode = MODE_WAIT end end #------------------------------------------------------------------------------ # Refresh Wait #------------------------------------------------------------------------------ def refresh_wait d = 2.0 * Math::PI / @item_max for i in 0...@item_max j = i - @index x = @cx + ( RING_R * Math.sin( d * j ) ).to_i y = @cy - ( RING_R * Math.cos( d * j ) ).to_i draw_item(x, y, i) end end #------------------------------------------------------------------------------ # Refresh Move #------------------------------------------------------------------------------ def refresh_move( mode ) d1 = 2.0 * Math::PI / @item_max d2 = d1 / MOVING_FRAMES d2 *= -1 if mode != 0 for i in 0...@item_max j = i - @index d = d1 * j + d2 * @steps x = @cx + ( RING_R * Math.sin( d ) ).to_i y = @cy - ( RING_R * Math.cos( d ) ).to_i draw_item(x, y, i) end @steps -= 1 if @steps < 1 @mode = MODE_WAIT end end #------------------------------------------------------------------------------ # Draw Item #------------------------------------------------------------------------------ def draw_item(x, y, i) rect = Rect.new(0, 0, @items[i].width, @items[i].height) if @index == i self.contents.blt( x, y, @items[i], rect ) if @disabled[@index] self.contents.blt( x, y, ICON_DISABLE, rect ) end else self.contents.blt( x, y, @items[i], rect, 128 ) if @disabled[@index] self.contents.blt( x, y, ICON_DISABLE, rect, 128 ) end end end #------------------------------------------------------------------------------ # Disable Item #------------------------------------------------------------------------------ def disable_item(index) @disabled[index] = true end #------------------------------------------------------------------------------ # Setup Move Start #------------------------------------------------------------------------------ def setup_move_start @mode = MODE_START @steps = STARTUP_FRAMES if SE_STARTUP != nil and SE_STARTUP != "" Audio.se_play("Audio/SE/" + SE_STARTUP, 80, 100) end end #------------------------------------------------------------------------------ # Setup Move Move #------------------------------------------------------------------------------ def setup_move_move(mode) if mode == MODE_MOVER @index -= 1 @index = @items.size - 1 if @index < 0 elsif mode == MODE_MOVEL @index += 1 @index = 0 if @index >= @items.size else return end @mode = mode @steps = MOVING_FRAMES end #------------------------------------------------------------------------------ # Animation #------------------------------------------------------------------------------ def animation? return @mode != MODE_WAIT end end #------------------------------------------------------------------------------ # Window_RingMenuStatus #------------------------------------------------------------------------------ class Window_RingMenuStatus < Window_Selectable #------------------------------------------------------------------------------ # Initialize #------------------------------------------------------------------------------ def initialize super(204, 64, 232, 352) self.contents = Bitmap.new(width - 32, height - 32) self.contents.font.size = $chara_select[5] refresh self.active = false self.index = -1 end #------------------------------------------------------------------------------ # Refresh #------------------------------------------------------------------------------ def refresh self.contents.clear self.windowskin = RPG::Cache.windowskin($chara_select[4]) self.contents.font.name = $chara_select[0] self.contents.font.color = text_color($chara_select[1]) @item_max = $game_party.actors.size for i in 0...$game_party.actors.size x = 80 y = 80 * i actor = $game_party.actors[i] draw_actor_graphic(actor, x - 60, y + 65) draw_actor_name(actor, x, y + 2) draw_actor_hp(actor, x - 40, y + 26) draw_actor_sp(actor, x - 40, y + 50) end end #------------------------------------------------------------------------------ # Update Cursor Rect #------------------------------------------------------------------------------ def update_cursor_rect if @index < 0 self.cursor_rect.empty else self.cursor_rect.set(0, @index * 80, self.width - 32, 80) end end end #------------------------------------------------------------------------------ # Game_Map #------------------------------------------------------------------------------ class Game_Map #------------------------------------------------------------------------------ # Name #------------------------------------------------------------------------------ def name $map_infos[@map_id] end end #------------------------------------------------------------------------------ # Scene_Title #------------------------------------------------------------------------------ class Scene_Title $map_infos = load_data("Data/MapInfos.rxdata") for key in $map_infos.keys $map_infos[key] = $map_infos[key].name end end #------------------------------------------------------------------------------ # Window_Location #------------------------------------------------------------------------------ class Window_Location < Window_Base #------------------------------------------------------------------------------ # Initialize #------------------------------------------------------------------------------ def initialize super(0, 0, $window_size[0], $window_size[1]) self.contents = Bitmap.new(width - 32, height - 32) self.contents.font.name = $location_text[0] self.contents.font.size = $location_text[1] refresh end #------------------------------------------------------------------------------ # Refresh #------------------------------------------------------------------------------ def refresh self.contents.clear self.windowskin = RPG::Cache.windowskin($window_location_skin) self.contents.font.color = text_color($location_text[2]) self.contents.draw_text(4, 0, 120, 32, $location_text[3]) self.contents.font.color = text_color($location_text[4]) self.contents.draw_text(4, 32, 120, 32, $game_map.name, 2) end end #------------------------------------------------------------------------------ # Window_MenuGold #------------------------------------------------------------------------------ class Window_MenuGold < Window_Base #------------------------------------------------------------------------------ # Initialize #------------------------------------------------------------------------------ def initialize super(0, 0, $window_size[0], $window_size[1]) self.contents = Bitmap.new(width - 32, height - 32) self.contents.font.name = $gold_text[0] self.contents.font.size = $gold_text[1] refresh end #------------------------------------------------------------------------------ # Refresh #------------------------------------------------------------------------------ def refresh self.contents.clear self.windowskin = RPG::Cache.windowskin($window_gold_skin) self.contents.font.color = text_color($gold_text[2]) self.contents.draw_text(4, 0, 120, 32, $gold_text[4]) self.contents.font.color = text_color($gold_text[3]) self.contents.draw_text(4, 32, 120, 32, $game_party.gold.to_s, 2) end end Partecipante al Rpg2s.net Game Contest 2007/2008http://www.rpg2s.net/contest/GameContest0708/userbar_r2sgc.gifGioco in Sviluppo: Hokuto no Ken RPG Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now