← 返回总索引是否是队长 · 判断子程序(0928)🔑 卡密引导09_组队与队员/是否是队长_0928_代码.html

是否是队长 · 判断子程序

热血江湖 YGOnline.exe · 2026-09-28 · 依据队员基址 0x03BF7E18(62881304)/ 队长标志 +864(0x360)
找别人是队长→假;找不到→自己即队长(含单人)
判定原理你已有等价版 自己是队长,本份为规范修正版
队员表 8 槽只存"其他队员"(不含自己)。遍历每槽:有效队员(对象+816=1)且 队长标志(对象+864=1) → 队里有别人是队长 → 返回 假。
遍历完没有任何"有效且是队长"的槽 → 自己就是队长 → 返回 真。
语义提醒:单人(8 槽全空/全无效)也返回真,即"单人即队长"——这是热血江湖设定(队伍总得有队长)。所以"是否是队长=真"≠"我在带一支队伍",想区分用下方的 真队长。
① 常量(填进工程常量表;已有不必重复加)
.常量 队员基址, "62881304"        ' 0x03BF7E18,队员表基址(0927定稿 / 0928仍有效)
.常量 队员有效标志, "816"         ' +0x330,1=真实队员
.常量 队长标志值, "864"           ' +0x360,1=队长
② 是否是队长(核心判定)
.版本 2
.子程序 是否是队长, 逻辑型, , 遍历队员表,任一有效队员带队长标志=1→别人是队长→假;否则自己即队长→真(含单人)
.局部变量 队员对象, 整数型
.局部变量 i, 整数型
.如果真 (全局_进程句柄 ≤ 0)
返回 (假)
.如果真结束
.计次循环首 (8, i)
队员对象 = 内存_读整数型 (全局_进程句柄, #队员基址 + 4 × (i - 1))
.如果真 (队员对象 ≤ 65536)
到循环尾 ()
.如果真结束
.如果真 (内存_读整数型 (全局_进程句柄, 队员对象 + #队员有效标志) = 1 且 内存_读整数型 (全局_进程句柄, 队员对象 + #队长标志值) = 1)
返回 (假)
.如果真结束
.计次循环尾 ()
返回 (真)
③ 真队长(辅助:区分单人 vs 真带队)
"是否是队长"在单人时也返回真。若你要的是"我确实在带一支队伍",用下面这个——已组队 且 是队长,排除单人状态。
.版本 2
.子程序 真队长, 逻辑型, , 已组队 且 是队长;单人状态不计入
.如果真 (是否已组队 () = 假)
返回 (假)
.如果真结束
返回 (是否是队长 ())
④ 用法一:接进队长自动组队调度
.如果 (是否是队长 ())
.如果真 (取列表名单文本 () = “”)
返回 ()
.如果真结束
.如果真 (自动组队.选中 = 假)
自动组队.选中 = 真
接受组队.选中 = 假
写日志 (自定义时间 () + “自己是队长,自动开启自动组队” + #换行符)
.如果真结束
.否则
.如果真 (自动组队.选中 = 真)
自动组队.选中 = 假
自动组队停止 = 真
写日志 (自定义时间 () + “自己已不是队长,关闭自动组队” + #换行符)
.如果真结束
.如果结束
⑤ 用法二:队长掉线后重开招人
队长掉线→整队解散→8槽清空→自己即队长(单人)→判定成立→开自动组队再招,这就是"重新开启组队"。
.如果 (是否是队长 () 且 是否已组队 () = 假)
自动组队.选中 = 真
写日志 (自定义时间 () + “检测到单人/掉线后,自动重新开队招人” + #换行符)
.如果结束
⑥ 与你现有 自己是队长 的关系建议整体替换
你 队长自动组队_0928.txt 里的 自己是队长 逻辑等价(找到有效+队长标志的槽即返回假)。本版两处改进:
① 空槽阈值 0 → 65536:原版用 队员对象 ≤ 0 判空槽,低位野指针(1~65536)会漏判;本版与 是否已组队 统一,更稳。
② 守卫改 全局_进程句柄 ≤ 0:原版额外读 #人物基址值 做守卫,本版去掉对人物基址的依赖,未连接进程直接返回假。
名字上 自己是队长 / 是否是队长 等价,选一个用即可,别两个都留以免混淆。
⚠ 注意事项两个坑
1. CE 桥位数坑:0x03BF7E18 在 64 位 CE 下 readInteger 返回 nil,必须挂在 32 位 CE(D:\登录源码数据存储账号\CE+调试V7.6\csrss.exe)上读,否则 是否是队长 永远返回真(读不到槽=全空=判为自己是队长)。
2. 基址平移风险:#队员基址 属"绝对地址"类,EXE 大版本更新可能平移。判定异常时跑 是否已组队_0928.txt 里的 队员表体检 确认基址没失效。
代码块行首零缩进,可直接整段粘贴进易语言 IDE(IDE 会自动按 如果/循环 加缩进)。
热血江湖助手 · 分析资料站← 报告总目录助手主页