三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

绝地求生智能压枪:PUBG-Logitech 罗技宏压枪完整上手指南

绝地求生智能压枪:PUBG-Logitech 罗技宏压枪完整上手指南

绝地求生智能压枪:PUBG-Logitech 罗技宏压枪完整上手指南

【免费下载链接】PUBG-LogitechPUBG罗技鼠标宏自动识别压枪项目地址: https://gitcode.com/gh_mirrors/pu/PUBG-Logitech

PUBG-Logitech 是一个专为绝地求生玩家打造的罗技鼠标宏自动识别压枪工具:它通过截图识别你手上的武器和配件,自动套用对应弹道数据完成补偿压枪,全程只依赖罗技 GHUB 官方宏接口,不修改任何游戏文件。这篇文章不打算按说明书给你念步骤,而是先带你弄懂它"凭什么能压枪",再亲手配出一套顺手参数——看懂原理之后,遇到问题你自己就能排查,比背参数表有用得多。

先别急着点按钮:拆开这台"智能压枪机器"看三块零件

很多教程一上来就让你点这里、勾那里,结果出问题时一头雾水。我们换个顺序,先看这台机器由哪三块零件组成:

零件实际形态干的事
眼睛DXGI 抓屏 + OpenCV 图像识别(recognizer.cppdxgicapture.cpp识别当前武器、倍镜、枪口、握把、站立姿态
大脑C++ 主程序 + 武器参数库(weapon.luaweaponconfig.cpp存储每把枪的弹道数组与配件补偿系数,按识别结果检索
罗技 GHUB 宏脚本(macro_ghub.luaconfigc_ghub.lua按下左键后按弹道数据移动鼠标,完成补偿

最精妙的是"大脑"和"手"之间的通信方式:宏脚本里有一个叫dofile的 Lua 函数,它能直接执行本地磁盘上的 Lua 文件。于是程序把识别结果写进本地脚本,鼠标宏每次扣扳机前dofile一下,就能拿到"当前该用哪把枪的哪段弹道"。整个链路里没有读内存、没有注入进程,这也是它安全性的来源——它根本不需要进游戏内部。

一句话理解:程序负责"看",鼠标宏负责"动",中间靠一个本地 Lua 文件传纸条。

你的鼠标里住着一位"会自动换挡的司机"

把上面的原理翻译成驾驶场景,就很好理解了。你握着方向盘(鼠标),过去压枪靠手劲和肌肉记忆;装了这个工具之后,车里多了一位"自动识别路况的司机":

  • 你切到 M416 装上六倍镜、垂直握把,司机"看一眼"(截图识别)就知道:按这套配置的补偿曲线来。
  • 你从蹲姿换成趴姿,弹道基准不同,司机又"瞄一眼",自动切换姿态系数。
  • 你从 1 号武器切到 2 号武器,识别结果跟着变,压枪数据也即时切换。

这份"驾驶手册"就在武器参数选项卡里维护:每把枪可以单独填写倍镜、枪口、握把、枪托、姿态五类灵敏度系数,外加射速、最大弹药量和一整套弹道坐标数组。数组长这样:

[1,36], [2,30], [3,28], ...

含义是"第 1 发补偿 36、第 2 发补偿 30……",宏脚本会根据当前射击发数在数组里取值,换算成鼠标位移。默认弹道按开镜灵敏度 35校准,如果你游戏里不是 35,就在宏配置里调垂直灵敏度来找平(后面细说)。

十分钟跑通:从拿到源码到打出一梭子稳定弹道

获取项目有两种方式:想直接用的,下载编译好的pubg.exe双击运行;想改源码的,用下面的命令把仓库克隆到本地:

git clone https://gitcode.com/gh_mirrors/pu/PUBG-Logitech

源码是 C++ 写的,界面用 Qt 5.15.2,图像处理用 OpenCV 4.5.1。想从源码自己编译的话,除了 Qt 还需要额外自行编译 OpenCV 库,工程文件pubg.pro里已经把依赖路径和gdi32/dxgi/d3d11等链接项都配好了,照着配置环境即可。

运行起来后,配置顺序非常关键,一定按这个顺序走,因为后面每一步都在给前面生成"纸条":

  1. 武器参数选项卡:选好武器、填好配件和弹道,点保存。此时会在 C 盘用户目录的 Temp 文件夹下生成weapon.lua,这是"大脑"的数据库。
  2. 宏配置选项卡:把垂直灵敏度改成你游戏里的实际值,点应用。此时同目录下生成configc.lua,这是"手"的配置单。
  3. 继续在宏配置选项卡点下载脚本,把生成的脚本复制进罗技 GHUB。
  4. 回到自动识别选项卡,勾上Enable开启识别引擎。

四步走完,进训练场试试:开镜、按住左键,观察弹道是否被拉平。如果第一梭子就不对劲,别急,参数微调的逻辑在下文。

三个选项卡其实是三个部门,别让它们各干各的

自动识别选项卡是"情报部门":负责抓屏和识别。这里能切换DXGI 抓屏(速度快、CPU 占用低,推荐)与普通 GDI 抓屏,调节识别帧率(默认 8fps 是识别速度与资源占用的平衡点),还能设开镜模式、是否窗口置顶。界面上的 XRate/YRate 是屏幕坐标比例参数,只有你的分辨率不在支持列表里时才需要动。

武器参数选项卡是"装备档案室":为每把枪单独建档。选中武器后,可以配置倍镜、枪口、握把、枪托的补偿系数,填写射速、最大弹药量,甚至直接编辑弹道坐标数组。配好后保存,数据就进了weapon.lua

宏配置选项卡是"指挥中心":控制鼠标宏的全局行为。驱动模式、开镜模式(HOLD 长按 / 单击)、垂直灵敏度、横向偏移、压枪循环间隔、Debug 模式都在这里。每次改了参数点应用,就重新生成configc.lua;改完记得在 GHUB 里重新加载脚本。

三条文件线对应关系:weapon.lua管"用什么数据",configc.lua管"怎么执行",下载到 GHUB 的那份macro_ghub.lua管"什么时候执行"。

那些劝退新手的参数,背后其实是同一道算术题

不用背参数,理解公式逻辑就够了。宏脚本里的核心换算大致是:

实际补偿位移 = 弹道值 × 倍镜系数 × 姿态系数 × 配件系数 ÷ 垂直灵敏度

所以参数之间的因果就全串起来了:

  • 垂直灵敏度(默认 1.2):出现在分母上。它越大,同等弹道数据产生的位移越小。这就是为什么"压枪幅度偏大就调高、幅度偏小就调低"——它本质是一个全局缩放比例,用来把你的鼠标和游戏设置"校准"到作者的默认弹道(35 开镜灵敏度)上。
  • 压枪循环间隔(推荐 10ms):控制鼠标宏每轮补偿之间睡多久。间隔越低压枪越跟手、越丝滑,但 CPU 占用会上升;电脑一般的同学别贪心,10ms 是实测过的平衡点。
  • 开镜模式强烈建议用 HOLD(长按开镜)。单击开镜模式下,如果你开镜后开枪太快,识别结果还没更新就可能漏压第一波;长按开镜的时序更稳。
  • 横向偏移:补偿枪口左右漂移的基准值,和你鼠标 DPI、握持习惯有关,进训练场试射调整。
  • 识别帧率:8fps 是默认平衡点;想省 CPU 就降到 5fps,代价是识别响应变慢,压枪启动会有一点点延迟。

对号入座:五个高频问题的一次性解答

Q1:开镜开枪完全不压,像没装一样?最常踩的坑是按错顺序——先勾了 Enable 再配武器,导致识别结果和参数库对不上。按"武器保存 → 宏应用 → 下载脚本 → 复制进 GHUB → 勾 Enable"重走一遍;另外确认 GHUB 里确实加载了新脚本,且当前用的就是那个配置文件。

Q2:压枪忽强忽弱,弹道像波浪?多半是垂直灵敏度和你的游戏设置不匹配。记住口诀:补偿过头(压到准星下方)就调高垂直灵敏度,补偿不足(枪口继续上飘)就调低。另外,如果用的单击开镜,请把识别速率调高,或者干脆切到 HOLD。

Q3:识别到了武器,但配件变了它不跟?识别结果依赖背包界面。v1.0 把武器识别改成了背包界面文字识别,准确率更高;如果你改了 UI 缩放或分辨率,识别区域可能错位,请确认分辨率在 1920×1080、2560×1440、3840×2160 支持列表内,不在的话参考 resource 文件夹自制对应分辨率的资源文件。

Q4:我的罗技鼠标支持吗?注意:新版本只在 GHUB 上测试过,旧版 LGS 驱动不支持。另外有个先天限制——GHUB 的 Lua API 不支持"连点"功能,需要三连发、连点类功能的用户请知悉这一点,这是驱动层面的缺陷,不是软件 bug。

Q5:游戏退了,压枪好像还在后台跑?识别引擎的开关就是自动识别选项卡的 Enable 勾选框,退出游戏后取消勾选即可。想更省心,可以在 GHUB 里把脚本绑定到游戏进程,让驱动跟随游戏自动切换配置文件。

进阶玩法:把工具从"能用"玩到"好用"

  • 开 Debug 模式:宏配置里勾上 Debug 后,GHUB 的日志窗口会输出每一步的武器、姿态、倍镜、位移计算明细(OutputLogMessage输出在macro_ghub.luadorecoil里)。调参时开着它,你能直观看到哪个系数把位移算偏了。
  • 自建分辨率配置:支持列表之外的分辨率,先尝试调 XRate/YRate 做坐标比例换算;不满意再照 resource 目录的结构自己做一份识别区域资源文件。
  • 多套武器参数:每把枪独立建档,意味着你可以为同一把枪准备"低倍镜"和"高倍镜"两套弹道;也可以给常用枪各配一组,进游戏自动切换,不用频繁回界面改。
  • 想研究原理的同学:源码阅读推荐路线是recognizer.cpp(识别主循环)→recognizeobject.cpp(模板比对)→dxgicapture.cpp(抓屏)→logitech_driver.cpp(与宏脚本交互)→ 最后读macro_ghub.lua把整条链路串起来。README 里有更完整的说明。

写在最后

PUBG-Logitech 解决的核心矛盾是:每把枪的后坐力曲线不同,但你的手腕只有一个。它把"背弹道"这件事外包给了程序和鼠标宏,你只需要负责跑位和瞄准。但请记住,它只是辅助——它的作者也一再强调,项目仅用于学习交流。真正决定你能不能吃鸡的,还是你对地图的理解、对枪法的练习。

现在就可以动手了:克隆源码(git clone https://gitcode.com/gh_mirrors/pu/PUBG-Logitech)或直接运行pubg.exe,按上面的四步顺序配置一遍,然后进训练场打空一梭子。第一次跑通时看着原本上飘的弹道被拉成一条线,你会觉得这一切都值得。遇到卡壳的地方,回来看这篇文章的"对号入座"部分——大部分问题,原理想通了就都不是问题。

【免费下载链接】PUBG-LogitechPUBG罗技鼠标宏自动识别压枪项目地址: https://gitcode.com/gh_mirrors/pu/PUBG-Logitech

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

← 返回列表