日期:2026-10-06<br>工程:D:\AI空间\rxjh\旧版本更新.代码(文本工程,主本)<br>改动文件:代码/窗口程序集_MainDialogWnd.form.e.txt(12589 → 12596 行,净 +7)<br>编译源:D:\AI空间\rxjh\旧版本更新_修复后.e(2,729,649 字节)<br>备份:旧版本更新.代码.bak_名单按人分目录_20261006_1528(改动前)
组队名单和仇人名单都写在同一个共用文件里:
程序目录\Default.ini
[组队名单] list = 张三/李四/
[仇人名单] list = 王五/
路径变量 默认配置文件路径 = 全局目录 + "\Default.ini"(第 20 行,窗口创建时就赋值)。
问题:多开挂机时所有角色共用一份名单。A 号的组队名单和 B 号混在一起,互相覆盖。
组队名单改为存到当前角色名对应的文件夹下,独立成一个文件:
程序目录\<角色名>\组队名单.ini ← 新增
[组队名单] list = 张三/李四/
和工程里原有的这两个文件同级,风格一致:
程序目录\<角色名>\UserConfig.ini (角色主配置,原有)
程序目录\<角色名>\购买物品列表.ini (购买列表,原有)
路径直接用工程里已有的全局变量 角色配置文件路径(= 全局目录 + "\" + 全局_人物名称),<br>没有引入任何新的路径拼接写法,也没有新增子程序。
仇人名单按要求保持原样不动,仍在 Default.ini 里(回归抽查确认 4 处读写点未变)。
| # | 位置 | 改动 |
|---|---|---|
| 1 | 组队列表框1读取配置文件(11234 行) | 改读 角色配置文件路径\组队名单.ini |
| 2 | 组队列表框1保存配置到文件(11276 行) | 改写到同一路径 |
| 3 | 组队列表框1删除名字(11326 行) | 改读写同一路径 |
三处都是同一行:
' 改前
名单文件 = 默认配置文件路径 + “\组队名单.ini”
' 改后
名单文件 = 角色配置文件路径 + “\组队名单.ini”
读取函数改后的完整形态(不留任何迁移逻辑):
名单文件 = 角色配置文件路径 + “\组队名单.ini”
临时文本 = 读配置项 (名单文件, “组队名单”, “list”, )
.如果真 (临时文本 = “”)
组队列表框1.清空 ()
返回 ()
.如果真结束
名单数组 = 分割文本 (临时文本, “/”, )
...
角色配置文件路径(时机核查)怕的是「路径还没赋值就拿来拼路径」。核查结果:所有读写点都在赋值之后。
| 事实 | 位置 |
|---|---|
角色配置文件路径 = 全局目录 + "\" + 全局_人物名称 | 2546 行,读完角色名后立即赋值 |
唯一的非按钮读写点:组队列表框1读取配置文件 () | 920 行,在 _功能检测时钟_周期事件 内 |
功能检测时钟.时钟周期 = …(开启该时钟) | 2559 行,晚于 2546 |
其余读写点:_组队名单添加_被单击、_组队列表框2_列表项被选择、_组队列表框1_双击选择 | 11154 / 11176 / 11210,全是界面按钮事件 |
另外角色目录不需要新写创建逻辑:读取设置 的 .默认 分支本来就会 创建目录 (角色配置文件路径)(2998 行),<br>而 读取设置 () 在 2551 行(紧随 2546)就被调用。目录创建早于一切名单读写。
旧 Default.ini 里的组队名单不会自动搬过来,需要你手工在新文件里重新加一次(或把旧的 Default.ini 里的<br>[组队名单] list= 那一行内容复制到 程序目录\<角色名>\组队名单.ini 的同名节里)。
旧 Default.ini 不删除,原样留在程序目录,随时可查。
好处是逻辑最干净:读就是读、写就是写,不存在「旧数据什么时候会冒出来」的疑问,<br>也不会出现「界面上清空名单后下一个检测周期旧名字又回来」这类幽灵名单问题。
| 步骤 | 结果 |
|---|---|
| 字节级写入 | UTF-8 BOM ✓ / CRLF 12,595 / 裸 LF 0 ✓ |
| 锚点断言 | 每处改动前断言「锚点唯一 + 区间内容完全匹配」,全部命中 1 处 ✓ |
| 块结构配平 | .如果/.如果真/循环/判断 全部闭合 ✓ |
| t2e 回转 | SUCC,18,471 条日志全 [信息],0 错误 0 警告 ✓ |
| e2t 往返 | 组队列表框1保存配置到文件、组队列表框1删除名字、防杀列表框1保存到配置文件 0 差异;组队列表框1读取配置文件、防杀列表框1读取配置文件 各差 2 行,均为 名单数组 的数组声明写法(, 文本型, , "0" ↔ , 文本型, "0")——原有代码被 e2t 归一化,语义等价 ✓ |
| 残留清零 | 取名单目录 0 处、文件是否存在 (名单文件) 0 处、默认配置文件路径, "组队名单" 0 处 ✓ |
| 范围确认 | 全工程搜 组队名单 只落在 3 个名单子程序 + 2 个子程序名/编辑框名上,无遗漏点 ✓ |
| 历次修复回归 | 取窗口进程ID_API、读整数_包、是否是集魂珠、等待离开原地、3 轮重试、正邪判断、凝神珠名单 8 项带空格 —— 全部在位 ✓ |
F7 真实编译未代跑:检查进程发现游戏 YGOnline.exe 有 2 个实例在运行(你在挂机),<br>自动编译探针要抢前台焦点约 1 分钟,按键可能落到游戏窗口上、挂机角色会站着挨打。<br>请你用易语言打开 旧版本更新_修复后.e 按一下 F7,若报错把错误信息发我。
点界面上的「添加名单」按钮,日志会打出保存路径:
张三/名字保存到路径 D:\...\程序目录\你的角色名\组队名单.ini
看到路径里带角色名文件夹就对了。也可以直接去程序目录下找那个以角色名命名的文件夹,<br>里面除了原有的 UserConfig.ini、购买物品列表.ini,会多出一个 组队名单.ini。
其它还留在共用位置的配置(如程序根目录的 喊话列表.ini),如需按角色分开,照这个模式:<br>把路径变量换成 角色配置文件路径 + "\xxx.ini",读写处一并换掉即可,无需新增子程序。