Nettos 发表于 2022-10-20 20:31

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

Hmily 发表于 2022-10-21 10:48
论坛禁止弄刮刮乐,不要加了。

收到,了解了

framerworker 发表于 2022-10-22 10:20

Nettos 发表于 2022-10-21 21:10
收到,了解了

刮刮乐是啥?

小竹子爱吃龙虾 发表于 2022-11-2 10:50

高手,写的比我好多了

wantwill 发表于 2022-11-3 12:44


高手,写的比我好多了

DMCDante 发表于 2022-11-4 00:54

咋用啊,大佬

sunnangua 发表于 2022-11-6 21:39

来弄点CB

aspllh 发表于 2022-11-8 12:53

大佬厉害 大佬威武!

2320062208 发表于 2022-11-8 14:42

CBCBCBCBCB论坛币
页: [1] 2
查看完整版本: python云顶之奕自动拿牌