引入:

接着上篇的

前期准备:

如何获取图片中指定文字的坐标?

我的思路是截取一个小区域,再根据小区域左上角的坐标获取中央坐标

例如:

获取坐上角的x和y坐标,测量x到红点的横向距离x1,在测量y点到红点的纵向距离y1

可以得出红点的坐标(x+x1,y+y1)

复制代码,运行

X1 = 1132X2= 1536time.sleep(3)

screenshot(X1,622, X2, 676,helpedName1)#截图

mousemove_click(X1+ 200, Y + 30)

截取了一小区域,然后获得了中心坐标,这里的200和30是自己测量出来的

如果有更好更直接的获取图片中指定文字的坐标的方法可以下方评论告诉我,我也学习学习

开始制作外挂:

详细步骤之前的

详细代码如下:

imageGrabUtil.py(截图工具)

#coding=utf-8

fromPIL import ImageGrab

# 参数说明

# 第一个参数 开始截图的x坐标

# 第二个参数 开始截图的y坐标

# 第三个参数 结束截图的x坐标

# 第四个参数 结束截图的y坐标

def screenshot(x1,y1,x2,y2,filename):

bbox =(x1, y1, x2, y2)

im =ImageGrab.grab(bbox) # 参数 保存截图文件的路径 im.save('E:\\python_project\\Asktao_Automation\\resource\\'+filename+'.png')

baiduAipUtil.py(文字识别工具)

我这里百度云的APPP_ID、API_KEY、SECRET_KEY保存在config.ini

#coding=utf-8

fromaip import AipOcr

import re

#百度文字识别

# !/usr/bin/env python

# -*- coding:utf-8 -*-import ConfigParser import os os.chdir("E:\python_project\Asktao_Automation\util") cf =ConfigParser.ConfigParser() cf.read("config.ini") secs =cf.sections() APPP_ID = cf.get("baiduAip","APPP_ID") API_KEY = cf.get("baiduAip","API_KEY") SECRET_KEY = cf.get("baiduAip","SECRET_KEY") client =AipOcr(APPP_ID,API_KEY,SECRET_KEY) def characterRecognition(filePath): i = open(filePath,'rb') img =i.read() message =client.basicGeneral(img); #print(message.get('words_result')) string = ''; for i in message.get('words_result'): print(i.get('words')) string += i.get('words') return string

config.ini

[baiduAip]

APPP_ID = APPP_ID

API_KEY =API_KEY

SECRET_KEY = SECRET_KEY

joyByHelpingPeople.py

我只做了冯喜来和杨镖头的部分,其他人物的可以用同样的方法做出来,先走完流程,再写代码

#coding=utf-8import autopy

import time

import win32api

import win32confromimageGrabUtil import screenshotfrombaiduAipUtil import characterRecognition

import sys

defaultencoding= 'utf-8'

if sys.getdefaultencoding() !=defaultencoding:

reload(sys)

sys.setdefaultencoding(defaultencoding)

#助人为乐

#time.sleep(5)

win32api.keybd_event(18,0,0,0) #alt键位码是18

win32api.keybd_event(9,0,0,0) #tab键位码是9

time.sleep(0.5)

win32api.keybd_event(13,0,0,0) #enter键位码是13

win32api.keybd_event(18,0,win32con.KEYEVENTF_KEYUP,0) #释放按键

win32api.keybd_event(9,0,win32con.KEYEVENTF_KEYUP,0)

win32api.keybd_event(13,0,win32con.KEYEVENTF_KEYUP,0)

time.sleep(2)

def mousemove_click(x,y):

autopy.mouse.smooth_move(x, y)

autopy.mouse.click()

#帮助冯喜来

def fengXiLai(Y):

mousemove_click(X1+200,Y+30) #鼠标移到按钮中央,点击冯喜来按钮for i in range(1,4,1):

mousemove_click(1448,380)

time.sleep(150) #打强盗、无名剑客平均时间150s

mousemove_click(1515, 258)#跳过对话

mousemove_click(1515, 258)

time.sleep(15)

mousemove_click(1448, 380)# 白邦芒处领赏

#帮助杨镖头

def yangBiaoTou(Y):

mousemove_click(X1+ 200, Y + 30)for i in range(1,5,1):

#和张老板对话,传递心意,找张老板,找玄武

mousemove_click(1448, 380)#点任务栏 和张老板对话

time.sleep(15)

mousemove_click(1515, 258) # 跳过对话

mousemove_click(1448, 380) # 点任务栏 寻找窃贼

time.sleep(45)#和窃贼对战时间45s

mousemove_click(1515, 258) # 跳过对话for i in range(1,5,1):

#向张老板复命,月老,莲花姑娘,张老板

mousemove_click(1448, 380) # 点任务栏 向张老板复命

time.sleep(15)

mousemove_click(1515, 258) # 跳过对话

mousemove_click(771, 203) # 活动的坐标

mousemove_click(1359,503) #前往的坐标

time.sleep(15)#从天墉城城中心/其他地图走到白帮忙花费15s

mousemove_click(1336,649) #领赏

#为了获取图片中指定文字的坐标,这里需要分开截图

helpedName1= "helpedName1"X1= 1132X2= 1536time.sleep(3)

screenshot(X1,622, X2, 676,helpedName1)#截图

judgehelpedNameStr1= characterRecognition('E:\\python_project\\Asktao_Automation\\resource\\'+helpedName1+'.png')#文字识别

helpedName2= "helpedName2"screenshot(X1,690, X2, 741,helpedName2)#截图

judgehelpedNameStr2= characterRecognition('E:\\python_project\\Asktao_Automation\\resource\\'+helpedName2+'.png')#文字识别if '冯喜来' injudgehelpedNameStr1:

fengXiLai(622)

elif'冯喜来' injudgehelpedNameStr2:

fengXiLai(690)

elif'杨镖头' injudgehelpedNameStr1:

yangBiaoTou(622)

elif'杨镖头' injudgehelpedNameStr2:

yangBiaoTou(690)

至此,回合制手游(如问道)的所有任务的脚本都可以用这三篇教程的所讲方法去做

若有更简洁的方法,欢迎指出

三篇教程的所有代码请点击

python制作回合制游戏脚本_Python制作回合制手游外挂简单教程(下)相关推荐

  1. Python制作回合制手游外挂简单教程(中)

    Python制作回合制手游外挂简单教程(中) 接着上篇的博文,今天我们讲如何实现自动组队刷道 引入: 自动组队刷道的流程是先点击刷道按钮.再点击前往按钮.再点击便捷组队······ 这些操作上篇博文已 ...

  2. python可以制作回合制游戏么_Python制作回合制手游外挂简单教程(上)

    正文 引入: 每次玩回合制游戏的时候,反反复复的日常任务让人不胜其烦 玩问道的时候,我们希望能够自动刷道,玩梦幻希望能自动做师门.捉鬼等等 说明: 该外挂只能模拟鼠标键盘操作,并不能修改游戏数据 我这 ...

  3. Python制作回合制手游外挂简单教程(下)

    引入: 接着上篇的博文,今天我们讲如何实现助人为乐 前期准备: 如何获取图片中指定文字的坐标? 我的思路是截取一个小区域,再根据小区域左上角的坐标获取中央坐标 例如: 获取坐上角的x和y坐标,测量x到 ...

  4. python做飞机大战游戏单机_Python制作简易版飞机大战小游戏

    开发工具 Python版本:3.6.4 相关模块: pygame模块: 以及一些Python自带的模块. 相关文件 欢迎与我交流 环境搭建 安装Python并添加到环境变量,pip安装需要的相关模块即 ...

  5. python塔防小游戏代码_Python制作塔防小游戏

    开发工具 Python版本:3.6.4 相关模块: pygame模块: 以及一些Python自带的模块. ​ 原理介绍 游戏规则简介: 玩家通过建造箭塔抵御敌人的进攻. 每隔一段时间,将会有一波敌人从 ...

  6. python推箱子小游戏源代码_Python制作推箱子小游戏

    开发工具 Python版本:3.6.4 相关模块: pygame模块: 以及一些Python自带的模块. 环境搭建 安装Python并添加到环境变量,pip安装需要的相关模块即可. 原理简介 游戏简介 ...

  7. python能不能开发游戏脚本_Python脚本如何保证游戏正常开发

    Python脚本如何保证游戏正常开发 Python脚本是一种广泛应用于玩游戏开发的通信语言,在实际应用的过程中还是有不少的问题困扰着开发人员,下面是Python脚本在实际应用中的具体问题解决方案.希望 ...

  8. python制作简易阴阳师游戏脚本(基础问题篇)

    正值过年的关卡,疫情严重,在这里盼望武汉马上恢复起来,武汉加油!!! python制作简易阴阳师游戏脚本(代码篇) 在一动不动的这几天里,受朋友的邀请写了个阴阳师刷御魂的脚本. 因个人水平有限,希望各 ...

  9. 分享个神途游戏的辅助脚本,这类传奇手游能用的挂机工具

    分享个神途游戏的辅助脚本,这类传奇手游能用的挂机工具 龙门神途这个游戏中,等级非常重要,定期刷日常刷怪能够形成等级优势,如果你不想自己手动刷,浪费太多时间,可以用红手指的蓝月传奇脚本挂机打装备打经验. ...

  10. 分享个热血三国辅助脚本,教你热血三国手游多开

    分享个热血三国辅助脚本,教你热血三国手游多开 在这里分享一个热血三国的手游工具,红手指云手机,使用这个工具能够实现自动升级.多开小号切号,轻松快速养小号,运输资源增快大号升级速度. 什么是红手指,这个 ...

最新文章

  1. 精选26个Python实用技巧,想秀技能先Get这份技术列表!
  2. kafka-2.11-2.3.0版本配置文件参数详解_Kafka版本特性总结
  3. “大院大所”合作对接活动专场推介会侧记
  4. python unittest断言大全_Python-unittest框架 断言使用
  5. Java基础篇:封装、继承、多态三大特性
  6. TCP/IP学习笔记(二)TCP三次握手
  7. 【转载】SSD 下的 MySQL IO 优化
  8. 最新解决ora-01034:oracle not available 的方法
  9. python爬携程酒店评论_python爬虫爬取携程网的酒店评论数据时,有个请求参数不知道是怎么生成的?...
  10. MySQL 5.1.45 GA 发布
  11. Ubuntu上成功安装永中office2009
  12. SUBTYPE正规化数据类型
  13. 阿里云视频点播(java)
  14. javafx教程大全
  15. 《Web全栈工程师的自我修养》读后感
  16. jquery实现HTML复选框变单选框
  17. docker 命令补全
  18. 手机如何开启微信定位服务器,微信怎么定位对方的手机所在位置(偷偷定位微信好友位置)...
  19. 我的架构梦:(七十) 消息中间件之RabbitMQ的消息可靠性
  20. 安卓APP之加固技术

热门文章

  1. Gliffy 一款很不错的在线作图工具[可代替visio]
  2. MySQL主从同步的多种模式
  3. 苹果绕过ID_苹果iphone绕ID教程
  4. YYKit之YYModel
  5. 节约里程法java代码,智慧职教: 在配送路线优化的节约里程法中有几个基本的假设前提条件,他们是()。...
  6. Markdown 数学符号大全
  7. java服装销售系统_java服装管理销售系统
  8. MDK Keil 使用STLink仿真,LOAD按钮为灰色解决方法
  9. 虚拟均衡器:Producers Vault Baby Bass for Mac
  10. 实用主义学python 云盘_多领域实用主义学Python项目视频教程-2018年麻瓜编程