Skip to content

Repository files navigation

GTAOL Dre Helper

这是一个帮助 GTA Online 玩家利用德瑞 bot 直接开“别惹德瑞”任务终章时自动执行“卡CEO“和“卡单”操作的小工具。

TUI 截图

环境要求

  • 操作系统:Windows 11 (x64)
  • 终端:Windows Terminal
  • GTA5 增强版(传承版未测试,如果游戏 UI 类似也许也能用)

功能

卡 CEO

开始匹配差事后,通过 OCR 识别屏幕右下角的文字,当检测到已加入人数 >=2 时,自动执行预设的按键操作注册为 CEO。

卡单

加入 bot 的房间进入任务准备页面后,通过检查指定区域颜色的方式判断菜单是否消失,检测到菜单消失时,自动执行预设的按键操作触发小红帽(QuellGTA)的自动卡单功能。

安装

  1. 前往 Release 页面
  2. 优先下载 gtaol-dre-helper.7z;若遇到兼容性问题,可尝试 gtaol-dre-helper-pyinstaller.7z(如果有的话)。
  3. 解压下载好的压缩包到任意目录。
  4. 双击运行 gtaol-dre-helper.exe
  5. ctrl+e 编辑配置文件;改完保存后,回到程序按 ctrl+r 重载配置。如需定位 OCR/颜色识别区域,请参考后文的定位识别区域部分。

初次运行时程序会根据你的屏幕分辨率生成推荐的识别区域配置(仅支持部分常见分辨率)。

更新

目前程序不支持自动更新,需要手动下载最新版本。

可以沿用旧的 config.yaml 配置文件。如果配置格式发生变化,程序会报错并提示你修改。

配置项说明

config.yaml 完整结构如下:

# 识别区域
# 单位:屏幕像素
# left, top: 矩形左上角坐标
# width, height: 矩形宽高
region:
  # 卡 CEO: OCR 识别区域
  # 程序会截图这个矩形区域识别“已加入人数/人数上限”
  #
  # 全屏游戏时各屏幕分辨率推荐设置:
  # 4k (3840x2160): left=3609, top=1974, width=172, height=55
  # 2k (2560x1440): left=2409, top=1314, width=105, height=37
  # 1080p (1920x1080): left=1807, top=986, width=78, height=27
  ceo:
    left: 3609
    top: 1974
    width: 172
    height: 55

  # 卡单: 颜色识别区域
  # 程序会获取这区域内像素的颜色值,判断菜单是否消失
  #
  # 全屏游戏时各屏幕分辨率推荐设置:
  # 4k (3840x2160): left=633, top=408, width=367, height=55
  # 2k (2560x1440): left=424, top=275, width=241, height=29
  # 1080p (1920x1080): left=319, top=206, width=180, height=22
  single:
    left: 633
    top: 408
    width: 367
    height: 55

# 监控方案
# 每个方案包含一个名称 (name)、一个类型 (type)、一个开关键 (toggle_key) 和一个按键序列 (sequence)
# 开关键 (toggle_key):以当前方案开始监控/停止监控/切换到当前方案,也支持用 '+' 连接组合键,如 'ctrl+f11'
# 类型 (type):ceo(卡CEO) 或 single(卡单)
# 按键序列 (sequence):包含多个按键操作
# 每个按键操作包含一个动作按键 (key)、一个按住时间 (hold)、一个组合键间隔时间 (interval)、一个延迟时间 (delay) 和一个执行次数 (times)
# 动作按键 (key):支持 'm', 'enter', 'up', 'down' 等,也支持用 '+' 连接组合键,如 'ctrl+c'
# 按住时间 (hold):按键保持按下的时间(单位秒,默认值为 0.05)
# 组合键间隔时间 (interval):组合键中每个按键之间的间隔时间(单位秒,默认值为 0.05),等所有键被按下后才开始计算按住时间
# 延迟时间 (delay):每次按键之后等待的时间(单位秒,默认值为 0.1)
# 执行次数 (times):按键操作执行的次数(默认值为 1)
profiles:
  - name: 室外
    type: ceo
    toggle_key: f11
    sequence:
      - key: m # 打开菜单
        delay: 0.18
      - key: down # 向下移动一次
        delay: 0.06
      - key: enter # 连续确认三次
        delay: 0.06
        times: 3

  - name: 室内
    type: ceo
    toggle_key: f12
    sequence:
      - key: m # 打开菜单
        delay: 0.18
      - key: down # 向下移动两次
        delay: 0.06
        times: 2
      - key: enter # 连续确认三次
        delay: 0.06
        times: 3

  - name: 卡单
    type: single
    toggle_key: alt+numpad1
    sequence:
      # 小红帽的卡单快捷键(流程详解:先按住 alt 0.5 秒,然后 alt+1 一起按住 0.5 秒,最后立刻全部松开)
      # 小红帽热键引擎模式说明:本软件不支持代理模式,仅支持直连模式和轮询模式
      # 如果开了轮询模式,请将 hold 和 interval 调大一点 (建议至少 0.5 秒),否则可能无法触发快捷键
      - key: alt+1
        hold: 0.5
        interval: 0.5

toggle_keysequence.key 支持的按键:

  • 支持单键,也支持使用 + 连接组合键,例如 f11alt+numpad1
  • 不区分大小写,程序会自动规范化为小写,例如 Ctrl+F12 会被当成 ctrl+f12
  • 同一个组合键里不能出现重复按键,例如 ctrl+ctrl+f11 不合法
  • 支持以下标准名称:
分类 支持的按键
字母 a ~ z
数字 0 ~ 9
功能键 f1 ~ f24
修饰键 shiftctrlalt
常用控制键 backspacetabenterpausecapslockescspace
导航键 pageuppagedownhomeendleftuprightdowninsertdelete
小键盘 numpad0 ~ numpad9numpad_mulnumpad_addnumpad_subnumpad_decimalnumpad_div
  • 也支持以下别名,程序会自动转换为右侧标准名称:
别名 标准名称
control ctrl
return enter
escape esc
del delete
ins insert
pgup pageup
pgdn pagedown
kp0 ~ kp9 numpad0 ~ numpad9
num_mul numpad_mul
num_add numpad_add
num_sub numpad_sub
num_decimal numpad_decimal
num_div numpad_div

注:pause 是特例,toggle_key 支持但 sequence.key 不支持

使用方法

  1. 双击运行 gtaol-dre-helper.exe
  2. 游戏中打开手机,选择快速加入,开始匹配差事。
  3. 按某个卡 CEO 方案对应的开关键(默认室外 f11 , 室内 f12)以该方案开启监控。
  4. 当匹配到差事并且已加入人数 >=2 时,程序会执行当前方案的动作序列。执行完成后监控自动停止。

    如果长时间匹配不到差事弹出了”注意“警告,或者匹配到差事之后秒进了,请手动退出来打开手机重新匹配。

  5. 进入任务准备页面后,按下某个卡单方案对应的开关键(默认 alt+小键盘数字1)以该方案开启监控。
  6. 当菜单消失时,程序会执行当前方案的动作序列,触发小红帽的自动卡单功能。执行完成后监控自动停止。
  7. 最后正常完成任务即可。

定位识别区域

如果需要定位 OCR/颜色 识别区域,可使用 RegionLocator.exe 辅助工具。在程序中按 ctrl+p 打开命令面板,选择 Open RegionLocator 命令即可运行该工具。

OCR 识别区域示例

红色矩形是你需要手动定位的区域:

OCR 识别区域示例

定位方法:首先进游戏匹配差事,像示例中那样匹配到差事后,全屏截图。运行 RegionLocator.exe,以全屏的方式打开这张截图,然后根据软件提示定位矩形识别区域区域。定位需要准确,不能太多(比如把左侧差事名称包含进去),也不能太少(注意”已加入人数”和“人数上限”这两个数都可能为两位数)。

颜色识别区域示例

红色矩形是你需要手动定位的区域:

其实也可以选取别的区域,只要你选的区域是纯色的且菜单消失时会一并消失即可

颜色识别区域示例

定位方法:在任务准备页面全屏截图。运行 RegionLocator.exe,以全屏的方式打开这张截图,然后根据软件提示定位矩形识别区域区域。

注意

本程序会频繁获取屏幕截图,注册为 CEO 和卡单时会模拟键盘按键。这两个操作底层都是通过win32 API实现的。可能存在风险,介意勿用。

我个人认为风险不大,因为本程序没有任何直接读写游戏数据的操作(截图也是屏幕截图而不是获取游戏窗口画面)

更新日志

详见 CHANGELOG.md

相关推荐

建议搭配 QuellGTA(小红帽)一起用,本程序的卡单功能依赖于小红帽的自动卡单功能。

About

GTAOL别惹德瑞助手

Topics

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages