当我们的游戏进行刷怪任务时,往往会有非常多的不同类型的怪物在屏幕上出现,我们使用FindStrEx命令就方便的多了,可以定义一个文本数组,比如:name = “鬼谷|墨攻|天盾|尚贤|水经|影宗|山峦|啸穹|枪澜|非乐|磬竹”,在参数里,只调用name就可以了,对于返回的数组坐标我们要进行二次遍历分割,有了坐标,我们就可以精确的控制打怪了。
源码封装:
name = “鬼谷|墨攻|天盾|尚贤|水经|影宗|山峦|啸穹|枪澜|非乐|磬竹”
.版本 2
.支持库 spec
.支持库 dm
.局部变量 name, 文本型
.局部变量 dm_ret, 文本型
.局部变量 ss, 文本型, , "0"
.局部变量 sss, 文本型, , "0"
.局部变量 count, 整数型
.局部变量 id, 整数型
.局部变量 x, 整数型
.局部变量 y, 整数型
.局部变量 dm_rett, 文本型
.局部变量 sst, 文本型, , "0"
.局部变量 i, 整数型
延迟 (5000)
name = “鬼谷|墨攻|天盾|尚贤|水经|影宗|山峦|啸穹|枪澜|非乐|磬竹”
i = 1
.判断循环首 (i = 1)
处理事件 ()
dm_ret = dm.FindStrFastEx (297, 173, 503, 360, name, “ebb200-000000”, 1)
.如果 (取文本长度 (dm_ret) > 0)
ss = 分割文本 (dm_ret, “|”, )
count = 取数组下标 (ss, )
.计次循环首 (count, id)
sss = 分割文本 (ss [id], “,”, )
x = 到整数 (sss [2])
y = 到整数 (sss [3])
dm.MoveTo (x, y)
延时 (50)
dm.LeftClick ()
.计次循环尾 ()
dm_rett = dm.FindStrFastE (644, 109, 722, 125, “木人巷0”, “e6b532-000000”, 1)
sst = 分割文本 (dm_rett, “|”, )
.如果 (到整数 (sst [1]) ≥ 0)
跳出循环 ()
i = 0
.否则
.如果结束
.否则
.如果结束
.判断循环尾 ()