TC官方合作论坛
标题:
我这个执行不起来,错在那里了?
[打印本页]
作者:
qq651999980
时间:
2015-3-11 17:45
标题:
我这个执行不起来,错在那里了?
我做个主线任务,接主线任务前,会先查看当前地图来接相对应地图的任务的,轩辕传奇的第一个地图:殇阳关的,做完后,代码没问题,,接下来要到轩辕城的地图了,我再加上轩辕城地图时,,代码执行不起来了,,连最简单的接任务快捷键“L”都不会接了,如果去掉轩辕城的代码,就可以。我发上代码识别任务地图名的代码,有懂的帮我看一下,是不是加错了?要怎么加?
部分相关代码如下:
//================↓↓↓↓↓按L键接任务↓↓↓↓↓================///
功能 按L键接任务(标题, 小窗口句柄, 窗口句柄, 延迟, 下标)
变量 地图名,intX,intY,x,y
JXx1 = 30,JXy1 = 159,JXx2 = 311,JXy2 = 549
//获取当前地图
地图名 = 新版轩辕.获取任务地图名(下标)
调试输出("[按L键接任务] 地图名:" & 地图名)
选择(地图名)
条件 "殇阳关":
//按L键点可接
新版轩辕.按L键单击可接(窗口句柄, 延迟, 下标)
//构建范围 找 殇
dm数组[下标].UseDict(5)
dm数组[下标].FindStr(JXx1,JXy1,JXx2,JXy2,"殇","bcad8e-39403b",1.0,intX,intY)
如果(intX > 0 && intY > 0)
延迟 = 延迟+辅助.随机数(70, 150)
dm数组[下标].UseDict(7)
//构建范围 找 主字
调试输出("[按L键接任务] 殇intX:" & intX & "殇intY:" &intY)
//45,183,361,219,宽高(316,36),先找到殇字后,在构建一个范围,在这个指定范围内找自己要找的字
JXx1 = intX + 45, JXy1 = intY + 21, JXx2 = JXx1 + 333, JXy2 = JXy1 + 46
延迟= 延迟 + 辅助.随机数(70, 150)
dm数组[下标].FindStr(JXx1,JXy1,JXx2,JXy2,"主","e7e4ae-000000",1.0,intX,intY)
如果(intX > 0 && intY > 0)
x = intX, y = intY //保存找到 "主" 字坐标
如果结束
否则
调试输出("[按L键接任务] 没有找到殇字")
dm数组[下标].KeyPress(76) //按L键
辅助.等待(延迟)
返回 -1
如果结束
//轩辕城代码, 感觉这里加错了,不过不知道错在那里,上面条件是:殇阳关:
//殇阳关任务全部做完了,现在要转去轩辕城了,所以我把条件改成:轩辕城:代码跟上面一样,
//但是加了轩辕城这段代码后,连最基本的任务快捷键“L”都不会按了,一直会显示:任务名:未知,地图名:未知!
//如果把所有轩辕城的相关代码去掉后,回到殇阳关后再执行,就一切正常,所以是轩辕城的代码有问题吗?,错在那里了?
条件 "轩辕城":
//按L键点可接
新版轩辕.按L键单击可接(窗口句柄, 延迟, 下标)
//构建范围 找 轩
dm数组[下标].UseDict(5)
dm数组[下标].FindStr(JXx1,JXy1,JXx2,JXy2,"轩","bcad8e-39403b",1.0,intX,intY)
如果(intX > 0 && intY > 0)
延迟 = 延迟+辅助.随机数(70, 150)
dm数组[下标].UseDict(7)
//构建范围 找 主字
调试输出("[按L键接任务] 轩intX:" & intX & "轩intY:" &intY)
//45,183,361,219,宽高(316,36),先找到殇字后,在构建一个范围,在这个指定范围内找自己要找的字
JXx1 = intX + 45, JXy1 = intY + 21, JXx2 = JXx1 + 333, JXy2 = JXy1 + 46
延迟= 延迟 + 辅助.随机数(70, 150)
dm数组[下标].FindStr(JXx1,JXy1,JXx2,JXy2,"主","e7e4ae-000000",1.0,intX,intY)
如果(intX > 0 && intY > 0)
//保存找到 主 字坐标
x = intX, y = intY
如果结束
否则
调试输出("[按L键接任务] 没有找到轩字")
dm数组[下标].KeyPress(76) //按L键
辅助.等待(延迟)
返回 -1
如果结束
选择结束
//================↓↓↓↓↓找色↓↓↓↓↓================///
循环(辅助.读配置(窗口句柄, "检测开关", "c:\\xy\\Global.ini") == "1")
新版轩辕.鼠标移动单击(x, y, 500, 下标,假) //单击左边的任务字
//找色单击
dm数组[下标].FindColor(375,345,705,547, "7bac1b-000000",1.0,0,intX,intY)
如果(intX > 0 && intY > 0)
新版轩辕.鼠标移动单击(intX, intY, 延迟, 下标) //1000
//寻路
新版轩辕.寻路(标题, 小窗口句柄, 窗口句柄, 下标)
//点击左边接受
新版轩辕.找图单击(32,510,109,543, "接.bmp|接1.bmp", 10, 窗口句柄, 延迟, 下标)
跳出
否则
辅助.等待(500)
如果结束
循环结束
功能结束
//================↓↓↓↓↓按L键单击可接↓↓↓↓↓================///
功能 按L键单击可接(窗口句柄, 延迟, 下标)
延迟 = 延迟 + 辅助.随机数(100, 160)
//按L键
循环 (辅助.读配置(窗口句柄, "检测开关", "c:\\xy\\Global.ini") == "1")
dm数组[下标].KeyPress(76) //按L键
辅助.等待(500)
//找可接任务 164, 135, 275, 162,这座标是可接任务没错位前的座标 先保留
如果(新版轩辕.找图单击扩展(164, 135, 275, 162, "可.bmp","可1.bmp", 3, 窗口句柄, 延迟, 下标) == 1)
跳出
如果结束
循环结束
功能结束
//================↓↓↓↓↓获取任务地图名↓↓↓↓↓================///
功能 获取任务地图名(下标)
变量 intX, intY
//指定字库序号
dm数组[下标].UseDict(8)
如果(dm数组[下标].FindStr(860,6,958,41, "阳", "20bb0d-0c3c08",1.0,intX,intY) >= 0)
返回 "殇阳关"
否则
返回 "未知"
如果结束
//下面是轩辕城代码:
//指定字库序号
dm数组[下标].UseDict(8)
如果(dm数组[下标].FindStr(860,6,958,41, "辕", "20bb0d-0c3c08",1.0,intX,intY) >= 0)
返回 "轩辕城"
否则
返回 "未知"
如果结束
功能结束
复制代码
作者:
qq651999980
时间:
2015-3-11 17:52
上一段在殇阳关执行任务正确的代码:
代码如下:这段可以找到地图名,来完美接任务,能做到轩辕城任务都没问题,但是到了轩辕城后。要加轩辕城地图名的话。要在那里加?怎么样加?请教一下:
上面我加了,在轩辕城就执行不起来。。所以上一段殇阳关的正确代码:
//================↓↓↓↓↓按L键接任务↓↓↓↓↓================///
功能 按L键接任务(标题, 小窗口句柄, 窗口句柄, 延迟, 下标)
变量 地图名,intX,intY,x,y
JXx1 = 30,JXy1 = 159,JXx2 = 311,JXy2 = 549
//获取当前地图
地图名 = 新版轩辕.获取任务地图名(下标)
调试输出("[按L键接任务] 地图名:" & 地图名)
选择(地图名)
条件 "殇阳关":
//按L键点可接
新版轩辕.按L键单击可接(窗口句柄, 延迟, 下标)
//构建范围 找 殇
dm数组[下标].UseDict(5)
dm数组[下标].FindStr(JXx1,JXy1,JXx2,JXy2,"殇","bcad8e-39403b",1.0,intX,intY)
如果(intX > 0 && intY > 0)
延迟 = 延迟+辅助.随机数(70, 150)
dm数组[下标].UseDict(7)
//构建范围 找 主字
调试输出("[按L键接任务] 殇intX:" & intX & "殇intY:" &intY)
//45,183,361,219,宽高(316,36),先找到殇字后,在构建一个范围,在这个指定范围内找自己要找的字
JXx1 = intX + 45, JXy1 = intY + 21, JXx2 = JXx1 + 333, JXy2 = JXy1 + 46
延迟= 延迟 + 辅助.随机数(70, 150)
dm数组[下标].FindStr(JXx1,JXy1,JXx2,JXy2,"主","e7e4ae-000000",1.0,intX,intY)
如果(intX > 0 && intY > 0)
x = intX, y = intY //保存找到 "主" 字坐标
如果结束
否则
调试输出("[按L键接任务] 没有找到殇字")
dm数组[下标].KeyPress(76) //按L键
辅助.等待(延迟)
返回 -1
如果结束
选择结束
//================↓↓↓↓↓找色↓↓↓↓↓================///
循环(辅助.读配置(窗口句柄, "检测开关", "c:\\xy\\Global.ini") == "1")
新版轩辕.鼠标移动单击(x, y, 500, 下标,假) //单击左边的任务字
//找色单击
dm数组[下标].FindColor(375,345,705,547, "7bac1b-000000",1.0,0,intX,intY)
如果(intX > 0 && intY > 0)
新版轩辕.鼠标移动单击(intX, intY, 延迟, 下标) //1000
//寻路
新版轩辕.寻路(标题, 小窗口句柄, 窗口句柄, 下标)
//点击左边接受
新版轩辕.找图单击(32,510,109,543, "接.bmp|接1.bmp", 10, 窗口句柄, 延迟, 下标)
跳出
否则
辅助.等待(500)
如果结束
循环结束
功能结束
//================↓↓↓↓↓按L键单击可接↓↓↓↓↓================///
功能 按L键单击可接(窗口句柄, 延迟, 下标)
延迟 = 延迟 + 辅助.随机数(100, 160)
//按L键
循环 (辅助.读配置(窗口句柄, "检测开关", "c:\\xy\\Global.ini") == "1")
dm数组[下标].KeyPress(76) //按L键
辅助.等待(500)
//找可接任务 164, 135, 275, 162,这座标是可接任务没错位前的座标 先保留
如果(新版轩辕.找图单击扩展(164, 135, 275, 162, "可.bmp","可1.bmp", 3, 窗口句柄, 延迟, 下标) == 1)
跳出
如果结束
循环结束
功能结束
//================↓↓↓↓↓获取任务地图名↓↓↓↓↓================///
功能 获取任务地图名(下标)
变量 intX, intY
//指定字库序号
dm数组[下标].UseDict(8)
如果(dm数组[下标].FindStr(860,6,958,41, "阳", "20bb0d-0c3c08",1.0,intX,intY) >= 0)
返回 "殇阳关"
否则
返回 "未知"
如果结束
功能结束
空间结束
//空间结束语句
复制代码
作者:
Abin
时间:
2015-3-11 17:55
你把人物跑到 轩辕城 里,单独测试下这个地图吧!看看能正常识别不。
欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/)
Powered by Discuz! X3.1