- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我很好奇是否有人对反恐精英等在线 FPS 游戏中的瞄准机器人有任何经验/知识。我很好奇,想了解更多关于光标如何知道如何锁定对方球员的信息。显然,如果我想作弊,我可以去下载一些作弊,所以这更像是一种学习。它涉及到什么?他们是否钩住用户的鼠标/键盘以将光标移动到正确的位置?作弊应用程序如何知道光标的确切位置?作弊应用必须能够访问游戏应用内的数据,这是如何实现的?
编辑:对于 sids 的回答,人们如何获取那些已知的内存位置以从中获取数据? EDIT2:假设我使用调试程序或其他方式在位置 0xbbbbbbbb 找到了一些我想要的值。我现在如何访问和使用存储在应用程序中该位置的数据,因为我不拥有该内存,游戏拥有。还是我现在可以访问它,因为我已经注入(inject)到进程中并且可以使用 memcpy 或其他东西复制该地址的内存?
其他人有什么要补充的吗?尝试尽可能多地了解这一点!
最佳答案
游戏内存中的某处是每个玩家的 X、Y 和 Z 位置。游戏需要知道这些信息,以便它知道在哪里渲染玩家的模型等等(尽管您可以通过仅向其发送玩家信息以供查看的玩家来限制游戏客户端可以知道的程度)。
瞄准机器人可以扫描已知的内存位置以获取此信息并将其读出,使其可以访问两个位置 - 玩家和敌人。减去这两个位置(作为 vector )得到两者之间的 vector ,从那里计算玩家当前外观 vector 到所需角度 vector 的角度很简单。
通过将输入直接发送到游戏(这很简单)并使用一些常量进行微调,您可以让它很快自动瞄准。这个过程中最困难的部分是确定位置在内存中的存储位置,并针对任何在你身上移动玩家的动态数据结构进行调整(例如平截头体剔除)。
请注意,当使用地址随机化时,这些更难编写,尽管并非不可能。
编辑:如果您想知道一个程序如何访问其他程序的内存,典型的方法是通过 DLL injection .
编辑:由于这仍然受到一些点击,因此瞄准机器人的工作方式更多,现在更流行;即覆盖(或就地修补)Direct3D 或 OpenGL DLL 并检查函数调用以绘制几何图形并插入您自己的几何图形(例如墙壁黑客)或获取目标机器人的模型位置。
关于c++ - fps游戏中的瞄准机器人如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1749597/
我有一个计数器可以计算每一帧。我想做的是将其除以时间以确定我的程序的 FPS。但是我不确定如何在 python 中对计时函数执行操作。 我试过将时间初始化为 fps_time = time.time
我发布了我的 original question here .试过suggested solution .但这并不能解决我的问题。 这就是我所做的。下载 this video来自 Youtube 作为
JavaFX UI 线程上限为每秒 60 次更新(1、2)似乎是一种共识。据我了解,更新意味着 pulse。 A pulse is an event that indicates to the Jav
在处理来自相机的帧时,我正在尝试测量每秒帧数。计算没什么特别的,可以在这个问题中找到:How to write function with parameter which type is deduce
我在 Xcode 6.1.1 中使用 OpenGL ES 3.0 开发了一款针对 iPad Air 的游戏。当我捕获 OpenGL ES 帧时,FPS 数字和着色器程序时间始终显示为 0。 我在项目方
我正在尝试通过 ffmpeg 对视频进行编码在 Linux 系统中。原始视频有 60 FPS,我需要将其更改为 25,但是当我这样做时,视频比原始视频慢。 当我将其更改为 30 时,一切都很好(我想编
我正在尝试将视频从 25 fps 加速到 60 fps。我想要完全相同的帧数,只是更快地呈现给我,并且每秒可以让我获得 60 帧。 ffmpeg -i Spider.mov -r 62500/1000
我们如何才能以更高的帧速率(例如 500 - 800 FPS)运行 OpenGL 应用程序(例如游戏)? 例如,AOE 2 的运行速度超过 700 FPS(我知道它与 DirectX 有关)。尽管我只
为了高性能的科学目的,我们需要渲染视频并在设备上以 60fps 的速度播放。我假设 H.264 视频的通常帧率低于该值。 这是可能的,还是帧率是固定的?如果是这样,在设备上全屏播放 H.264 视频时
拥有 50 fps 的 5 秒视频 想要在 10 秒内将其转换为 25 fps 的视频,而且一切都变慢了,即使是音频 是否可以使用 ffmpeg 最佳答案 利用 ffmpeg -i input.mp4
我有下面的代码(移植到 JOGL 2.0 的 Nehe 教程 1 的基本版本)请求一个以 30 FPS 为动画的 FPSAnimator。当我运行代码时,它会打印 21.321962 或 21.413
我在下面有一些非常简单的性能测试代码,用于在 2011 年末的 Macbook Pro 上使用 OpenCV 3.1 + Python3 测量我的网络摄像头的 FPS: cap = cv2.Video
我正在开发 ARKit 应用以及 Vision/AVKit 框架。我正在使用 MLModel 对我的手势进行分类。我的应用程序可以识别Victory、Okey 和¡No pasarán! 手势来控制视
我从其他 SO 问题中使用了这个命令: $ ffmpeg -i obraz%04d.png -framerate 1 -c:v libx265 output.mkv 我告诉它最多 1 FPS,但日志和
我错误地在 iPhone SE (2) 上录制了慢动作视频,而不是延时摄影。 我知道这里有很多关于这个问题的答案,但我一次又一次地尝试并且总是出现问题(比如一个视频的总帧数正确,但持续了 3 个小时并
任何人都可以帮助我默认情况下以 240 fps 或 120 fps 录制视频,使用 AVCapture session 录制 session 需要 30 fps。 用这个库录制视频 https://g
我目前正在用 Java 制作 3D 游戏。我的问题是当我通过 Eclipse 运行它时,我得到了大约 40 fps,这很好。虽然当我在导出的 jar 文件中运行它时,我得到了 18 fps? 我不太确
自从我在 C++ 项目中从 OpenCV 3.x 更改为 4.x(从源代码编译)以来,我遇到了一些麻烦。我在一个小例子中复制了这个行为,这个例子只打开了一个网络摄像头并记录了 5 秒钟。 使用 3.x
我通过 VLC 录制了一个 RTSP 流(4K)大约一个小时,发生了一些奇怪的事情。 文件大小为 6.6 GB,但视频长度只有 12 分钟。 当我在 VLC 上播放时,进度条到达末尾,但视频仍在连续播
我正在尝试运行此命令。 ffmpeg -i out_frames/frame%08d.jpg -i input.mp4 -map 0:v:0 -map 1:a:0 -c:a copy -c:v lib
我是一名优秀的程序员,十分优秀!