|
本帖最后由 百里_飞柳 于 2024-1-3 22:42 编辑 这个补丁的原理好耿直…… 是提供了一个Scene,其中可以选择哪些(角色、物品、公共事件等数据库内容,还有地图)需要被打包到一起生成一个名为Patch的文件, 然后游戏开始时,在读取了原有数据的基础上,再解包Patch文件,再逐个判定其中的内容并覆盖原有数据 我能想到的方法就是游戏开始后,DataManager 里从这些rvdata文件利用 load_data 读取后,再等这个Patch也读取覆盖后(load_patch_database), 利用RGSS3的 sava_data 方法,又把这些数据重新一个个写回文件里 比如读取时是这样 $data_actors = load_data("Data/Actors.rvdata2") 那写回时这样 save_data($data_actors, "Data2/Actors.rvdata2") 记得新建个 Data2 文件夹,防止出错…… 相当于你手动帮它应用完这些Patch,搞一组新的rvdata文件,最后再删掉Patch文件 以上是数据库内容,地图的话更耿直了 它是把打包后的地图导出后存入了全局变量 $data_maps_patch 这个哈希表里,键是 map_id.to_s 地图ID的字符串,值就是 load_data(sprintf("Data/Map%03d.rvdata2", @map_id)) 后的地图数据 你迭代这个哈希表,然后一个个 save_data( $data_maps_patch[map_id.to_s], sprintf("Data2/Map%03d.rvdata2", map_id) ) 吧 |
东西怎么操作我是学会了.........这是原始代码,请问这东西该如何读取已经写好的补丁....... |
脚本名字叫Yami Engine Ace - Patch System但是我不知道这东西怎么用 |
站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作
GMT+8, 2024-12-18 09:53
Powered by Discuz! X3.1
© 2001-2013 Comsenz Inc.