기타

데이터베이스 자체 제한 해체 스크립트 [Database Limit Breaker]

by 할렘 posted Feb 07, 2009
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄




















#=============================================================== # ● [VX] ◦ Database Limit Breaker ◦ □ # * Break limit of data number in database files * #-------------------------------------------------------------- # ◦ by Woratana [woratana@hotmail.com] # ◦ Thaiware RPG Maker Community # ◦ Released on: 22/05/2008 # ◦ Version: 1.0 #-------------------------------------------------------------- #========================================== # ** HOW TO USE #------------------------------------------ # 0. Open your project (Recommend to backup your database files first~) # 1. Paste this script in above 'Main'. # 2. Set DLB_USE_IT = true # 3. Setup database files you want to change, in DLB_DATA # 4. Run your game... # 5. When it finished, game will close itself # 6. Close your project *without save* # 7. Open your project again. Done! # 8. You can either remove this script, or set DLB_USE_IT = false #========================================== #=========================================================================== # 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 = true # (true / false) DLB_DATA = { #====================================================== # Database file you want to change their number: # * Limit of normal database files are 999 # * Limit of variables and switches are 5000 # This script will allow you to change their number over their limit~ #=============================== # ** How to setup ** #------------------------------- # Add 1 line below per 1 database file you want to change. # Structure: 'Database_File' => (number), # e.g. 'switch' => 5500, # (* Don't forget to put , behind the line!) #============================================== # ** [List] Database_File #---------------------------------------------- # 'switch' for Game Switches # '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 # 'animation' for Animations # 'commonev' for Common Events #====================================================== # * START to setup from here! #====================================================== 'actor' => 1011, 'class' => 1011, 'skill' => 1011, 'item' => 1011, 'weapon' => 1011, 'troop' => 1011, 'enemy' => 1011, 'state' => 1011, 'armor' => 1001, 'animation' => 1011, 'commonev' => 1011, 'switch' => 6000, 'variable' => 6000, #======================================================== # * [END] Database Limit Breaker Setup Part #======================================================== 'end' => nil # End } if DLB_USE_IT 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 '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 + '.rvdata') 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 + '.rvdata') end end p 'Finished in ' + (Time.now - start_time).to_s + ' sec' exit end