| 
 | 
	
 
马上加入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") 
结束 
 
 
一共好几百行  
 |   
 
 
 
 |