查看: 2266|回复: 10

C++FPS游戏 红名狙 见红开枪源码

[复制链接]
发表于 2020-3-4 21:40 | 显示全部楼层 |阅读模式
禁止求评分、诱导评分、互刷评分、互刷悬赏值,违规者封号处理。
禁止发布推广、邀请码、邀请链接、二维码或者有利益相关的任何推广行为。
所有非原创软件请发布在【精品软件区】,发帖必须按照本版块版规格式发帖。

针对逆战写的,但狙击十分不稳定,步枪还行。刚学C++ 大家参考交流一下,也希望高手指点,怎么改进。    高手轻喷!注意,全屏游戏,窗口分辨率是1920 乘1080.  具体的坐标最好还是自己测试一下,免得分辨率不一样出问题。所以本贴主要提供给小白们一种思路,大家互相学习一下。
#include <windows.h>
void jj();  //函数声明

下面提供函数部分:
void jj() {
        HWND hWnd = ::GetDesktopWindow();
        HDC hdc = ::GetDC(hWnd);
        int red, green, blue;
        while (1)
        {       
                for (int i = 930; i <=980; i++)   //  多次测试得到,i的取值十分关键,影响成功率,暂时只能得到这个较好的范围。
                {
                        COLORREF p= ::GetPixel(hdc, i, 622);  //  619-626是名字的纵向宽度。
                         red = GetRValue(p);                  //不用取绿色和蓝色了
                        if (red > 240)  //逆战红名是255,0,0.防止背景色干扰 取240.
                        {
                                mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, 0, 0, 0, 0); //这里步枪会一直开枪,因为时间间隔太短,检测不到抬起的动作。
                                Sleep(1000);          //杀完人冷静一下。不然好像死循环不太好
                                break;
                         }
                }
       }

}

最后说一下存在的问题,女角色运动太快可能就打不到,更甚者 程序有时候就扫描不到人。
建议搭配烟雾弹打爆破。而且只能架定点狙击。而且影响了鼠标正常开枪,属实鸡肋啊!!!
所以逆战都懒得检测了,你开任你开。。
最后附一张测试时候的图片
11.png
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2020-3-4 21:41 | 显示全部楼层
好的,非常感谢
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

 楼主| 发表于 2020-3-4 21:42 | 显示全部楼层
mengheeh 发表于 2020-3-4 21:41
好的,非常感谢

怎么这么快,机器人吗
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-3-4 21:46 | 显示全部楼层
6666
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-3-4 21:46 | 显示全部楼层
谢谢分享
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-3-4 21:46 | 显示全部楼层
6666666666
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

 楼主| 发表于 2020-3-4 21:47 | 显示全部楼层
程序真的很垃圾哈,需要exe的可以+qq786909783,免费发的。大家互相交流!
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-3-4 21:48 | 显示全部楼层
感谢楼主分享
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-3-4 21:58 | 显示全部楼层
谢谢大牛
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-3-4 22:38 | 显示全部楼层

//游戏使用默认设置,游戏窗口分辨率为:1280X720
//进入房间前运行脚本,如果进入房间后请按ESC,再运行脚本
t1=Rnd Mod 5
FindPic 0,0,1920,1080,"Attachment:\逆战图标.bmp",0.85,x,y
If x <= 0
    MessageBox "未找到游戏窗口"
End If
While 1=1
    //判断绿色准星是否存在,以此判定是否使用狙击枪
    FindColorEx x + 600, y + 350, x + 670, y + 410,"33CC00",0,0.85,x1,y1
    If x1 > 0
        Gosub 多发
    Else
        Gosub 单发
    End If
    Delay 30
EndWhile
Sub 单发
    //找红名
    FindColorEx x + 560, y + 415, x + 1080, y + 455,"0101E0|0000FE|0101BD|0101A2|0404A4|0303BE|0605BE",0,0.90,x1,y1
    If x1 > 0 Then
        //一次只开一枪
        Delay 10+t1
        LeftClick 1
    End If
End Sub
Sub 多发
    //找红名
    FindColorEx x + 560, y + 415, x + 1080, y + 455,"0101E0|0000FE|0101BD|0101A2|0404A4|0303BE|0605BE",0,0.90,x1,y1
    If x1 > 0 Then
        //使用压枪打法,间隔时间下压枪口
        Delay 10+t1
        LeftDown 1
        For i=0 To 10 Step 1
            Delay 40
            MoveR 0,1
        Next
        LeftUp 1
    End If
End Sub
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

关注公众号

相关侵权、举报、投诉及建议等,请发 E-mail:admin@discuz.vip

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖
关注公众号
返回顶部