一个唱片播放器如何使用外部程序在CS:GO中杀人

How would one record player kills in CS:GO using an external program?

本文关键字:CS 程序 GO 杀人 外部 何使用 一个 唱片 播放器      更新时间:2023-10-16

我一直在尝试编写一个运行在《反恐精英:全球攻势》后面的小程序。该程序必须完全是外部的,因为在竞争排名的比赛中无法访问现场比赛数据或API。到目前为止,我能找到的最好的方法如下:

case WM_TIMER:
    COLORREF curColor, safetyColor;
    for(int a = 1750;a < 1830;a++)
        for (int b = 75;b < 100;b++)
        {
            curColor = GetPixel(csgoDC, a, b);
            safetyColor = GetPixel(csgoDC, 1856, 1060);
            if (GetRValue(curColor) == 255 && GetGValue(curColor) == 255 && GetBValue(curColor) == 255 && GetRValue(safetyColor) != 255)
                PlaySound(_T("C:\headshot.wav"), NULL, SND_FILENAME | SND_ASYNC);
        }
    break;

这是由计时器触发的。它工作不可靠,我相当确定它在全屏模式下根本不会工作(当它一开始就不可靠时,很难测试)。嵌套for循环中的索引对应于屏幕上killfeed显示的位置。以下是用户界面的示例(来自谷歌)屏幕截图

请注意,我并不是专门支持基于像素的方法;这只是我能想到的唯一解决方案。

实现这一点的一种更为耗时的方法是从机器中获取运行时信息,即内存中的变量和相关值。这至少需要在某种程度上对CS:GO客户端代码进行逆向工程。但是,如果你能管理它,我想这将是确定你想要的信息的最可靠的方法。(不过要小心用锤子击打面部。)