|
发表于 2013-9-11 12:38:03
|
显示全部楼层
#import "dm.dmsoft" dm
空间 全屏捡物
功能 整型 自动捡物()
dm.SetPath(辅助.获取资源路径("rc:"))
dm.SetDict(0,"DNF字库.txt")
整型 X物品,Y物品,返回值
循环(真)
返回值=dm.FindStr(3,140,821,547,"左框","aca186-102030",0.9,X物品,Y物品)
如果(返回值==0)
字符型 返回颜色= dm.FindColorEx(X物品,Y物品,X物品+33,Y物品+22,"ffffff-000000|68d5ed-000000|b36bff-000000",1.0,0)
辅助.等待(20)
//↑白色 蓝色 紫色
整型 颜色数量 = dm.GetResultCount(返回颜色)
如果(颜色数量>= 39)
跳出
如果结束
如果结束
辅助.等待(300)
循环结束
整型 X人物,Y人物,X人物1,Y人物1,X人物2,Y人物2,返回值1,返回值0
循环(真)
返回值1 = dm.FindStr(3,140,821,547,"Lv","ffffff-000000",1.0,X人物1,Y人物1)
返回值0 = dm.FindColor(X人物1,Y人物1,X人物1+95,Y人物1+8,"ffffff-000000",1.0,2,X人物2,Y人物2)
辅助.等待(20)
如果(返回值1+返回值0==1)
X人物=X人物1+(X人物2-X人物1)/2
Y人物=Y人物1+106
跳出
//↑计算,人物双脚中心点
否则
超级键盘.按下(37)
辅助.等待(200)
超级键盘.弹起(37)
////人物移动下
如果结束
辅助.等待(300)
循环结束
整型 横向,纵向
横向=数学.绝对值((X人物-X物品-20)/13)
纵向=数学.绝对值((Y人物-Y物品-24)/5)
如果(X人物>X物品)
如果(50*横向>50)
超级键盘.按键(37,1)
超级键盘.按下(37)
辅助.等待(50*横向)
超级键盘.弹起(37)
如果结束
//↑如果,人物脚底X坐标 > 边框X坐标。那么,向左
如果结束
如果(X人物<X物品)
如果(50*横向>50)
超级键盘.按键(39,1)
超级键盘.按下(39)
辅助.等待(50*横向)
超级键盘.弹起(39)
如果结束
如果结束
//↑如果,人物脚底X坐标 < 边框X坐标。那么,向右
如果(Y人物>Y物品)
如果(50*纵向>50)
超级键盘.按下(38)
辅助.等待(50*纵向)
超级键盘.弹起(38)
否则
如果结束
//↑如果,人物脚底Y坐标 > 边框Y坐标。那么,向上
如果结束
如果(Y人物<Y物品)
如果(50*纵向>50)
超级键盘.按下(40)
辅助.等待(50*纵向)
超级键盘.弹起(40)
否则
如果结束
//↑如果,人物脚底Y坐标 < 边框Y坐标。那么,向下
如果结束
遍历(3)
整型 X,Y,返回1
返回1 = dm.FindStrFast(3,140,821,547,"左框","ebec05-102030",0.9,X,Y)
辅助.等待(20)
如果(返回1==0)
辅助.等待(300)
超级键盘.按键(88,1)
辅助.等待(200)
跳出
否则
超级键盘.按键(39,2)
如果结束
//↑如果,要捡取的物品名字非常长。那么,适当增加循环次数,就能正常捡取了。
辅助.等待(500)
遍历结束
返回 0
功能结束
空间结束 |
|