验证对象:上轮交付的
基址总表_31007.md与CE_对象分析_按总表.lua
核对基准:工程D:\AI空间\rxjh\模块\江湖基址 31007\常量.e.txt(作者 CE 特征码核对版)
方法:Python 脚本把源文件「常量值(十进制)」与「注释十六进制」逐条解析、互算;再核对总表的十进制↔十六进制自洽。
结论:数据主体可信,发现并修正 6 处十六进制注解错误 + 1 处必须运行时确认的关键矛盾。
| 类别 | 数量 | 说明 |
|---|---|---|
| 数组基址 / call 地址 | 全部正确 | 十进制↔十六进制自洽,且与源文件一致 |
| 角色/物品/聊天/怪物字段 | 绝大多数正确 | 仅 6 处十六进制注解写错(十进制本身对) |
| 队员名偏移 | ⚠ 关键矛盾 | 源文件自身值/注释不符,需运行时双读确认 |
| 玩家坐标偏移 | ⚠ 存疑 | 怪/玩家坐标在不同偏移,脚本已双读 |
易语言常量以「值(十进制)」参与编译,所以十进制始终为权威值;发现的问题主要在「我写的十六进制注解」和「源文件注释」两处,不影响已编译辅助的运行。
脚本 verify_bases.py 识别:总表「十进制 ≠ 我写的十六进制」。修正如下:
| 常量 | 总表原写十六进制 | 正确十六进制 | 十进制(始终) |
|---|---|---|---|
#无限视野 |
0x0070CA8C | 0x523A87 | 5388935 |
#属性类型 |
0xE5A | 0xE4A | 3658 |
#属性次数 |
0xE5C | 0xE4C | 3660 |
#百宝药量 |
0xE5C+16 | 0xE5C | 3676 |
#玩家等级 |
0x275C | 0x2754 | 10068 |
#玩家门派 |
0x1FF4 | 0x1FF0 | 8176 |
这 6 项只错在「十六进制标注」,十进制没抄错;且
CE_对象分析_按总表.lua字段读取全用十进制(如p+10068、ROLE+8176),所以脚本运行不受影响,只改了文档标注。
#组队_队员名称 偏移矛盾(最重要)20c (0x20C) —— 源文件自己打脸,相差 0x12C(300) 字节。0x20C 与 0x338:跑一次看哪个槽出 BIG5 队员名,哪个就是真偏移。0x208 与 0x334(=0x338-4)。#怪当前X=4216(0x1078),玩家坐标在 #玩家当前X1=8028(0x1F5C)——两个不同偏移。typ==49 的对象同时读两组坐标打印,跑一次对比即可定。源文件大量常量「十进制值」与「注释里的十六进制」对不上(多为作者注释笔误)。因编译用十进制,这些不构成辅助 bug,仅列出最值得注意的:
| 常量 | 值(十进制,编译实际) | 注释十六进制 | 备注 |
|---|---|---|---|
组队_队员名称 |
824 (0x338) | 20c | 见 3.1,需实测定 |
无限视野 |
5388935 (0x523A87) | 0070CA8C | 注释错,已修正总表 |
玩家等级 |
10068 (0x2754) | 0x275C | 注释差 8,已修正总表 |
玩家门派 |
8176 (0x1FF0) | 0x1FF4 | 注释差 4,已修正总表 |
玩家正邪 |
9828 (0x2664) | 2A60 | 注释差很多 |
玩家目标X1 |
7460 (0x1D24) | 14DC | 注释差 2120(明显笔误) |
防具正邪/职业/等级 |
172/176/180 | a0/a4/A8 | 注释统一差 12 |
背包数量 |
3404 (0xD4C) | 4a0 | 注释差很多 |
普通动作call |
9820240 | 7A9430 | 注释差很多 |
游戏基址 |
51794064 | 03165090(被误读0xFFFF) | 注释解析误,实际对 |
综合/个人仓库金钱 |
51009480/84 | 0160D0FC/F8 | 注释差巨大(疑似作者把另一版基址当注释) |
| 其余(地面名称/怪上次Y/怪攻击中/打开NPC选项一/物品说明/气功点数/组队_窗口出现) | — | — | 注释偏移小差,均为笔误 |
综上:源文件「十进制值」整体可靠;其「注释十六进制」水分较大,核对时一律以十进制为准。
CE_对象分析_按总表.lua(已含双读)。C:\Users\Administrator\rxjh_obj_analysis.txt:名(0x20C) / 名(0x338) 出字 → 定 组队_队员名称 真偏移;常量.e.txt 与总表,其余字段若读出 0/乱码再单独重扫。verify_bases.py(同目录)—— 改完总表后再跑一次,应只剩「源文件内部矛盾」类提示,总表类错误归零。