• 新浪微博:
  • 微信 :
按键精灵电脑版
立即下载

软件版本:2014.05
软件大小:21.6M
更新时间:07-04

按键精灵安卓版
立即下载

软件版本:3.3.1
软件大小:62.5M
更新时间:5-24

按键精灵iOS版
立即下载

软件版本:1.3.5
软件大小:29.2M
更新时间:06-14

最新企业版UiBot
立即下载

软件版本:2.5
软件大小:181M
更新时间:05-20

快捷导航

登录 后使用快捷导航
没有帐号? 注册

登录 注册
返回列表 12345678» / 9
发新话题 回复该主题

[分享源码] 阴阳师无限突破自创源码分享…… [复制链接]

1#

首先看下夜神模拟器的设置:




然后说下功能;
1.界面中的多开或单开按钮必须点一个,单开就点单开,多开就选多开
2.选择个人突破就会进入个人突破里开干,挑战卷??不用担心,挑战卷不足会自动跳入到寮突破开干,所以,选择个人突破时 聊突破 也要设置下牌子数量
3.选择聊突破就会进入寮突破开干,第一个寮打完进入第二个找接下来进入第三个找……之后等待10分钟再从第一个开找,如此循环。
4.不管是个人突破还是寮突破,遇到突破失败的会躲得远远的……不会再去干他,个人突破有突破失败的会打完一轮(9个)自动刷新,没有失败的系统自己刷,脚本不会点击刷新。
5.寮突破中 或者 个人突破中 遇到 谁都打不死谁能刚一夜的这种情况…战斗4分钟分不出胜负就自动退出,认输吧……寮突破所有可打的都打完了它会继续在三个寮里寻找能打的……
6.切记在阴阳师主界面运行脚本 , 就是 有"探索"灯笼 那个画面.
7.自己实测一天挂了70+的卡,突破率直接上90%,前提你自己神饰的牛逼……

本人不才,现学现卖两周,经过无数次的失败,无数次的修复,终得以做成自己第一个脚本,有时一个很小的问题会让我困扰两天,做梦都在修BUG,现在将脚本分享出去,希望和我一样
热爱编程的新手们学习一下思路和函数的用法,在这两周的苦思冥想中让我最受益匪浅的就是 函数及函数的传参规则,像我一样的新手有空了可以百度下VB传参(值传参和地址传参的区别)
当然还要感谢下我的恩师江中游,期间烦了他好几次

现在说明下主函数……
参数:自定义数组 例:探索 = array(413,101,1065,148, "ffffcd", "15|-1|ffffbe,-12|3|ffe4a6,3|5|ffffda,22|4|fde4a6")
↑ ↑ ↑ ↑ ↑ ↑
参数(0) ↑ ↑ ↑ ↑ 参数(5)
参数(1) ↑ ↑ ↑
参数(2) ↑ ↑
参数(3) ↑
参数(4)


是否单击:如果 是否单击=1 会调用鼠标单击子过程
offsetX, offsetY:这是鼠标偏移坐标,偏移点击。
picpyX, picpyY:这是图像偏移坐标,功能——在另外一个与你要找色范围大小相同的范围找相同的色。
参数2:同参数一,主要取参数二的参数2(4)和参数2(5)
X_PYL1, Y_PYL1, X_PYL2, Y_PYL2:基点坐标偏移量,功能——在以参数1的范围找的色的坐标为基点,确定一个范围找参数2 的色值……

主函数:
Function 区域多点找色(参数, 是否单击, offsetX, offsetY, picpyX, picpyY ,参数2,X_PYL1, Y_PYL1, X_PYL2, Y_PYL2,基点确定范围找色, 相似度,扫描模式)
区域多点找色 = False
dm_ret = dm.FindMultiColor(840, 417, 860, 427, "54af5d", "1|0|54af5d", 1, 0, intX, intY)///检测协助任务
If dm_ret = 1 Then
TracePrint"有协助任务.."
Delay 500
Call 左键单击(intx,inty)
End If
If 基点确定范围找色 = 0 Then
dm_ret = dm.FindMultiColor(参数(0) + picpyX, 参数(1) + picpyY, 参数(2) + picpyX, 参数(3) + picpyY, 参数(4), 参数(5), 相似度, 扫描模式, intX, intY)
If dm_ret = 1 Then
If 是否单击 = true Then
Delay 500
Call 左键单击(intx+offsetX,inty+offsetY)
End If
区域多点找色 = True
End If
Delay 200
Else
dm_ret = dm.FindMultiColor(参数(0) + picpyX, 参数(1) + picpyY, 参数(2) + picpyX, 参数(3) + picpyY, 参数(4), 参数(5), 相似度, 扫描模式, intX, intY)
If dm_ret = 1 Then
dm_ret = dm.FindMultiColor(intX + X_PYL1, intY + Y_PYL1, intX + X_PYL2, intY + Y_PYL2, 参数2(4), 参数2(5), 相似度, 1, intX, intY)
If dm_ret = 1 Then
If 是否单击 = true Then
Delay 500
Call 左键单击(intx,inty)
End If
区域多点找色 = True
End If
Delay 200
End If
End If
End Function
Sub 左键单击(zx, zy)
Delay 50
dm.MoveTo zx,zy
Delay 50
dm.LeftClick
Delay 100    
End Sub
希望大家支持下……

附件太大上传不了,直接复制粘贴吧,把界面部分改一下就好了……



Dimenv hwnd_env, lb,path
Event Form1.Load
path = "F:\按键\练习\阴阳师"
Call Plugin.File.CreateFolder(path)
PutAttachment path, "*.bmp"
Form1.PictureBox1.Top = 20
Form1.PictureBox1.Left = 30
Form1.PictureBox1.Height = 124
Form1.PictureBox1.Width = 127
Form1.PictureBox2.Top = 60
Form1.PictureBox2.Left = 157
Form1.PictureBox2.Height = 37
Form1.PictureBox2.Width = 135
Form1.PictureBox3.Top = 170
Form1.PictureBox3.Left = 30
Form1.PictureBox3.Height = 51
Form1.PictureBox3.Width = 323
Form1.PictureBox1.Picture = path & "\寮.bmp"
Form1.PictureBox2.Picture = path & "\凉城旧梦.bmp"
Form1.PictureBox3.Picture = path & "\宣言.bmp"
End Event
Event Form1.Button1.Click
form1.ComboBox3.Enabled = 0
Form1.Button1.Enabled=0
If form1.ComboBox3.ListIndex = 0 Then
lb = 2
ElseIf form1.ComboBox3.ListIndex = 1 Then
lb = 3
ElseIf form1.ComboBox3.ListIndex = 2 Then
lb = 4
ElseIf form1.ComboBox3.ListIndex = 3 Then
lb = 5
ElseIf form1.ComboBox3.ListIndex = 4 Then
lb = 6
End If
Form1.Label12.Caption="当前选择"&lb&"开!"
End Event
Event Form1.Button2.Click
form1.ComboBox3.Enabled = 1
Form1.Button1.Enabled = 1
lb = 1
Form1.Label12.Caption="当前选择单开!"
End Event
Event Form1.Button3.Click
Form1.WebBrowser1.Url="www.baidu.com"
End Event
leiming = "Qt5QWindowIcon"
dict = "zk.txt"
Call dmzc(path,"6.1647",dict,1)'参数:1、路径;2、版本号;3、字库名;4,三个选择0)、是否提示注册成功及路径。1)收费注册。2)解除注册
TracePrint dm.ver()
csh = Plugin.JzyYs.NoxCheck(0)
TracePrint csh
//Open_ret =Plugin.JzyYs.NoxStartNum (lb, 0)
For i=1 to lb
biaoti = "夜神模拟器" & lb
hwnd = sfdk(biaoti)
TracePrint "返回句柄" & hwnd
If hwnd = 0 Then
Exit For
End If
hwnd_env = hwnd
id = BeginThread(zxc)
Next
Do
Delay 1000
Loop While 7=7
Sub zxc
TracePrint "进入主线程"
hwnd = hwnd_env
TracePrint hwnd
Set dm=createobject("dm.dmsoft")
dm_ret = dm.BindWindowEx(hwnd, "dx.graphic.opengl", "windows", "windows", "", 0)
dm_ret = dm.SetWindowState(hwnd, 1)
dm_ret = dm.SetWindowState(hwnd, 8)
result = dm.SetPath(path)
Call 参数设置()
Call 功能选择()
Call 结界突破(setG,循环轮,牌子数量)///////(0:个人,1:阴阳寮),循环轮数设置,牌子数量设置 //界面不改可以在这里 把上面一句功能选择函数//掉,然后这句的参数改一下。
End Sub
//————————————————————————————
//——————————〖用户功能选择控制〗——————————
//————————————————————————————
sub 功能选择()
If Form1.OptionBox1.Value = 1 Then
setG = 0
ElseIf Form1.OptionBox2.Value = 1 Then
setG = 1
End If
If Form1.ComboBox1.ListIndex = 0 Then
循环轮 = 5
ElseIf Form1.ComboBox1.ListIndex = 1 Then
循环轮 = 10
End If
牌子数量 = Form1.ComboBox2.ListIndex
Form1.Label5.Caption = 10
Form1.Label7.Caption = String(2, "0")
End sub
//————————————————————————————
//——————————〖结界突破控制台〗——————————
//————————————————————————————
Sub 结界突破(setG,循环轮,牌子数量)
Call 进入探索()
Call 进入结界突破()
Call 个人或寮(setG, 循环轮, 牌子数量)
End Sub
//————————————————————————————
//——————————〖参数设置〗——————————
//————————————————————————————
Function 参数设置()
Dim 计数器
探索 = array(413,101,1065,148, "ffffcd", "15|-1|ffffbe,-12|3|ffe4a6,3|5|ffffda,22|4|fde4a6")
返回按钮 = array(16, 21, 98, 98, "270e5e", "36|-3|20214f,1|25|eff7ff,16|19|bac8f2,17|49|231e45")
查找结界突破 = array(386, 632, 450, 671, "331f2b", "49|-3|312021,3|12|f4efdc,42|7|f0ebd8,25|26|5091e5")
是否进入结界突破 = array(1164, 45, 1206, 90, "a65563", "25|3|fed5d5,-3|32|7c3242,30|31|7b3557,13|15|f1d2d2")
准备 = array(1102, 497, 1229, 607, "fff1cd", "0|1|fff1cd")
准备2 = array(1113,498,1221,609, "fffaec", "0|1|fffaec")
胜利 = array(478, 183, 486, 192, "cfc1ac", "7|0|cdbda9,0|8|cfc0ac,7|8|cebea9")
失败 = array(464, 150, 477, 162, "514a5b", "10|2|524d5f,1|7|4c4454,9|8|4f4757")
战斗结束 = array(589, 42, 601, 60, "5c4b3b", "8|0|6c6357,2|6|f4eedc,9|6|f8f3e0")
可攻击目标 = array(131,92,306,221, "d8c8b7", "-31|-39|d2c2b1,32|1|d8c8b7,23|-36|d4c4b3")
未失败 = array(455,116,463,172, "a5957d", "0|10|a99880,1|26|bead95,-1|-3|a09077")
攻击按钮 = array(62, 15, 1209, 701, "f4b25f", "56|3|f4b25f,-8|28|f4b25f,66|26|f4b25f")
挑战卷不足 = array(408,607,436,635, "7f766c", "0|15|645d55,-5|7|4e4841,4|7|565048,-13|6|d5c6b5")
刷新 = array(987,536,1015,551, "f4b25f", "11|2|f4b25f,-2|7|f4b25f,10|9|f4b25f")
确定按钮 = array(723, 411, 793, 452, "5b4830", "45|-1|302a23,4|19|493c2b,48|19|342d24,25|8|f4b25f")
确定按钮2 = array(691, 392, 820, 455, "f4b25f", "0|1|f4b25f")
叉按钮 = array(1167, 47, 1207, 88, "e6d5d5", "0|1|e6d5d5")
CZ_寮1 = array(1215, 357, 1249, 387, "9d8f7e", "16|-2|9b8c7c,1|16|9a8b7a,14|15|998979")
CZ_寮2 = array(1219, 358, 1246, 389, "e4d5bb", "15|-2|eee2cb,1|17|d3c4ad,14|16|e0d5bf")
XH_寮 = array(277,153,305,231, "cac1b1", "0|1|cac1b1,0|2|cac1b1")
没有牌子 = array(575, 106, 616, 665, "b3a38d", "0|-1|b3a28c")
未失败2 = array(455, 116, 463, 172, "cbbaa1", "0|1|cbbaa2")
无可攻击对手 = array(483,114,1148,238, "6a6259", "0|1|6a6259")
投降 = array(17, 15, 54, 53, "d5c4a2", "0|1|d5c4a2")
//
//
End Function
//————————————————————————————
//——————————〖结界突破相关〗——————————
//————————————————————————————
Function 个人或寮(setG, 循环轮, 牌子数量)
If setG = 0 Then
TracePrint"进入个人突破.."
setX = 0 : setY = 0 : 超时 = 0
For 循环轮
For 循环行计数=1 to 3
For 循环列计数 = 1 To 3
If 区域多点找色(挑战卷不足, false, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,1,0) Then
挑战卷 = 0
TracePrint "挑战卷检测,挑战卷不足跳出..."
Exit For
Else
挑战卷 = 1
TracePrint "挑战卷检测,挑战卷充足..."
If 区域多点找色(可攻击目标, false, 0, 0, setX, setY, 0, 0, 0, 0, 0, 0,0.9,0) Then
If 区域多点找色(未失败, true, 0, 0, setX, setY, 0, 0, 0, 0, 0, 0,0.9,0) Then
TracePrint "第" & 循环行计数 & "行,第" & 循环列计数 & "列找到可攻击且未攻击失败目标...坐标:" & intX & "," & intY
Do
If 区域多点找色(攻击按钮, true, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.9, 0) Then
TracePrint "准备进入战斗.."
Call 过场延时()
If 战斗() = 1 Then
TracePrint "已经进入战斗.."
已攻击 = 1
Exit Do
Else
TracePrint "进入战斗超时.."
已攻击 = 0
超时 = 1
Call 突破超时处理(setG,set_wY)
Exit Do
End If
End If
Loop
Else
Dim 需要刷新
需要刷新=1
TracePrint "第" & 循环行计数 & "行,第" & 循环列计数 & "列找到可攻击目标,但攻击失败过滤..."
End If
Else
TracePrint "第"&循环行计数&"行,第"&循环列计数&"列未找到合适击目标..."
End If
End If
If 超时=1 Then
TracePrint "超时,结束列循环..."
Exit For
End If
setX = setX + 345
Next
If 挑战卷 = 0 or 超时=1 Then
TracePrint "挑战卷不足或超时,结束行循环..."
Exit For
End If
setX=0
setY = setY + 137
Next
setX=0
setY = 0
If 挑战卷 = 0 Then
TracePrint "挑战卷不足结束轮循环..."
Exit For
End If
If 超时 = 1 Then
TracePrint"进入战斗超时,重新循环此轮..."
Else
TracePrint "第" & 循环轮 & "轮循环结束,点击刷新进入下一轮..."
If 需要刷新 = 1 Then
Call 区域多点找色(刷新, true, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.9,0)
Delay 1500
If 区域多点找色(确定按钮, true, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0.9,0) Then
计数器=0
Do
If 区域多点找色(是否进入结界突破 , false, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0.9,0) Then
TracePrint "已刷新.."
需要刷新 = 0
Exit Do
ElseIf 计数器 = 10 Then
TracePrint "超时.."
Exit Do
Else
计数器=计数器+1
End If
Delay 500
loop
End If
End If    
End If
Next
End If
TracePrint "个人挑战结束...挑战卷不足或设置进入寮突破"
setG=1
Call 突破_寮(setG,牌子数量)
End Function
///////////////////////////////////突破_寮相关函数//////////////////////
Function 突破_寮(setG,牌子数量)
Call 进入突破寮()
Do
Dim set_wY,set_LX2
For 3
Dim 已攻击,超时
已攻击 = 0 : 超时 = 0
do
If 区域多点找色(XH_寮, true, 0, 0, 0, set_wY, 0, 0, 0, 0, 0, 0, 1.0, 0) Then
Exit Do
Else
dm.moveto 292, 47
dm.leftclick
End If
Delay 1000
loop
Do
For 2
Select Case 牌子数量
Case 0
If 区域多点找色(没有牌子, true, 0, 0, set_LX, 0, 未失败2, 184, - 83 , 222, - 44 , 1, 1, 1) Then
TracePrint "找到.."
TracePrint intx & "," & inty
Do
If 区域多点找色(攻击按钮, true, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.9, 2) then
TracePrint "准备进入战斗.."
Call 过场延时()
If 战斗() = 1 Then
TracePrint "已经进入战斗.."
已攻击 = 1
Exit Do
Else
TracePrint "进入战斗超时.."
已攻击 = 0
超时 = 1
Call 突破超时处理(setG,set_wY)
Exit Do
End If
End If
Loop
End If
Case 1
set_LX2=40
If 区域多点找色(没有牌子, true, 0, 0, set_LX+set_LX2, 0, 未失败2, 184-set_LX2, - 83 , 222-set_LX2, - 44 , 1, 1, 1) Then
TracePrint "找到.."
TracePrint intx & "," & inty
Do
If 区域多点找色(攻击按钮, true, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.9, 2) then
TracePrint "准备进入战斗.."
Call 过场延时()
If 战斗() = 1 Then
TracePrint "已经进入战斗.."
已攻击 = 1
Exit Do
Else
TracePrint "进入战斗超时.."
已攻击 = 0
超时 = 1
Call 突破超时处理(setG,set_wY)
Exit Do
End If
End If
Loop
End If
Case 2
set_LX2=79
If 区域多点找色(没有牌子, true, 0, 0, set_LX+set_LX2, 0, 未失败2, 184-set_LX2, - 83 , 222-set_LX2, - 44 , 1, 1, 1) Then
TracePrint "找到.."
TracePrint intx & "," & inty
Do
If 区域多点找色(攻击按钮, true, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.9, 2) then
TracePrint "准备进入战斗.."
Call 过场延时()
If 战斗() = 1 Then
TracePrint "已经进入战斗.."
已攻击 = 1
Exit Do
Else
TracePrint "进入战斗超时.."
已攻击 = 0
超时 = 1
Call 突破超时处理(setG,set_wY)
Exit Do
End If
End If
Loop
End If
Case 3
set_LX2=116
If 区域多点找色(没有牌子, true, 0, 0, set_LX+set_LX2, 0, 未失败2, 184-set_LX2, - 83 , 222-set_LX2, - 44 , 1, 1, 1) Then
TracePrint "找到.."
TracePrint intx & "," & inty
Do
If 区域多点找色(攻击按钮, true, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.9, 2) then
TracePrint "准备进入战斗.."
Call 过场延时()
If 战斗() = 1 Then
TracePrint "已经进入战斗.."
已攻击 = 1
Exit Do
Else
TracePrint "进入战斗超时.."
已攻击 = 0
超时 = 1
Call 突破超时处理(setG,set_wY)
Exit Do
End If
End If
Loop
End If
Case 4
set_LX2=154
If 区域多点找色(没有牌子, true, 0, 0, set_LX+set_LX2, 0, 未失败2, 184-set_LX2, - 83 , 222-set_LX2, - 44 , 1, 1, 1) Then
TracePrint "找到.."
TracePrint intx & "," & inty
Do
If 区域多点找色(攻击按钮, true, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.9, 2) then
TracePrint "准备进入战斗.."
Call 过场延时()
If 战斗() = 1 Then
TracePrint "已经进入战斗.."
已攻击 = 1
Exit Do
Else
TracePrint "进入战斗超时.."
已攻击 = 0
超时 = 1
Call 突破超时处理(setG,set_wY)
Exit Do
End If
End If
Loop
End If
Case 5
set_LX2=192
If 区域多点找色(没有牌子, true, 0, 0, set_LX+set_LX2, 0, 未失败2, 184-set_LX2, - 83 , 222-set_LX2, - 44 , 1, 1, 1) Then
TracePrint "找到.."
TracePrint intx & "," & inty
Do
If 区域多点找色(攻击按钮, true, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.9, 2) then
TracePrint "准备进入战斗.."
Call 过场延时()
If 战斗() = 1 Then
TracePrint "已经进入战斗.."
已攻击 = 1
Exit Do
Else
TracePrint "进入战斗超时.."
已攻击 = 0
超时 = 1
Call 突破超时处理(setG,set_wY)
Exit Do
End If
End If
Loop
End If
End Select
TracePrint 已攻击
If 已攻击 = 1 or 超时 = 1 Then
TracePrint"已攻击或超时.."
Exit For
End If
set_LX=set_LX+338
Next
set_LX = 0
If 已攻击 = 1 Then
Exit Do
End If
Call 向上滑动()
//
If 区域多点找色(无可攻击对手, false, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2) Then
TracePrint "所有可攻击对手均已打完……"
Exit Do
End If
//
loop
set_wY = set_wY + 187
TracePrint"进入下一寮寻找"
Delay 500
Next
set_wY=0
TracePrint "进入10分钟等待.."
call 突破等待处理()
Loop
End Function
////
Sub 进入突破寮()
Call 区域多点找色(CZ_寮1, true, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.0,0)
do
If 区域多点找色(CZ_寮2, false, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.0,0) Then
TracePrint "已进入寮突破.."
Exit Do
End If
Delay 500
Loop
End Sub
/////
Sub 向上滑动()
TracePrint "进入滑动.."
Dim temp_y
temp_y=379
dm.moveto 814,379
Delay 50
dm.leftdown
For 10
temp_y=temp_y-abs(136/10)
dm.moveto 814, temp_y
Delay 50
Next
Delay 500
dm.leftup
Delay 100
End Sub
/////////////////////////////////////寮突破倒计时///////////////////
Sub 突破等待处理()
Dim DJS_m,DJS_s
DJS_m=10
For 10
DJS_m = DJS_m - 1
Form1.Label5.Caption=DJS_m
DJS_s=60
For 60
DJS_s = DJS_s - 1
Form1.Label7.Caption=DJS_s
delay 1000
Next
DJS_s = 0
next
End Sub
/////////////////////////////////////寮突破倒计时///////////////////
Sub 过场延时()
Delay 4000
End Sub
Sub 突破超时处理(setG, set_wY)
If setG = 0 Then
Do
If 区域多点找色(叉按钮, true, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.9, 0) Then
TracePrint "找到叉按钮.."
Call 进入结界突破()
Exit Do
Else
dm.moveto 437,46
Delay 100
dm.leftclick
End If
Delay 1000
Loop
ElseIf setG = 1 Then
Do
If 区域多点找色(叉按钮, true, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.9, 0) Then
Delay 1000
Call 进入结界突破()
Call 进入突破寮()
dm.moveto 285, (190 + set_wY)
Delay 100
dm.leftclick
Exit Do
Else
dm.moveto 437,46
Delay 100
dm.leftclick
End If
Delay 1000
Loop
End If
End Sub
//————————————————————————————
//——————————〖战斗相关〗——————————
//————————————————————————————
Function 战斗()
TracePrint"进入函数准备进入第一个DO"
Dim 计数器,计时投降
计数器 = 0:战斗 = 0:计时投降=0
Do
If 区域多点找色(准备, true, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0.9,0) Then
TracePrint "已进入战斗..."
战斗=1
Exit Do
ElseIf 计数器 = 10 Then
TracePrint "进入战斗超时..."
战斗= 0
Exit Function
Else
计数器=计数器+1
End If
Delay 1000
Loop
TracePrint"第一个do出来准备进入第二个DO"
Do
If 区域多点找色(胜利, true, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0.9,0) or 区域多点找色(失败, true, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0.9,0) Then
TracePrint"战斗结束准备返回..."
计数器=0
Do
If 区域多点找色(战斗结束, false, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.9,0) or 计数器 = 10 Then
TracePrint "已返回至结界突破界面..."
Exit Do
Else
dm.moveto 345,46
Delay 50
dm.leftclick
计数器=计数器+1
End If
Delay 2000
Loop
Exit Do
ElseIf 计时投降 = 120 Then
Call 退出战斗()
Else
计时投降=计时投降+1
End If
Delay 2000
TracePrint "战斗中..."
Loop
End Function
Sub 退出战斗()
Do
If 区域多点找色(投降, true, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.9,0) Then
TracePrint "4分钟为结束,投降。"
Do
If 区域多点找色(确定按钮2, true, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.9, 2) Then
Exit Do
End If
Delay 1000
Loop
Exit Do
End If
Delay 1000
Loop
End Sub
//————————————————————————————
//——————————〖进入地图相关〗——————————
//————————————————————————————
Function 进入探索()
计数器 = 0
Do
If 区域多点找色(探索, true, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0.9,0) or 计数器 = 50 Then
TracePrint"找到探索灯笼..."
Exit Do
Else
计数器=计数器+1
End If
Delay 1000
Loop
计数器=0
Do
If 区域多点找色(返回按钮, false, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0.9,0) or 计数器 = 50 Then
TracePrint "已进入探索地图..."
Exit Do
Else
计数器 = 计数器 + 1
End If
Delay 1000
Loop
End Function
sub 进入结界突破()
计数器=0
Do
If 区域多点找色(查找结界突破, true, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0.9,0) or 计数器 = 5 Then
TracePrint "找到结界突破..."
Exit Do
Else
计数器=计数器+1
End If
Delay 1000
Loop
计数器=0
Do
If 区域多点找色(是否进入结界突破, false, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0.9,0) or 计数器 = 5 Then
TracePrint"已进入结界突破..."
Exit Do
Else
计数器=计数器+1
End If
Delay 1000
Loop
End sub
//————————————————————————————
//——————————〖基本函数〗——————————
//————————————————————————————
Function 区域多点找色(参数, 是否单击, offsetX, offsetY, picpyX, picpyY ,参数2,X_PYL1, Y_PYL1, X_PYL2, Y_PYL2,基点确定范围找色, 相似度,扫描模式)
区域多点找色 = False
dm_ret = dm.FindMultiColor(840, 417, 860, 427, "54af5d", "1|0|54af5d", 1, 0, intX, intY)///检测协助任务
If dm_ret = 1 Then
TracePrint"有协助任务.."
Delay 500
Call 左键单击(intx,inty)
End If
If 基点确定范围找色 = 0 Then
dm_ret = dm.FindMultiColor(参数(0) + picpyX, 参数(1) + picpyY, 参数(2) + picpyX, 参数(3) + picpyY, 参数(4), 参数(5), 相似度, 扫描模式, intX, intY)
If dm_ret = 1 Then
If 是否单击 = true Then
Delay 500
Call 左键单击(intx+offsetX,inty+offsetY)
End If
区域多点找色 = True
End If
Delay 200
Else
dm_ret = dm.FindMultiColor(参数(0) + picpyX, 参数(1) + picpyY, 参数(2) + picpyX, 参数(3) + picpyY, 参数(4), 参数(5), 相似度, 扫描模式, intX, intY)
If dm_ret = 1 Then
dm_ret = dm.FindMultiColor(intX + X_PYL1, intY + Y_PYL1, intX + X_PYL2, intY + Y_PYL2, 参数2(4), 参数2(5), 相似度, 1, intX, intY)
If dm_ret = 1 Then
If 是否单击 = true Then
Delay 500
Call 左键单击(intx,inty)
End If
区域多点找色 = True
End If
Delay 200
End If
End If
End Function
Sub 左键单击(zx, zy)
Delay 50
dm.MoveTo zx,zy
Delay 50
dm.LeftClick
Delay 100    
End Sub
//
Function sfdk(ckbt)
Do
Delay 500
Hwnd = Plugin.Window.Find(leiming, ckbt)
If hwnd = 0 Then
MsgBox "未打开模拟器"
Exit Do
End If
Hwnd = Plugin.Window.FindEx(Hwnd, 0,leiming, "ScreenBoardClassWindow")
Hwnd_fh = Plugin.Window.FindEx(Hwnd, 0, leiming, "QWidgetClassWindow")
Hwnd = Plugin.Window.FindEx(Hwnd_fh, 0, "subWin", "sub")
TracePrint hwnd
If hwnd > 0 Then
Exit Do
End If
Loop
sfdk=Hwnd_fh
End Function
////////////////////////////////////////////////////////大漠注册//////////////////////////////////////////////////////////
Sub dmzc(lujing, bbh, zkm, guolu)
// Call Plugin.File.CreateFolder(lujing)'这个是建立文件夹,准备释放要使用的文件***路径可以修改
PutAttachment lujing, "dm.dll"'释放大漠对像***路径可以修改
PutAttachment lujing, zkm'释放字库***路径可以修改
PutAttachment ".\plugin", "regdll.dll"'释放注册插件到按键的插件文件夹,这个不能改
set ws=createobject("Wscript.Shell")'插件需要用到atl系统库,有些XP精简系统会把atl.dll精简掉. 为了防止注册失败,这里手动注册一下atl.dll
ws.run "regsvr32 atl.dll /s"
set ws=nothing
If guolu = 0 Then
Call Plugin.RegDll.Reg(lujing&"\dm.dll")'注册大漠插件***路径可以修改
Set dm = createobject("dm.dmsoft")
If dm.Ver() <> bbh Then '判断你的插件版本是否已经注册成功,注意!!!这个是3.1249版的,其它版本自己改下号
Set dm = nothing
Set ws = createobject("Wscript.Shell")
ws.run "regsvr32 "&lujing&"\dm.dll /s"'大漠插件的路径,大家自己改成自己的路径就行了!
Set ws = nothing
Delay 1500
End If
Set dm = createobject("dm.dmsoft")'大漠对像
dm_ret = dm.SetPath(lujing)'全局路径
dm_ret = dm.SetDict(0,zkm)'字库
ElseIf guolu = 1 Then
Call Plugin.RegDll.Reg(lujing&"\dm.dll")'注册大漠插件***路径可以修改
Set dm = createobject("dm.dmsoft")
If dm.Ver() <> bbh Then '判断你的插件版本是否已经注册成功,注意!!!这个是3.1233版的,其它版本自己改下号
Set dm = nothing
Set ws = createobject("Wscript.Shell")
ws.run "regsvr32 "&lujing&"\dm.dll /s"'大漠插件的路径,大家自己改成自己的路径就行了!
Set ws = nothing
Delay 1500
End If
Set dm = createobject("dm.dmsoft")
dm_ret = dm.Reg("jiangzhongyou2bf8e2c90078b4b698f33db62cbc09fb", "0001")
If dm_ret <> 1 Then
TracePrint "收费注册不成功,确定后再次进行注册!"&"返回值:"&dm_ret
dm_ret = dm.RegEx("jiangzhongyouc446ebce56f1d87bc1c92ef69b197d8a", "","122.10.92.197|122.10.93.166")
TracePrint dm_ret
if dm_ret <> 1 then
MessageBox "注册失败,只能使用免费功能!"&"返回值:"&dm_ret
Else
TracePrint "收费注册成功"
End If
Else
TracePrint "收费注册成功"
End If
dm_ret = dm.SetPath(lujing)'全局路径
dm_ret = dm.SetDict(0,zkm)'字库
ElseIf guolu = 2 Then
Plugin.RegDll.UnReg (lujing & "\dm.dll")
MsgBox "解除注册成功"
End If
End Sub


2#

等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等

3#

顶顶顶!!!!!

4#

感谢楼主的奉献分享!正在学习中有些迷糊的地方,这里正好用得到。
不过楼主的帖子排版好像有些问题。

5#

顶!!!!!!!!!!!!!!!!!!!!!

6#

阿萨大大啊哒哒哒

7#

正好在研究、参考下、谢谢

8#

0 0 有等级限制的设置没有啊?

9#

学习

10#

学习学习

11#

看一下!!!!!!!!!!!!

只要活着,总会遇到好吃的!
12#

great!!棒棒哒

13#

回复 4楼lordurg的帖子

是的 本身排班好着呢 一发帖就成这样了

14#

回复 8楼sxhtmx的帖子

由于背景色太复杂找等级行不通……就找牌子了

15#

什么。没看懂

16#

回复 15楼leewends的帖子

多看看 主要就是 主函数 主函数看懂了 其他的都就明白了

17#

回复 14楼380025008的帖子

求dm插件啊。。网上找不到

18#

回复 17楼leewends的帖子

论坛上 网上那么多你竟然找不到?!

19#

顶顶顶顶

20#

学习学习

发新话题 回复该主题