300高分跪求一个按键精灵脚本,功能是鼠标自动在怪爆出的东西中找到相关物品,然后自动捡取 100

高分跪求一个按键精灵脚本,功能是,游戏挂机时,鼠标能自动在怪爆出的东西中找到相关物品,然后自动捡取。由于该类物品的颜色是深红颜色,与其他普通物品的颜色不一样,所以我考虑使... 高分跪求一个按键精灵脚本,功能是,游戏挂机时,鼠标能自动在怪爆出的东西中找到相关物品,然后自动捡取。由于该类物品的颜色是深红颜色,与其他普通物品的颜色不一样,所以我考虑使用按键精灵的找色脚本,但不懂怎么设计这样的脚本,所以希望朋友能帮忙设计一个,并附上详细讲解。我在网上其实也找过教程,但那些教程例子都有很多文字在脚本命令里,我对这方面的知识没任何了解,看人家说直接复制脚本例子修改一些数据就行了,但我却不知道该复制哪部分,难道连那些注释文字也跟着复制进去?总之,就是希望有朋友帮设计一个直观明了的,对于讲解注释方面的内容则可以放到后面说明,以免我又搞混哪些才是真正的脚本命令。谢谢了,完成后起码还追加200分! 展开
 我来答
531315380
2012-04-23 · TA获得超过132个赞
知道答主
回答量:212
采纳率:0%
帮助的人:82.8万
展开全部
//下面的脚本倾注我的全部心血,希望你能够采纳,根据你说的要求 可以大概给你 一个思路 至于思路嘛 就是要用到找色功能这个就不废话了啊 直接上源码
//呵呵 下面这些源码 很多哦 你自己可以详细看看 如果有什么不懂 加我QQ1278884517 详细为你 解答
Call 大漠注册()

UserVar Var1=0 "当怪物越不不容易搞死 数值要大"
Call 大漠注册()
Sub 得到起始判断点坐标()
Hwnd = Plugin.Window.MousePoint()
sRect = Plugin.Window.GetClientRect(Hwnd)
Dim myarray
myarray = split(srect, "|")
ux=clng(myarray(0))
uy = clng(myarray(1))

End Sub
Call 得到起始判断点坐标()
Call 判断是否有坐骑()

Do
Call 返回验证码()
Call 判断是否在监狱()
Call 得到起始判断点坐标()
Call 鼠标移动找怪()
Delay 1000
Call 小地图找怪()
Delay 1000
Call 鼠标移动找怪()

Delay 1000
Call 小地图找怪()
Delay 1000
Call 鼠标移动找怪()
Delay 1000
Call 小地图找怪()
Delay 1000
Call 鼠标移动找怪()
Delay 1000
Call 小地图找怪()
Delay 1000
Call 鼠标移动找怪()

Delay 1500
Call 小地图找怪()
Delay 1500

Call 判断人物是否能升级()
Call 判断验证码是否出现()
Call 自动加气()
Call 珍兽加血()

Call 判断验证码是否出现()
Delay 1500
KeyPress "F6", 1
Call 人物加血()
KeyPress "F3", 1
Delay 10
KeyPress "F4", 1
Delay 200
Call 关闭包裹()
Call 完整篇()

loop
Sub 鼠标移动找怪()

Call 找怪一()
Call 判断验证码是否出现()
Call 判断怪死()
Call 找怪二()
Call 判断验证码是否出现()
Call 判断怪死()
Call 找怪三()
Call 判断验证码是否出现()
Call 判断怪死()
End Sub

Sub 判断怪死()
i = 0
While i<Var1
KeyPress "F3", 1

dm_ret = dm.CmpColor(ux+278,uy+36,"d90a00-050505",0.9)
dm_ret1 = dm.CmpColor(ux+449,uy+36,"d90a00-050505",0.9)
If dm_ret1 = 0 Then

Exit Sub
End If
KeyPress "F3", 1

//如下返回值0“表示颜色匹配”代表怪没死。
If dm_ret = 0 Then
Delay 800
i = i + 1
KeyPress "F3", 1

Else
//否则就是代表死了

i=Var1

End If
Wend
End Sub

Sub 怪没点着()

dm_ret = dm.CmpColor(ux+449,uy+36,"d90a00-050505",0.9)
If dm_ret = 0 Then
Call 捡取物品()
Exit Sub
End If

End Sub

Sub 找怪一()

MoveTo ux + 144, uy + 179
For 50
Delay 6
MoveR 10, 0
Call 打怪()
Call 人物加血()
If var = 1594686126 Then
Call 人物加血()
Call 珍兽加血()
Exit For
End If
Next
End Sub
Sub 找怪二()

MoveTo ux + 141, uy + 301

For 50
Delay 6
MoveR 10, 0
Call 打怪()
If var = 1594686126 Then
Call 珍兽加血()
Call 人物加血()
Exit For
End If
Next
End Sub

Sub 找怪三()
MoveTo ux + 144, uy + 400

For 50
Delay 6
MoveR 10, 0
Call 打怪()
If var = 1594686126 Then

Call 人物加血()
Call 珍兽加血()

Exit For
End If
Next
End Sub

Sub 打怪()

var = GetCursorShape(0)
If var = 1594686126 Then

LeftDoubleClick 1
Delay 100
KeyPress "F4", 1
Delay 100
KeyPress "F2", 1
Delay 10

KeyPress "F5", 1
Delay 2900

End If

End Sub

//以下是大漠找图命令
Delay 50
Sub 判断验证码是否出现()
dm_ret = dm.FindPic(0,0,2000,2000,"验证码.bmp","000000",0.9,0,intX,intY)
If intX >= 0 and intY >= 0 Then
Call 答题()
Delay 50
Else
Exit Sub
End If
End Sub
//

Sub 答题()

dm_ret = dm.Capture(intx-4,inty-11,intx+224,inty+254,"screen.bmp")
Delay 20
x = Plugin.Sys.GetDir(大漠梦想)
x = x & ".\plugin\大漠梦想\screen.bmp"
TracePrint "开始答题"
sDate = Plugin.Sys.GetDateTime()
TracePrint sDate
Call Plugin.Msg.ShowScrTXT(0, 0, 1024, 768, "开始识别“验证码,请稍等,", "0000FF")
do
题目ID = Plugin.lyydt.SendImages("yutao531315", "7865431jkl", "31100", "1", "55", x, "看清楚啊 ”不要把我搞进监狱啦“")
If 题目ID>0 Then
Exit Do
ElseIf 题目IP<0

TracePrint "发送题目出错啦"
End If
Loop
答案 = ""
While 答案 = ""

答案 = Plugin.lyydt.GetAnswer("yutao531315", "7865431jkl", 题目ID)
TracePrint 答案
If 答案 <> "" Then

MyArray = Split(答案, ",")
相对X = int(MyArray(0))
相对Y = int(MyArray(1))

Delay 100
dm.MoveTo intx-4+相对x,inty-11+相对y
Delay 100
LeftClick 1

Delay 800

dm.MoveTo intx + 203, inty + 243
Delay 100

LeftDoubleClick 1
Call Plugin.Msg.ShowScrTXT(0, 0, 1024, 768, "验证码识别完毕,这是第次识别了", "0000FF")
Delay 3000
Call Plugin.Msg.HideScrTXT()
i=i+1
End If
Wend

Delay 100
End Sub
//
Sub 大漠注册()
PutAttachment ".\plugin","*.dll"
PutAttachment ".\plugin\大漠梦想","*.bmp"
PutAttachment ".\plugin\大漠梦想","*.txt"
PutAttachment ".\plugin\大漠梦想","dm.dll"
//↑PutAttachment释放附件
Call Plugin.DBSoft.RegDBSoft("0731A74F3AA9DC55C27CA168D151F792")
//↑大兵·注册
Call Plugin.RegDll.Reg(".\plugin\大漠梦想\dm.dll")
set dm = createobject("dm.dmsoft")
//↑大漠·注册
dm.SetPath ".\plugin\大漠梦想"
dm.SetDict 0,"字库.txt"

Delay 40

End Sub
//释放 绑定窗口

Sub 分割“字符串”()
MyArray = Split(答案, ",")
相对X = int(MyArray(0))
相对Y = int(MyArray(1))
End Sub

Sub 小地图找怪()
Call 捡取物品()
dm_ret = dm.FindColor(ux+633,uy+62,ux+757,uy+153,"f87c00-050505",1.0,4,intX1,intY2)
If intX1 >= 0 and intY2 >= 0 Then
dm.MoveTo intX1, intY2
dm.LeftClick
Delay 10

dm.LeftClick
End If

End Sub

Sub 判断人物是否能升级()

dm_ret = dm.CmpColor(ux + 790, uy + 592, "000400-050505", 0.9)
//如下返回值0“表示颜色匹配”代表经验值没满。
If dm_ret = 0 Then
Delay 800

Else
//否则就是代表经验值满了

Delay 1000
KeyDown 18, 1
KeyPress 67, 1
KeyUp 18, 1
MoveTo ux + 436, uy + 467
Delay 800
LeftClick 1

Delay 800
KeyDown 18, 1
KeyPress 67, 1
KeyUp 18, 1
Delay 100
End If
End Sub

Sub 自动加气()
dm_ret = dm.CmpColor(ux + 115, uy + 43, "3736ea-050505", 0.9)
//如下返回值0“表示颜色匹配”气还有。
If dm_ret = 0 Then
Delay 100
Else
//否则就是代表气没了
Call 判断包裹是否打开()

Delay 800
dm_ret = dm.FindColor(ux + 611, uy + 160,ux + 785, uy + 409,"46dac8-050505|e9e3cf-050505",1.0,0,X,Y)
If X >= 0 and x>= 0 Then
dm.MoveTo x, y
Delay 500
For 2
RightClick 1
Delay 100
Next
Call 打开关闭包裹()
Delay 1000
End If
end if
End Sub

Sub 人物加血()
dm_ret = dm.CmpColor(ux + 144, uy + 35, "ea0900-050505", 0.9)
//如下返回值1“表示颜色不匹配”血不正常。
If dm_ret = 1 Then

Next
End Sub
//这个是天龙全后台 自动打怪的
aiyowei_2
2012-05-08 · TA获得超过1937个赞
知道大有可为答主
回答量:1492
采纳率:60%
帮助的人:2330万
展开全部
多点找色,找到后点击第一个坐标点:
xy=Plugin.Color.FindMutiColor(0,0,2000,2000,"003CE7","1|0|1045E7,2|0|5A82EF,0|1|94AAF7,1|1|F7F7FF",1)
ZB = InStr(XY,"|")
x = Clng(Left(XY, ZB - 1)) : y = Clng(Right(XY, Len(XY) - ZB))
If x > 0 and y > 0 Then
MoveTo x, y
LeftClick 1
End If
第二行代码中,第一个双引号里的是第一个16进制色值,第二个双引号里的偏移的点及偏移点的16进制色值(找的点越多正确率越高),找到的颜色如果全符合,则点击第一个点
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式