Skip to content

Repository files navigation

简体中文 | English

BazaarPlusPlus Auto Gumballs

Verify Release License: MIT

一个附加在 BazaarPlusPlus 上的《The Bazaar》口香糖机事件自动化 Mod。按一次按钮,它会根据可用空间选择领取 1 个或 5 个口香糖,自动卖掉普通口香糖腾出位置,然后继续操作,直到事件额度用完。

功能

  • 自动识别 Gumball Machine 事件和剩余数量(最多 10 个)。
  • 至少有 5 个空位并且有 5 金币时,优先选择 Get 5 Gumballs
  • 空间或金币不足以领取 5 个时,自动改选 Get a Gumball
  • 依次出售 Blue、Green、Red、Yellow Gumball,正常触发游戏的出售效果。
  • 即使只有 1~3 个空位,也能循环执行“领取 → 出售 → 继续领取”。
  • 提供右侧 Auto Eat 按钮和可配置的 F8 快捷键。
  • 每次操作都会等待服务端响应,并带有超时和步骤上限保护。
  • 不会出售 Bubble Gum、已有的普通物品或口香糖机的稀有奖励。

运行要求

  • Steam 版《The Bazaar》。
  • 已正确安装 BepInEx
  • 已安装 BazaarPlusPlus 4.x。
  • Windows 10/11。

游戏或 BazaarPlusPlus 更新可能改变内部接口。若更新后 Mod 失效,请先查看故障排查部分并附上日志反馈。

安装与更新

  1. v2.0.0 Release 下载 BazaarPlusPlus.AutoGumballs-v2.0.0.zip

  2. 完全退出游戏。

  3. 解压 ZIP,把 BazaarPlusPlus.AutoGumballs.dll 复制到:

    <The Bazaar>\BepInEx\plugins\
    

    常见 Steam 路径:

    D:\SteamLibrary\steamapps\common\The Bazaar\BepInEx\plugins\
    
  4. 如果目录中已有旧版同名 DLL,直接覆盖。

  5. 启动游戏;BepInEx 日志中应出现 BazaarPlusPlus Auto Gumballs 2.0.0 loaded

卸载时,退出游戏并删除 BepInEx\plugins\BazaarPlusPlus.AutoGumballs.dll 即可。

使用方法

  1. 正常进入 Gumball Machine(口香糖机)事件。
  2. 点击屏幕右侧的 Auto Eat 按钮,或按 F8
  3. Mod 会优先处理背包和储藏区中已有的四种普通口香糖,然后开始领取新口香糖。
  4. 有 5 个可用格子且金币足够时一次领取 5 个;否则每次领取 1 个。
  5. 每轮领取后自动出售普通口香糖,再继续下一轮,直到剩余数量为 0。

自动化会在以下情况安全停止:

  • 金币不足。
  • 游戏或服务端在设定时间内没有确认操作。
  • 背包和储藏区均无空位,而且没有可出售的普通口香糖。
  • 离开口香糖机事件或事件选择发生异常变化。

特殊奖励保护

口香糖机有小概率给出 CouponRaffle TicketSkill Voucher 等非普通口香糖奖励。本 Mod 默认保留这些物品,不会为了继续循环而出售它们。

如果特殊奖励占据了最后一个空位,自动化会显示 Stopped: No free slot。请手动整理空间后再次按 F8

配置

首次启动后,BepInEx 会生成:

<The Bazaar>\BepInEx\config\BazaarPlusPlus.AutoGumballs.cfg
配置项 默认值 说明
Enabled true 启用或停用 Mod。
ShowButton true 在口香糖机事件中显示按钮。
IncludeStash true 同时扫描主背包和储藏区。
PreferFiveWhenPossible true 空间和金币允许时优先领取 5 个。
Hotkey F8 一键自动吃糖快捷键。
CommandDelaySeconds 0.15 游戏命令之间的最小间隔。
InteractionTimeoutSeconds 10 单次交互等待服务端确认的超时。
RightOffset 24 按钮距离屏幕右侧的位置。
TopOffset 118 按钮距离屏幕顶部的位置。

修改配置后建议重新启动游戏。

安全设计

  • 只调用游戏原生 SelectEncounterCommandSellCardCommand
  • 不直接修改存档、金币、属性、背包或事件计数。
  • 每条命令等待游戏恢复可交互状态后才继续。
  • 仅匹配四种普通彩色口香糖,避免误卖其他物品。
  • 遇到超时、拒绝响应或 40 步安全上限时立即停止。

从源码构建

需要 .NET SDK 8,以及本机已经安装的游戏、BepInEx 和 BazaarPlusPlus。仓库不会提供或下载游戏程序集。

使用 MSBuild 参数指定游戏目录:

dotnet build .\src\BazaarPlusPlus.AutoGumballs\BazaarPlusPlus.AutoGumballs.csproj `
  -c Release `
  -p:GameDir="D:\SteamLibrary\steamapps\common\The Bazaar"

也可以设置环境变量:

$env:THE_BAZAAR_DIR='D:\SteamLibrary\steamapps\common\The Bazaar'
dotnet build .\src\BazaarPlusPlus.AutoGumballs\BazaarPlusPlus.AutoGumballs.csproj -c Release

运行不依赖游戏文件的逻辑检查:

dotnet run --project .\tests\BazaarPlusPlus.AutoGumballs.Verifier\AutoGumballs.Verifier.csproj -c Release

预期输出:Auto Gumballs checks passed: 21

故障排查

没有显示按钮

  • 确认已经进入 Gumball Machine 事件,而不是普通商店或同名物品界面。
  • 确认配置中的 EnabledShowButtontrue
  • F8 测试快捷键。

按钮显示但自动化停止

  • 检查金币和可用空间。
  • 查看按钮上的英文状态文字,例如 Not enough goldNo free slotTimed out
  • 稀有奖励占满最后一个空位时需要手动整理背包。

Mod 没有加载或游戏更新后失效

打开:

<The Bazaar>\BepInEx\LogOutput.log

搜索 BazaarPlusPlus Auto GumballsErrorException。提交 Issue 时请附上相关日志片段、游戏版本、BazaarPlusPlus 版本和复现步骤,不要上传包含私人信息的完整日志。

免责声明

本项目是非官方社区 Mod,与 Tempo Storm、The Bazaar 或 BazaarPlusPlus 的作者无隶属或认可关系。使用 Mod 可能受到游戏服务条款及后续更新影响,请自行承担使用风险。

License

本项目使用 MIT License

About

One-click Gumball Machine automation for The Bazaar and BazaarPlusPlus.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages