undertale人物_【情报整合】file0、8、9与undertale.ini分析(4)——file0存储结构简介...

本文介绍了Undertale游戏存档file0的结构,包括角色基本信息、背包与电话、武器与防具、flag和其它部分。讨论了如LV、攻防数值、EXP、武器防具对战斗的影响,以及如何通过UndertaleSaveEditor修改存档。此外,还提及了flag对游戏世界状态的控制,以及不同剧情进度的数值。文章以513个flag的复杂性为结尾,预告了未来对这些flag的详细讲解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

dc08e693927741fa346e286fca142143.png

第一期

上一期

这两天附近就是考研的考场,校园网白天很难连上,发布晚了一天。下周就要准备期末考试了,也不一定能继续更新,总之先讲完这一期再说。

————————————————————

虽然题目是file0存储结构简介,但实际上本系列的第一期也提到过,file9和file8这两个备份存档结构是一样的。以下所有的知识点讲解都可以应用于每一个存档,包括只有debug模式下才有的file1~4。

第一部分:角色基本信息

2158ccf3a1be327c815cc2bd778cc0a4.png

这一部分大多是以前写UT战斗系统分析的时候已经讲过的内容,没看过的话建议回去读一下。这里就只讲几条结论好了:

1.在存档文件中的各项数值是实际值,而游戏中STAT看到的攻防数据是每项减10的结果,其他CHECK获得的数值也极少有准确的。

2.战斗中的满格HP(第4行)、当前攻击力(第5行)、当前防御力(第7行)是与实际LV(第2行)相关联的,单独修改这几项战斗数值不会起到作用。最大HP超出满格HP的值也有上限。想要实际起到作用需要修改的是武器和防具的对应数值。

3.默认速度修改无效,每次进入战斗都会自动回到4的初始值。

然后从头开始讲讲存档文件中这一部分的细节吧。

文件的第一行是名字,在此状态下基本可以任意修改,包括起名界面不允许的那几个人物名。就算改成原本会触发困难模式的Frisk,或者起名界面会导致游戏重启的Gaster,在这里也不会有任何影响。

f6c338623ee29885d0dde1117afccfb9.png

不过如果此处名字的长度超出了六个字符,STAT界面右侧就会多出一句评价。

87e3c60f560321e4d60533168f15d6f7.png

第二行的LV,又称LOVE,Level of Violence。当EXP积累到一定程度就会提升等级,或者在完成了特定战斗后直接变为相应的等级。

bc3bac4c74a2810eee514853b71b8083.png

在之前的战斗系统分析里也写过将这个值修改为负数、小数等情况下的表现。除影响战斗数值外,唯一的调用也就是第二次进行有kill的LV审判时影响相应对话了。

3行当前HP,4行满格HP,5行自身攻击力,6行武器攻击力,7行自身防御力,8行防具防御力,9行弹幕界面灵魂移动速度。这些应该都不用多说了。

10行的EXP只影响正常战斗积累的LV上涨,其他情况都没有调用,判定是否杀过怪看的还是第12行的Kill。第11行的GOLD在正常游戏流程中上限9999,但修改过程中则没有这种限制。

第二部分:背包与电话

c10385fe1ad1d86600ec7850fadb6bac.png

具体列表如图所示,背包(ITEM)与电话(CELL)界面的选项列表穿插出现。物品ID可以在这个网址:https://pcy.ulyssis.be/undertale/items 确认,以前也分享过一份离线版的资源(https://pan.baidu.com/s/1zaw4IX5dDNNgCDLfVS9W3w

提取码:0pti )。电话选项ID列表在全文本文件里可以搜到:

f249c4e0b30e77a9909edf78316e4daf.png

当然这么一条条对照还是太麻烦了,还是用UndertaleSaveEditor(https://pan.baidu.com/s/1QQ9s5Y06YFefUMauP1VBLQ 提取码: s92e)修改起来更方便一点。

3d99021847f64988144e1647c7d97b91.png

其中Papyrus的电话在Undyne约会结束后会变成“Papyrus与Undyne的电话”,剩下的应该就没什么问题了。

第三部分:武器与防具

209126941022d0fb943b45ddc5c6aa5e.png

就这两行,29是武器30是防具,ID见上方网站给出的列表,对攻防数值的提升体现在第6行和第8行,更换装备会这两行修改过的数据更新为真实值。

举个例子,比如想通过简单的存档修改让武器变为攻击力9999的神烦狗,就直接把第29行的数值改成27,第6行的数值改为9999。但也就是一个临时的数据变化,换成真刀之后再用修改存档换回来一样要这些步骤。

第四部分:flag

从第31行到512行,整整513个数值都是决定游戏世界各种变量的flag。涵盖范围从某块石头有没有被推动、特定怪物是否被杀到真和平结局是否被触发等等,极为复杂,不可能在一篇文章之内全部讲清楚。这个网站:https://pcy.ulyssis.be/undertale/flags 可以当成部分参照,但也有一些错漏现象。目前来看,最方便的修改方式还是用UndertaleSaveEditor,直接对游戏中的表现进行改变,自己多试着改几个相关项也能加深理解。至于具体的详细说明,就留到以后慢慢讲解吧。

c8054c9bdacf56615479717555086090.png

第五部分:其他

e13df42b07765b616cada1e5a486cc7e.png

543行在代码中被称为“Plot”,决定游戏当前的线性进度,之前应该也提过。这个值的单一改变就会同时影响游戏世界中的很多事件,由此保证主线的严格时间顺序。在存档修改器的“剧情进度”选项中,用于参照的是对应的事件。我自己也曾测试过在普通路线流程中,每发生一个事件就返回上一个存档点手动存档,得出了一些结果,可以作为参照(屠杀路线中部分剧情进度的编号会直接跳过,但整体没有太大变化)。对这部分不感兴趣的可以直接跳过:

初始:0

第一个存档点:2

下一个房间按钮开门后:3

扳下一个switch后:4.5

两个switch后:5

攻击dummy前:5.5

解决dummy后:7

牵手过桥后:8

刚被扔下后:9

第二个存档点(已接到电话):9.2

接到问口味电话后:9.4

接到确认口味电话后:9.6

确认过敏源后(第三个存档点):9.8

小幽灵战后:11

接到提醒Inventory电话后:12

6块掉落地板解密后:13

第一个三色开关解谜后(蓝色隐藏):14

第二个三个开关解谜后(红色):15

第三个(绿隐藏左):16

到家门口:17

进门与Toriel对话一次后:18

介绍房间后:19

提过一次要回家后:19.4

跟Toriel说过要离开废墟,Toriel去地下室后:21

地下室对话1次后:22

地下室对话2次后:23

拐角处第三次对话后:24

Toriel战后:25

握手后:36

雪镇第一次能存档时:37

再见过Papyrus后:40

过了Doggo后:42

电击迷宫剧情后:43

crossword后:47

按下隐藏开关后:49

遇到狗夫妇后:51

解决一个XOXO谜题后:53

解决两个后:56

彩砖迷题后:58

滑冰谜题后:63

Greater Dog战后:65

刚进雪镇(Papyrus战之前):67

Papyrus战后:101

Undyne初过场动画结束后:106

Papyrus问过装备后:107

发现隐藏门后:108

Undyne初次追逐战后:110

Shyren战后:111

第二次追逐战前的存档点:113

追逐战后的垃圾堆存档点:115

Mad Dummy战后:116

再与Napstablook对话一次之后的存档点:117

behind you 后(蘑菇灯房间自动全点亮,包括隐藏通路):118

mkid掉落剧情后:120

Undyne战前给出存档点后:121

Undyne战后:122

实验室开灯后:126

实验室全剧情后:127

接到马上挂的电话后:130

Alphys讲解蓝橙激光后:131

Alphys推荐三岔口解谜顺序后:132

烹饪节目结束后:135

Alphys打电话介绍Core后:137

Alphys打电话说明传送带三开关后:139

三开关谜题后:140

Alphys介绍七跳板谜题后:143

RG战后:146

拆弹剧情后:161

第二层最后的电话后:162

Alphys跳板阵前电话后:163

Muffet战之前:164

MTT音乐剧之前:165

Hotel存档点:168

看到Core入口敌人剪影后:176

接到Alphys建议走右边电话后:177

遇到Mj后:179

Alphys电话告知橙橙蓝(实际是蓝蓝橙)顺序后:180

Alphys电话里道歉后:181

MTTex战之前:185

到新家后:199

审判厅剧情结束后:201

第一次见过Asgore后:206

Throne Room外对话一次后:207

The End存档点旁对话后(或真和平线结束真实验室):208

Epilogue:999

从这些标号中也能发现,Toby在demo阶段的废墟处设定的Plot标号相对密集,甚至能出现小数,但废墟之外就不太一样了,有时候换一个大场景能跳过十几个编号。或许是漫长制作流程中的一些习惯变化?

544至546行决定按下C之后出现的菜单选项,分别决定了“ITEM”、“STAT”和“CELL”的出现与否。设置为1出现选项,设置为0不出现,就这么简单。

547行决定读档后正在播放的音乐,不过一般情况下场景音乐都是和目前的房间和各种flag相关的,在这里改基本没用。倒是能用来查看一下当前播放音乐的ID。

548行决定读档后出现在哪个房间。如果是有存档点的房间,默认出现在存档点旁,没有的话则出现在某个特定的位置(不一定是刚进入房间的位置)。如果不关闭dog check,将房间号修改为0-4、239-263、及265-335会进入坏档狗的界面。

4d9d27c95197c091d2921e47480b873d.png

具体的房间ID可以在https://pcy.ulyssis.be/undertale/rooms 查看,第二部分提供的那个离线版本资料下载当中包含一个文件名被重命名为编号加名称的房间图片文件夹,用起来应该会更方便一点。

5ac4ba795612c2257b6a0e3cecff0022.png

最后是549行,记录当前周目的游戏时间,单位为帧数(每秒30帧),没什么可说的。

————————————————————

这一期的存档结构就讲这么多,不出意外的话这个系列会暂停更新一段时间,直到我准备好详细讲解那513个flag之后再重启。但在那之前也有可能会发一些别的分析,比如MettatonEX战不同论文的具体分数,或者Flowey一路跟踪的全面整理等等。最后祝这两天的考研党都能顺利过关,成功上岸!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值