cardsurvival吧 关注:5,496贴子:45,381
  • 15回复贴,共1

老猎人的存档文件代码解析

只看楼主收藏回复

前排提醒:
1. 知道的越多,乐趣就越少
2. 不建议过多修改游戏文件,这会大大缩短游戏寿命
3. 本人并非游戏开发领域的专业人员,我对游戏代码方面一窍不通,所以我只会试着解析该游戏的Json存档文件,如果需要游戏代码方面的支持或许可以试着参考贴吧这位大佬:https://tieba.baidu.com/p/8213600130?pid=146541468482&cid=0#146541468482,或者另寻帮助
4. 如有错误或理解不到位的地方(事实上有很多我压根不知道)欢迎大佬评论指正
老猎人存档镇楼


IP属地:广东1楼2023-06-25 14:23回复
    要谈游戏存档首先我们要清楚游戏存档位置以及目录结构
    存档位置(来自wiki):

    游戏目录:

    目录结构(我猜的)


    IP属地:广东2楼2023-06-25 14:27
    回复
      我们先来点开胃菜
      看到Options.json文件,该文件是游戏设置文件,字段基本都能在游戏里找到
      奇怪的是里面怎么没有分辨率和全屏选项?我不是很清楚



      IP属地:广东3楼2023-06-25 14:32
      回复
        我们再看到SaveData.json文件,这是游戏全局存档文件,里面有些东西或许值得修改
        有不少我也不知道有什么用的字段不过我觉得那些都无关紧要


        IP属地:广东4楼2023-06-25 14:37
        回复
          经过开胃小菜终于轮到我们的主角登场!Slot_1.json游戏存档文件!
          接下来我会层层试着拨开这个及其复杂的文件内容,为各位梳理文件脉络(我也只能做到这而已)


          IP属地:广东5楼2023-06-25 14:40
          回复
            没错!这便是这个又臭又长的文件最根本的形式!也是我们拨开存档第一层外衣看到的内容!清晰明朗!

            由于CheckpointData和MainData几乎一样(存档数据量直接翻倍,真有你的官方),所以我们后面只需聚焦于MainData字段即可!


            IP属地:广东6楼2023-06-25 14:44
            回复
              展开MainData字段,我们能看到以下光景解析我基本是按照命名和实际存档测试(毫无疑问肯定是不完全测试)来推测的:

              好了,由于本人技术水平太低只能解析到这了不过这已经给我们足够多的认知了,下面我们试着详细解析一下看看


              IP属地:广东7楼2023-06-25 14:51
              回复
                我们来看到文件的开头部分:

                嗯嗯,基本都是毫无luan用的字段,我也完全看不出有什么修改的必要,其中OpenedGuide、CurrentHandCard、CurrentTravelIndex字段我完全看不出有啥用,所有存档都一个样,我测试也试不出有啥变化,或许是废弃数据或者历史遗留数据?欢迎大佬帮助说明


                IP属地:广东8楼2023-06-25 14:58
                回复
                  接下来我们将看到整个存档文件最为重要,最为复杂,最为混乱,最屎山的四个字段!

                  这四个字段记录了游戏中所有的卡牌,占了存档内容相当大的比例,貌似新老存档有着相当的差异,字段之间有相当多的冗余、重复数据,有些地方储存的数据难以理解它为什么还会出现在这,而且储存的数据也是非常6,别人都是“石头x100”这样记录,而这游戏是“石头、石头、石头...”这样复制100条记录总之我没有完全搞懂一张卡牌的储存规则,但是好在我们可以通过搜索关键字找到该物品并对它进行修改(见我下一个帖子),这就足够了


                  IP属地:广东9楼2023-06-25 15:07
                  回复
                    接下来的字段比较轻松,因为我们有wiki这个直观的工具(感谢wiki大佬)
                    而且因为基本都是数值型(改数值)或者条目型(增删改条目)的数据,非常方便修改,基本属于看到就会改的那种

                    AllStats,状态,对应的wiki:

                    EncounteredEvents,事件,对应的wiki:

                    AllActions,触发器,对应的wiki:


                    IP属地:广东10楼2023-06-25 15:15
                    回复
                      最后是一些简单的字段,
                      AllObjectives人物目标及成就这个居然包含了所有人物的目标,哪怕你用的猎人但是游客的任务目标也会在里面(只是不触发)
                      AllEndgameLogs日记会随着你存档天数增加越来越长越来越长越来越长
                      再下面几个人物的修改很明显了
                      EasyPackage、ModifierPackages这俩没搞懂用来干啥,可能也是废弃数据或者历史遗留?只能留给大佬解答了
                      对了之前卡死的战斗系统好像也是改的这里


                      IP属地:广东11楼2023-06-25 15:21
                      回复
                        好了我们的解析到此为止,我也不知道还有没有下文,因为我打算写一些存档修改的案例试试水


                        IP属地:广东12楼2023-06-25 15:23
                        收起回复
                          cy,帮顶


                          IP属地:江苏来自Android客户端13楼2023-06-25 15:54
                          回复
                            不明觉厉


                            IP属地:辽宁来自iPhone客户端14楼2023-06-25 21:53
                            回复
                              不是石头X10而是石头……
                              可能是因为游戏设计上每个卡牌虽然能堆叠但是实际上都是独立的……


                              IP属地:江西15楼2023-07-03 09:52
                              回复