原神的卡池没有密码,很容易被误触,因此我用python写了一个原神卡池锁定器.

注:jj.jpg请自己设置

如果有bug的话,有以下几种可能性:

1.弹窗关闭后检测函数存在0.5s的真空期导致不能及时避免误触

2.原神窗口大小不兼容导致检测函数失效

3.没有管理员权限

4.截屏功能故障

5.python版本过新(>3.9)

因此,此程序仅能作为参考,大概率不能实际使用(毕竟仅适配了我自己的电脑与原神窗口),当然如果有人会搞兼容的话可以顺便帮我修一下.(

import time
import pymsgbox
import win32con
import win32gui
import pyautogui
import _threadfrom PIL import Image, ImageTk
from pymouse import PyMouse
from win32gui import FindWindow, GetWindowRect
from cnocr import CnOcr启用卡池锁 = 0
弹窗中 = 0解锁状态 = 0import tkinter as tk
import tkinter.messagebox密文输入框标题 = "密文输入框"def original_window():enter_w = tk.Tk()enter_w.title(密文输入框标题)enter_w.geometry(str(xx) + 'x' + str(yy))lab_2 = tk.Label(enter_w, width=xx, text='请输入二级密码以解锁卡池', compound='center')lab_2.pack()global uesr_name, passwordpassword = tk.StringVar()entry_1 = tk.Entry(enter_w, textvariable=password, width=int(xx/20))entry_1.pack()def panduan(enter_w):global 解锁状态if entry_1.get() != '鸡你太美':tk.messagebox.showerror('*_*', '密码错误')else:tk.messagebox.showinfo('^_^', '密码正确')解锁状态 = 1btn = tk.Button(enter_w, text='解锁', fg="black", width=7, compound='center',bg="white", command=lambda: panduan(enter_w))btn.pack()im=Image.open("jj.jpg")img=ImageTk.PhotoImage(im)imLabel=tk.Label(enter_w,image=img).pack()enter_w.mainloop()def 获取窗口():window_handle = FindWindow(None, "原神")try:window_rect = GetWindowRect(window_handle)except:window_handle = FindWindow(None, "Genshin Impact")try:window_rect = GetWindowRect(window_handle)except:passelse:return "Genshin Impact"else:return "原神"return "无"def 获取窗口坐标():window_handle = FindWindow(None, 获取窗口())window_rect = GetWindowRect(window_handle)x1, y1, x2, y2 = window_rectreturn x1, y1, x2, y2def 检测祈愿界面():#此处存在严重bug,懒得修了if 弹窗中 == 1 or 弹窗中 == 2:return 1img_path = r"C:\Users\Administrator\Desktop\one.png"# 截图try:im = pyautogui.screenshot(region=(x + int(xx / 14), y + 40, int(xx / 25), int(yy / 22)))except:return 0# 保存图片im.save(img_path)ocr = CnOcr()text = ocr.ocr_for_single_line(img_path)if text['text'] != '' and text['text'][0] == "祈":return 1else:return 0def 卡池锁_2():while 1:time.sleep(0.01)if 获取窗口() == "无":breakglobal 弹窗中if 弹窗中 != 0:if 弹窗中 == 1:while 1:try:hwnd = win32gui.FindWindow(None, 密文输入框标题)win32gui.SetWindowPos(hwnd, win32con.HWND_TOPMOST, x, y, xx, yy,win32con.SWP_NOOWNERZORDER)except:passelse:弹窗中 = 2breakm = PyMouse()mx, my = m.position()if x + int(xx / 2) <= mx <= x + xx + 200 and y + int(yy / 3 * 2) <= my <= y + yy + 200:m.click(x - 200, y - 200)def 卡池锁():while 1:time.sleep(0.01)if 获取窗口() == "无":breakif 启用卡池锁 == 1:m = PyMouse()mx, my = m.position()if x + int(xx / 2) <= mx <= x + xx + 200 and y + int(yy / 3 * 2) <= my <= y + yy + 200:m.click(x - 200, y - 200)global 弹窗中弹窗中 = 1'''pymsgbox.rootWindowPosition = "+"+str(x+int(xx/2))+"+"+str(y+int(yy/2))password = pyautogui.password(title='密文输入框', text='草神池前禁止抽卡')'''original_window()弹窗中 = 0while 获取窗口() == "无":time.sleep(0.2)passprint(获取窗口坐标())_thread.start_new_thread(卡池锁, ())_thread.start_new_thread(卡池锁_2, ())print(2)while 1:if 解锁状态 == 1:exit(0)time.sleep(0.3)x, y, xx, yy = 获取窗口坐标()xx = xx - xyy = yy - yif 获取窗口() == "无":breakif 检测祈愿界面():启用卡池锁 = 1else:启用卡池锁 = 0

python实现原神卡池锁定功能相关推荐

  1. 原神服务器维护后抽奖池会更新吗,原神up池抽奖保底会在保留吗

    1 回答 原神up池保底会保留到下次吗? 原神的保底机制是继承的,只能继承相同类型的卡池,不同类型的卡池继承互不干扰.常驻池只能继承[常驻池],UP池只能继承[UP池],新手卡池没有保底.比如,在温迪 ...

  2. 原神服务器维护后抽奖池会更新吗,原神抽奖池更新次数会重置吗

    1 回答 原神抽奖up池会继承到下一次吗? 在原神手游中,玩家抽取up池时,如果第一个池子的抽取次数没有达到保底,而已经结束,开启了第二个池子,保底的次数是会继承的.但是up池保底与常驻池保底是互相独 ...

  3. 原神服务器维护后抽奖池会更新吗,原神抽奖池更新后保底会重置吗

    1 回答 原神抽到五星后保底会重置吗? 原神出了五星就没有保底了,出了90发就没有了.原神中祈愿保底抽五星的概率是基础概率为0.6%,综合概率含保底为1.6%,最多90次祈愿必定通过保底获取五星物品. ...

  4. 用计算机弹卡农数字谱,原神卡农琴谱曲谱分享

    原神卡农怎么弹奏?原神游戏中最近很多玩家都在学弹琴,那么下面小编就和大家分享一下卡农琴谱简谱的弹奏方法吧,详情如下. 原神卡农简谱分享 电脑简谱 A-DGQ B-SGJ N-ADH C-MSG V-N ...

  5. Python实现原神抽卡,生成桌面程序,tkinter

    这里写自定义目录标题 话不多说,直接贴所有代码 运行效果 需要用到的两张图片 话不多说,直接贴所有代码 import random import sys import tkinter as tk # ...

  6. python抽奖概率设计_通过python分析原神,结果出现了“这种情况”

    最近迷上了原神这款游戏,趁着保研完,肝了两个星期,也氪了一些金.先不谈这款游戏可玩性有多高,但论氪金强度算是我从小到大玩的游戏中,能排得上第一的了. 对于这种寸卡寸金的游戏,如何在无穷无尽的抽卡活动中 ...

  7. PYTHON PLUS 原神——星辉兑换“宗室武器”的总体暴击率提升度算法

    PYTHON PLUS<原神> 星辉兑换"宗室武器"的总体暴击率提升度算法 在<原神>中有两套可以用星辉兑换的限定武器--"黑岩"和&q ...

  8. Python开发原神刮刮乐脚本,随机自制盲盒卡片

    嗨害大家好鸭!我是芝士❤ 最近也是玩原神比较魔怔 周边盲盒什么的一个都没买 买吧又太贵了- 不买吧,总是心痒痒- 于是!!! 我就自己做了一个刮刮乐 本质上和盲盒差不多 就是刮中哪一个算哪一个哈哈哈 ...

  9. 有趣的Python爬虫-原神角色查询程序

    目录 1.网页分析抓包 2.代码编写 使用Python制作的角色查询功能现已制作成Nonebot2插件,可在我的群里拿取插件包. 1.网页分析抓包 对于这种 动态网页 我们去爬取网页的html代码是得 ...

最新文章

  1. 为什么说一知半解的人生最可怕?
  2. vc 工程下的.ncb文件的作用
  3. 微软从水里捞起了一个数据中心:存储效果更好,故障率仅陆上1/8
  4. pgsql 两个时间字段相减_如何在Excel做专业的时间序列分析
  5. 如果更改列为自增自段
  6. 数据库连接池配置(案例及排查指南)
  7. layui修改table中的按钮_如何发挥作用layui页面按钮给table移除一行(手动去除)...
  8. iOS 接入微信 支付宝 参数设置
  9. 软件测试计划包括哪些内容,测试计划如何编写。分享测试计划模板
  10. Python制作词云
  11. 图形化的电力通信光纤资源管理系统概述与功能特点
  12. 用XDOC制作Flash出国签证
  13. MonthCalendar上使ToolTip随鼠标位置实时变化
  14. 有关针式打印机和一体机的安装
  15. 微信图片怎么添加竖排文字_轻松设置微信竖排昵称
  16. excel表格内容合并的技巧?
  17. Hadoop的数据压缩
  18. Mongodb3.4升级3.6
  19. w7设置双显示器_win7如何设置双显示器
  20. cadence virtuoso前仿出现模型缺失

热门文章

  1. Access 与SQL数据类型
  2. css隐藏元素 触发点击事件,css隐藏元素的几种方法中可以触发点击事件的是?...
  3. css 设置文字隐藏
  4. AidLux AI 应用案例悬赏征集活动正式启动!
  5. 手机上怎样压缩照片?这个办法很实用
  6. arguments,calleecaller
  7. 教你如何批量查询快递单号物流信息(附步骤)
  8. springboot实现邮件任务(简单文本,图片附件,验证码模板)
  9. 我对STM32所用位带操作宏的超详细剖析、优势分析及应用推广探索研究(持续更新,欢迎讨论交流)
  10. Spring如何整合Mybatis?