查看: 8704|回复: 7

[已经解决] 请问如何修改资料库各种数据的上限?

[复制链接]
梦石
0
星屑
125
在线时间
0 小时
注册时间
2013-4-5
回帖
3
发表于 2013-4-5 12:11:46 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
比如武器等设置,最高为999.还有人物的等级最高99.
我想设置再多一些.
请高手前来解答,谢谢.

梦石
1
星屑
23236
在线时间
9564 小时
注册时间
2012-6-19
回帖
7018

开拓者短篇九导演组冠军

发表于 2013-4-5 12:44:03 | 显示全部楼层
http://rpg.blue/forum.php?mod=viewthread&tid=248022
http://rpg.blue/forum.php?mod=viewthread&tid=250125

编辑器最大数目如何破限我也不知道,坐等楼下高人……

点评

+1  发表于 2013-4-5 18:38
回复

使用道具 举报

梦石
1
星屑
23236
在线时间
9564 小时
注册时间
2012-6-19
回帖
7018

开拓者短篇九导演组冠军

发表于 2013-4-6 13:21:26 | 显示全部楼层

数据库破限脚本(原文地址:http://www.rpgmakervxace.net/top ... t-breaker/?pid=7355)

# 0. 备份工程
# 1. 把脚本扔到Main以上
# 2.把 DLB_USE_IT 设置成 true(已经帮你设置好了)
# 3. 36行设置你要破除限制的数据
(格式为:《'要破除限制的数据库' => 要增加到的数目,》包括逗号,不包括书名号)
(详细的格式请自己参考脚本内部的说明)
( # '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
    # 'tileset' for Tilesets (RMXP/RMVXA only)
    # 'animation' for Animations
    # 'commonev' for Common Events)
(举例:《'commonev' => 5000,》数据库中的公共事件变成5000个)
# 4. 运行游戏
# 5. 游戏运行后会自动关闭
# 6. 不要保存,直接关闭编辑器
# 7. 再次打开工程
# 8. 删除这个脚本,破除限制完成


[pre lang="ruby" line="1"]#===============================================================
# ● [XP/VX/VXA] ◦ Database Limit Breaker III ◦ □
# * Break limit of data number in database files *
#--------------------------------------------------------------
# ◦ by Woratana [woratana@hotmail.com]
# ◦ Thaiware RPG Maker Community
# ◦ Originally released on: 22/02/2008
# ◦ Ported to VXAce by Mr. Bubble on: 30/12/2011
#--------------------------------------------------------------

#==========================================
# ** HOW TO USE
#------------------------------------------
# [English]
# 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. Set DLB_USE_IT = false. Leave this script in your Script Editor (XP/VX).
#    If you are using VX Ace, you do not need to leave this script in your
#    Script Editor.
#==========================================

  #===========================================================================
  # [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 = true # (true / false)

  if DLB_USE_IT # Do NOT edit this line
    DLB_DATA = {
    #======================================================
    # [ENG] 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
    # 'tileset' for Tilesets (RMXP/RMVXA only)
    # 'animation' for Animations
    # 'commonev' for Common Events
    #======================================================
    # * START to setup from here!
    #======================================================

    'actor' => 1011,

    #========================================================
    # * [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)[/pre]

评分

参与人数 1梦石 +1 收起 理由
迷糊的安安 + 1 认可答案 附赠66RPG提供的精美好人卡一张^^.

查看全部评分

回复

使用道具 举报

梦石
0
星屑
50
在线时间
67 小时
注册时间
2013-8-22
回帖
10
发表于 2014-1-21 18:07:09 | 显示全部楼层
喵呜喵5 发表于 2013-4-6 13:21
数据库破限脚本(原文地址:http://www.rpgmakervxace.net/topic/573-woratanas-database-limit-breaker/? ...

(格式为:《'要破除限制的数据库' => 要增加到的数目,》包括逗号,不包括书名号)要破除限制的数据库'怎默写?
回复

使用道具 举报

梦石
1
星屑
23236
在线时间
9564 小时
注册时间
2012-6-19
回帖
7018

开拓者短篇九导演组冠军

发表于 2014-1-21 19:56:40 | 显示全部楼层
saierhao2013 发表于 2014-1-21 18:07
(格式为:《'要破除限制的数据库' => 要增加到的数目,》包括逗号,不包括书名号)要破除限制的数据库'怎 ...

就是这么写啊?
比如要破开关到9999就写成:
'switch' => 9999
回复

使用道具 举报

梦石
0
星屑
50
在线时间
11 小时
注册时间
2015-7-27
回帖
6
发表于 2015-9-6 21:36:22 | 显示全部楼层
感谢喵呜喵5
回复

使用道具 举报

梦石
0
星屑
145
在线时间
190 小时
注册时间
2014-1-18
回帖
232
发表于 2016-5-1 08:44:39 | 显示全部楼层
自从用了破限,每次开编辑器都会卡半天= =
回复

使用道具 举报

梦石
0
星屑
50
在线时间
77 小时
注册时间
2016-2-2
回帖
241
发表于 2016-5-2 20:03:03 | 显示全部楼层
xingmot 发表于 2016-5-1 08:44
自从用了破限,每次开编辑器都会卡半天= =

正常的,能不用就少用。
呵呵
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部