基于yolov5实现FPS游戏自瞄,理论上通杀所有射击游戏

news/2024/9/23 5:20:26/

1、参考大佬细致教学:Python Apex YOLO V5 6.2 目标检测 全过程记录_mrathena的博客-CSDN博客

[Yolov5]使用Ai实现FPS游戏自动瞄准 yolov5fps自瞄 - 简书

2、效果演示:

基于yolov5实现穿越火线(CF)自瞄_穿越火线

3、话不多说,直接上代码:

# 这里是导入依赖,需要这些库
import ctypes
import mathimport mss.tools
import torch
from pynput.mouse import Controller# 传入两个坐标点,计算直线距离的
class Point:def __init__(self, x1, y1, x2, y2):self.x1 = x1self.y1 = y1self.x2 = x2self.y2 = y2class Line(Point):def __init__(self, x1, y1, x2, y2):super().__init__(x1, y1, x2, y2)def getlen(self):return math.sqrt(math.pow((self.x1 - self.x2), 2) + math.pow((self.y1 - self.y2), 2))# 加载本地模型
device = torch.device("cuda")
model = torch.hub.load('D:/Users/20064/PycharmProjects/yolov5-02', 'custom','D:/Users/20064/PycharmProjects/yolov5-02/runs/train/exp4/weights/best.pt',source='local', force_reload=False)
# 定义屏幕宽高
game_width = 1024
game_height = 768rect = (0, 0, game_width, game_height)
m = mss.mss()
mt = mss.tools# 加载罗技鼠标驱动,驱动资源来自互联网
driver = ctypes.CDLL('myProjects/logitech.driver.dll')
ok = driver.device_open() == 1
if not ok:print('初始化失败, 未安装lgs/ghub驱动')# 截图保存
def screen_record():img = m.grab(rect)mt.to_png(img.rgb, img.size, 6, "myProjects/cfbg.png")# 这边就是开始实时进行游戏窗口推理了
# 无限循环 -> 截取屏幕 -> 推理模型获取到每个敌人坐标 -> 计算每个敌人中心坐标 -> 挑选距离准星最近的敌人 -> 则控制鼠标移动到敌人的身体或者头部
while True:# 截取屏幕screen_record()# 使用模型model = model.to(device)# 开始推理results = model('myProjects/cfbg.png')# 过滤模型xmins = results.pandas().xyxy[0]['xmin']ymins = results.pandas().xyxy[0]['ymin']xmaxs = results.pandas().xyxy[0]['xmax']ymaxs = results.pandas().xyxy[0]['ymax']class_list = results.pandas().xyxy[0]['class']confidences = results.pandas().xyxy[0]['confidence']newlist = []for xmin, ymin, xmax, ymax, classitem, conf in zip(xmins, ymins, xmaxs, ymaxs, class_list, confidences):if classitem == 0 and conf > 0.5:newlist.append([int(xmin), int(ymin), int(xmax), int(ymax), conf])# 循环遍历每个敌人的坐标信息传入距离计算方法获取每个敌人距离鼠标的距离if len(newlist) > 0:print('newlist:', newlist)# 存放距离数据cdList = []xyList = []for listItem in newlist:# 当前遍历的人物中心坐标xindex = int(listItem[2] - (listItem[2] - listItem[0]) / 2)yindex = int(listItem[3] - (listItem[3] - listItem[1]) * 2 / 3)mouseModal = Controller()x, y = mouseModal.positionL1 = Line(x, y, xindex, yindex)print(int(L1.getlen()), x, y, xindex, yindex)# 获取到距离并且存放在cdList集合中cdList.append(int(L1.getlen()))xyList.append([xindex, yindex, x, y])# 这里就得到了距离最近的敌人位置了minCD = min(cdList)# 如果敌人距离鼠标坐标小于150则自动进行瞄准,这里可以改大改小,小的话跟枪会显得自然些if minCD < 150:for cdItem, xyItem in zip(cdList, xyList):if cdItem == minCD:print(cdItem, xyItem)# 使用驱动移动鼠标driver.moveR(int(xyItem[0] - xyItem[2]),int(xyItem[1] - xyItem[3]), True)break


http://www.ppmy.cn/news/347821.html

相关文章

协同过滤的itemCF,userCF区别适用场景

UserCF原理&#xff1a;UserCF给用户推荐那些和他具有共同兴趣爱好的用户喜欢的物品 ItemCF原理&#xff1a;ItemCF给用户推荐那些和他之前喜欢的物品类似的物品 UserCF的推荐更社会化&#xff0c;反映了用户所在的小型兴趣群体中物品的热门程度&#xff1b;而ItemCF的推荐更…

android阿里推送实现移动推送辅助通道配置

android开发中 app的保活和推送到达都是个绕不过去的坎 他俩相辅相成 目前阿里推送的辅助推送通道可以进一步的帮助实现这个推送的到达率 https://help.aliyun.com/document_detail/30067.html?spma2c4g.11186623.6.590.598b7fa8XmiUlS#h2-7- 小米/华为/FCM/OPPO/VIVO…

求下图穿越火线游戏交易所辅助大神

做穿越火线游戏第5个年头了&#xff0c;寻找下图这个软件懂的人或者这个作者请联系我。谢谢&#xff01;

【辅助开发】游戏辅助开发全流程-golang

Author&#xff1a;linshao V公众号&#xff1a;https://github.com/linshaoSec/ 目录 一.目的 二. 相关要求 三.具体方法 0x01.准备工作&#xff1a; 0x02.查找偏移 0x03.实现思路&#xff1a; 0x04.代码&#xff1a; 一、目的&#xff1a; 通过开发简单游戏辅助来加深对…

蚂蚁森林辅助

安装相应库环境 python 2.7 库&#xff1a;PyUserInput模块 3.使用Total Control把手机连接到电脑。 4.打开支付宝蚂蚁森林&#xff08;调开所有好友界面&#xff09; 5. import pymouse,os,sys import time import win32api from pymouse import PyMouse from pykeyboard…

CF兵种卡强化服务器维护,CF战场模式攻略 兵种卡获取与强化技巧

CF战场模式经过多次更新修改之后&#xff0c;上调了对卡片的获取难度和使用卡片强化升级的难度。对于新手和一些不经常玩战场模式的玩家来说&#xff0c;可能感觉战场模式的卡片很难获得&#xff0c;并且很难强化成功&#xff0c;等级加不高这种情况。 战场攻略卡片获取与强化技…

我用C#写的CF外挂

我爱着这世界上所有的女人&#xff0c;但是除了CF里的女人。。。。 拿钱能买好枪&#xff0c;可以&#xff0c;你因为你的游戏运行是需要成本的。 拿钱可以买防弹衣&#xff0c;也可以&#xff0c;因为你腾讯是要赚钱的。 在残酷的战场上敌人完全可以武装到牙齿&#xff0c;拥有…

cf修改游戏客户端是什么意思_WeGame能改杀敌图标,为什么还要去CF游戏里买

说到WeGame,腾讯游戏玩家肯定都不陌生,WeGame早期名称为TGP(Tencent Games Platform),用处则是为腾讯的游戏提供网络加速和游戏辅助功能。 在2017年腾讯TGP更名为WeGame,旨在打造中国的“Steam”平台,但效果嘛……大家也都看在眼里。今天要说的是WeGame给腾讯游戏提供的游…