python云顶之奕自动拿牌
准备弄一个挂机小工具自动刷宝典经验,把自动拿牌分享出来[分辨率基于1920X1080]游戏选择无边框模式运行原理:
1、对屏幕进行截图
2、在屏幕截图中寻找需要自动购买的棋子并返回坐标
3、对坐标进行点击[无法后台]
至于所有棋子的截图,我是通过游戏中F12多次截图,然后通过ps的自动化批处理快速拿到的,然后一个一个改名的,后续版本更新也可以像这样操作,但是感觉还是有点麻烦……
使用说明:把你想要自动购买的棋子填写到auto.ini文件中
因为我是根据英雄的名字来填写,而不是自己选择可能会导致填写错误,所以做了判断,如果你填写错误会跳过对该棋子的自动购买并且提示
import multiprocessing
import os
from time import sleep
import cv2
import numpy as np
import pyautogui
class AutoClick:
def __init__(self):
self.auto_hero_list = []
self.hero_list = []
self.coordinate_list = []
def start(self):
with open('auto.ini') as fp:
name = fp.read().splitlines()
for path_name in name:
all_name = os.listdir('./hero')
path_name = path_name + ".png"
if path_name in all_name:
self.hero_list.append('./hero/' + path_name)
self.auto_hero_list.append(path_name.split('.'))
else:
pyautogui.alert(f'您填写的{path_name}不存在,跳过对{path_name}的自动购买!!')
print(f'{path_name}不存在,请检查名称!')
continue
m1 = multiprocessing.Process(target=self.execution)
m1.start()
def execution(self):
while True:
print(f'自动购买:{self.auto_hero_list}')
self.img_recognition()
def img_recognition(self):
pyautogui.screenshot().save('./screenshot.png')
img = cv2.imread('./screenshot.png')
img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
for img_path in self.hero_list:
temp = cv2.imread(img_path, 0)
res = cv2.matchTemplate(img_gray, temp, cv2.TM_CCORR_NORMED)
threshold = 0.95
loc = np.where(res >= threshold)
for pt in zip(*loc[::-1]):
pyautogui.mouseDown(pt, pt)
sleep(0.03)
pyautogui.mouseUp(pt, pt)
os.system('cls')
if __name__ == '__main__':
auto = AutoClick()
auto.start()
源码和这次版本棋子的截图放在里面了⬇
蓝奏下载地址:https://anyhg.lanzouy.com/iGScU0e9efeh
论坛禁止弄刮刮乐,不要加了。 Hmily 发表于 2022-10-21 10:48
论坛禁止弄刮刮乐,不要加了。
收到,了解了 Nettos 发表于 2022-10-21 21:10
收到,了解了
刮刮乐是啥? 高手,写的比我好多了
高手,写的比我好多了 咋用啊,大佬 来弄点CB 大佬厉害 大佬威武! CBCBCBCBCB论坛币
页:
[1]
2