Project1

标题: 如何突破数据库限制例如突破敌人999个 [打印本页]

作者: vixv    时间: 2019-4-8 06:36
标题: 如何突破数据库限制例如突破敌人999个
本帖最后由 vixv 于 2019-4-10 10:49 编辑

RT,因为某些原因,游戏里需要超过999个敌人,现在设置1000也只能999,如何超过限制。。。
技能暂时够,就是这个敌人数量最多999个,我已经999个了啊。。
作者: fux2    时间: 2019-4-8 09:49
善用搜索,搜索“破限”就可以找到相关帖子

https://rpg.blue/thread-411195-1-1.html
3楼精确答案


在脚本内插入以下代码
RUBY 代码复制
  1. class << DataManager
  2.   alias _init init
  3.   def init
  4.     _init
  5.     2000.times{$data_enemies<<RPG::Enemy.new}
  6.     save_data($data_enemies,"Data/Enemies.rvdata2")
  7.     exit
  8.   end
  9. end


1.备份Data/Enemies.rvdata2文件
2.运行游戏,游戏会自动退出
3.关闭并重新打开游戏编辑器
4.去掉上面的脚本
作者: vixv    时间: 2019-4-8 13:18
fux2 发表于 2019-4-8 09:49
善用搜索,搜索“破限”就可以找到相关帖子

https://rpg.blue/thread-411195-1-1.html

大佬,我看这个只能突破敌人的属性限制,我是想突破敌人999个的限制啊。。
作者: 不灭的火炎    时间: 2019-4-8 13:34
兄啊,耐心真好,我做50个敌人都设定的很费劲了
作者: Niko_    时间: 2019-4-8 14:36

建议把你的游戏分成两三部来做。。
作者: vixv    时间: 2019-4-10 10:46
Niko_ 发表于 2019-4-8 14:36
建议把你的游戏分成两三部来做。。

现在数据库最多999,不够用啊,已经满了
作者: vixv    时间: 2019-4-10 11:31
fux2 发表于 2019-4-8 09:49
善用搜索,搜索“破限”就可以找到相关帖子

https://rpg.blue/thread-411195-1-1.html


作者: srwjrevenger    时间: 2019-4-10 11:50
  1. # 这个    https://rpg.blue/thread-303914-1-1.html    3楼喵呜喵5的,可以用
  2. #不过脚本旁边的“复制”功能好像失效了,自己复制下来的话需要换行OTL
  3. #下面是我自己弄好换行了的,看看行不行吧... ...

  4. # 0. 备份工程
  5. # 1. 把脚本扔到Main以上
  6. # 2.把 DLB_USE_IT 设置成 true(已经帮你设置好了)
  7. # 3. 36行设置你要破除限制的数据
  8. #(格式为:《'要破除限制的数据库' => 要增加到的数目,》包括逗号,不包括书名号)
  9. #(详细的格式请自己参考脚本内部的说明)
  10. #( # 'switch' for Game Switches
  11.     # 'variable' for Game Variables
  12.     # 'actor' for Actors
  13.     # 'class' for Classes
  14.     # 'skill' for Skills
  15.     # 'item' for Items
  16.     # 'weapon' for Weapons
  17.     # 'armor' for Armors
  18.     # 'enemy' for Enemies
  19.     # 'troop' for Troops
  20.     # 'state' for States
  21.     # 'tileset' for Tilesets (RMXP/RMVXA only)
  22.     # 'animation' for Animations
  23.     # 'commonev' for Common Events)
  24. #(举例:《'commonev' => 5000,》数据库中的公共事件变成5000个)
  25. # 4. 运行游戏
  26. # 5. 游戏运行后会自动关闭
  27. # 6. 不要保存,直接关闭编辑器
  28. # 7. 再次打开工程
  29. # 8. 删除这个脚本,破除限制完成

  30. #===============================================================
  31. # ● [XP/VX/VXA] ? Database Limit Breaker III ? □
  32. # * Break limit of data number in database files *
  33. #--------------------------------------------------------------
  34. # ? by Woratana [[email][email protected][/email]]
  35. # ? Thaiware RPG Maker Community
  36. # ? Originally released on: 22/02/2008
  37. # ? Ported to VXAce by Mr. Bubble on: 30/12/2011
  38. #--------------------------------------------------------------

  39. #==========================================
  40. # ** HOW TO USE
  41. #------------------------------------------
  42. # [English]
  43. # 0. Open your project (Recommend to backup your database files first~)
  44. # 1. Paste this script in above 'Main'.
  45. # 2. Set DLB_USE_IT = true
  46. # 3. Setup database files you want to change, in DLB_DATA
  47. # 4. Run your game...
  48. # 5. When it finished, game will close itself
  49. # 6. Close your project *without save*
  50. # 7. Open your project again. Done!
  51. # 8. Set DLB_USE_IT = false. Leave this script in your Script Editor (XP/VX).
  52. #    If you are using VX Ace, you do not need to leave this script in your
  53. #    Script Editor.
  54. #==========================================   

  55. #===========================================================================  
  56. # [ENG] Use limit breaker? (set this to false after you run this script,  
  57. # and haven't change anything in DLB_DATA after that)  
  58. # or REMOVE this script when finished~  
  59. #+==========================================================================  
  60. DLB_USE_IT = true   # (true / false)   

  61. if DLB_USE_IT  # Do NOT edit this line   
  62. DLB_DATA = {   
  63. #======================================================   
  64. # [ENG] Database file you want to change their number~   
  65. # * Limit of normal database files are 999   
  66. # * Limit of variables and switches are 5000   
  67. # This script will allow you to change their number over their limit~   
  68. #===============================   
  69. # ** How to setup **   
  70. #-------------------------------   
  71. # Add 1 line below per 1 database file you want to change.   
  72. # Structure: 'Database_File' => (number),   
  73. # e.g. 'switch' => 5500,   
  74. # (* Don't forget to put , behind the line!)     

  75. #==============================================   
  76. # ** [List] Database_File **   
  77. #----------------------------------------------   
  78. # 'switch' for Game Switches     
  79. # 'variable' for Game Variables   
  80. # 'actor' for Actors     
  81. # 'class' for Classes     
  82. # 'skill' for Skills     
  83. # 'item' for Items     
  84. # 'weapon' for Weapons     
  85. # 'armor' for Armors     
  86. # 'enemy' for Enemies     
  87. # 'troop' for Troops   
  88. # 'state' for States     
  89. # 'tileset' for Tilesets (RMXP/RMVXA only)   
  90. # 'animation' for Animations     
  91. # 'commonev' for Common Events   
  92. #======================================================   
  93. # * START to setup from here!     
  94. #======================================================     

  95. 'actor' => 1011,     

  96. #========================================================   
  97. # * [END] Database Limit Breaker Setup Part   
  98. #========================================================   
  99. 'end' => nil # Close hash   
  100. }     

  101. if defined?(Audio.setup_midi) # VXA      
  102. dformat = '.rvdata2'   
  103. elsif defined?(Graphics.wait) # VX      
  104. dformat = '.rvdata'   
  105. else # XP      
  106. dformat = '.rxdata'   
  107. end   

  108. start_time = Time.now   
  109. DLB_DATA.each do |k,v|      
  110. dvar = nil      
  111. case k      
  112. when 'switch'; dname = 'System'; dvar = 'switches'; dnewdata = ''      
  113. when 'variable'; dname = 'System'; dvar = 'variables'; dnewdata = ''      
  114. when 'actor'; dname = 'Actors'; dnewdata = 'RPG::Actor.new'      
  115. when 'class'; dname = 'Classes'; dnewdata = 'RPG::Class.new'      
  116. when 'skill'; dname = 'Skills'; dnewdata = 'RPG::Skill.new'      
  117. when 'item'; dname = 'Items'; dnewdata = 'RPG::Item.new'      
  118. when 'weapon'; dname = 'Weapons'; dnewdata = 'RPG::Weapon.new'      
  119. when 'armor'; dname = 'Armors'; dnewdata = 'RPG::Armor.new'      
  120. when 'enemy'; dname = 'Enemies'; dnewdata = 'RPG::Enemy.new'      
  121. when 'troop'; dname = 'Troops'; dnewdata = 'RPG::Troop.new'      
  122. when 'state'; dname = 'States'; dnewdata = 'RPG::State.new'      
  123. when 'animation'; dname = 'Animations'; dnewdata = 'RPG::Animation.new'      
  124. when 'tileset'; dname = 'Tilesets'; dnewdata = 'RPG::Tileset.new'      
  125. when 'commonev'; dname = 'CommonEvents'; dnewdata = 'RPG::CommonEvent.new'      
  126. when 'end'; next      
  127. else; p 'unknown DLB_DATA!', 'Check carefully what you typed in DLB_DATA'      
  128. end      
  129. base_data = load_data('Data/' + dname + dformat)      
  130. data = dvar.nil? ? base_data : eval('base_data.' + dvar.to_s)      
  131. unless data.size > v and v - (data.size - 1) <= 0        
  132. add_data = Array.new(v - (data.size - 1)) { eval(dnewdata) }        
  133. data.push *add_data        
  134. save_data(base_data, 'Data/' + dname + dformat)      
  135. end   
  136. end   
  137. p 'Finished in ' + (Time.now - start_time).to_s + ' sec'   
  138. exit  
  139. end  

  140. # checks for VXAce since these methods do not need to be overwritten
  141. # in RGSS3.
  142. unless defined?(Audio.setup_midi)

  143. class Game_Switches  
  144. #--------------------------------------------------------------------------  
  145. # * Set Switch  
  146. #     Make the system be able to set switch ID more than 5000  
  147. #--------------------------------------------------------------------------  
  148. def []=(switch_id, value)   
  149. @data[switch_id] = value  
  150. end
  151. end

  152. class Game_Variables  
  153. #--------------------------------------------------------------------------  
  154. # * Set Variable  
  155. #     Make the system be able to set switch ID more than 5000  
  156. #--------------------------------------------------------------------------  
  157. def []=(variable_id, value)   
  158. @data[variable_id] = value  
  159. end
  160. end

  161. end  # unless defined?(Audio.setup_midi)

复制代码

作者: vixv    时间: 2019-4-15 12:03
srwjrevenger 发表于 2019-4-10 11:50

能不能再请教下你,这个地图没法破999张啊。。。




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