Project1

标题: 这个提升数据库上限的脚本在RMXP中用会有什么问题么?? [打印本页]

作者: CR~    时间: 2014-10-27 21:47
标题: 这个提升数据库上限的脚本在RMXP中用会有什么问题么??
感觉乖不放心的,不知道会不会有什么差错???
RUBY 代码复制
  1. #===============================================================
  2. # ● [XP/VX/VXA] ◦ Database Limit Breaker III ◦ □
  3. # * Break limit of data number in database files *
  4. #--------------------------------------------------------------
  5. # ◦ by Woratana [[email][email protected][/email]]
  6. # ◦ Thaiware RPG Maker Community
  7. # ◦ Originally released on: 22/02/2008
  8. # ◦ Ported to VXAce by Mr. Bubble on: 30/12/2011
  9. #--------------------------------------------------------------
  10.  
  11. #==========================================
  12. # ** HOW TO USE
  13. #------------------------------------------
  14. # [English]
  15. # 0. Open your project (Recommend to backup your database files first~)
  16. # 1. Paste this script in above 'Main'.
  17. # 2. Set DLB_USE_IT = true
  18. # 3. Setup database files you want to change, in DLB_DATA
  19. # 4. Run your game...
  20. # 5. When it finished, game will close itself
  21. # 6. Close your project *without save*
  22. # 7. Open your project again. Done!
  23. # 8. Set DLB_USE_IT = false. Leave this script in your Script Editor (XP/VX).
  24. #    If you are using VX Ace, you do not need to leave this script in your
  25. #    Script Editor.
  26. #==========================================
  27.  
  28.   #===========================================================================
  29.   # [ENG] Use limit breaker? (set this to false after you run this script,
  30.   # and haven't change anything in DLB_DATA after that)
  31.   # or REMOVE this script when finished~
  32.   #+==========================================================================
  33.   DLB_USE_IT = true # (true / false)
  34.  
  35.   if DLB_USE_IT # Do NOT edit this line
  36.     DLB_DATA = {
  37.     #======================================================
  38.     # [ENG] Database file you want to change their number~
  39.     # * Limit of normal database files are 999
  40.     # * Limit of variables and switches are 5000
  41.     # This script will allow you to change their number over their limit~
  42.     #===============================
  43.     # ** How to setup **
  44.     #-------------------------------
  45.     # Add 1 line below per 1 database file you want to change.
  46.     # Structure: 'Database_File' => (number),
  47.     # e.g. 'switch' => 5500,
  48.     # (* Don't forget to put , behind the line!)
  49.  
  50.     #==============================================
  51.     # ** [List] Database_File **
  52.     #----------------------------------------------
  53.     # 'switch' for Game Switches
  54.     # 'variable' for Game Variables
  55.     # 'actor' for Actors
  56.     # 'class' for Classes
  57.     # 'skill' for Skills
  58.     # 'item' for Items
  59.     # 'weapon' for Weapons
  60.     # 'armor' for Armors
  61.     # 'enemy' for Enemies
  62.     # 'troop' for Troops
  63.     # 'state' for States
  64.     # 'tileset' for Tilesets (RMXP/RMVXA only)
  65.     # 'animation' for Animations
  66.     # 'commonev' for Common Events
  67.     #======================================================
  68.     # * START to setup from here!
  69.     #======================================================
  70.  
  71.     'actor' => 1011,
  72.  
  73.     #========================================================
  74.     # * [END] Database Limit Breaker Setup Part
  75.     #========================================================
  76.     'end' => nil # Close hash
  77.     }
  78.  
  79.     if defined?(Audio.setup_midi) # VXA
  80.       dformat = '.rvdata2'
  81.     elsif defined?(Graphics.wait) # VX
  82.       dformat = '.rvdata'
  83.     else # XP
  84.       dformat = '.rxdata'
  85.     end
  86.     start_time = Time.now
  87.     DLB_DATA.each do |k,v|
  88.       dvar = nil
  89.       case k
  90.       when 'switch'; dname = 'System'; dvar = 'switches'; dnewdata = ''
  91.       when 'variable'; dname = 'System'; dvar = 'variables'; dnewdata = ''
  92.       when 'actor'; dname = 'Actors'; dnewdata = 'RPG::Actor.new'
  93.       when 'class'; dname = 'Classes'; dnewdata = 'RPG::Class.new'
  94.       when 'skill'; dname = 'Skills'; dnewdata = 'RPG::Skill.new'
  95.       when 'item'; dname = 'Items'; dnewdata = 'RPG::Item.new'
  96.       when 'weapon'; dname = 'Weapons'; dnewdata = 'RPG::Weapon.new'
  97.       when 'armor'; dname = 'Armors'; dnewdata = 'RPG::Armor.new'
  98.       when 'enemy'; dname = 'Enemies'; dnewdata = 'RPG::Enemy.new'
  99.       when 'troop'; dname = 'Troops'; dnewdata = 'RPG::Troop.new'
  100.       when 'state'; dname = 'States'; dnewdata = 'RPG::State.new'
  101.       when 'animation'; dname = 'Animations'; dnewdata = 'RPG::Animation.new'
  102.       when 'tileset'; dname = 'Tilesets'; dnewdata = 'RPG::Tileset.new'
  103.       when 'commonev'; dname = 'CommonEvents'; dnewdata = 'RPG::CommonEvent.new'
  104.       when 'end'; next
  105.       else; p 'unknown DLB_DATA!', 'Check carefully what you typed in DLB_DATA'
  106.       end
  107.       base_data = load_data('Data/' + dname + dformat)
  108.       data = dvar.nil? ? base_data : eval('base_data.' + dvar.to_s)
  109.       unless data.size > v and v - (data.size - 1) <= 0
  110.         add_data = Array.new(v - (data.size - 1)) { eval(dnewdata) }
  111.         data.push *add_data
  112.         save_data(base_data, 'Data/' + dname + dformat)
  113.       end
  114.     end
  115.     p 'Finished in ' + (Time.now - start_time).to_s + ' sec'
  116.     exit
  117.   end
  118.  
  119.  
  120. # checks for VXAce since these methods do not need to be overwritten
  121. # in RGSS3.
  122. unless defined?(Audio.setup_midi)
  123.  
  124. class Game_Switches
  125.   #--------------------------------------------------------------------------
  126.   # * Set Switch
  127.   #     Make the system be able to set switch ID more than 5000
  128.   #--------------------------------------------------------------------------
  129.   def []=(switch_id, value)
  130.     @data[switch_id] = value
  131.   end
  132. end
  133.  
  134. class Game_Variables
  135.   #--------------------------------------------------------------------------
  136.   # * Set Variable
  137.   #     Make the system be able to set switch ID more than 5000
  138.   #--------------------------------------------------------------------------
  139.   def []=(variable_id, value)
  140.     @data[variable_id] = value
  141.   end
  142. end
  143.  
  144. end # unless defined?(Audio.setup_midi)

作者: chd114    时间: 2014-10-27 22:16
不放心你就备份···这类脚本的用法是复制到工程保存关闭退出运行game.exe然后关掉打开工程删掉脚本···




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1