# 说在前面
- 仓库:https://github.com/Hellobaka/FGOTrainer
- 计算表格:FGO 间隔校正表.xlsx
- Cheat Engine: https://www.cheatengine.org
# 寻找偏移
- 找一个 Boss 战,HP 大一些最好
- 带一个满级的助战
- 模拟器开机后,第一次打开游戏,第一次进入战斗
- 验证修改是否生效时,可以展开
战斗菜单再折叠即可刷新数值展示 - 所有内存记录均以同一角色为准,不同角色之间的偏移没有意义
# 寻找己方与助战的从者内存结构
- 挑选一个从者,了解他的等级上限与 ATK


我们了解到这个从者的等级上限是 70,ATK 是 7644
- 在 CE 中设置数值类型为
群组类型或者是Grouped,此后在搜索框输入4:70 4:7644,点击搜索,此时应当可以查到一条记录,我们双击将地址保存一下

- 点击下方的等级上限记录,按
Ctrl + B浏览内存区域,在弹出的窗口按Ctrl + 6切换显示为四字节十进制,向上滚动半屏后,截图记录。

- 同理搜索助战,获取助战的从者内存结构,将内存记录对齐,截图记录。

# 寻找固定的特征码
我们在等级之前寻找 444444 ,并找到一个固定的特征值,两张图片对比之后,我们挑选最后的这个特征码。点击,按 Ctrl + G 获取地址,复制。此处示例为 2D9C79B20 ,填入我们的 FGO间隔校正表 的 稳定的444444 下方的单元格中


# 寻找区别特征码 1
我们对比两张内存区域截图,在 ATK 后寻找一个均为 0 的值,注意区分助战与己方,某些点二者是不同的。我们挑选了这个值。按 Ctrl + G 获取地址,复制。此处示例为 2D9C79BE8 ,填入我们的 FGO间隔校正表 的 第一个特征0 下方的单元格中

# 寻找区别特征码 2
此时我们需要获取敌方的内存结构,我们只能看到等级与 HP,敌方有时候看似满的等级,实际上等级上限更高。用 HP 更简单一些。

由于此时是满血状态,HP 与 HP 上限相同,我们在 CE 中搜索 4:272214 4:272214 ,如果找到了复数个结果的话,尝试修改前一个数值,并刷新,了解是否是有效的地址。
随后我们按 Ctrl + B 打开内存区域,为了与之前的数据对齐,我们寻找他的等级上限。选中后按 Ctrl + G ,按确认便可对齐。我们参照之前的特征码位置,与之前的数据对齐。本例中默认就是对齐的状态,所以仅向上滚动即可。

随后与己方从者以及助战从者的内存结构对比,寻找己方 / 助战固定为 0,但是敌方不为 0 的地址,我们挑选了这个值。按 Ctrl + G 获取地址,复制。此处示例为 2D9C79BFC ,填入我们的 FGO间隔校正表 的 第二个特征0 下方的单元格中。

# 填入其他地址

按表格的其他内容,复制对应的地址至单元格中即可。示例计算后的结果(Markdown 仅供展示)
| 键 | 地址 | 偏移 |
|---|---|---|
| 稳定的 444444 | 2D9C79B20 | 0 |
| NP 上限 | 2D9C79C14 | 244 |
| 第一个特征 0 | 2D9C79BE8 | 200 |
| 第二个特征 0 | 2D9C79BFC | 220 |
| HP | 2D9C79BEC | 204 |
| ATK | 2D9C79BE0 | 192 |
| NP | 2D9C79C0C | 236 |
| HP 上限 | 2D9C79BF0 | 208 |
