【脚本玩漆黑的魅影】全自动刷努力值

文章目录

  • 原理
  • 全部代码

在这里插入图片描述

原理

全自动练级,只不过把回城治疗改成吃红苹果。
吃一个可以打十下,背包留10个基本就练满了。
吃完会自动停止。

if img.getpixel(data_attack[0]) == data_attack[1] or img.getpixel(data_attack_2[0]) == data_attack_2[1]:  # 战斗中if is_same_img(ImageGrab.grab(), data_pp):  # 没PPstate_can_attack = Falseif state_can_attack:  # 战斗zhan_dou()else:  # 逃跑tao_pao()
else:if state_can_attack:  # 徘徊chu_qu()else:  # 吃红苹果pp0()if is_same_img(ImageGrab.grab(), data_apple):pp1()state_can_attack = Trueelse:press(kb.Key.f12)

全部代码

main.py

from PIL import ImageGrabfrom core import *
from cai_yang import is_same_img
# 脚本核心
def a1():global state12global state_can_attackimg = ImageGrab.grab()if img.getpixel(data_attack[0]) == data_attack[1] or img.getpixel(data_attack_2[0]) == data_attack_2[1]:  # 战斗中if is_same_img(ImageGrab.grab(), data_pp):  # 没PPstate_can_attack = Falseif state_can_attack:  # 战斗zhan_dou()else:  # 逃跑tao_pao()else:if state_can_attack:  # 徘徊chu_qu()else:  # 吃红苹果pp0()if is_same_img(ImageGrab.grab(), data_apple):pp1()state_can_attack = Trueelse:press(kb.Key.f12)
if __name__ == '__main__':# 键盘事件处理def a0(key):if key == kb.Key.f12:global state12state12 = not state12print(f"自动练级:{state12}")# 模拟器加速if state12:c.press(ACCELERATE)else:c.release(ACCELERATE)# 开关state12 = False# 是否能够战斗state_can_attack = True# 监听键盘with kb.Listener(on_press=a0):while True:if state12:a1()

core.py

import timefrom settings import *
c = kb.Controller()
def press(key, interval=0.2, interval2=0.1):  # 按一下c.press(key)time.sleep(interval)c.release(key)time.sleep(interval2)
def walk(key):  # 走一步c.release(ACCELERATE)press(key)c.press(ACCELERATE)
def tao_pao():  # 逃跑for i in [1, 2, 3]:press(B)press(DOWN)press(RIGHT)press(A)for i in [1, 2, 3]:press(B)
def chu_qu():  # 右逛press(RIGHT, 0.4)press(LEFT, 0.4)
def zhan_dou():  # 战斗press(A)
def pp0():press(START)press(A, interval2=1)
def pp1():press(A)press(DOWN)press(A)press(A)press(A)press(B)press(B)press(B)press(B)

cai_yang.py

from PIL import Imageimport random
# 获得采样数据
def cai_yang(target: Image, rec: (int, int, int, int), count):result = []i = 1while i <= count:# 随机XYx, y = random.randint(rec[0], rec[2]), random.randint(rec[1], rec[3])result.append(((x, y), target.getpixel((x, y))))i = i + 1return result
# 获得对比结果
def is_same_img(img: Image, data):for i in data:if img.getpixel(i[0]) != i[1]:return Falsereturn True

settings.py

from PIL import Image
from pynput import keyboard as kb
from cai_yang import cai_yang
# 图片采样数据
data_apple = cai_yang(Image.open("红苹果.png"), (67, 498, 265, 647), 12)
data_pp = cai_yang(Image.open("没有PP.png"), (110, 815, 722, 1018), 12)
# 像素数据
data_attack = ((1136, 550), (112, 120, 104))
data_attack_2 = ((151, 169), (112, 120, 104))
# 键位设置
UP = "w"
DOWN = "s"
LEFT = "a"
RIGHT = "d"
ACCELERATE = "u"
A = "j"
B = "k"
START = kb.Key.enter

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/526705.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

RESTful API关键部分组成和构建web应用程序步骤

RESTful API是一种基于HTTP协议的、符合REST原则的应用程序接口。REST&#xff08;Representational State Transfer&#xff09;是一种软件架构风格&#xff0c;用于设计网络应用程序的通信模式。 一个RESTful API由以下几个关键部分组成&#xff1a; 资源&#xff08;Resour…

关于天线综合4(伍德沃德——罗森取样法)

伍德沃德——罗森取样法 就是在各个点指定方向图的值&#xff0c;对其方向图取样 主要就是将线源电流分布分解成一组等幅度、线性相位的源的和 求出对应电流分量方向图 中心位于wwn 最大值为an&#xff0c; 其中wn控制该分量方向图最大值的位置&#xff0c;an控制分量方向图的幅…

腾讯云8核16G服务器性能怎么样?能支持多少人访问?

腾讯云8核16G轻量服务器CPU性能如何&#xff1f;18M带宽支持多少人在线&#xff1f;轻量应用服务器具有100%CPU性能&#xff0c;18M带宽下载速度2304KB/秒&#xff0c;折合2.25M/s&#xff0c;系统盘为270GB SSD盘&#xff0c;月流量3500GB&#xff0c;折合每天116.6GB流量&…

从 iPhone 设备恢复误删微信消息的 4 种方法

您的微信消息可能会因无意删除、系统崩溃、卸载微信应用或升级过程失败而被删除。如果您遇到这种情况&#xff0c;您不必担心&#xff0c;因为您可以采取某些步骤来恢复丢失的微信历史记录。这里有 4 种方法可以帮助您从 iPhone恢复丢失的微信消息、群聊历史记录或微信联系人。…

直击现场 | 人大金仓携手中国大地保险上线核心超A系统

2023年底 中国大地保险 卡园三路59号办公室里 一群技术精英们正忙碌着 他们的眼中 闪烁着对即将到来的胜利的期待 这是大地保险超A系统 项目上线的关键时刻 也是通过科技创新 引领行业服务新趋势的一场征程 项目现场 #1 一次颠覆 改变传统保险服务模式 超A平台&#xff0c;是由…

kibana配置 dashbord,做可视化展示

一、环境介绍 这里我使用的kibana版本为7.17版本。 语言选择为中文。 需要已经有es&#xff0c;已经有kibana&#xff0c;并且都能正常访问。 二、背景介绍 kibana的可视化界面&#xff0c;可以配置很多监控统计界面。非常方便&#xff0c;做数据的可视化展示。 这篇文章&…

Java核心技术第十二章 并发

多进程和多线程的区别&#xff1a;每个进程拥有组件的一整套变量&#xff0c;线程则共享数据&#xff0c;一个程序可以同时运行多个线程&#xff0c;则为多线程程序。 什么是线程 线程状态 1. 新建线程 2.可运行线程 调用start方法&#xff0c;线程处于可运行状态&#xff0c…

汽车协议学习

ⅠOBD 1.OBD接口 OBD有16个引脚&#xff0c;每个引脚的电压不同&#xff08;可以对应不同的协议&#xff09; 车端&#xff1a; 16- 9 (短一点点的) 8-1 &#xff08;长一点的&#xff09; 2.基于OBDⅡ的通信协议 CAN &#xff08;ISO-15765&am…

NPP VIIRS卫星数据介绍及获取

VIIRS&#xff08;Visible infrared Imaging Radiometer&#xff09;可见光红外成像辐射仪。扫描式成像辐射仪&#xff0c;可收集陆地、大气、冰层和海洋在可见光和红外波段的辐射图像。它是高分辨率辐射仪AVHRR和地球观测系列中分辨率成像光谱仪MODIS系列的拓展和改进。VIIRS数…

代码随想录刷题笔记-Day33

1. 跳跃游戏 55. 跳跃游戏https://leetcode.cn/problems/jump-game/ 给你一个非负整数数组 nums &#xff0c;你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标&#xff0c;如果可以&#xff0c;返回 tru…

动态规划(算法竞赛、蓝桥杯)--数位DP度的数量

1、B站视频链接&#xff1a;E38 数位DP 度的数量_哔哩哔哩_bilibili #include <bits/stdc.h> using namespace std; const int N34; int a[N];//把B进制数的每一位抠出存入数组 int f[N][N];//f[i][j]表示在i个位置上&#xff0c;放置j个1的组合数 int K,B;void init(…

【Linux】线程同步与生产消费者问题

欢迎来到Cefler的博客&#x1f601; &#x1f54c;博客主页&#xff1a;折纸花满衣 &#x1f3e0;个人专栏&#xff1a;题目解析 &#x1f30e;推荐文章&#xff1a;【LeetCode】winter vacation training 目录 &#x1f449;&#x1f3fb;CP问题&#x1f449;&#x1f3fb;互斥…