使用说明
与软件内「使用说明」页同一份内容,查字段、查流程、查报错都在这里。想先听人话版,看 逻辑 1/2/3 大白话 和 自动售卖大白话。
唯一交流群:295941658 —— 卡密、安装包、问题反馈都在群里。
目录: 1 快速上手(功能 / 热键) · 2 明柱扫货 · 3 滚仓挂机(逻辑 1 / 2 / 3) · 4 仓库满探测 · 5 自动出售 · 6 悬浮层 · 7 日志文件 · 8 文件与目录 · 9 常见问题
1 快速上手
1.0 功能页,一个主按钮
2026-09-10 起界面按「单功能」和「组合挂机」分开。窗口下方只有一个主按钮,文字跟着当前页签走:在哪一页点「启动」就启动哪个功能;任一功能运行中按钮变红「停止 ××」。页签各管一件事:
| 页签 | 热键 | 做什么 | 参数从哪来 |
|---|---|---|---|
| 滚仓挂机 | F5 | 组合挂机:选一种逻辑(1 / 2 / 3 明柱为主;4 / 5 暗柱为主),买 → 卖 → 清卡 自动循环。 | 逻辑 1–3:买入参数读「明柱扫货」页,出售参数读「自动出售」页的 基础 + 「逻辑1–3 专用」块;逻辑 4–5:买入参数读「暗柱扫货」页,出售参数读 基础 + 「逻辑4–5 专用」块。本页只存逻辑选择。 |
| 明柱扫货 | F2 | 单功能:只按价格抢子弹。刷新次数到 → 原版清理卡顿;仓库满 → 刹车停机并提示手动出售,不会去卖。开跑首圈会取色判断这颗子弹有没有「兑换」键:有 → 沿用原坐标;没有(详情页少一行按钮)→ 购买键 / 数量条 / 均价读框 / 关面板判定 自动切到下移坐标,日志记「[布局] 本物品有/无兑换键」。 | 本页的 收藏栏位 / 子弹价格 / 刷新次数 / 延迟 / 特殊模式。 |
| 暗柱扫货 | F4 | 单功能:在子弹详情页探 8 根价格柱里的「暗柱」(无兑换键的低价档),11/31 发探针 → 拉满买入,精确累计花费 / 持仓均价。仓库满 / 余额低于停机余额 → 停止并提示手动出售,不会去卖。 | 本页的 收藏栏位 / 探价模式 / 价格区间 / 探针 / 停机 / 布局。 |
| 配装扫货 | F6 | 单功能:按配装方案整套买子弹(哈夫币总价÷数量=单价)。动作树与 Relink 7.4.2「单端滚仓」原文一致(每圈 L、圈尾 ESC),只买不卖。从仓库大厅开。 | 本页:配装方案 / 数量 / 价位差 / 固定价或档位 / 延迟 / 区服。 |
| 房卡扫货 | F7 | 单功能:按收藏栏位抢房卡 / 六套 / 收集品。动作树与 Relink 7.4.2「装备房卡收集品」原文一致。从交易行收藏页开。有兑换键的物品勾「有兑换按键」。 | 本页:价格 / 收藏栏位 1–6 / 购买次数 / 二次检测 / 档位 / 延迟 / 区服。 |
| 自动出售 | F3 | 单功能:把出售箱里的子弹卖光。只用「基础」块的参数;「滚仓挂机专用」两块在这时是灰的。 | 本页 基础 块。 |
收藏栏位(明柱 / 暗柱 页最上面的下拉,默认 第 1 格):收藏页里要扫的子弹在第几格,第一行左→右 1 2 3,第二行 4 5 6。两个宏每次从交易行进详情页都点这一格;两页各存各的,滚仓挂机按所选逻辑取对应页的值。
探价模式(暗柱页,三选一,默认「白天11发晚上31发」):探针买几发再读余额差算暗柱单价。11 发适合白天(少锁资金);31 发适合晚上(除出来更稳)。默认按本机时钟 6:00–18:00 用 11 发,其余时间用 31 发,跨过整点自动切、不用停宏。
各功能互斥:任一宏(F2 / F4 / F5 / F6 / F7)运行时 F3 按钮禁用;F3 运行时扫货入口禁用。悬浮层 / 使用说明 页签不改变主按钮指向(沿用上一个功能页)。
1.1 运行前提
- 游戏窗口 16:9(1920×1080 / 2560×1440 等),全屏或无边框全屏,不要缩放游戏 UI。所有坐标按屏幕万分比换算,非 16:9 会点偏。
- exe 同级目录必须有
macro\子弹扫货.json(明柱扫货宏,文件名沿用旧名)和OCR\(qiocr.dll + 模型)。缺 OCR 时启动日志会提示「OCR 模块未加载」,读价、售卖都不可用。 - 程序以管理员身份运行更稳(游戏若以管理员运行,普通权限的程序无法向它发送按键鼠标)。
- 运行中不要动鼠标键盘;需要接管时先按对应热键(F2 / F3 / F5)停止。
1.2 只买子弹(明柱扫货页,F2)
- 填「子弹价格」(低于此价才买)和「刷新次数」。按需勾「提前拖满子弹数量」,延迟一般不用改。
- 在明柱扫货页点下方「启动 明柱扫货 F2」。此时参数写入宏、配置保存到 exe 同目录的
倒弹配置.json,F2 热键开始监听。 - 切回游戏,进入 交易行 → 购买 → 弹药 页面,光标所在为目标子弹的列表页,按 F2 开始;再按 F2 停止。
- 仓库满时它会自己停下来,日志「[仓库满] 已停止明柱扫货(单独运行不出售),请手动出售后再按 F2 重新开始」。
1.3 只卖子弹(自动出售页,F3)
- 把要卖的子弹放在出售箱(默认第 1 箱,也可选 2-10 号箱分页)。
- 在自动出售页填好箱位置、定价方式(默认排队定价)、心理最低价(售卖位自动识别,不用填)。
- 切回游戏,进入 交易行 → 出售 页面,按 F3 开始;再按 F3 停止。
1.4 买卖循环挂机(滚仓挂机页,F5)
- 先按 1.2 / 1.3 把明柱扫货页和自动出售页的参数填好(滚仓页「来源」卡有「去修改」按钮直达)。
- 在自动出售页展开「滚仓挂机 · 逻辑1–3 专用」块,按需勾 弹性抬价 / 去卖的时机 / 空转保护 / 买价弹性。
- 滚仓挂机页选逻辑 1 / 2 / 3(见第 3 节),点「启动 滚仓挂机 F5」。
- 切回游戏,进入 交易行 → 购买 → 弹药,按 F5 开始;再按 F5 停止。
1.5 房卡 / 六套 / 收集品(房卡扫货页,F7)
- 在房卡扫货页填「价格」(等于或低于才买)和「收藏栏位」(1–6)。六甲 / 六头建议 60 万;房卡按作业填。
- 物品详情页有兑换键就勾「有兑换按键」(决定读价框高低)。二次检测默认开。
- 切回游戏,进入 交易行 → 收藏,点下方「启动 房卡扫货 F7」,再按 F7 开始;再按 F7 停止。
2 明柱扫货
「明柱」= 按购买窗直接显示的价格买。宏文件仍叫 子弹扫货.json,配置键也不变,只是界面改名。本节讲的一轮刷新,单独运行(F2)和滚仓挂机(F5)都一样。
2.1 一轮「刷新」在做什么
宏每一轮(=一次「刷新」)的动作:
- 找图判断当前页面:如果停留在弹窗 / 别的页就先 ESC 或点回弹药页。
- 点击列表里的目标子弹(打开购买窗)。等待购买窗出现(取色判断)。
- OCR 读购买窗右下的价格 →
检测价格。 - 若
200 ≤ 检测价格 ≤ 子弹价格:拉满数量条 → 鼠标移到「兑换」→ 再判一次价格 → 点兑换 → 进入「再次购买」连买循环:每 170ms 拉条、读价、价格仍合适就再点兑换,价格不合适就跳出。连买最多 10~20 次。 - 价格不合适或连买结束:弹字提示当前价格,等待「循环延迟」,ESC 关窗,等待「循环间隔」。
刷新 = 刷新 + 1。若刷新 == 刷新次数,进入 闭环分支:单独运行(F2)= 原版清理卡顿;滚仓挂机(F5)按所选逻辑(见第 3 节)。然后刷新 = 1。
单独运行时的仓库满:F2 单跑时仍做第 4 节的探测,但命中后不接自动出售——刹车跳出连买,停止扫货,日志和悬浮层提示「请手动出售后再按 F2 重新开始」。要自动卖请用滚仓挂机。
2.2 基础设置
| 字段 | 含义 | 建议 |
|---|---|---|
| 子弹价格 | 购买窗里读到的单价 低于 此值才点兑换。价格低于 200 视为读错,不买。 | 按当天行情填,宁低勿高。 |
| 刷新次数 | 刷新多少轮走一次闭环分支(单跑 = 清理卡顿;滚仓 逻辑 1 = 清理卡顿,逻辑 2 = 出售,逻辑 3 = 出售→清卡)。滚仓挂机下仓库满时不等这个数,直接快进到闭环分支。 | 原版默认 800;长时间挂机游戏会越来越卡,200~400 更保险。必须填整数。 |
2.3 特殊模式:提前拖满子弹数量
游戏购买窗显示的是当前所选数量的均价:数量条在 1 发时显示最便宜那一单的价格,拉到 200 发后按挂单簿重算,若低价单只有几十发,均价会跳高;而且游戏刷新这个数字有一百多毫秒延迟。
- 不勾(原版一比一):先看 1 发的价格 → 合适就拉满 → 立刻点兑换。最快,但均价跳高时可能买贵一点。
- 勾选:打开购买窗后先把数量条拉满 → 等「拉条后等待」毫秒 → 读 200 发的均价 → 合适才点兑换。多花约 130ms,价格准。
Relink 的「二次检测功能」(看价→拉满→再读一次价复核)在本软件里固定关闭:勾「提前拖满」时它是重复劳动,不勾时保持原版最快流程。
2.4 延迟设置
| 字段 | 含义 | 默认 |
|---|---|---|
| 循环延迟 | 一轮刷新结束、ESC 关窗之前的暂停(毫秒)。 | 0 |
| 循环间隔 | ESC 关窗之后、下一轮点子弹之前的暂停(毫秒)。机器慢、经常点空时加大到 50~120。 | 50 |
| 拉条后等待 | 只在勾「提前拖满子弹数量」时使用:拉满数量条后等多久再读均价(毫秒)。均价刷新慢的机器加大到 150~200。 | 130 |
3 滚仓挂机(逻辑 1 / 2 / 3)
3.0 滚仓挂机页在选什么
滚仓挂机页只存一件事:逻辑编号(配置里的 _roll.logic)。页面三张卡:① 逻辑选择——「明柱为主」逻辑 1 / 2 / 3,「暗柱为主」逻辑 4 / 5(暗柱宏没加载时主按钮灰);② 来源只读——逻辑 1–3 买入参数来自明柱扫货页、逻辑 4–5 来自暗柱扫货页,出售参数来自自动出售页(基础 + 对应专用块的一行摘要),各有「去修改」直达;③ 本次统计。逻辑切换即保存并同步到自动出售页(逻辑 1–3 时「逻辑1–3 专用」块可编辑,逻辑 4–5 时「逻辑4–5 专用」块可编辑)。宏运行中(F5 已开始)逻辑卡锁定。
闭环分支在两种情况下触发:刷新次数到,或 仓库满(第 4 节探测到「仓库空间不足」后快进过来)。三种逻辑的差别在于分支里做什么。
| 刷新次数到 | 仓库满 | |
|---|---|---|
| 逻辑 1(默认) | 清理卡顿 | 出售子弹 → 清理卡顿 |
| 逻辑 2 | 出售子弹 → 直接继续买 | 出售子弹 → 直接继续买 |
| 逻辑 3 | 出售子弹 → 清理卡顿 | 出售子弹 → 清理卡顿 |
3.1 「清理卡顿」是什么
S5 赛季后长时间刷交易行会让切页越来越慢。原版宏的处理是:ESC×2 退出交易行 → 点「大战场」→ 等 8 秒 → 空格 → ESC → 点回交易行 → 点购买 → 回到子弹页继续。整套约 20 秒。它只是清显存防卡,不会腾出仓库空间。
3.2 「出售子弹」是什么
宏暂停在闭环分支,C++ 侧接管:先按 ESC 退回交易行主页(顶部导航条 OCR 到「交易行」为止,最多 5 次)→ 点「出售」→ 跑一趟自动售卖(参数全部来自「自动售卖」页,见第 5 节)→ 点「购买」→ 交还宏。宏回到顶部后由找图逻辑自己点回弹药页。闭环里的售卖有上限:售位全满不等待直接交还(下次闭环再来)、生效最低价最多拦 5 次(勾了保底上架则直接按保底价挂),卖不出去也会交还,不会卡死买入。除了「刷新次数到」和「仓库满」,第三个进闭环的入口是「囤货触发」(见 5.7):囤够 N 发 / 市场价值得卖 / 距上趟够久 按你选的组合成立就停扫去卖;第四个是「空转保护」:连续 X 分钟一单没抢到也先去领一次收益。
要不要去卖,看有没有新货:一趟把出售箱卖光(「库存清空」)之后,「刷新次数到」先不去卖,直到扫货阶段又点过兑换(日志里的「兑换点击」增加)才恢复——买到了就去卖,没买到就不白跑。弹窗打不开、找不到出售页、回退门失败这类界面问题则冷却 5 分钟,同样一有新兑换立即恢复。仓库满永远不受这两条限制。日志会写「本次跳过:上一趟已把出售箱卖光,此后没有兑换到新子弹」或「扫货阶段兑换了 N 次新子弹 → 解除跳过状态,本次进入售卖」。注意「兑换点击」按点击计,兑换失败(差钱、价变)也会计入,最坏情况是多跑一趟发现箱空。
F5 停止(单跑为 F2):宏开启了 force_stop,按热键立刻中断当前动作(含清卡链里的「大战场→空格」),不会再把整套清卡放完。停止后日志打一行「[时间账单]」:本次运行里盯价扫货 / 闭环售卖 / 清卡各占多少分钟和百分比;扫货占比低于一半会提示调「刷新次数 / 循环间隔」。启用时也会按参数预估「约每 N 秒到一次刷新次数」。
3.3 三种逻辑逐步流程
逻辑 1:
刷新次数到 → 弹字「执行卡顿清理」→ 刷新=1 → 清理卡顿 → 继续买。
仓库满 → 刹车跳出连买 → 快进到闭环分支 → 弹字 → 出售子弹 → 清理卡顿 → 继续买。
适合:仓库大、卖不卖无所谓,只想防卡;仓库真满了才卖。
逻辑 2:
刷新次数到 / 仓库满 → 弹字「出售子弹后直接继续买」→ 出售子弹 → 刷新=1 → 直接继续买(清卡动作全部移除)。
适合:抢货节奏优先,每次省下约 20 秒清卡;卖得快就不会满仓。缺点:长时间不清卡游戏会变卡、OCR 变慢,发现变卡请换逻辑 3。
逻辑 3:
刷新次数到 / 仓库满 → 弹字「先卖光子弹,再清理卡顿」→ 出售子弹 → 清理卡顿 → 继续买。
适合:长时间挂机。买→卖→清卡→买 的完整循环。
切换逻辑后要重新点「启动」才写进宏。宏运行中(F5 已开始)改设置不生效,先 F5 停止;运行中改过的配置会在宏停止后自动补写,下一轮生效。
4 仓库满探测
- 每点一次「兑换」,
满仓连击+1。整整一轮没买到一发,连击归零(说明不是在连买状态)。 - 连击超过 30(固定值)后,之后的每一次兑换点击都会在 120ms 后 OCR 屏幕顶部提示条区域,文本含「空间不足」或「整理空间」即判定命中。
- 命中(滚仓挂机):置
满仓=1(连买循环顶部检查到就跳出),刷新 = 刷新次数 − 1,本轮结束时自然进入闭环分支 → 出售子弹(三种逻辑都会卖)→ 按所选逻辑决定是否清卡 →满仓=0、连击归零。 - 命中(明柱扫货单跑 F2):同样刹车跳出连买,但不快进、不卖,改为停止扫货并提示手动出售。
- 为什么是 30:仓库空间足够时连买 30 笔以上基本不可能触发提示,低于 30 不做 OCR 是为了不拖慢抢货节奏。
- 日志:探测时输出「[仓库满] 已过阈值,本笔兑换后识别顶部提示」,命中时输出「★★ 命中「仓库空间不足」」。
5 自动出售
5.0 页面的三块
| 块 | 内容 | 什么时候生效 |
|---|---|---|
| 基础 | 出售箱位置、定价方式(排队 / 价格区间 / 固定)、心理最低价、保底上架、插队容忍、上架后等收益、滞销下架、弹窗等待、自动领取。 | 永远:F3 单跑和滚仓挂机每一趟都用。 |
| 滚仓挂机 · 逻辑1–3 专用 | 弹性抬价 + 每发利润、去卖的时机(囤货触发三条件 + 组合)、空转保护、买价弹性 + 上限。折叠时显示一行摘要。 | 滚仓挂机页选逻辑 1 / 2 / 3 时可编辑并生效;F3 单跑时灰掉且这些字段按「关」处理(日志「单独运行:只用基础参数」)。 |
| 滚仓挂机 · 逻辑4–5 专用 | 去卖的时机(累计买到 N 发 / 自动 = 售位×200、余额低先卖回血)、清仓定价(挂 在售最低价−1 全场第一,只受 保本价 = (持仓均价 + 每发利润) ÷ 到手 保护;低于底线时 保底挂 / 放弃本趟 / 刷新等待)、追价、满仓常驻售卖(仓库满时守在出售页一趟接一趟——有空位就挂、有收益就领——直到卖出 ≥ 设定百分比的满仓持仓才放宏回去扫货;守满「最长」分钟还没达标就停机,不会放回购买环空转)。折叠时显示一行摘要和当前保本价。 | 滚仓挂机页选逻辑 4 / 5 时可编辑并生效;其它时候灰。 |
5.1 一趟售卖的流程
- 进门:读「上架数量 X/T」判断售位情况,处理滞销(见 5.3),领可领取的收益。
- 空位复核:读不到「上架数量」不再按配置猜空位,而是先页面守门(见 5.5)确认回到出售页;确认不了就结束本趟。售位全满就不选箱、不整理:F3 独立模式只等在售的卖掉(每 5 秒查一次,顺路领邮件);闭环模式不等待,直接交还买入(可领取在进门时已领过,5 秒内很少变化,闭环 30 秒左右就会再来)。
- 选箱 + 整理:出售箱位置 ≥ 2 时点左侧对应箱分页;点堆叠图标整理仓库,把散落子弹归到第一格。整理会在开始售卖前、每次上架成功后、每次下架成功后各做一次(日志会写「整理仓库(开始售卖前 / 上架后 / 下架后)」);闭环里售位刚满的那轮先交还买入,整理留到下一轮开窗前补做,避免白花几秒。整理时先看「全选」框是否已勾:已勾就不动它,没勾才点一下勾上(日志写「全选校验(第N次):已勾选→不动它 / 未勾选→点一下勾上」)。
- 开窗:像素判断第一格有货 → 点第一格打开上架窗 → 确认弹窗真的出现(读弹窗自己的「出售数量 / 使用售位 / 在售最低价」标签,最多 3 次共 1 秒)。第一格为空 = 库存清空,本趟结束;点了没弹窗则等 1 秒重试一次,仍没有就以「弹窗未打开」结束(不按 ESC、不再整理)。
- 读价:OCR「在售最低价」;排队定价模式再读弹窗 5 根柱子的价格标签 + 柱高(每档有多少发在排队,见 5.8);价格区间模式点对应柱子读柱价。
- 生效最低价:= max(心理最低价, 弹性抬价算出的价)(见 5.6)。市场价低于它 → 默认不挂,等 5 秒重读(闭环最多 5 次后放弃);勾了「保底上架」则不等不放弃,直接按「生效最低价 ± 幅度」挂出。
- 读数量:读「出售数量 出售量/剩余量」和「使用售位 x/N」。
- 定价:排队定价(默认)→ 在 ≥ 生效最低价 的候选里挑「前面排队 ≤ 插队容忍量」的最高价(见 5.8);价格区间 1-5 → 该柱价 ± 价格幅度;固定价格 → 用固定值。
- 数量条:目标 = min(空余售位×200,使用售位上限 N×200,第一格库存)——有几格空就挂几格,售卖位不再手填。先粗拖再用 +/− 按钮精调到目标。
- 写价:清空价格框、输入价格、核对。
- 收入守卫(排队定价 + 弹性抬价开着时):读弹窗「预期收入」→ 每发到手 = 预期收入 ÷ 数量。这个数同时校准「到手比例」(实测 ≈0.86,即 3% 保证金 + 10% 手续费);若每发到手 < 均价 + 每发利润 → 价格上调一档重写,最多 2 次,仍不够按现价挂并标「利润不足」。
- 上架:点「上架」,累计上架发数。
- 上架后循环:等结算(每秒读一次「上架数量」,到了预期值就走,最多 10 秒)→ 读售位 → 有可领取就一键领取 → 盯收益「上架后等收益」秒(默认 10,一有成交立刻领并重新计时)→ 整理(闭环模式下售位已满时跳过,下次开窗前再整理)→ 回到第 4 步,直到第一格为空。整理时若「全选」勾选框点了没变化,说明箱内已无物品,只点一次就收尾,不再重复三次。
5.2 参数设置
| 字段 | 含义 | 默认 |
|---|---|---|
| 售卖位 | 自动识别,不用填。进出售页读「上架数量 X/T」,T 就是本账号的售卖位(新号 5 格,指挥中心满级 15 格),有几格空就挂几格(1 格 = 200 发),再被「第一格库存」夹住,不会超卖。界面显示上次识别到的格数,日志写「识别到本账号售卖位 N 格」。 | 自动 |
| 出售箱位置 | 1 = 默认第 1 箱,不点分页;2-10 = 先点左侧对应箱子的分页,再点第一行第一格。 | 1 |
| 排队定价(推荐) | 定价方式三选一之一(默认)。读弹窗 5 柱的价格和每档挂单量,在 ≥ 生效最低价 的候选里挑「前面排队 ≤ 插队容忍量」的最高价:前面没人排 → 挂 最低价−1(全场第一);某一档前面只排几百发 → 挂到那一档多赚几十/发。柱子读不到时退回 最低价−1。详见 5.8。 | 选中 |
| 价格区间 | 1-5 = 点价格柱挂价:1 最低价 2 偏低 3 正常 4 偏高 5 最高,挂价 = 该柱价 ± 价格幅度。老办法,不看排队。 | 1 |
| 滞销下架轮数 | 0 = 关。连续 N 趟进出售页时「售位满且无可领取」(挂的一直没人买),且满足下面的「滞销分钟」→ 先全部下架,再按现价重挂。中途有成交就从 0 重数。 | 0 |
| 滞销分钟 | 距上一次上架或成交至少这么多分钟才算滞销;趟数到了但时间没到,计数停在阈值上等时间。0 = 只看趟数(旧规则)。闭环 11 秒一趟时 3 趟只有 45 秒,旧规则会每分钟下架重挂一次、自己砸价(09-03 日志:18 分钟 14 次,899 → 739)。 | 5 |
| 价格幅度 | 在选中柱价的基础上加价或减价再挂单。用「减价 / 加价」标签选方向,数值填正数。例:选中柱当前价 600,减价 30 → 挂 570;加价 20 → 挂 620。填 0 = 直接用柱价。5 个柱都生效。固定价格模式此项无效。 | 减价 0 |
| 心理最低价 | 绝对底线(原「最低售价」):不管市场怎样都不低于这个价挂。下面的弹性抬价只会把生效最低价抬高,不会低于它。 | 关 / 9999 |
| 弹性抬价:每发利润 | 市场好就多赚:生效最低价 = max(心理最低价, (本轮抢单均价 + 每发利润) ÷ 到手比例)。还没抢到子弹时按心理最低价。界面只读行实时显示「当前生效最低价 733 = (均价 600 + 每发利润 30) ÷ 到手 0.860」。每发利润同时用于买价弹性(买卖两侧同一个数)。见 5.6。 | 关 / 30 |
| 低于生效最低价也保底上架 | 市场价 < 生效最低价时不再等待/放弃,直接按「生效最低价 ± 幅度」挂出,保证售位不空着。用「减 / 加」选方向、填正数。例:生效最低价 750,减 20 → 挂 730;加 0 → 挂 750。减 = 接受低于最低价成交。保底单在售期间不做滞销下架。 | 关 / 减 0 |
| 固定价格 | 不看市场价,一律按固定价挂。市场价远低于固定价时会一直挂不出去,一般不建议。 | 300 |
| 去卖的时机(囤货触发) | 仅逻辑2/逻辑3。三个条件各自可勾:囤够 N 发(或自动 = 售卖位×200)/ 市场价 ≥ 生效最低价 / 距上趟售卖 ≥ M 秒;组合方式 全部满足 / 任意 2 项 / 任意 1 项。成立就停扫去卖;永远要求自上趟以来抢到过子弹。见 5.7。 | 三项都勾 / 200 发 / 60 秒 / 任意 2 项 |
| 空转保护 | 连续这么多分钟一单没抢到(市场死了 / 界面卡了)→ 提前走一次闭环去领收益(逻辑3 还清卡),然后继续扫。0 = 关。 | 10 分钟 |
| 插队容忍(发) | 排队定价:允许前面最多排这么多发。越小卖得越快(更常挂 最低价−1),越大赚得越多(更常挂到后面档位)。 | 2000 |
| 上架后等收益 | 上架后盯收益的秒数(10/20/30/40/50/60):连续这么久没有新成交就结束等待,一有成交立刻领取并重新计时。硬上限 2 倍。 | 10 秒 |
| 买价弹性 / 上限 | 扫货中每秒读买入页 8 根柱子找「厚市场价」(第一根挂单量够厚的柱),子弹买价 = (厚市场价−1) × 到手比例 − 每发利润,写进宏的买入条件。市场涨到 900 时 650 的甩卖单也能抢到;跌时立刻下调、涨时连续 3 次才上调(防追尖峰)。上限 > 0 时绝不超过。关 = 永远用扫货页填的价格。见 5.9。 | 关 / 0(不限) |
| 自动领取交易收益 | 每轮上架后查「当前有 N 笔交易可领取」,有则点钱标记一键领取 → 确认 → 空格回交易行。 | 开 |
| 弹窗等待 | 每一步等游戏界面刷新的时间(毫秒)。界面切换慢、经常读空就调大;开窗等待至少 1200。 | 800 |
5.3 滞销下架
进出售页时如果「上架数量」满且没有可领取的收益,视为这一趟无成交,滞销计数 +1;计数达到「滞销下架轮数」并且距上次上架/成交 ≥「滞销分钟」→ 逐条点第一行「下架」→ 确认 → 下到 0/T → 整理 → 按现价重挂。有成交(可领取 > 0,或上架数量减少)计数归零、计时重置。F2 / F5 开始扫货时计数清零。
下架的护栏(09-03 19:47 曾在下架里死循环 10 分钟):① 由「仓库满」触发的那趟不下架——下架是把子弹退回仓库,仓库满时游戏会拒绝;② 点了确认 3 次数量都不减 → 判定被拒绝,放弃本次下架并存诊断截图;③ 「上架数量」连续 3 次读不到 → 先按页面守门点回「交易行 → 出售」一次,仍读不到就放弃;④ 整个下架 90 秒上限;⑤ 只在确认看到「下架物品」弹窗时才按 ESC。
保底单不参与滞销下架。 交易行规则:上架时扣 3% 保证金,下架不退;售出后按 10% 收手续费。保底单本来就挂在市场价上方等市场回升,下架再重挂还是保底价,只白亏 3%。所以板上有保底单期间整板跳过滞销下架(日志「[滞销] 板上有保底单……跳过滞销下架」),只领收益;板清空(全部成交)后恢复正常。
5.4 双满等待(售位满 + 仓库满)
闭环由「仓库满」触发、进出售页却发现售位也是满的:买不进(每次点兑换都会弹「仓库空间不足」)、挂不上(没空位)、下架也退不回去。这时交还宏去买只会白点 30 次再撞一次仓库满。所以这趟改为留在出售页等:每 30 秒读一次可领取/上架数量,有邮件就领(领完售位就空出来),出现空位立刻按正常流程挂出去(仓库随之腾出空间,买入才能继续);最多等 10 分钟,仍无成交才交还(日志「双满等待放弃」)。本趟已经挂出过子弹则不进入等待,正常交还。
5.4b 停机条件
出售箱第一格检测为空(整理会把剩余子弹归堆到第一格)。F3 直接启动时会一直卖到清空;闭环模式受「售位满不等 / 低价拦 5 次」上限保护,会把控制权交还买入。
注意:请确认出售箱里放的是同一种子弹。程序只认位置,不认物品,箱里有别的东西会被一起挂上去。
5.5 防呆保护(2026-09-03 起)
| 保护 | 做什么 | 为什么 |
|---|---|---|
| 弹窗检测 | 点第一格后先确认上架弹窗真的在,才开始读价;没弹窗 1 秒内判定,不做整理重试。 | 以前第一格误判有货时要跑完 6+4 次读价、两次整理才放弃,一趟白花约 55 秒。 |
| ESC 守门 | 所有「关掉弹窗」的 ESC 之前都先确认弹窗存在;没有弹窗就不按。 | 交易行主页按 ESC 会退回大厅,后面的点击就全点在大厅界面上。 |
| 页面守门 | 「上架数量」读不到时:导航条不可见就 ESC(最多 2 次)收掉弹窗/详情页,然后点顶部「交易行」→「出售」,再读一次;还读不到就结束本趟并存诊断截图。 | 不再按配置栏位「猜」空位,避免在错误的界面上瞎点。 |
| 有货才卖 | 卖光后「刷新次数到」不去卖,直到扫货阶段有新的兑换点击;界面失败冷却 5 分钟、有新兑换立即恢复;仓库满不受限。 | 避免每个刷新周期都重复一趟注定空手的售卖,同时买到了就一定会去卖。 |
| 回退门复读 | 顶部导航条首读为空先等 0.5 秒复读,仍空才按 ESC。 | 画面过场时的空读不再触发盲按 ESC(在主页按 ESC 会退到大厅)。 |
| 下架有界 | 90 秒上限;确认 3 次不减 → 被拒放弃;读不到上架数量 3 次 → 页面守门一次;ESC 只在看到下架弹窗时按;仓库满触发的趟不下架。 | 09-03 19:47 下架被满仓拒绝后盲按 ESC 退到大厅,随后在大厅循环读空 10 分钟。 |
| 滞销看时间 | 趟数到了还要距上次上架/成交 ≥「滞销分钟」。 | 11 秒一趟的闭环里 3 趟 = 45 秒,旧规则 18 分钟内下架重挂 14 次、自己砸价。 |
| 双满等待 | 仓库满触发 + 售位满 → 留在出售页每 30 秒查邮件/空位,最多 10 分钟。 | 交还去买只会连撞仓库满;只有成交/领邮件能解开这个死锁。 |
| 热键立即停 | 宏 force_stop:每个动作前检查停止标志。 | 按 F2 / F5 后不会再把 20 秒清卡链放完(曾在停止后自动进入大战场排队)。 |
| 悬浮层避让 | 本机不能排除截屏时,售卖每次读屏前自动隐藏悬浮层,读完 0.3 秒恢复;宽度限制在屏幕 36% 内。 | 09-03 实测悬浮层的白字盖在仓库格子上,被当成「有子弹」。 |
5.6 最低价与利润:心理最低价 + 弹性抬价 + 保底上架
到手比例 r:交易行上架扣 3% 保证金(下架不退)、成交再扣 10% 手续费,实测每发到手 ≈ 挂价 × 0.86。程序每趟从弹窗「预期收入 ÷ 数量」把 r 校准一次,日志「[到手比例] 本趟弹窗实测 0.862」。
生效最低价 F = max(心理最低价, ⌈(本轮抢单均价 + 每发利润) ÷ r⌉)。「心理最低价」是你的绝对底线;勾了「弹性抬价」后,只要本轮抢到过子弹,F 就会按真实成本 + 你要的利润自动抬高,市场好时多赚、不再被一个写死的数字卡住。例:均价 600、每发利润 30、r=0.86 → F = ⌈630 ÷ 0.86⌉ = 733;心理最低价 650 → 生效 733;心理最低价 800 → 生效 800。还没抢到子弹时 F = 心理最低价。界面只读行实时显示这条算式。
保底上架:市场价 < F 时不刷新、不等待,直接按「F ± 幅度」写价上架,日志「保底上架:…(生效最低价−20)」,上架行末尾标「保底价」。减 = 挂得比 F 低一点、更容易成交;加 = 挂高一点等市场回升;0 = 按 F 原价。保底单在售期间整板不做滞销下架(下架不退 3% 保证金,重挂仍是保底价),只领收益;板清空后恢复。
价差提醒:启动时若 心理最低价 × r ≤ 买入价,日志提示「按心理最低价卖是亏的」并给出有利润的下限;开了弹性抬价则此提醒只针对还没抢到子弹的阶段。
5.7 囤货触发(去卖的时机)+ 空转保护
取代旧「高价触发」。旧做法「市场价 ≥ 最低售价就去卖」在市场一直高于最低价时会抢一单跑一趟,来回跑比卖得贵亏得更多。现在三个条件由你勾选、组合:
| 条件 | 含义 | 默认 |
|---|---|---|
| A 囤够 N 发 | 自上趟售卖以来抢到 ≥ N 发(1 次兑换 = 200 发)。勾「自动」= 售卖位 × 200(按上次识别的售卖位,没识别过按 5 格)。 | 勾 / 200 |
| B 市场价 ≥ 生效最低价 | 买入页读到的市场价 − 1 ≥ F,连续 2 次(防误读,且 ≤ 买价 5 倍)。= 现在去能卖上价。需要 心理最低价 或 弹性抬价 至少开一个(否则 F=0,B 永远不成立;启动日志会提示)。只开弹性抬价时,抢到第一单之后 B 才开始判定。 | 勾 |
| C 距上趟 ≥ M 秒 | 离上一趟售卖结束至少 M 秒。防来回跑。 | 勾 / 60 |
| 组合方式 | 全部满足 / 任意 2 项 / 任意 1 项。只勾 1 项时「任意 2 项」按全部处理;0 项 = 只按刷新次数到 / 仓库满去卖。只勾 B + 任意 1 项 = 旧高价触发(每抢一单就可能去)。默认「任意 2 项」:没设最低价时 B 恒不成立,靠 A(囤够)+ C(间隔)也能去卖;改成「全部满足」前请先开心理最低价或弹性抬价。 | 任意 2 项 |
- 永远的门禁:自上趟以来一单没抢到 → 不去(去了也没货卖)。
- 触发后:日志红字「[囤货触发] 囤够 800 发(≥800)且 市场价 741−1 ≥ 生效最低价 733 且 距上趟 75 秒 → 停止扫货,立即去卖」→ 宏这一圈快进到闭环分支 → 进出售页 → 趟内挂价按定价方式决定(排队定价会挑市场能接受的最高价,不再按写死的「最低售价 ± Y」直挂)→ 卖光或售位满后按所选逻辑交还。悬浮层「触发条件」一行实时显示三项的进度(✓ 囤 600/800 · 市场 741≥733 · 间隔 42/60s)。
- 空转保护:连续「空转保护」分钟一单没抢到(市场死了 / 界面卡了)→ 也走这条快进路径去领一次收益(逻辑3 还清卡),日志红字「[空转保护] 已连续 10 分钟没抢到一单 → 提前走一次闭环」。0 = 关。
- 参数建议:「刷新次数」调大(例如 300 ≈ 2.5 分钟)当保险;什么时候去卖主要由囤货触发决定。
5.8 排队定价(默认定价方式)
上架弹窗 5 根柱子:标签是每一档的价格上界,柱高是这一档有多少发在排队(程序按柱顶像素高度 × 最高柱的数量标签换算,误差 <1.5%)。挂在某档 = 排在这档所有人后面。
候选价:市场最低价−1(全场第一,前面 0 发)/ 各柱标签+1(插在下一档最前,前面 = 前几档的总量)/ 保底 F ± 幅度。挂价 = 候选里 ≥ F 且 前面排队 ≤ 插队容忍量 Q 的最高价。例:5 柱 659/679/699/719/739 各 21,949/7,219/17,877/38,017/20,583 发,Q=2000 → 658 前面 0 ✓,660 前面 21,949 ✗ → 挂 658;若柱 1 只有 1,200 发 → 660 前面 1,200 ✓ → 挂 660 多赚 20/发。候选全都 < F → 开了保底就挂保底价,否则刷新等待(闭环最多 5 次)。
柱子读不到(抓屏失败 / 数量标签 OCR 空)→ 本轮只剩 最低价−1 与保底两个候选,行为等同旧的「最低价−1」。悬浮层「决策」一行写清楚为什么挂这个价:「市场 659 ≥ 生效 656 → 挂 658 全场第一 · 600 发 · 预计到手 568/发」。
5.9 买价弹性(子弹买价跟随市场)
宏原来的买入条件是「检测价格 < 价格」,「价格」是 F2 时写死的。市场从 700 涨到 900 时,650 的甩卖单(低于市场 28%)永远不满足 < 600 → 抢不到。开「买价弹性」后:
- 扫货中每秒抓一次买入页 8 根柱子(纯像素,不占 OCR),厚市场价 T = 第一根挂单量够厚(≥ 最高柱 10% 且 ≥ 约 5000 发)的柱的价格;取最近 10 次的中位数抹掉误读/尖峰。
- 买价 B = ⌊(T−1) × r − 每发利润⌋,填了「上限」再夹住。写进宏的全局变量 $买入价(宏每次 F2 先等于表单价格;关弹性时二者永远相等)。
- 不对称跟随:T 下跌 → B 立刻下调(保护利润);T 上涨 → 连续 3 次都高于旧值才上调(防追尖峰)。
- 与卖侧是同一个公式的两面:按 B 买 → 均价 ≤ B → (均价+利润)/r ≤ T−1 = 市场现在能挂出的价 → 生效最低价永远不会高于市场、不会「算出的最低价挂在市场上方等死」。一个「每发利润」贯穿买卖两侧。
- 日志「[买价弹性] 厚市场柱 第4根(约 719)→ 买价 600 → 589(到手 0.862 · 利润 30)」;售卖页只读行「当前买价 589(厚市场价 719 · 到手 0.862 · 利润 30)」;悬浮层状态行加「买价 589」。悬浮层若盖住买入页柱状图区域会跳过读取并提示一次(拖开即恢复)。
6 悬浮层
2026-09-10 起改为轻悬浮层:游戏画面上置顶、鼠标穿透的一块全透明区域,没有底卡、没有边框、没有动画,只有带深色描边的文字(白字在亮画面上也能看清)。按「启动」后或 F3 出售期间显示,停止后自动隐藏。内容从上到下:
- 表头——左边是本次运行的日志文件名(
倒蛋大师_2026-09-10_083000.log,方便对照第 7 节),右边绿字状态:「● 滚仓中 · 逻辑3」「● 扫货中」「● 售卖中」。 - 进度行(黄字)——现在走到闭环的哪一步:「扫货 ▸ [囤货触发] ▸ 回交易行 ▸ 出售页 ▸ 开窗 ▸ 读价 ▸ 定价 ▸ 数量 ▸ 上架 ▸ 等收益 ▸ 回购买」,售卖趟内随步骤刷新。
- 决策行(绿字)——为什么这么做:扫货中显示囤货触发三项进度「触发条件(全部满足):✓囤 600/800 ·市场 741<745 ✓间隔 75/60s」;定价时显示「市场 659 ≥ 生效 656 → 挂 658 全场第一 · 600 发 · 预计到手 568/发」或「保底上架:…」「利润不足:…」。
- 最近日志——与窗口下方黑框相同的内容,最新一条在最下,行首灰色时间戳。红字 = 抢到子弹;绿字 = 决策类([囤货触发] / [仓库满] / [时间账单] / [空转保护]);其余白字。默认不显示 [调试] 行。长行最多占 2 行,再长截断。
为什么不卡了:旧版是半透明底卡 + 呼吸灯 + 每秒跳的时钟,系统每 40ms 重新合成一次画面,抢子弹的读价会被拖慢。新版满足四条硬规则:① 背景全透明但静止(不改窗口整体透明度);② 零动画——没有时钟、没有呼吸,只有内容变了才重画,且 250ms 内的多条合并成一次(每秒最多 4 次);③ 固定几何——宽 = 最大宽度% × 屏幕宽,高 = 字号 × 记录行数 + 表头,在改设置时一次算好,新日志到来不改尺寸不移动;④ 预渲染——整块文字先画进一张位图,重画只是贴一次图。
| 设置 | 说明 |
|---|---|
| 启用悬浮层 | 关掉后只保留窗口内日志。 |
| X / Y | 屏幕百分比。X 拉到最右 = 靠右自动对齐(右边留 12px)。拖动即时生效。 |
| 显示器 | 多显示器时放在哪块屏上(默认主屏)。 |
| 字号 | 10~72 像素,默认 20。预览随字号刷新。 |
| 记录行数 | 面板保留的日志条数 4~24,默认 12。行数越多面板越高。 |
| 不显示 [调试] 行 | 默认开。售卖的 OCR 原文、像素统计等 [调试] 行不上面板,只进日志文件。 |
| 仅配置文件 | 倒弹配置.json → hud 段:text 文字色、font_name 字体、max_width 最大宽度百分比(本机不能排除截屏时最多按 36 生效)。旧版的 bg / border / radius / alpha_min / alpha_max / bold / breath 读时忽略、保存时删除。 |
排除截屏:悬浮层会向系统申请「不出现在截屏里」(Win10 2004 及以上、有显卡驱动的机器都支持),这样程序自己的 OCR / 找图看不到它,放在哪里都不会干扰读价。启动时日志会写一行「悬浮层已显示:已排除截屏」。
本机不支持排除截屏时(虚拟机、基础显示适配器,日志写「Win32 错误 8」)自动启用两道兜底:① 售卖引擎每次读屏(OCR / 像素)前把悬浮层隐藏,读完 0.3 秒后再显示——连续读屏只闪一次;② 面板宽度限制在屏幕 36% 内,靠右放置时左边缘在 63% 以右,避开扫货宏读「仓库空间不足」提示条的区域(38%~62%)。扫货宏自己的读价/找图走的是原版解释器,不能隐藏悬浮层,所以仍建议悬浮层放右侧或上方,不要盖住价格区域。
不显示位置:悬浮层和所有日志文件都不会出现任何屏幕坐标 / 点击位置 / 识别框范围,只写「点了什么、读到什么、等了多久」。这是有意为之,不是缺项。
7 日志文件
| 文件 | 内容 |
|---|---|
倒蛋大师_年-月-日_时分秒.log | 主日志,每次启动程序新建一份,放在 exe 同目录,文件名就是启动时间(悬浮层表头显示的就是它)。开头三行:版本号、启动时间、配置文件路径;之后窗口下方黑框里的每一行都写进来([时:分:秒] 正文),红字「抢到子弹」行在文件里带 [买入] 前缀。启动参数、宏迁移、闭环接入情况、[仓库满] 探测/命中、[售卖]/[闭环售卖] 每一步的决策和读到的数字、结尾的「流程复盘」都在这里。排查问题先看它。不自动清理,不要的自己删。 |
售卖调试.log | 售卖的逐动作追踪(单文件追加,exe 同目录):每一次移动、点击、按键、拖动、OCR 原文、像素统计、等待,带毫秒时间戳,并按「步骤」标注(步骤1 开窗 / 步骤2 读价 …)。看某一步为什么走错就查这里。每次 F3 / 闭环售卖开始时写一个新的分节头。 |
sell_dbg_*.png | 售卖读价/读数量失败时保存的截图片段,用来确认 OCR 框位置是否正确。 |
三处输出(日志框、两个 .log、悬浮层)内容一致,且都不含屏幕坐标:点击写的是目标名(「点左侧第2号箱分页」「点上架」),识别写的是读到的文字和用时。同一条消息在写入前还会再过一次坐标过滤,作为兜底。
看「流程复盘」:每趟售卖结束都有一行:结束原因、最远到达的步骤、选箱是否点过、整理/开窗/上架次数、售位满等待和低价拦截次数、上架数量读空 / 无弹窗 / 页面守门次数、用时。若「开窗 0 次」,说明读价/定价/拖条/上架都没执行,原因在「结束原因」里(通常是售位满或第一格为空)。
扫货侧的计数行:每次进入闭环分支写「[闭环] 第 N 次进入闭环分支(刷新次数到 / 仓库满)—— 本次扫货:兑换点击 … 闭环 … 清卡 … 闭环售卖 … 趟」;逻辑 1/3 每次真正执行清卡写「[清卡] 第 N 次执行清理卡顿」;F2 / F5 停止时再写一行本次统计。这样逻辑 1 的「刷新次数到 → 只清卡」也有日志可查,不再是宏内部静默执行。
抢到子弹(红色高亮):每买到一批子弹就写一条醒目红字:「抢到子弹 ×N 笔 @价格(累计 M 笔)当前均价:P」。价格是命中时读到的买价;「N 笔」是这 0.25 秒内新增的兑换次数、「累计」是本次扫货至今的总笔数、「当前均价」是本次扫货所有有价兑换的平均买价。时间由日志框 / 悬浮层统一加在行首,行内不再重复。每笔兑换买到多少「发」按数量条拉满 200 发计,状态行与「时间账单」里的「买到约 N 发」都是这么算的。
初始哈夫币 / 运行时间:按 F2 / F5 开始扫货的第一圈,宏先把鼠标移到游戏右上角的货币图标上悬停 0.7 秒,等提示框浮现后识别「哈夫币」那一行的数字,只写进日志「初始哈夫币:3,593,915」(读失败写「初始哈夫币读取失败:提示框 OCR 原文=…」)。主窗口标题栏固定为「倒蛋大师」。从打开软件起累计总运行时间(关掉再开会接着累加),只写日志:启动、停机、退出各记一行,挂机中每满 10 分钟再记一行。不影响扫货。要求:按热键时游戏停在交易行或大厅(右上角能看到货币图标)。
8 文件与目录
| 路径 | 说明 |
|---|---|
macro\子弹扫货.json | QuickInput 格式的扫货宏。旧格式(2025-7 版)首次加载会自动迁移延时/循环字段并备份为 .legacy.bak。 |
OCR\qiocr.dll + 模型 | 读价 / 读数量 / 顶部提示的 OCR 引擎。缺失时 F2 会跑但读不到价,F3 直接拒绝启动。 |
倒弹配置.json | 全部界面设置,放在 exe 同目录。点「启动」或改动售卖页字段时自动保存。旧版的 扫货配置.json 首次启动自动改名接管;旧版的 _autosell / _cleanup_on / _loop_mode 会自动换算成 _roll.logic(滚仓挂机逻辑);出售页「逻辑1–3 专用」块的字段从 _sell 搬到 _sell_scan,_sell_dark 存「逻辑4–5 专用」块,products.暗柱扫货 存暗柱扫货页的参数。首次迁移日志会写「配置已迁移」。 |
9 常见问题
双击打不开 / 一闪就没。 查同目录是否有别的实例(任务栏托盘),或者同目录的日志里最后几行。单文件版不需要任何 Qt DLL。
按 F2 / F5 没反应。 先在对应页签点了「启动」没有?窗口下方状态行要显示「●」运行态;F2 对应明柱扫货页、F5 对应滚仓挂机页,按错热键不会响应。游戏若以管理员运行,本程序也要以管理员运行。
一直「检测价格>设置价格」不买。 正常,说明没有低于目标价的货。若价格明显读错(0 或很离谱的数),检查游戏是否 16:9、UI 缩放是否 100%、OCR 目录是否完整。
买贵了。 勾「提前拖满子弹数量」,必要时把「拉条后等待」加大到 150~200。
点子弹经常点空 / 打不开购买窗。 加大「循环间隔」到 80~150。
到了刷新次数只弹字不清卡,又回去买了。 旧版宏文件的延时字段是老格式,本版启动时会自动迁移;日志里应有「宏格式已迁移」。如果没有,删掉 macro\子弹扫货.json.legacy.bak 后重新放入原宏再启动。
仓库满了没卖。 看日志有没有「[仓库满] 已过阈值」——没有说明连买没超过 30 笔(中途有一轮没买到就归零)。有探测没命中说明顶部提示 OCR 没读到关键字,看日志里的 OCR 原文。
售卖只挂了 400 发。 第一格这一叠只有 400 发,或者只剩 2 格空位(1 格 = 200 发)。售卖位是自动识别的,看日志「识别到本账号售卖位 N 格」和「剩余售位 X/T」。
日志说「[价差提醒] 心理最低价 … 按心理最低价卖是亏的」。 心理最低价要调到 买入价 ÷ 0.86 之上(3% 保证金 + 10% 手续费);或开「弹性抬价」让程序按 均价 + 每发利润 自动抬价。
扫货中一直不去卖。 看悬浮层「触发条件」一行:三项哪项没 ✓。囤够 N 发填太大 / 市场价一直低于生效最低价 / 间隔没到;或者组合方式改成「任意 2 项」。刷新次数到、仓库满、空转保护 仍会照常去卖。
抢一单就跑去卖。 「去卖的时机」只勾了「市场价 ≥ 生效最低价」且组合是「任意 1 项」——这等于旧「高价触发」。把「囤够 N 发」和「距上趟」也勾上、组合改「全部满足」。
挂了保底单一直没成交。 这是预期:保底价高于当前市场价,等市场回升。想快点成交就把保底幅度改成「减」,或关掉保底上架让售位空着等价。
售卖没点箱子分页。 售位满的那趟不选箱、不整理,直接等在售卖掉;日志「流程复盘」里会写「第 N 号箱分页未点(没走到开窗)」。有空位后才会选箱。
售卖一直「售位满等待」。 在售的没人买。开「滞销下架轮数」让它下架重挂(注意下架不退 3% 保证金),或把「插队容忍」调小(更常挂 最低价−1)/ 把「每发利润」调小 / 关掉「心理最低价」。
日志里「[下架] 游戏拒绝下架」。 仓库没有空位放回子弹。等在售的卖掉一部分(或手动腾仓库)再让它下架;由「仓库满」触发的售卖趟本来就不会去下架。
日志里「[双满] 第 N 次等待」很久。 售位和仓库同时满,程序在等成交/邮件,这是唯一能解开的方式;想快点,手动降价或清仓库。10 分钟没动静会自动交还。
下架重挂太频繁,价格越挂越低。 把「滞销分钟」调大(默认 5),或加大「滞销下架轮数」;两者同时满足才会下架。
F3 按了软件没动作。 状态栏若显示「F3 热键注册失败」,说明别的软件占用了 F3,用页面上的按钮启动。
售卖后游戏跑到大厅去了。 旧版在没弹窗时也按 ESC,交易行主页的 ESC 会退到大厅。现在 ESC 前都先确认弹窗存在,读不到「上架数量」时会自己点回「交易行 → 出售」;若日志仍出现「[页面守门]」,说明界面曾经跑偏,看它前面几行的 OCR 原文。
闭环售卖每次都「弹窗未打开 / 库存清空」白跑。 出售箱里没货或箱位选错。卖光后程序只在扫货阶段又点过兑换时才再去卖(界面失败则冷却 5 分钟,有新兑换立即恢复;仓库满仍会卖);请核对「出售箱位置」和箱内是否有子弹。
明明买到了子弹,日志却说「本次跳过」。 2026-09-03 18:22 之前的版本用固定 5 分钟冷却,不看有没有新买入,已修:现在跳过与否只看「兑换点击」是否增加。若仍出现,看日志里「兑换点击 N → M」两个数是否相同——相同说明扫货阶段确实没点到兑换(价格一直高于设定,或按钮位置不对)。
扫货时间占比很低,老是在卖 / 清卡。 刷新次数太小或循环延迟为 0。启用时日志会算「约每 N 秒到一次刷新次数」,停止时「[时间账单]」给出三段占比;把刷新次数调到提示的建议值(≈ 2 分钟一次闭环)或加循环间隔。
悬浮层一闪一闪。 本机不支持排除截屏,售卖读屏时自动隐藏、读完恢复,属正常兜底;不想看到可关闭悬浮层。
关掉悬浮层后抢子弹明显变快。 旧版(2026-09-10 前)的悬浮层带呼吸灯和每秒跳的时钟,系统要持续重新合成画面,买子弹的读价会被拖慢。新版轻悬浮层没有任何动画,只在有新内容时重画(250ms 合并一次),尺寸固定,正常情况下开关悬浮层的抢货速度差别应在 5% 以内。若仍明显变慢,多半是本机不支持「排除截屏」的远程虚拟显示环境(ToDesk 虚拟显示器等),扫货时关掉悬浮层即可。
按 F2 仓库满了就停了,没去卖。 这是明柱扫货单独运行的设计:单功能不接自动出售,停机并提示手动出售。想让它自动卖请到「滚仓挂机」页选逻辑 1 / 2 / 3,用 F5 启动。
自动出售页有两块是灰的。 「滚仓挂机 · 逻辑1–3 专用」只在滚仓挂机页选了逻辑 1–3 且 F3 没在单跑时可编辑;「逻辑4–5 专用」同理只在选了逻辑 4–5 时可编辑。F3 单跑只用「基础」块。
售卖参数冲突拒绝启动。 「价格区间 1-5」和「固定价格出售」只能选一个。
登录成功后弹「发现新版本」。 卡密通过之后,如果服务器上有比本机更新的版本,才会弹出。非强制更新可点「立即更新」或「稍后再说」。强制更新会弹出后立刻自动下载(进度条直接走,不必再点按钮),关掉窗口即退出。下载完成后会关闭本程序、覆盖为新版并重新打开(文件在 %LOCALAPPDATA%\倒蛋大师\update\,装完自动删除;新版起来还要再登一次卡密)。下载失败可点「重试」;一直失败请检查网络或联系群主取安装包。
日志里没有「初始哈夫币」或写了读取失败。 按热键时游戏不在交易行 / 大厅,或右上角货币图标被弹窗盖住,提示框没出来。停止后回到交易行再按热键即可;金额只记日志,不影响买卖。