Branchlaw 0 Report post Posted December 9, 2009 I'd like to request a CG gallery. It would look like this: If possible: You should be able to scroll between pages The [Text Goes Here] should change for each page The portrait should also change per page Each picture should be separately unlockable (switches?) Displays a default [Locked] image for locked pictures. You should be able to select each picture to display a larger version of the image When viewing a picture, possibly scroll through them using the "shoulder" keys. Thank you in advance. Share this post Link to post Share on other sites
Agckuu_Coceg 5 Report post Posted December 10, 2009 CG Gallery script for a long time has not been seen on the forums. That was all I could dig up on your request. Custom Commands script #============================================================================== # ** Custom Commands #------------------------------------------------------------------------------ # © Dargor, 2008-2009 # 03/03/09 # Version 1.15 #------------------------------------------------------------------------------ # VERSION HISTORY: # - 1.0 (09/03/08), Initial release # - 1.1 (15/03/08), Added support for Party Commands # - 1.2 (15/03/08), Added support for Actor Commands # - 1.2.1 (15/03/08), Bug fixed with Selectable Window's contents # - 1.3 (24/03/08), Added the 'Selection' method to Window_Selectable # - 1.4 (08/05/08), Works with the 'Selection' method # - 1.5 (08/06/08), Added support for command substitution based # on an actor's class ID # - 1.6 (13/06/08), Added support for Title Screen Commands # - 1.7 (13/06/08), Bug fixed when disabling default commands # - 1.7.1 (16/06/08), Increased compatibility # - 1.8 (18/06/08), Menu Index has been corrected when comming back of # default scenes (Item/Skill/Equip/Status/Save/End). # - 1.9 (18/06/08), Added support for enabling/disabling commands. # - 1.9.1 (05/09/08), Minor revisions # - 1.10 (07/09/08), Added support for command icons # - 1.11 (16/02/09), Added support for message codes in command names # - 1.12 (16/02/09), Added a "Rainbow" command feature # - 1.13 (16/02/09), Added support for message codes in item names # - 1.14 (23/02/09), Fixed a bug when drawing command names # - 1.15 (03/03/09), Fixed a bug with font characters width #------------------------------------------------------------------------------ # INSTRUCTIONS: # 1) Place this script above all custom scripts and below all # default scripts # 2) To change the default menu commands, use: # - $game_system.menu_commands = [string1, string2...] # or # - $game_system.add_menu_command(index, command) # or # - $game_system.remove_menu_command(command) # 3) To change the default party commands, use: # - $game_system.party_commands = [string1, string2...] # or # - $game_system.add_party_command(index, command) # or # - $game_system.remove_party_command(command) # 4) To change an actor's battle commands, use: # - $game_actors[id].commands = [string1, string2...] # or # - $game_actors[id].add_command(index, command) # or # - $game_actors[id].remove_command(command) #------------------------------------------------------------------------------ # NOTES: # - When using the following methods: # > $game_system.add_menu_command(index, command) # > $game_system.remove_menu_command(command) # > $game_system.add_party_command(index, command) # > $game_system.remove_party_command(command) # > $game_actors[id].add_command(index, command) # > $game_actors[id].remove_command(command) # 'command' can be a String or an Array # - This script overides the following methods: # > Window_PartyCommand # <> initialize # > Window_ActorCommand # <> initialize # <> setup # > Scene_Menu # <> create_command_window # <> update_command_selection # <> update_actor_selection # > Scene_Battle # <> update_party_command_selection # <> update_actor_command_selection # This script will be incompatible with any other scripts # modifying these methodsunless they are based on the # Custom Commands script methods. # - Some message codes are available for command and item names: # > Color Change: \C[x] # > Variable: \V[x] # > Actor Name: \N[x] #============================================================================== module Custom_Commands # Temporary System Data $data_system = load_data('Data/System.rvdata') # Maximum number of commands visible at the same time in the # command windows Menu_Item_Max = 7 Party_Item_Max = 4 Actor_Item_Max = 4 Title_Item_Max = 3 # Icon index based on command names Icons = { # title screen Vocab::new_game => 141, Vocab::continue => 133, Vocab::shutdown => 112, # main menu Vocab::item => 144, Vocab::skill => 119, Vocab::equip => 41, Vocab::status => 149, Vocab::save => 159, Vocab::game_end => 112, # battle Vocab::attack => 2, Vocab::guard => 52, Vocab::fight => 2, Vocab::escape => 48, # game end Vocab::to_title => 141, Vocab::cancel => 143 } # Commands that will flash in rainbow colors Rainbow_Commands = [] # Colors for "Rainbow" commands (color index from windowskin) Rainbow_Colors = [1,2,5,10,17] # Delay between "Rainbow" commands update Rainbow_Frame_Skip = 4 end #============================================================================== # ** RPG::Class #------------------------------------------------------------------------------ # This class handles actors classes. #============================================================================== class RPG::Class #-------------------------------------------------------------------------- # * Command Name # Returns a substitute to command_name. # Returns the original command name if no substitues are found. # command_name : command name #-------------------------------------------------------------------------- def command_name(command) # Commands Substitution Array @commands = [] # SYNTAX: @commands[class_ID] = { original_command => substitute } @commands[1] = { Vocab::attack => 'Strike', Vocab::item => 'Things', } @commands[2] = { Vocab::guard => 'Protect', Vocab::item => 'Stuff', } # Get command substitute if @commands[@id].nil? or @commands[@id][command].nil? return command end return @commands[@id][command] end end #============================================================================== # ** Game_System #------------------------------------------------------------------------------ # This class handles system-related data. Also manages vehicles and BGM, etc. # The instance of this class is referenced by $game_system. #============================================================================== class Game_System #-------------------------------------------------------------------------- # * Public Instance Variables #-------------------------------------------------------------------------- attr_accessor :menu_commands attr_accessor :party_commands attr_accessor :title_commands attr_accessor :disabled_menu_commands attr_accessor :disabled_party_commands attr_accessor :disabled_title_commands #-------------------------------------------------------------------------- # * Alias Listing #-------------------------------------------------------------------------- alias dargor_vx_cmc_system_initialize initialize #-------------------------------------------------------------------------- # * Object Initialization #-------------------------------------------------------------------------- def initialize dargor_vx_cmc_system_initialize @disabled_menu_commands = {} @disabled_party_commands = {} @disabled_title_commands = {} s1 = Vocab::item s2 = Vocab::skill s3 = Vocab::equip s4 = Vocab::status s5 = Vocab::save s6 = Vocab::game_end @menu_commands = [] add_menu_command(0,[s1, s2, s3, s4, s5, s6]) s1 = Vocab::fight s2 = Vocab::escape @party_commands = [] add_party_command(0,[s1, s2]) s1 = Vocab::new_game s2 = Vocab::continue s3 = Vocab::shutdown @title_commands = [] add_title_command(0,[s1, s2, s3]) end #-------------------------------------------------------------------------- # * Add Menu Command #-------------------------------------------------------------------------- def add_menu_command(index, command) return if @menu_commands.include?(command) if command.is_a?(String) @menu_commands.insert(index, command) @disabled_menu_commands[command] = false elsif command.is_a?(Array) for i in 0...command.size @menu_commands.insert(index+i, command[i]) @disabled_menu_commands[command[i]] = false end end end #-------------------------------------------------------------------------- # * Add Party Command #-------------------------------------------------------------------------- def add_party_command(index, command) return if @party_commands.include?(command) if command.is_a?(String) @party_commands.insert(index, command) @disabled_party_commands[command] = false elsif command.is_a?(Array) for i in 0...command.size @party_commands.insert(index+i, command[i]) @disabled_party_commands[command[i]] = false end end end #-------------------------------------------------------------------------- # * Add Title Command #-------------------------------------------------------------------------- def add_title_command(index, command) return if @title_commands.include?(command) if command.is_a?(String) @title_commands.insert(index, command) @disabled_party_commands[command] = false elsif command.is_a?(Array) for i in 0...command.size @title_commands.insert(index+i, command[i]) @disabled_title_commands[command[i]] = false end end end #-------------------------------------------------------------------------- # * Remove Menu Command #-------------------------------------------------------------------------- def remove_menu_command(command) if command.is_a?(String) @menu_commands.delete(command) elsif command.is_a?(Array) for i in command @menu_commands.delete(i) end end end #-------------------------------------------------------------------------- # * Remove Party Command #-------------------------------------------------------------------------- def remove_party_command(command) if command.is_a?(String) @party_commands.delete(command) elsif command.is_a?(Array) for i in command @party_commands.delete(i) end end end #-------------------------------------------------------------------------- # * Remove Title Command #-------------------------------------------------------------------------- def remove_title_command(command) if command.is_a?(String) @title_commands.delete(command) elsif command.is_a?(Array) for i in command @party_commands.delete(i) end end end #-------------------------------------------------------------------------- # * Add Menu Command #-------------------------------------------------------------------------- def enable_menu_command(command) @disabled_menu_commands[command] = false end #-------------------------------------------------------------------------- # * Add Party Command #-------------------------------------------------------------------------- def enable_party_command(command) @disabled_party_commands[command] = false end #-------------------------------------------------------------------------- # * Add Title Command #-------------------------------------------------------------------------- def enable_title_command(command) @disabled_title_commands[command] = false end #-------------------------------------------------------------------------- # * Add Menu Command #-------------------------------------------------------------------------- def disable_menu_command(command) @disabled_menu_commands[command] = true end #-------------------------------------------------------------------------- # * Add Party Command #-------------------------------------------------------------------------- def disable_party_command(command) @disabled_party_commands[command] = true end #-------------------------------------------------------------------------- # * Add Title Command #-------------------------------------------------------------------------- def disable_title_command(command) @disabled_title_commands[command] = true end #-------------------------------------------------------------------------- # * Add Menu Command #-------------------------------------------------------------------------- def menu_command_disabled?(command) return @disabled_menu_commands[command] end #-------------------------------------------------------------------------- # * Add Party Command #-------------------------------------------------------------------------- def party_command_disabled?(command) return @disabled_party_commands[command] end #-------------------------------------------------------------------------- # * Add Title Command #-------------------------------------------------------------------------- def title_command_disabled?(command) return @disabled_title_commands[command] end end #============================================================================== # ** Game_Interpreter #------------------------------------------------------------------------------ # An interpreter for executing event commands. This class is used within the # Game_Map, Game_Troop, and Game_Event classes. #============================================================================== class Game_Interpreter #-------------------------------------------------------------------------- # * Alias Listing #-------------------------------------------------------------------------- alias dargor_vc_cmc_interpreter_command_134 command_134 alias dargor_vc_cmc_interpreter_command_301 command_301 #-------------------------------------------------------------------------- # * Change Save Access #-------------------------------------------------------------------------- def command_134 if @params[0] == 0 $game_system.disable_party_command(Vocab::save) else $game_system.enable_party_command(Vocab::save) end # The usual dargor_vc_cmc_interpreter_command_134 end #-------------------------------------------------------------------------- # * Battle Processing #-------------------------------------------------------------------------- def command_301 return true if $game_temp.in_battle if @params[2] $game_system.enable_party_command(Vocab::escape) else $game_system.disable_party_command(Vocab::escape) end # The usual dargor_vc_cmc_interpreter_command_301 end end #============================================================================== # ** Game_Actor #------------------------------------------------------------------------------ # This class handles actors. It's used within the Game_Actors class # ($game_actors) and referenced by the Game_Party class ($game_party). #============================================================================== class Game_Actor < Game_Battler #-------------------------------------------------------------------------- # * Public Instance Variables #-------------------------------------------------------------------------- attr_reader :commands # battle commands #-------------------------------------------------------------------------- # * Alias Listing #-------------------------------------------------------------------------- alias dargor_vx_battle_commands_actor_setup setup #-------------------------------------------------------------------------- # * Setup # actor_id : actor ID #-------------------------------------------------------------------------- def setup(actor_id) dargor_vx_battle_commands_actor_setup(actor_id) actor = $data_actors[actor_id] s1 = self.class.command_name(Vocab::attack) s2 = self.class.command_name(Vocab::skill) s3 = self.class.command_name(Vocab::guard) s4 = self.class.command_name(Vocab::item) if self.class.skill_name_valid # Skill command name is valid? s2 = self.class.skill_name # Replace command name end @commands = [s1, s2, s3, s4, 'Black'] end #-------------------------------------------------------------------------- # * Add Command #-------------------------------------------------------------------------- def add_command(index, command) return if @commands.include?(command) if command.is_a?(String) @commands.insert(index, command) elsif command.is_a?(Array) for i in 0...command.size @commands.insert(index+i, command[i]) end end end #-------------------------------------------------------------------------- # * Remove Command #-------------------------------------------------------------------------- def remove_command(command) if command.is_a?(String) @commands.delete(command) elsif command.is_a?(Array) for i in command @commands.delete(i) end end end end #============================================================================== # ** Window_Base #------------------------------------------------------------------------------ # This is a superclass of all windows in the game. #============================================================================== class Window_Base < Window #-------------------------------------------------------------------------- # * Draw Item Name # item : Item (skill, weapon, armor are also possible) # x : draw spot x-coordinate # y : draw spot y-coordinate # enabled : Enabled flag. When false, draw semi-transparently. #-------------------------------------------------------------------------- def draw_item_name(item, x, y, enabled = true) if item != nil draw_icon(item.icon_index, x, y, enabled) self.contents.font.color = normal_color temp_name = item.name.dup temp_name.gsub!(/\\V\[([0-9]+)\]/i) { $game_variables[$1.to_i] } temp_name.gsub!(/\\N\[([0-9]+)\]/i) { $game_actors[$1.to_i].name } temp_name.gsub!(/\\C\[([0-9]+)\]/i) { "\x01[#{$1}]" } cx = 0 loop do c = temp_name.slice!(/./m) # Get next text character case c when nil break when "\x01" # \C[n] (text character color change) temp_name.sub!(/\[([0-9]+)\]/, "") self.contents.font.color = text_color($1.to_i) next else cw = contents.text_size(c).width ch = contents.text_size(c).height self.contents.font.color.alpha = enabled ? 255 : 128 self.contents.draw_text(x + cx + 24, y + 2, cw, ch, c) cx += cw end end self.contents.font.color = normal_color end end end #============================================================================== # ** Window_Selectable #------------------------------------------------------------------------------ # This window contains cursor movement and scroll functions. #============================================================================== class Window_Selectable < Window_Base #-------------------------------------------------------------------------- # * Selection #-------------------------------------------------------------------------- def selection return @commands[self.index] end end #============================================================================== # ** Window_Command #------------------------------------------------------------------------------ # This window deals with general command choices. #============================================================================== class Window_Command < Window_Selectable #-------------------------------------------------------------------------- # * Alias Listing #-------------------------------------------------------------------------- alias dargor_vx_cmc_window_command_draw_item draw_item alias dargor_vx_cmc_window_command_update update #-------------------------------------------------------------------------- # * Draw Item # index : item number # enabled : enabled flag. When false, draw semi-transparently. #-------------------------------------------------------------------------- def draw_item(index, enabled = true) return if index.nil? return if @commands[index].nil? rect = item_rect(index) rect.x += 4 icon_index = Custom_Commands::Icons[@commands[index]] rect.x += 20 unless icon_index.nil? rect.width -= 8 self.contents.clear_rect(rect) self.contents.font.color = normal_color self.contents.font.color.alpha = enabled ? 255 : 128 temp_command = @commands[index].dup temp_command.gsub!(/\\V\[([0-9]+)\]/i) { $game_variables[$1.to_i] } temp_command.gsub!(/\\N\[([0-9]+)\]/i) { $game_actors[$1.to_i].name } temp_command.gsub!(/\\C\[([0-9]+)\]/i) { "\x01[#{$1}]" } cx = 0 loop do c = temp_command.slice!(/./m) # Get next text character case c when nil break when "\x01" # \C[n] (text character color change) temp_command.sub!(/\[([0-9]+)\]/, "") self.contents.font.color = text_color($1.to_i) next else if Custom_Commands::Rainbow_Commands.include?(@commands[index]) color = Custom_Commands::Rainbow_Colors[rand(Custom_Commands::Rainbow_Colors.size)] self.contents.font.color = text_color(color) end cw = contents.text_size(c).width ch = contents.text_size(c).height self.contents.draw_text(rect.x + cx, rect.y, cw, ch, c) cx += cw end end draw_icon(icon_index,0,rect.y, enabled) unless icon_index.nil? end #-------------------------------------------------------------------------- # * Frame Update #-------------------------------------------------------------------------- def update # The Usual dargor_vx_cmc_window_command_update # Update "Rainbow" commands for command in @commands if Custom_Commands::Rainbow_Commands.include?(command) index = @commands.index(command) if Graphics.frame_count % Custom_Commands::Rainbow_Frame_Skip == 0 draw_item(index) end end end end end #============================================================================== # ** Window_PartyCommand #------------------------------------------------------------------------------ # This window is used to select whether to fight or escape on the battle # screen. #============================================================================== class Window_PartyCommand < Window_Command #-------------------------------------------------------------------------- # * Object Initialization #-------------------------------------------------------------------------- def initialize @commands = $game_system.party_commands super(128, @commands, 1, 0) self.height = 32 + Custom_Commands::Party_Item_Max * WLH for i in 0...@commands.size draw_item(i, !$game_system.party_command_disabled?(@commands[i])) end self.active = false end end #============================================================================== # ** Window_ActorCommand #------------------------------------------------------------------------------ # This window is used to select actor commands, such as "Attack" or "Skill". #============================================================================== class Window_ActorCommand < Window_Command #-------------------------------------------------------------------------- # * Object Initialization #-------------------------------------------------------------------------- def initialize super(128, [], 1, 4) self.active = false end #-------------------------------------------------------------------------- # * Setup # actor : actor #-------------------------------------------------------------------------- def setup(actor) @commands = actor.commands @item_max = @commands.size height = 32 + Custom_Commands::Actor_Item_Max * WLH self.contents = Bitmap.new(width - 32, (@item_max * WLH)) refresh self.index = 0 end end #============================================================================== # ** Scene_Menu #------------------------------------------------------------------------------ # This class performs the menu screen processing. #============================================================================== class Scene_Menu < Scene_Base #-------------------------------------------------------------------------- # * Create Command Window #-------------------------------------------------------------------------- def create_command_window @command_window = Window_Command.new(160, $game_system.menu_commands) @command_window.index = @menu_index @command_window.height = 8 + Custom_Commands::Menu_Item_Max * 24 if $game_party.members.size == 0 # If number of party members is 0 index = $game_system.menu_commands.index(Vocab::item) @command_window.draw_item(index, false) # Disable item index = $game_system.menu_commands.index(Vocab::skill) @command_window.draw_item(index, false) # Disable skill index = $game_system.menu_commands.index(Vocab::equip) @command_window.draw_item(index, false) # Disable equipment index = $game_system.menu_commands.index(Vocab::status) @command_window.draw_item(index, false) # Disable status end if $game_system.save_disabled # If save is forbidden index = $game_system.menu_commands.index(Vocab::save) @command_window.draw_item(index, false) # Disable save end for command in $game_system.menu_commands index = $game_system.menu_commands.index(command) if $game_system.menu_command_disabled?(command) @command_window.draw_item(index, false) # Disable command end end end #-------------------------------------------------------------------------- # * Update Command Selection #-------------------------------------------------------------------------- def update_command_selection command = @command_window.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 == Vocab::item or command == Vocab::skill or command == Vocab::equip or command == Vocab::status) Sound.play_buzzer return elsif $game_system.save_disabled and command == Vocab::save Sound.play_buzzer return elsif $game_system.menu_command_disabled?(command) Sound.play_buzzer return end Sound.play_decision if !$game_system.menu_command_disabled?(command) case command when Vocab::item $scene = Scene_Item.new when Vocab::skill,Vocab::equip,Vocab::status start_actor_selection when Vocab::save $scene = Scene_File.new(true, false, false) when Vocab::game_end $scene = Scene_End.new end end end #-------------------------------------------------------------------------- # * Update Actor Selection #-------------------------------------------------------------------------- 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.selection when Vocab::skill # skill $scene = Scene_Skill.new(@status_window.index) when Vocab::equip # equipment $scene = Scene_Equip.new(@status_window.index) when Vocab::status # status $scene = Scene_Status.new(@status_window.index) end end end end #============================================================================== # ** Scene_Battle #------------------------------------------------------------------------------ # This class performs battle screen processing. #============================================================================== class Scene_Battle < Scene_Base #-------------------------------------------------------------------------- # * Alias Listing #-------------------------------------------------------------------------- alias dargor_vx_custom_commands_battle_create_info_viewport create_info_viewport #-------------------------------------------------------------------------- # * Create Information Display Viewport #-------------------------------------------------------------------------- def create_info_viewport dargor_vx_custom_commands_battle_create_info_viewport for command in $game_system.party_commands index = $game_system.party_commands.index(command) if $game_system.party_command_disabled?(command) @party_command_window.draw_item(index, false) # Disable command end end end #-------------------------------------------------------------------------- # * Update Party Command Selection #-------------------------------------------------------------------------- def update_party_command_selection if Input.trigger?(Input::C) case @party_command_window.selection when Vocab::fight # Fight Sound.play_decision @status_window.index = @actor_index = -1 next_actor when Vocab::escape # Escape if $game_troop.can_escape == false Sound.play_buzzer return end Sound.play_decision process_escape end end end #-------------------------------------------------------------------------- # * Update Actor Command Selection #-------------------------------------------------------------------------- def update_actor_command_selection skill = Vocab::skill if @active_battler.class.skill_name_valid skill = @active_battler.class.skill_name end if Input.trigger?(Input::B) Sound.play_cancel prior_actor elsif Input.trigger?(Input::C) case @actor_command_window.selection when @active_battler.class.command_name(Vocab::attack) # Attack Sound.play_decision @active_battler.action.set_attack start_target_enemy_selection when skill # Skill Sound.play_decision start_skill_selection when @active_battler.class.command_name(Vocab::guard) # Guard Sound.play_decision @active_battler.action.set_guard next_actor when @active_battler.class.command_name(Vocab::item) # Item Sound.play_decision start_item_selection end end end end #============================================================================== # ** Scene_Title #------------------------------------------------------------------------------ # This class performs the title screen processing. #============================================================================== class Scene_Title < Scene_Base #-------------------------------------------------------------------------- # * Create Command Window #-------------------------------------------------------------------------- alias dargor_vx_cmc_title_check_continue check_continue #-------------------------------------------------------------------------- # * Create Command Window #-------------------------------------------------------------------------- def create_command_window @command_window = Window_Command.new(172, $game_system.title_commands) @command_window.x = (544 - @command_window.width) / 2 @command_window.y = 288 @command_window.height = 32 + Custom_Commands::Title_Item_Max * 24 continue_index = $game_system.title_commands.index(Vocab::continue) if @continue_enabled # If continue is enabled @command_window.index = continue_index # Move cursor over command else # If disabled @command_window.draw_item(continue_index, false) # Make command semi-transparent end for command in $game_system.title_commands index = $game_system.title_commands.index(command) if $game_system.title_command_disabled?(command) @command_window.draw_item(index, false) # Disable command end end @command_window.openness = 0 @command_window.open end #-------------------------------------------------------------------------- # * Determine if Continue is Enabled #-------------------------------------------------------------------------- def check_continue # The usual dargor_vx_cmc_title_check_continue if @continue_enabled $game_system.enable_title_command(Vocab::continue) else $game_system.disable_title_command(Vocab::continue) end end #-------------------------------------------------------------------------- # * Frame Update #-------------------------------------------------------------------------- def update super @command_window.update if Input.trigger?(Input::C) case @command_window.selection when Vocab::new_game #New game command_new_game when Vocab::continue # Continue command_continue when Vocab::shutdown # Shutdown command_shutdown end end end end #============================================================================== # ** Scene_Item #------------------------------------------------------------------------------ # This class performs the item screen processing. #============================================================================== class Scene_Item < Scene_Base #-------------------------------------------------------------------------- # * Return to Original Screen #-------------------------------------------------------------------------- def return_scene index = $game_system.menu_commands.index(Vocab::item) $scene = Scene_Menu.new(index) end end #============================================================================== # ** Scene_Skill #------------------------------------------------------------------------------ # This class performs the skill screen processing. #============================================================================== class Scene_Skill < Scene_Base #-------------------------------------------------------------------------- # * Return to Original Screen #-------------------------------------------------------------------------- def return_scene index = $game_system.menu_commands.index(Vocab::skill) $scene = Scene_Menu.new(index) end end #============================================================================== # ** Scene_Equip #------------------------------------------------------------------------------ # This class performs the equipment screen processing. #============================================================================== class Scene_Equip < Scene_Base #-------------------------------------------------------------------------- # * Return to Original Screen #-------------------------------------------------------------------------- def return_scene index = $game_system.menu_commands.index(Vocab::equip) $scene = Scene_Menu.new(index) end end #============================================================================== # ** Scene_Status #------------------------------------------------------------------------------ # This class performs the status screen processing. #============================================================================== class Scene_Status < Scene_Base #-------------------------------------------------------------------------- # * Return to Original Screen #-------------------------------------------------------------------------- def return_scene index = $game_system.menu_commands.index(Vocab::status) $scene = Scene_Menu.new(index) end end #============================================================================== # ** Scene_File #------------------------------------------------------------------------------ # This class performs the save and load screen processing. #============================================================================== class Scene_File < Scene_Base #-------------------------------------------------------------------------- # * Return to Original Screen #-------------------------------------------------------------------------- alias dargor_vx_custom_commands_return_scene return_scene #-------------------------------------------------------------------------- # * Return to Original Screen #-------------------------------------------------------------------------- def return_scene if !@from_title && !@from_event index = $game_system.menu_commands.index(Vocab::save) $scene = Scene_Menu.new(index) else dargor_vx_custom_commands_return_scene end end end #============================================================================== # ** Scene_End #------------------------------------------------------------------------------ # This class performs game end screen processing. #============================================================================== class Scene_End < Scene_Base #-------------------------------------------------------------------------- # * Return to Original Screen #-------------------------------------------------------------------------- def return_scene index = $game_system.menu_commands.index(Vocab::game_end) $scene = Scene_Menu.new(index) end end Picture Gallery Script You have to place the script ABOVE Main and BELOW the Custom Commands script. #============================================================================== # ** Picture Gallery #------------------------------------------------------------------------------ # Â © Dargor, 2008 # 16/10/08 # Version 1.0 # Requested by iceblue #------------------------------------------------------------------------------ # VERSION HISTORY: # - 1.0 (16/10/08), Initial release #------------------------------------------------------------------------------ # INSTRUCTIONS: # - Paste this above main # - Edit the constants in the Picture Gallery module # - To lock/unlock a picture, use the following lines of code: # $game_system.lock_picture(picture_id) # $game_system.unlock_picture(picture_id) #============================================================================== # Vocabulary Vocab::CommandPictureGallery = 'Gallery' #============================================================================== # ** Picture Gallery Configuration Module #============================================================================== module Picture_Gallery # Galleries # SYNTAX: {'Gallery Name' => [picture_id, picture_id]} Galleries = {'Name 1' => [1,2], 'Name 2' => [3,4]} # Picture Names # SYNTAX: {picture_id => 'name'} Pictures = {1 => 'Cave', 2 => 'Mountain', 3 => 'Sky', 4 => 'Ocean'} # Name of locked pictures Pictures.default = '- Empty -' # Files # SYNTAX: {picture_id => 'filename'} Files = {1 =>'Cave', 2 =>'Mountain', 3 =>'Sea of clouds', 4 =>'Ocean'} # Filename of locked pictures Files.default = 'Empty' # Window XY cpprdinates Window_X = 16 Window_Y = 16 # Add Picture Gallery to the main menu? (Requires the Custom Commands script) Main_Menu = false end #============================================================================== # ** Game_System #------------------------------------------------------------------------------ # This class handles system-related data. Also manages vehicles and BGM, etc. # The instance of this class is referenced by $game_system. #============================================================================== class Game_System #-------------------------------------------------------------------------- # * Public Instance Variables #-------------------------------------------------------------------------- attr_accessor :unlocked_pictures #-------------------------------------------------------------------------- # * Alias Listing #-------------------------------------------------------------------------- alias game_system_picture_gallery_system_initialize initialize #-------------------------------------------------------------------------- # * Object Initialization #-------------------------------------------------------------------------- def initialize game_system_picture_gallery_system_initialize @unlocked_pictures = [] end #-------------------------------------------------------------------------- # * Unlock Picture #-------------------------------------------------------------------------- def unlock_picture(id) @unlocked_pictures << id end #-------------------------------------------------------------------------- # * Lock Picture #-------------------------------------------------------------------------- def lock_picture(id) @unlocked_pictures.delete!(id) end end #============================================================================== # ** Window_Base #------------------------------------------------------------------------------ # This is a superclass of all windows in the game. #============================================================================== class Window_Base < Window #-------------------------------------------------------------------------- # * Remake Window Contents #-------------------------------------------------------------------------- def remake_contents(width, height) self.width = width self.height = height create_contents end end #============================================================================== # ** Window_Command #------------------------------------------------------------------------------ # This window deals with general command choices. #============================================================================== class Window_Command < Window_Selectable #-------------------------------------------------------------------------- # * Set Commands #-------------------------------------------------------------------------- def commands=(commands) row_max = (commands.size + column_max - 1) / column_max remake_contents(width, row_max * WLH + 32) @commands = commands @item_max = commands.size refresh end end #============================================================================== # ** Scene_PictureGallery #------------------------------------------------------------------------------ # This class performs the picture gallery screen processing. #============================================================================== class Scene_PictureGallery < Scene_Base #-------------------------------------------------------------------------- # * Object Initialization #-------------------------------------------------------------------------- def initialize(from_menu = false) @from_menu = from_menu end #-------------------------------------------------------------------------- # * Start Processing #-------------------------------------------------------------------------- def start @picture_sprite = Sprite.new @gallery_window = Window_Command.new(160,Picture_Gallery::Galleries.keys) @gallery_window.x = Picture_Gallery::Window_X @gallery_window.y = Picture_Gallery::Window_Y @gallery_window.height = 56 @gallery_window.active = false @picture_window = Window_Command.new(160, ['','','','']) @picture_window.x = Picture_Gallery::Window_X @picture_window.y = Picture_Gallery::Window_Y + 56 @picture_window.height = (4 * 24) + 32 update_picture_window_contents update_picture_window end #-------------------------------------------------------------------------- # * Terminate Processing #-------------------------------------------------------------------------- def terminate @picture_sprite.dispose @gallery_window.dispose @picture_window.dispose end #-------------------------------------------------------------------------- # * Frame Update #-------------------------------------------------------------------------- def update @gallery_window.update @picture_window.update if @gallery_window.active update_gallery_window return end if @picture_window.active update_picture_window return end end #-------------------------------------------------------------------------- # * Update Gallery Window #-------------------------------------------------------------------------- def update_gallery_window if Input.trigger?(Input::B) Sound.play_cancel if @from_menu index = $game_system.menu_commands.index(Vocab::CommandPictureGallery) $scene = Scene_Menu.new(index) else $scene = Scene_Map.new end return return end update_picture_window_contents if Input.trigger?(Input::C) @gallery_window.active = false @picture_window.active = true end end #-------------------------------------------------------------------------- # * Update Picture Window #-------------------------------------------------------------------------- def update_picture_window if Input.trigger?(Input::B) @gallery_window.active = true @picture_window.active = false return end gallery = Picture_Gallery::Galleries[@gallery_window.selection] picture_id = gallery[@picture_window.index] if $game_system.unlocked_pictures.include?(picture_id) file = Picture_Gallery::Files[picture_id] else file = Picture_Gallery::Files.default end @picture_sprite.bitmap = Cache.picture(file) end #-------------------------------------------------------------------------- # * Update Picture Window Contents #-------------------------------------------------------------------------- def update_picture_window_contents pictures = [] picture_ids = [] for picture_id in Picture_Gallery::Galleries[@gallery_window.selection] picture_ids << picture_id if $game_system.unlocked_pictures.include?(picture_id) pictures << Picture_Gallery::Pictures[picture_id] else pictures << Picture_Gallery::Pictures.default end end return if @picture_window.commands == pictures @picture_window.commands = pictures @picture_window.height = (4 * 24) + 32 for i in 0...picture_ids.size unless $game_system.unlocked_pictures.include?(picture_ids[i]) @picture_window.draw_item(i, false) end end end end #============================================================================== # ** Scene_Menu #------------------------------------------------------------------------------ # This class performs the menu screen processing. #============================================================================== class Scene_Menu < Scene_Base #-------------------------------------------------------------------------- # * Alias Listing #-------------------------------------------------------------------------- alias dargor_vx_cmcpicgal_menu_create_command_window create_command_window alias dargor_vx_cmcpicgal_menu_update_command_selection update_command_selection #-------------------------------------------------------------------------- # * Create Command Window #-------------------------------------------------------------------------- def create_command_window if Picture_Gallery::Main_Menu commands = $game_system.menu_commands index = commands.index(Vocab::save) $game_system.add_menu_command(index, Vocab::CommandPictureGallery) end dargor_vx_cmcpicgal_menu_create_command_window end #-------------------------------------------------------------------------- # * Update Command Selection #-------------------------------------------------------------------------- def update_command_selection dargor_vx_cmcpicgal_menu_update_command_selection if Picture_Gallery::Main_Menu command = @command_window.selection if Input.trigger?(Input::C) case @command_window.selection when Vocab::CommandPictureGallery $scene = Scene_PictureGallery.new(true) end end end end end In a script call: $scene = Scene_PictureGallery.new Share this post Link to post Share on other sites
Branchlaw 0 Report post Posted December 10, 2009 Thank you, but unfortunately that's an RMVX script and I need this for RMXP. Share this post Link to post Share on other sites
Branchlaw 0 Report post Posted December 19, 2009 Well, it's been a week, so I'll bump this I guess. Share this post Link to post Share on other sites