作者:佚名
更新时间:2021-03-10
浏览次数:
博客原创[不好喝不吃鸡蛋] 完整代码 不知不觉中,肺阴阳师已经存在了将近一年。我真的很喜欢和讨厌这个游戏。我刚刚发布了PC版本。我突然想尝试编写一个脚本来挂断电话。我没说太多。 简单的键盘操作 游戏挂机脚本无非是手动连接键盘,自动单击并重复操作,所以第一步就是如何控制键盘 import win32api
import time
def move_click(x, y, t=0):
win32api.SetCursorPos((x, y))
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN |
win32con.MOUSEEVENTF_LEFTUP, x, y, 0, 0)
if t == 0:
time.sleep(random.random()*2+1)
else:
time.sleep(t)
return 0
move_click(30, 30)
当然,您可能需要在后续操作中获取屏幕帧速率。我只打算使脚本能够在自己的笔记本电脑上运行,所以我无法适应不同的帧速率。 def resolution():
return win32api.GetSystemMetrics(0), win32api.GetSystemMetrics(1)
值得注意的是,它必须在管理员权限下在cmd中运行,否则单击将无效 这时,您已经可以编写一个while循环,继续单击屏幕上的不同点传奇挂机自动打怪脚本,并实现了最基本的挂断脚本 使用PIL识别图像 如果我们被禁止...我们绝对不满意机械连续的点击... 因此传奇挂机自动打怪脚本,您需要识别图像并再次单击 首先,您需要找到阴阳师窗口 import win32gui
def get_window_info():
wdname = u'阴阳师-网易游戏'
handle = win32gui.FindWindow(0, wdname)
if handle == 0:
return None
else:
return win32gui.GetWindowRect(handle)
get_window_info()函数返回阴阳师窗口信息(x1,y1,x2,y 2),(x1,y 1)是窗口左上角的坐标,(x2,y 2)是窗口的右下角可以暂时忽略代码中的文本,该代码用于在后续的GUI界面中输出提示信息。 使用PIL获取以下游戏的屏幕截图 def get_posx(x, window_size):
return (window_size[2] - window_size[0]) * x / 870
def get_posy(y, window_size):
return (window_size[3] - window_size[1]) * y / 520
topx, topy = window_size[0], window_size[1]
img_ready = ImageGrab.grab((topx + get_posx(500, window_size), topy + get_posy(480, window_size),
topx + get_posx(540, window_size), topy + get_posy(500, window_size)))
im_ready.show()
|