|
楼主 |
发表于 2013-12-11 16:06:41
|
显示全部楼层
空间 测试者Aid
变量 ct=数组[4],窗口句柄=数组[4],多开区分=数组[4],线程数组=数组[4],地图找怪名XC=数组[4]
功能 寻路参数(参数)
//*********绘制阿基米德螺旋线*********
//*阿基米德螺旋线的标准极坐标方程为
//ρ=at+P0
//式中:
//a—阿基米德螺旋线系数,mm/°,表示每旋转1度时极径的增加(或减小)量;
//t—极角,单位为度,表示阿基米德螺旋线转过的总度数;
//p0—当t=0°时的极径,mm。
//***p0为初始极径
初始极径=20 // 这个的值是控制初始的内圈大小,值越大,内圈越大
倍数 = 3 //放大倍数,这里也可以根据情况做调整
系数=2 //阿基米德螺旋线系数
圆周率 = 3.1415926
////画线的起始点坐标(起始x,起始y)
// 表示的是要从那一点开始为基准点,逐渐向外扫描
起始x=寻路x,起始y=寻路y
终点x,终点y
极角=圆周率/2
///////移动到起点
ct[参数].chentaomt(起始x,起始y+倍数*初始极径+系数*极角)
功能结束
功能 寻路(参数)
辅助.等待(辅助.随机数(65,115))
// 按下鼠标左键开始准备画线。具体在游戏里使用的时候,这句要去掉
// 因为这里是要在画板里画线看执行效果才加的鼠标按下命令
//遍历(i=0;i<50;i++) // 这里表示一共执行3000次。 具体要执行多少次。根据不同情况调整
ct[参数].KeyPress(9)
辅助.等待(辅助.随机数(91,123))
半径 = 初始极径+系数*极角 //表示的是圆的半径
// 计算鼠标移动的下一点坐标位置
终点x = 起始x+类型.转整型(倍数*半径*数学.余弦值(极角))
终点y = 起始y+类型.转整型(倍数*半径*数学.正弦值(极角))
// 极角的增加值越大,跨的角度就越大。这个值的大小,可以自我调整达到理想状态
// 比如增加量可以用以下的值 0.02 0.03 0.05 0.07 0.08 0.1 ……
// 值越大,跨的角度越大,误差越大,但是消耗的时间短
// 值越小,跨的角度越小,误差越小,但是消耗的时间长
极角 = 极角 + 0.45 // 极角 = 极角 + 0.05
// 鼠标移动到下一点的位置,完成一次画线操作
ct[参数].chentaomt(终点x,终点y)
调试输出("终点y="&终点y)
// 此处的延时可以根据情况是否添加。
辅助.等待(辅助.随机数(22,46))
如果(终点y>=188&&终点y<=671)
调试输出("在地图内可以点击")
辅助.等待(辅助.随机数(49,70))
ct[参数].LeftClick()
辅助.等待(辅助.随机数(38,58))
ct[参数].RightClick()
调试输出("点击完毕"&i)
辅助.等待(辅助.随机数(59,77))
否则
调试输出("不在地图内不去点击")
如果结束
//**************************************************
// 此处可以加入判断鼠标特征码 颜色值等等是否与目标的一致,不一致的话就不管,继续执行
// 一致的话,那么就进入判断语句,执行相应的功能,之后返回 真
//**************************************************
//遍历结束
功能结束
功能 地图找怪名ID(参数)
绑定=ct[参数].chentaobwdex(窗口句柄[参数],"dx2","windows2","dx.keypad.input.lock.api|dx.keypad.state.api|dx.keypad.api|dx.keypad.raw.input",0,101)
辅助.等待(5000)
如果(绑定==0)
辅助.消息框("绑定窗口失败!")
//辅助.退出()
绑定=ct[参数].GetLastError()
辅助.消息框("失败错误码"&绑定)
如果结束
字库设置=ct[参数].SetDict(0,"字.txt")
辅助.等待(123)
如果(字库设置!=1)
辅助.消息框("字库设置失败")
如果结束
怪IDx=0
怪IDy=0
调试输出("怪值="&怪值)
循环(真)
选择(怪值)
条件 1:
ct[参数].FindPic(0,0,1024,768,"1.bmp","000000",1.0,0,怪IDx,怪IDy)
条件 2:
ct[参数].FindPic(0,0,1024,768,"2.bmp","000000",1.0,0,怪IDx,怪IDy)
条件 3:
ct[参数].FindPic(0,0,1024,768,"3.bmp","000000",1.0,0,怪IDx,怪IDy)
条件 4:
ct[参数].FindPic(0,0,1024,768,"4.bmp","000000",1.0,0,怪IDx,怪IDy)
条件 5:
ct[参数].FindPic(0,0,1024,768,"5.bmp","000000",1.0,0,怪IDx,怪IDy)
条件 6:
ct[参数].FindPic(0,0,1024,768,"6.bmp","000000",1.0,0,怪IDx,怪IDy)
条件 7:
ct[参数].FindPic(0,0,1024,768,"7.bmp","000000",1.0,0,怪IDx,怪IDy)
条件 8:
ct[参数].FindPic(0,0,1024,768,"8.bmp","000000",1.0,0,怪IDx,怪IDy)
条件 9:
ct[参数].FindPic(0,0,1024,768,"9.bmp","000000",1.0,0,怪IDx,怪IDy)
条件 10:
ct[参数].FindPic(0,0,1024,768,"10.bmp","000000",1.0,0,怪IDx,怪IDy)
调试输出("***地图中怪****IP="&怪IDx)
选择结束
如果(怪IDx>0)
测试者Aid.清洁窗口(参数)
辅助.等待(100)
ct[参数].chentaomt(怪IDx,怪IDy+15)
辅助.等待(辅助.随机数(88,111))
ct[参数].LeftClick()
辅助.等待(辅助.随机数(88,111))
ct[参数].LeftClick()
辅助.等待(辅助.随机数(88,111))
ct[参数].LeftClick()
测试者Aid.走到怪旁边(参数)
如果结束
循环结束
功能结束
功能 主线程(参数)
变量 参数
ctpath=ct[参数].chentaosph(辅助.获取资源路径("rc:"))
如果(ctpath!=1)
辅助.消息框("设置路径失败!")
辅助.退出()
如果结束
绑定=ct[参数].chentaobwdex(窗口句柄[参数],"dx2","windows2","dx.keypad.input.lock.api|dx.keypad.state.api|dx.keypad.api|dx.keypad.raw.input",0,101)
辅助.等待(5000)
如果(绑定==0)
辅助.消息框("绑定窗口失败!")
//辅助.退出()
绑定=ct[参数].GetLastError()
辅助.消息框("失败错误码"&绑定)
如果结束
调试输出("开始执行!")
调试输出("主线程里面参数="&参数)
//ct[参数].SetAero(0)
字库设置=ct[参数].SetDict(0,"字.txt")
辅助.等待(123)
如果(字库设置!=1)
辅助.消息框("字库设置失败")
如果结束
//下面开始执行任务功能
遍历(i=0;i<479;i++)
循环(真)
测试者Aid.飞回NPC(参数)
辅助.等待(555)
如果(飞回NPC成败==1)
测试者Aid.接任务(参数)
跳出
如果结束
循环结束
//接任务完毕
循环(真)
辅助.等待(455)
如果(接任务成败==1)
测试者Aid.打开任务栏(参数)
跳出
否则
测试者Aid.接任务(参数)
如果结束
//测试者Aid.接任务()
循环结束
辅助.等待(277)
循环(真)
辅助.等待(255)
如果(打开任务栏成败==1)
测试者Aid.任务栏怪名ID(参数)
跳出
如果结束
循环结束
标记1:
循环(真)
辅助.等待(355)
如果(任务栏找怪名成败==1)
地图找怪名XC[参数]=线程.开启("测试者Aid.地图找怪名ID",参数)
调试输出("开启地图判断怪线程")
辅助.等待(89)
跳出
如果结束
循环结束
遍历结束
功能结束
功能 解绑窗口(参数)
顶层句柄=窗口.顶层窗口句柄()
如果(ct[参数].chentaoibd(顶层句柄)==1)
调试输出("为绑定状态")
ct[参数].chentaofubww()
否则
调试输出("未绑定状态")
如果结束
功能结束
//*********************************************************************
功能 热键0_热键()
//这里添加你要执行的代码F1
变量 i,参数
//获取页面元素
遍历(i=0;i<10;i++)
参数=i
如果(ct[参数]==null)
跳出
如果结束
遍历结束
调试输出("空闲参数="&参数)
窗口句柄[参数]=窗口.顶层窗口句柄()
辅助.等待(1000)
窗口.激活(窗口句柄[参数])
多开区分[参数]=窗口句柄[参数]&参数
线程数组[参数]=线程.扩展开启("测试者Aid.主线程",参数,"测试者Aid.解绑窗口",参数)
调试输出("窗口句柄[参数]"&窗口句柄[参数])
调试输出(多开区分[参数])
调试输出(线程数组[参数])
功能结束
功能 热键1_热键()
//这里添加你要执行的代码F2
变量 i,参数
顶层句柄=窗口.顶层窗口句柄()
遍历(i=0;i<5;i++)
参数=i
如果(多开区分[参数]==null)
调试输出("该窗口未绑定")
否则
如果(顶层句柄==字符串.截取(多开区分[参数],0,字符串.长度(多开区分[参数])-1))
调试输出(多开区分[参数])
线程.关闭(地图找怪名XC[参数])
辅助.等待(100)
调试输出("关闭地图找怪名线程")
线程.关闭(线程数组[参数])//关闭目标窗口主线程运行
调试输出("关闭目标窗口主线程")
跳出
如果结束
如果结束
遍历结束
数组空间.删除指定项(ct,参数)
数组空间.删除指定项(窗口句柄,参数)
数组空间.删除指定项(多开区分,参数)
数组空间.删除指定项(线程数组,参数)
辅助.消息框("窗口"&参数+1&"解绑完毕!")
功能结束
空间结束
|
|