暗区突围:无限 (Arena Breakout Infinite) Elma V1 ESP DMA雷达源码

大家好,在此分享我用于《暗区突围:无限》的 DMA 雷达源码。这是我在 Arch Linux 上编写的,所以如果你想在 Windows 上编译运行它,你需要自行移植 SDL2 绘图功能以及一些环境配置。

功能介绍 (Features)

自动获取 GWorld: 作弊器会在后台自动测试并在正常的 GWorld 和 Distortion Valley(扭曲山谷/内部代号)的 GWorld 之间动态切换。切换地图时无需手动更新偏移量。

假身/无效实体过滤 (Ghost filtering): 添加了一些激进的散列读取 (scatter read) 循环来过滤掉已死亡的实体 (pawns) 和残留假身,让你的雷达保持干净。

快速骨骼 (Fast poses): 使用散列读取获取骨骼和坐标信息,延迟仅在 8 毫秒左右。

队伍颜色编码: 队友显示为青色,而敌人会根据他们的队伍 ID (team_id) 绘制成 8 种不同的暖色调。(如果他们正在捏雷,颜色会闪烁黄色)

玩家装备信息 (Player loadouts): 显示玩家名称、他们当前手持的武器、他们的物资总价值(高于 10 万的物品会单独过滤显示),以及他们的防弹衣等级(包含耐久度)。注意: 目前只读取防弹衣等级,不包括头盔等级。

人机 (Bot) & 物品透视 (Item ESP): 人机显示为绿色,身上带有针剂/兴奋剂的死亡人机显示为深绿色。带有可切换的物品过滤功能。

控制/快捷键 (Controls)

我添加了一些快捷键,让你可以在游戏中随时切换功能:

ENTER: 开/关人机透视

O: 循环切换物品过滤模式(隐藏 -> 价值大于10万的物品 -> 所有物品)

P: 开/关已死亡玩家透视(保持屏幕整洁)

L: 开/关屏幕上的玩家列表

[ / ]: 放大或缩小 2D 雷达的缩放比例

如何运行 (How to run)

注意: 我没有实现任何游戏内悬浮窗 (overlay) 或融合器 (fuser) 支持。这仅仅会在你的第二台电脑/笔记本上弹出一个 SDL2 窗口,并在那里绘制雷达。

安装 sdl2 和 sdl2_ttf(使用 sudo pacman -S sdl2 sdl2_ttf 或你的 Linux 发行版对应的包管理器命令)。

使用带有 sdl 标志的 g++ 进行编译。

我内置了我自己写的 dma_memory.h 封装库,所以你不需要从头写自己的 vmmdll 封装,即插即用。不过如果你愿意,也可以用你自己的。

已知问题 / 待办事项 (Known issues / To-do)

Bug [某些地图上的 GWorld 问题]: 自动获取 GWorld 在 Distortion Valley 中可能仍然会失效。这种情况偶尔也会在军械库 (Armory) 和北山 (Northridge) 随机发生。以前很容易修复,但我不知道上次更新后发生了什么(我觉得 GWorld 在某些对局/地图中会动态改变?)。我现在懒得去解决它,因为我本来就讨厌玩 Distortion 这图。如果有人遇到了这个问题并且找到了永久修复的方法,请告诉我!

待办 [isRealPlayer 逻辑]: isRealPlayer 类还需要完善。它能捕获大部分信息,但仍需要微调,以过滤掉透视上偶尔弹出的随机垃圾对象。整体代码也有很多垃圾代码需要优化。

待办 [物品查找器]: 物品查找器能用,但老实说现在做得很烂。它是按名称搜索的,但那些红色物品(大金/高价值物品)的名字都很奇怪,搜索起来很慢。需要改成基于价格的通用搜索,以检测所有高价值的生成物。

Bug: 偶尔极少数情况下,活着的玩家在透视上会显示为死亡。目前还不知道原因。

欢迎大家自由使用本源码,如果你想合作,或者对如何修复物品查找器以及 GWorld 地图 Bug 有任何好主意,欢迎联系我。

转载请说明出处 内容投诉
12游戏吧 » 暗区突围:无限 (Arena Breakout Infinite) Elma V1 ESP DMA雷达源码

发表评论

您需要后才能发表评论

一个令你着迷的网站!

开通会员 官方交流群