|
马上加入TC
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 shanliujiandan 于 2018-2-27 19:52 编辑
本着分享精神,为后来者提供一点学习的资料。以下是我自己写的梦幻西游手游师门任务部分。
需要修改的地方自己想办法吧,谢谢。
function floatwinrun()//启动后运行的内容在下面
//浮动窗口运行按钮执行的事件,如果不需要可去掉
// messagebox("你好世界")
//找色活动()
//找图函数()
//师门任务之念诵心经之点击活动()
//sleep(1000)
//活动界面找师门()
//sleep(1000)
//找并点击日常任务()
//滑动日常任务界面()
//在任务列表中寻找师门任务并点击如果没找到则调用下面的函数()
//寻找师门任务并点击()
//判断当前是否在战斗中()
//滑动任务列表寻找师门任务()
//心经显示()
//判断是否在寻路() 这个有可能废弃
//判断人物移动()
//寻找物品与购买()
//上交物品()
//商会摆摊购买()
//师门任务()
//师门任务袁守城()
//识字师门()
//师门任务()
// 变量 宽,高,获取结果
// 获取结果 = 系统获取分辨率(宽,高)
// 调试输出(宽&高)
// 原地挂机完成平定安邦()
//点击任务列表平定安邦()
//点击挂机按钮()
//领取平定安邦()
//打开大地图与点击大地图()
//打开小地图与选择店小二()
//店小二听听无妨()//要循环
//点击任务列表宝图任务()//要循环
//判断是否在搜宝图任务战斗中()
//找宝图并双击()
//右下角物品的使用()
//////////////////////////////////////////// 顶层设计
// 领取平定安邦全部()//调用此函数将尝试领取平定安邦任务
// 师门任务()//进行师门任务寻找 点击与工作 最终20次师门任务 并结束函数
// 做宝图任务()//找店小二对话 并开始寻找 完成10次宝图 并结束
// 挖宝图()//
// 秘境降妖任务()//
// 运普通镖()
// 抓鬼()//完成日常两轮
//固定点判断是否移动()
//测试判断人物移动或停止()
//小地图绿点判断人物位置()
////
// 领取平定安邦全部()
// 师门任务()
// 做宝图任务()
// 挖背包的宝图()
//领取平定安邦全部()
//处理弹出的三界奇缘()
// 秘境降妖总()
// 找到云游乐()
//检测秘境降妖按钮()
//点击海底猪妖()
//手指点击挑战()
//点击目标任务()
//进入战斗按钮检测()
// 测试函数()
//检测是否战斗失败()
//检测押送普通镖银并点击()
//检测抓鬼任务按键()
//处理梦幻过大年遮罩()
//创建队伍()
// 创建队伍()
//点击抓鬼()
//师门任务()//这一次测试没问题 2月10日
//做宝图任务的小流程()
//sleep(3000)
//做宝图任务()
//点击任务列表宝图任务()
//做宝图任务的小流程()
//点击任务列表宝图任务()
//做宝图任务的小流程()
// 变量 次数 = 0
// 变量 函数返回值的保存 = 0
// while(次数!=1)
// 函数返回值的保存 = 找战斗的一()
// 如果(函数返回值的保存==0)
// 函数返回值的保存 = 找战斗的一()
// 如果()
// 次数 = 次数 + 1
// 结束
// 否则
// 函数返回值的保存 = 找战斗的一()//
// 结束
// end
//
//找战斗的一()
//调试输出(消息框(当前时间()))
//做宝图任务的小流程()//他已经调用了做宝图任务函数
//做宝图任务()//修改了 但没有号测试了 并且已经到了傍晚 等明天吧
//挖背包的宝图()
//秘境降妖总()
//检测是否战斗失败()
//运三次普通镖银()
//检测便捷组队()
//关掉页面()
调试输出("主函数开始运行")
领取平定安邦全部()
sleep(1000)
师门任务()
sleep(1000)
做宝图任务的小流程()
sleep(1000)
挖背包的宝图()//找不到的话 关闭
sleep(1000)
秘境降妖总()
sleep(1000)
运三次普通镖银()
抓鬼自动区配()
调试输出("主函数运行完毕")
end
//变量 控制器 = 0
//功能 找战斗的一()
// 变量 x,y,索引,x1,y1,索引1
//
// 索引 = 找图(420,11,436,35,"rc:战斗中的第一回合.bmp","000000",0.5,0,x,y)
//
// 如果(索引==-1)
// 找战斗的一()
// 结束
//
// 如果(索引==0)//找到了的第一次
// 索引1 = 找图(420,11,436,35,"rc:战斗中的第一回合.bmp","000000",0.5,0,x1,y1)
// 如果(索引1==0)//找到了的第二次
// 战斗中一直找()
// 否则
// 控制器 = 控制器 + 1
// 结束
// 结束
//
//
// 调试输出(索引)
// 调试输出(x&""&y)
// //返回 索引//找到返回0 否则返回-1
// 调试输出()
// 结束
//
//功能 战斗中一直找()
// 变量 x,y,索引
//
// 索引 = 找图(420,11,436,35,"rc:战斗中的第一回合.bmp","000000",0.5,0,x,y)
// 如果(索引==0)
// 战斗中一直找()
// 否则
// 控制器 = 控制器 + 1
// 结束
//结束
//
function 找色活动()
变量 x,y
缓存图像()
// 找色(215,5,266,52,"C18543",1.0,0,x,y)
// 如果(x>0&&y>0)
// 手指点击(x,y)
// 结束
多点找色(65,18,140,55,"806852-000000","-5|7|EACFB3-000000,5|5|D2BBA4-000000",1.0,0,x,y)
调试输出(x&","&y)
释放图像()
end
function 找图函数()
//图片制作 图片
变量 索引,x,y
缓存图像()
索引 = 找图(0,0,854,480,"rc:紫师.bmp","000000",0.9,0,x,y)//第五个参数是个相对路径
//找到的坐标是左上角的 所以截图的时候最好就从这点开始 模拟手指点击的时候便点击这一点
调试输出("索引是:"&索引&" "&"x:"&x&" "&"y:"&y)
释放图像()
end
功能 找字命令()
变量 x,y,索引
缓存图像(1)//找字参数1
字库设置("rc:mhxy.txt",0)//如果是多字库 在找字之前 先指定字库序号
字库切换(0)//表示当前正在使用0号字库
索引 = 找字(54,3,191,69,"长安城","785f4b-2024325",1.0,x,y)
释放图像(1)
结束
功能 师门任务之点击活动()//已初步修改添加满足条件再点击 没添加处理异常的办法 只需要点击一次
缓存图像()
变量 x,y,索引
索引 = 找图(227,16,243,32,"rc:活动入口.bmp","000000",1.0,0,x,y)
调试输出(x&" "&y)
如果(索引==0)
手指点击(x,y)
结束
释放图像()
结束
功能 找并点击日常任务()//已初步修改
缓存图像()
变量 x1,y1,索引2
索引2 = 找图(112,74,150,95,"rc:日常.bmp","000000",1.0,0,x1,y1)
调试输出(x1&" "&y1)
如果(索引2==0)
手指点击(x1,y1)
结束
释放图像()
结束
功能 活动界面找师门() //只需要点击一次
缓存图像()
变量 a,b,索引1
索引1 = 找图(207,52,752,354,"rc:师门图标.bmp","000000",0.7,0,a,b)//索引1保存的是0
调试输出(a&" "&b)
如果(索引1==0)
手指点击(a+198,b+17)//这样找到师门的图后偏移点击参加按钮
否则
滑动日常任务界面()
结束
释放图像()
结束
功能 滑动日常任务界面()//用取色吧
缓存图像()
变量 索引,x,y,上面x,上面y
索引 = 找色(359,299,393,322,"F2E2CB",1.0,0,x,y)//找色的范围大些 容易找到
调试输出(x&y)
如果(索引==0)
手指划动屏幕(x,y,372,86)
结束
释放图像()
结束
//////////////////////////////////////////
功能 寻找师门任务并点击()//已经剪切图片为最小
缓存图像()
//
// 变量 x,y,索引
// 索引 = 找图(684,113,853,341,"rc:最后的师门任务.bmp|rc:新紫色任务师门.bmp","000000",1.0,0,x,y)
// 调试输出(x&" "&y)
// 调试输出(索引)
// 如果(索引==0||索引==1)
// 手指点击(x,y)
// 判断人物移动()
// 结束
// 否则
// 滑动任务列表寻找师门任务()
// 寻找师门任务并点击1()
变量 x,y,索引
索引 = 找图(693,120,850,342,"rc:师门任务最小.bmp|rc:停留海底师门任务.bmp|rc:花果山黑底师门.bmp","000000",0.5,0,x,y)
调试输出("找到了师门任务的坐标"&x&" "&y)
调试输出("师门索引是"&索引)
如果(索引==0||索引==1||索引==2)
手指点击(x,y)
调试输出("已经点击师门任务坐标点")
结束
释放图像()
返回 索引
结束
功能 识字师门()//废弃
变量 x,y
字库设置("rc:mhxy.txt",0)
找字(684,113,853,341,"师门","3F8003FFB400019FF206C0FFFB036067F000000001FFC0080000000C0180300600C01801FF800000040",0.9,x,y)
调试输出(x&y)
结束
功能 滑动任务列表寻找师门任务()//ok
缓存图像()
手指划动屏幕(769,336,769,123)
释放图像()
结束
功能 判断当前是否在战斗中()
缓存图像()
变量 x,y,索引,索引1,x1,y1
索引 = 找图(8,21,40,48,"rc:左羊角.bmp","000000",0.7,0,x,y)//成功
//调试输出(索引)
//索引 = -1
//调试输出(索引)
如果(索引==0)
//手指点击(x+6,y+6)
sleep(1000)
调试输出("正在战斗中,坐标是"&x&" "&y)
判断当前是否在战斗中()
否则
调试输出("检测按钮中..............")
按钮检测()
调试输出("按钮按钮完毕..............")
结束
// 手指点击(x+6,y+6)
// 如果(索引==-1)
// 索引1=找图(795,408,850,435,"rc:右战斗取消按钮一半.bmp","000000",0.5,0,x1,y1)
// 调试输出(x1&y1)
// 结束
释放图像()
结束
功能 判断人物移动()//用这个一定程度上可以检测人物移动 还可以多取多个点的颜色 搭配缓存图像使用 但会受到某种的影响 从而出现判断错误的问题
//缓存图像()
变量 返回的颜色值,返回的颜色值1
返回的颜色值 = 取色(459,233,1)
调试输出(返回的颜色值)
sleep(1000)//经过测试1000毫秒完全足够
返回的颜色值1 = 取色(459,233,1)
调试输出(返回的颜色值1)
如果(返回的颜色值==返回的颜色值1)
调试输出("人物没有移动")
判断当前是否在战斗中()
否则
调试输出("人物移动中或已经移动了位置")
sleep(1000)
判断人物移动()
结束
释放图像()
结束
功能 心经显示与点击()//测试通过
缓存图像()
变量 x,y,索引
索引 = 找图(705,282,753,333,"rc:心经图片.bmp","000000",0.7,0,x,y)
如果(索引==0)
手指点击(722,383)
调试输出("点击了心经的坐标"&x&y)
结束
//sleep(1000)
释放图像()
结束
功能 寻找物品与购买()
缓存图像()
变量 x,y,索引
索引 = 找图(619,381,678,403,"rc:兵器谱购买按钮.bmp","000000",0.7,0,x,y)
如果(索引==0)
手指点击(x,y)
调试输出("购买了兵器"&x&y)
结束
//sleep(1000)
释放图像()
结束
功能 购买宠物啊()//图片已经截切为最小 所以不需要再缩小图片
缓存图像()
变量 x,y,索引
索引 = 找图(661,419,719,443,"rc:师门任务宠物购买.bmp","000000",0.7,0,x,y)
如果(索引==0)
手指点击(x,y)
调试输出("点击了宠物店购买按钮"&x&""&y&"点")
结束
释放图像()
结束
功能 上交宠物啊()//图片已经截切为最小
缓存图像()
变量 x,y,索引
索引 = 找图(547,380,586,401,"rc:师门任务之上交宠物.bmp","000000",0.7,0,x,y)
如果(索引==0)
手指点击(x,y)
调试输出("点击了师门任务的上交宠物按钮"&x&""&y&"点")
结束
释放图像()
结束
功能 上交物品()
缓存图像()
变量 x,y,索引
索引 = 找图(687,379,725,399,"rc:上交按钮.bmp","000000",0.7,0,x,y)//
如果(索引==0)
手指点击(x,y)
调试输出("上交了物品"&x&""&y)
结束
//sleep(1000)
释放图像()
结束
功能 商会摆摊购买按钮()
缓存图像()
变量 x,y,索引
索引 = 找图(634,429,695,451,"rc:商会摆摊购买按钮.bmp","000000",0.7,0,x,y)//
调试输出("商会按钮索引的值为"&索引)
如果(索引==0)
sleep(500)
手指点击(x,y)
调试输出(x&y&"点击了商会摆摊购买按钮坐标")
结束
//sleep(1000)
释放图像()
结束
功能 修复点击太快商会问题()
缓存图像()
变量 x,y,索引
索引 = 找图(747,103,781,170,"rc:点击太快右商会.bmp","000000",0.7,0,x,y)
调试输出("找到的右商会索引是"&索引)
如果(索引==0)
手指点击(762,210)
sleep(900)
手指点击(392,149)
sleep(900)
手指点击(665,441)
sleep(900)
结束
释放图像()
结束
功能 师门任务袁守城()
缓存图像()
变量 x,y,索引
索引 = 找图(622,155,827,203,"rc:师门任务袁守城紫.bmp","000000",0.7,0,x,y)//当
调试输出("袁守城"&索引)
如果(索引==0)
手指点击(x,y)
调试输出("点击了袁守城"&x&" "&y)
结束
//sleep(1000)
释放图像()
结束
功能 师任务王铁匠()
缓存图像()
变量 x,y,索引
索引 = 找图(688,259,759,277,"rc:师门任务王铁匠.bmp|rc:师门任务王铁匠紫.bmp|rc:师门任务王铁匠中.bmp","000000",0.5,0,x,y)//这两个都没用
如果(索引==0||索引==1||索引==2)
手指点击(x,y)
调试输出(x&y&"师门任务王铁匠")
结束
//sleep(1000)
释放图像()
结束
功能 右下角物品的使用()//适合挖宝图的时候
缓存图像()
变量 x,y,索引
索引 = 找图(705,375,752,395,"rc:使用心魔宝珠物品.bmp","000000",0.7,0,x,y)
如果(索引==0)
手指点击(x,y)
调试输出("点击了使用物品按钮"&x&""&y&"点")
结束
释放图像()
结束
功能 特殊师门战胜异兽进入战斗()
缓存图像()
变量 x,y,索引
索引 = 找图(686,303,761,323,"rc:特殊师门之战胜异兽进入战斗.bmp","000000",0.7,0,x,y)
调试输出("找到战胜异兽进入索引值为"&索引)
如果(索引==0)
手指点击(x,y)
调试输出("点击了进入战斗"&x&y)
sleep(1000)
结束
释放图像()
结束
功能 处理弹出的三界奇缘()
缓存图像()
变量 x,y,索引
索引 = 找图(468,200,567,219,"rc:三界奇缘是否参加.bmp","000000",1.0,0,x,y)
调试输出(索引&x&y)
如果(索引==0)
//手指点击(490,286)//确定键
手指点击(339,291)//取消键
结束
释放图像()
结束
功能 处理弹出的抽奖盘()
缓存图像()
变量 x,y,索引
索引 = 找图(398,222,450,252,"rc:抽奖大转盘按钮.bmp","000000",0.7,0,x,y)
调试输出("找到了抽奖大转盘索引值为"&索引)
如果(索引==0)
手指点击(x,y)
调试输出("点击了抽奖大转盘"&x&y)
sleep(1000)
结束
释放图像()
结束
功能 处理遮罩()//处理弹出的关系网推荐 也会处理掉不小心打开的好友窗口
缓存图像()
变量 x,y,索引
索引 = 找图(750,22,775,45,"rc:关系网叉.bmp","000000",0.7,0,x,y)//
如果(索引==0||索引==1||索引==2)
手指点击(x,y)
调试输出(x&y&"取消关系网叉叉")
结束
//sleep(1000)
释放图像()
结束
功能 处理梦幻过大年遮罩()//暂不启用 这是一开始游戏弹出 不是中途弹出
缓存图像()
变量 x,y,索引
索引 = 找图(692,36,728,70,"rc:梦幻陪你过大年.bmp","000000",1.0,0,x,y)
调试输出("梦幻陪你过大年索引是"&索引)
如果(索引==0)
手指点击(x,y)
调试输出("关闭了梦幻过大年遮罩")
结束
释放图像()
结束
//功能 结束20师门()
//
//结束
功能 只需要点击一次的师门开头()//已经ok
师门任务之点击活动()
sleep(1000)
// 找并点击日常任务()
// sleep(1000)
活动界面找师门()
sleep(1000)
结束
功能 师门任务()
//师门任务之点击活动()
//sleep(1000)
//找并点击日常任务()
//sleep(1000)
//活动界面找师门()
//sleep(1000)
// 变量 次数 = 0
// while(次数<3)
// 寻找师门任务并点击()
// sleep(1000)
//
// //按钮检测()
// //判断当前是否在战斗中()
// //判断人物移动()
//
// 次数= 次数 + 1
// end
//变量 n = 0
变量 控制器 = 0
变量 找不到的时间 = 0
变量 找到或没找到 = 0
变量 循环的次数 = 0
while(控制器!=1)
找到或没找到 = 寻找师门任务并点击()
调试输出("找到或没找到的索引是"&找到或没找到)
sleep(2300)
//判断人物移动()
//n = n + 1
判断当前是否在战斗中()//这里要么一直在战斗中循环 要么一直在检测按钮 执行完这两个
变量 x,y,索引
索引 = 找图(320,281,356,300,"rc:师门做满二十取消按钮正用.bmp|rc:师门做满二十取消按钮备用.bmp","000000",0.9,0,x,y)//测试成功 0.9相似度 索引1 成功一次 第二次成功也是索引1 第三次成功也是1
if(索引==0||索引==1)
手指点击(x,y)
控制器 = 1
调试输出("索引是"&索引)
调试输出("任务已经做完20次了")
end
如果(找到或没找到==-1)//假设3分钟
找不到的时间 = 找不到的时间 + 1000//找不到
调试输出("找不到则加1000毫秒")
调试输出("现在找不到的时间是"&找不到的时间)
结束
如果(找不到的时间==10000)//成功
break
结束
循环的次数 = 循环的次数 + 1
调试输出("这是第"&循环的次数&"次循环")
end
结束
功能 按钮检测()
心经显示与点击()
调试输出("1111111111111111111")
商会摆摊购买按钮()
调试输出("2222222222222222222")
修复点击太快商会问题()
寻找物品与购买()
调试输出("3333333333333333333")
上交物品()
调试输出("4444444444444444444")
购买宠物啊()//这一条注意自己的宠物位是否满了
调试输出("5555555555555555555")
上交宠物啊()
调试输出("6666666666666666666")
右下角物品的使用()
调试输出("7777777777777777777")
师门任务袁守城()
调试输出("8888888888888888888")
师任务王铁匠()
调试输出("9999999999999999999")
特殊师门战胜异兽进入战斗()//60级时候出现的 与孙悟空对话的
处理弹出的抽奖盘()
处理弹出的三界奇缘()
处理遮罩()
调试输出("10101010101010101010101010101010101010")
结束
一共好几百行
|
|