#=============================================================== # ● [XP/VX/VXA] ◦ Database Limit Breaker III ◦ □ # * Break limit of data number in database files * #-------------------------------------------------------------- # ◦ by Woratana [[email][email protected][/email]] # ◦ Thaiware RPG Maker Community # ◦ Originally released on: 22/02/2008 # ◦ Ported to VXAce by Mr. Bubble on: 30/12/2011 #-------------------------------------------------------------- #========================================== # ** 如何使用 #------------------------------------------ # 0. 打开你的工程 (建议先备份数据库文件,以防上限过低丢失数据) # 1. 将这个脚本插入到 Main 之上 # 2. 设定 DLB_USE_IT = true # 3. 设定你要破限的数据 # 4. 保存,调试运行你的游戏 # 5. 如果破限完成,游戏将立即关闭 # 6. 关闭你的工程(不要保存!) # 7. 重新打开你的工程 # 8. 设定 DLB_USE_IT = false # 10. 对于 XP 或 VX ,建议保留这个脚本。如果你使用 VX Ace ,你无需将这个脚本保留在脚本编辑器中。 #========================================== #=========================================================================== # [ENG] 使用结束后的处理(将DLB_USE_IT设为false,并且之后不要更改设定) #+========================================================================== DLB_USE_IT = true # (true / false) if DLB_USE_IT # 不要删除这一行 DLB_DATA = { #====================================================== # 普通数据库文件的限制为999 # 变量和开关限值为5000 # 此脚本将允许您更改超过其限制的号码~ #=============================== # ** 如何设置 ** #------------------------------- # 让某个项目的可设置数量突破上限。 # 格式: 'Database_File' => (number), # 例如 'switch' => 5500, # (* 不要忘记在每行后面写“,”!) #============================================== # ** [List] 设定部分 ** #---------------------------------------------- # 'switch' 表示游戏开关数量破限 # 'variable' 表示游戏变量数量破限 # 'actor' 表示角色数量破限 # 'class' 表示职业数量破限 # 'skill' 表示技能数量破限 # 'item' 表示物品数量破限 # 'weapon' 表示武器数量破限 # 'armor' 表示护甲数量破限 # 'enemy' 表示敌人数量破限 # 'troop' 表示敌群数量破限 # 'state' 表示状态数量破限 # 'tileset' 表示图块组数量破限 (只有 RMXP/RMVXA 可用) # 'animation' 表示动画数量破限 # 'commonev' 表示公共事件数量破限 #====================================================== # * 开始设定破限内容 #====================================================== # 敌群数量上限变为2000 'troop' => 2000, #======================================================== # * [END] 设定结束 #======================================================== '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)