八方旅人吧 关注:64,542贴子:328,398
  • 10回复贴,共1

【教程】解决选择困难症:通过存档修改来随时切换猎人宠物

只看楼主收藏回复

经常看到有人纠结猎人线开局宠物选狼还是猫头鹰,这个选项是游戏中少数会永久影响后续剧情的,确实可能会让人比较纠结......
——前提是你不知道如何修改存档。
言归正传,不像1代,八方旅人2目前是没有可用的存档修改器的,我只找到一个似乎早早停更的版本,试了一下导入存档程序会直接崩溃。
但是,经过对存档文件的简单逆向分析,发现这就是标准的UE4存档文件,存档数据也没有什么加密,那么就很好解决了。根据我的经验,存档大概率是通过一个特定的变量来存储这种剧情分支状态的,那么我们只需要找出决定猎人搭档的变量是什么就可以了。
以下为研究过程和原理讲解,不想看可以跳过:
1.首先在触发猎人剧情前存档(假设为存档1),然后在剧情中选择猫头鹰,然后在下一个最近的存档点存档(假设为存档2)。
2.读取存档1,然后再过一次猎人剧情并选择狼,在和存档2同样的位置存一个存档3,在同样的位置存档是为了尽可能排除无关变量对我们的干扰。
3.使用Beyond Compare比较两份存档文件的十六进制数据,一一排查差异处。首先开头的一大段大概率是游戏时间或存档创建时间之类,可以快速跳过。接着我发现剩下的一些有差异的变量里面值得关注的还有几个未命名的Flag和State变量。
通常来说,“Flag”这种变量在程序中是用于存储的二元状态的,也就是要么是“True”(1),要么是“False”(0),而宠物类型通常不太会用布尔值来存储(尽管宠物只有两个,但实际上应该是有三种状态:没有宠物、狼、猫头鹰)。所以重点看到带有”State“字眼的变量,然后我们只要将存档3中的这些变量一一修改为和存档2一样,然后在游戏中读取存档查看搭档变了没就可以了,于是——
于是我改了大半天发现和这些变量全都没关系......
最后在几乎把脸贴在屏幕上的情况下我终于找到了之前漏掉的这个变量......
“HunterPartner”
命名简洁易懂,可惜我的视力还有待提高。经测试这个变量为1时搭档是猫头鹰,为2时搭档是狼,剧情对话和战斗中的搭档都是直接由这个变量决定的(但我没试过后期boss战的时候会不会变,理论上也会)
具体的操作教程我会放在二楼(因为里面有链接怕被吞了)。


IP属地:浙江1楼2024-06-30 21:07回复
    首先大家肯定都不想和我一样直接对着十六进制数据来找茬,所以建议使用这个网站:
    https://www.saveeditonline.com
    将你的游戏存档上传到这个网站上,它就会以可视化的方式直接列出所有变量,非常方便。
    然后在搜索框里输入“HunterPartner”,找到我们需要修改的变量,并点击变量名右边的绿色数值。此时网站会弹出一个输入框让我们输入新的数值,根据你要修改的宠物输入:
    猫头鹰为1。
    狼为2。
    修改完成后直接点击下面的下载把存档下载下来替换你的本地存档就可以了(记得先备份自己的存档!)。


    IP属地:浙江2楼2024-06-30 21:13
    收起回复
      赞赞赞!


      IP属地:上海来自Android客户端3楼2024-07-03 09:39
      回复
        支持一下,这样可以连续看2个宠物的剧情
        最好可以找到初始主角的代码,这样可以非常省时间地看全部剧情对话


        IP属地:广东4楼2024-08-10 15:42
        收起回复
          谢谢楼主,另外请问后续有影响吗?


          IP属地:广东5楼2024-09-05 23:57
          收起回复