#=============================================================== # ● [XP/VX/VXA] ◦ Database Limit Breaker III ◦ □ # * 打破数据库文件中数据数量的限制 * #-------------------------------------------------------------- # ◦ by Woratana [[email]woratana@hotmail.com[/email]] # ◦ Thaiware RPG Maker Community # ◦ Originally released on: 22/02/2008 # ◦ Ported to VXAce by Mr. Bubble on: 30/12/2011 #-------------------------------------------------------------- #========================================== # ** 用法 #------------------------------------------ # [English] # 0. 打开项目,打开脚本库(建议先备份数据库文件~) # 1. 将此脚本插入到“Main”上方. # 2. 设置DLB_USE_IT=true # 3. 在DLB_DATA中设置要更改的数据库文件 # 4. 运行你的游戏... # 5. 完成第3步后,游戏将会闪退 # 6. *不要保存*,关闭项目 # 7. 再次打开你的项目。搞定! # 8. 设置DLB_USE_IT=false。将此脚本留在脚本编辑器(XP/VX)中. # 如果您使用的是VX Ace,则无需将此脚本留在脚本编辑器中. #========================================== #=========================================================================== # [ENG] Use limit breaker? (set this to false after you run this script, # and haven't change anything in DLB_DATA after that) # or REMOVE this script when finished~ #+========================================================================== DLB_USE_IT = false # (true / false) *完成步骤7后需要修改为false,或删除此脚 # 本(VX Ace),否则游戏将会一直闪退 if DLB_USE_IT # 不要编辑这一行 DLB_DATA = { #====================================================== # 要更改其数量上限的数据库文件~ # * 正常数据库文件的限制为999 # * 变量和开关的限制为5000 # 此脚本将允许您将其数量更改为超出其限制~ #=============================== # ** How to setup ** #------------------------------- # 每要更改一个数据库文件,在下面添加一行. #结构:“数据库_文件”=>(编号), # e.g. 'switch' => 5500, # * 别忘了在后面加上 ,(逗号) !* #============================================== # ** [List] 数据库列表 ** #---------------------------------------------- # 'switch' for 游戏开关 # 'variable' for Game Variables # 'actor' for Actors # 'class' for Classes # 'skill' for Skills # 'item' for Items # 'weapon' for Weapons # 'armor' for Armors # 'enemy' for Enemies # 'troop' for Troops # 'state' for States # 'tileset' for Tilesets (RMXP/RMVXA only) # 'animation' for Animations # 'commonev' for Common Events #====================================================== # * 此处输入需要更改的数据库! #====================================================== 'skill' => 1055, #======================================================== # * [END] Database Limit Breaker Setup Part #======================================================== 'end' => nil # Close hash } if defined?(Audio.setup_midi) # VXA dformat = '.rvdata2' elsif defined?(Graphics.wait) # VX dformat = '.rvdata' else # XP dformat = '.rxdata' end start_time = Time.now DLB_DATA.each do |k,v| dvar = nil case k when 'switch'; dname = 'System'; dvar = 'switches'; dnewdata = '' when 'variable'; dname = 'System'; dvar = 'variables'; dnewdata = '' when 'actor'; dname = 'Actors'; dnewdata = 'RPG::Actor.new' when 'class'; dname = 'Classes'; dnewdata = 'RPG::Class.new' when 'skill'; dname = 'Skills'; dnewdata = 'RPG::Skill.new' when 'item'; dname = 'Items'; dnewdata = 'RPG::Item.new' when 'weapon'; dname = 'Weapons'; dnewdata = 'RPG::Weapon.new' when 'armor'; dname = 'Armors'; dnewdata = 'RPG::Armor.new' when 'enemy'; dname = 'Enemies'; dnewdata = 'RPG::Enemy.new' when 'troop'; dname = 'Troops'; dnewdata = 'RPG::Troop.new' when 'state'; dname = 'States'; dnewdata = 'RPG::State.new' when 'animation'; dname = 'Animations'; dnewdata = 'RPG::Animation.new' when 'tileset'; dname = 'Tilesets'; dnewdata = 'RPG::Tileset.new' when 'commonev'; dname = 'CommonEvents'; dnewdata = 'RPG::CommonEvent.new' when 'end'; next else; p 'unknown DLB_DATA!', 'Check carefully what you typed in DLB_DATA' end base_data = load_data('Data/' + dname + dformat) data = dvar.nil? ? base_data : eval('base_data.' + dvar.to_s) unless data.size > v and v - (data.size - 1) <= 0 add_data = Array.new(v - (data.size - 1)) { eval(dnewdata) } data.push *add_data save_data(base_data, 'Data/' + dname + dformat) end end p 'Finished in ' + (Time.now - start_time).to_s + ' sec' exit end # checks for VXAce since these methods do not need to be overwritten # in RGSS3. unless defined?(Audio.setup_midi) class Game_Switches #-------------------------------------------------------------------------- # * Set Switch # Make the system be able to set switch ID more than 5000 #-------------------------------------------------------------------------- def []=(switch_id, value) @data[switch_id] = value end end class Game_Variables #-------------------------------------------------------------------------- # * Set Variable # Make the system be able to set switch ID more than 5000 #-------------------------------------------------------------------------- def []=(variable_id, value) @data[variable_id] = value end end end # unless defined?(Audio.setup_midi)