赞 | 45 |
VIP | 271 |
好人卡 | 233 |
积分 | 95 |
经验 | 181865 |
最后登录 | 2025-6-25 |
在线时间 | 2756 小时 |
Lv4.逐梦者 「Pemercyia」 泱 银 Urhurrenna
- 梦石
- 0
- 星屑
- 9542
- 在线时间
- 2756 小时
- 注册时间
- 2008-9-5
- 帖子
- 3544
   
|
本帖最后由 cinderelmini 于 2016-4-24 21:07 编辑
2333
一般来说包含了武器和防具的数据库数据文件编辑保存之后是固定的,
每次开游戏不管读档还是新开都是保存好的读文件~
不过这个脚本存档的时候保存了当前的武器和防具数据,读档的时候武器和防具用的是旧档,
所以新加的完全被无视了~
想到一个不能完美解决的办法,读档之后对比数据数量,
数据库里多出来的会被加进去,但是旧档数量以内的东西不会更新,
(也就是说只会更新数据库里新加上的武器和防具。)
(更新了一下,数据库更新之后,之前空白(物品名字是空)位置的也会被添加进去。)
试试把下面这段放在这个脚本的下面:- module DataManager
- #--------------------------------------------------------------------------
- # ● 展开存档内容
- #--------------------------------------------------------------------------
- class << self; alias sny46_160424_extract_save_contents extract_save_contents; end
- def self.extract_save_contents(contents)
- sny46_160424_extract_save_contents(contents)
- # 补充新添加的武器防具数据
- add_new_equip_data
- end
-
- #----------------------------
- # ○ 补充新添加的武器防具数据
- #----------------------------
- def self.add_new_equip_data
- temp_weapons = load_data("Data/Weapons.rvdata2")
- temp_armors = load_data("Data/Armors.rvdata2")
- # 追加新增武器
- if temp_weapons.size > $data_weapons.size
- arr = temp_weapons[$data_weapons.size + 1, temp_weapons.size]
- arr.each{|owo| $data_weapons << owo}
- end
- # 刷新空白位置新增武器
- temp_weapons.each_with_index do |owo, iwi|
- next if iwi.zero?
- $data_weapons[iwi] = owo if $data_weapons[iwi].name == ""
- end
- # 追加新增防具
- if temp_armors.size > $data_armors.size
- arr = temp_armors[$data_armors.size + 1, temp_armors.size]
- arr.each{|oao| $data_armors << oao}
- end
- # 刷新空白位置新增防具
- temp_armors.each_with_index do |oao, iai|
- next if iai.zero?
- $data_armors[iai] = oao if $data_armors[iai].name == ""
- end
- end
- end
复制代码 |
|