首页 按键精灵游戏脚本开发教程:自动逛地图打怪

按键精灵游戏脚本开发教程:自动逛地图打怪

举报
开通vip

按键精灵游戏脚本开发教程:自动逛地图打怪按键精灵游戏脚本开发教程:自动逛地图打怪 来源:按键学院【按键精灵】 学院实战班目前在教授的是回合制游戏《神武》的脚本功能 小编凑热闹,也跟着去玩了玩 今天在这里和大家分享下,自动战斗功能的脚本编写流程~ 流程 1、打开地图(快捷键Tab) 2、随机点击地图上的坐标点 3、如果遇到怪物则打怪(自动打怪快捷键Ctrl+A) 技术难点: 1、随机移动过程中,如何判断人物是否已经移动到了指定坐标点。 2、随机点击一组坐标的实用写法。 绑定游戏窗口 今天我们要写的脚本有使用到大漠插件。 因为是...

按键精灵游戏脚本开发教程:自动逛地图打怪
按键精灵游戏脚本开发教程:自动逛地图打怪 来源:按键学院【按键精灵】 学院实战班目前在教授的是回合制游戏《神武》的脚本功能 小编凑热闹,也跟着去玩了玩 今天在这里和大家分享下,自动战斗功能的脚本编写 流程 快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计 ~ 流程 1、打开地图(快捷键Tab) 2、随机点击地图上的坐标点 3、如果遇到怪物则打怪(自动打怪快捷键Ctrl+A) 技术难点: 1、随机移动过程中,如何判断人物是否已经移动到了指定坐标点。 2、随机点击一组坐标的实用写法。 绑定游戏窗口 今天我们要写的脚本有使用到大漠插件。 因为是多开脚本,所以查找句柄使用的是Search命令 后台绑定模式: 图色模式:dx3 鼠标模式:dx 键盘模式:dx 关于Search命令的详细说明以及大漠绑定模式如何获知 请参阅相关院刊: 【院刊】-【201501期】沙盘后台绑定游戏 打开地图 《神武》游戏支持点击大地图进行移动的方式。打开地图的快捷键为Tab键。 为了避免地图已经打开的情况 我们要先判断地图有没有打开,没有打开的话才去按Tab键打开地图 这里要注意一点 那就是,地图没打开的情况下有两种情况 1、没进入战斗画面 2、进入了战斗画面 所以,打开地图的判断步骤如下 1、地图没打开——>在不在战斗画面? 在战斗画面——>开始战斗 不在战斗画面——>打开地图——>随机点击地图上的坐标点 2、地图打开了——>人物在不在移动? 在移动(说明还没到目的坐标)——> 不做任何操作 不在移动(说明到了目的坐标或者遇到了阻碍物停止了移动)——> 点击下一个随机坐标 本例子中,是通过找图方式来判断地图窗口是否出现 小编找的是红框框里的图片 蓝色框的区域里,经常会出现系统的横条提示信息,会遮挡住地图框影响找图,所以不取那个区域里的图片 随机点击地图上的坐标点 在QUI上画一个文本输入框 输入框里的内容为要移动的坐标信息 坐标与坐标之间用| 隔开 随后在脚本中,我们读取文本输入框的内容 读取之后用分割函数split依据 | 分隔符将其分割 Split函数分割之后,会将分割的内容存放在数组里 这里注意下 通过第一次分割,假如数组(0) 存放的是:28,29 dm.MoveTo 数组(0) 这样写显然是错误的,会提示参数个数不对,那怎么办呢? 不怕,我们有Execute函数 Execute "dm.MoveTo " & 数组(0) 这样写就可以执行了 然后,我们前面说的要随机点 只要将数组下标进行随机就可以了 例如: Execute "dm.MoveTo " & 数组( Int(10* Rnd)) 关于Execute函数、随机函数的详细内容 请参阅相关院刊 【院刊】-【201410期】神奇的Execute语句 【院刊】-【201411期】细说Rnd随机函数 随机点完地图的坐标,就等着人物移动过去 那怎么才能知道人物已经到了那个点了呢? 这就要用到大漠的IsDisplayDead函数了 当人物在移动的过程中,坐标肯定在不停的变化,当坐标一段时间不变 则说明已经到了目的地, 或者前方有障碍物过不去 不管是到了目的地还是有障碍物过不去 我们的处理方式都是点击下一个随机坐标点 所以,我们使用IsDisplayDead 函数监视坐标的变化即可 但是!在战斗画面里,坐标是一直不变的 所以,利用 IsDisplayDead 函数监视坐标变化时,我们要先排除战斗画面,在战斗画面我们就不做监视操作。 遇到怪物则打怪 小编的号是新号,所以选择的是《清河镇外》这个0-10级的练级地图, 在这个地图里走来走去,在走动的过程,走着走着就会进入战斗画面 小编是通过判断红框里的那个黄色三角形,来判断到了战斗画面了没如果到了,则按下Ctrl+A键开始自动战斗 代码 Global Hwnd Call 注册大漠() HwndEx = Plugin.Window.Search("神武- ") arr1 = split(HwndEx, "|") For i = 0 To UBound(arr1) - 1 TracePrint arr1(i) Hwnd = arr1(i) 线程ID = BeginThread(主程序) Next Sub 主程序() 句柄= Hwnd Set dm = createobject("dm.dmsoft") dm_ret = dm.setpath("c:\test_game") dm_ret = dm.bindwindow(句柄, "dx3", "dx", "dx", 0) If dm_ret = 1 Then TracePrint "绑定窗口成功" Do '判断地图是否打开 If 找图(101,491,143,536, "地图.bmp") = "没找到" Then Delay 1800 '判断是否有在战斗界面 If 找图(518,1,558,30,"战斗.bmp") = "找到" Then '自动出招(Ctrl+A) dm.KeyDown 17 Delay 20 dm.KeyPress 65 Delay 20 dm.KeyUp 17 Do If 找图(518,1,558,30,"战斗.bmp") = "没找到" Then Exit Do End If Loop Else TracePrint "不在战斗画面" Call 逛地图() End If Else '判断是否停下来 If (dm.IsDisplayDead(112, 6, 190, 21, 3) = 1) and (找图(518,1,558,30,"战斗.bmp") = "没找到") Then TracePrint "不走了" Call 逛地图() Else TracePrint "行走中" End If End If Delay 300 Loop Else TracePrint "绑定失败" End If End Sub Function 找图(x1, y1, x2, y2, 图片) dm_ret = dm.FindPic(x1, y1, x2, y2,图片,"000000",0.9,0,intX,intY) If intX >= 0 and intY >= 0 Then 找图= "找到" Else 找图= "没找到" End If End Function Function 逛地图() Do If 找图(101,491,143,536, "地图.bmp")="找到" Then Exit Do Else '打开地图窗口 TracePrint "打开地图窗口" dm.KeyPress 9 Delay 300 End If Delay 300 Loop '随机点击一组坐标 坐标组= split(form1.inputbox1.text, "|") 随机元素= 随机(0, UBound(坐标组)) TracePrint 坐标组(随机元素) Execute "dm.MoveTo " & 坐标组(随机元素) Delay 20 dm.LeftClick End Function Function 随机(最小值, 最大值) Randomize 随机= Int((最大值- 最小值+ 1) * Rnd + 最小值) End Function Function 注册大漠() Dim i '释放附件内容 PutAttachment "C:\test_game", "*.*" Set ws = createobject("Wscript.Shell") For i = 0 To 20 '注册atl跟dm插件 ws.run("regsvr32 atl.dll -s") ws.run ("regsvr32 C:\test_game\dm.dll -s") Delay 200 Set ws = nothing Set dm = createobject("dm.dmsoft") ver = dm.ver() '输出版本号 If ver <> "" Then Exit For End If Next If i >= 20 Then TracePrint "大漠插件注册失败!" EndScript End If Set dm = nothing Delay 10 End Function Sub OnThreadExit() '解绑 dm_ret = dm.UnBindWindow() End Sub
本文档为【按键精灵游戏脚本开发教程:自动逛地图打怪】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_215732
暂无简介~
格式:doc
大小:33KB
软件:Word
页数:13
分类:互联网
上传时间:2019-02-19
浏览量:388