很多玩家在窗口运行魔域的时候,需要大量重复进行宝宝幻化操作,手动不断点击按钮耗时费力,借助按键精灵编写脚本可以自动完成整套合宝宝流程,下面完整讲解脚本制作的全部步骤和代码,同时说明窗口适配、坐标校准以及使用过程里需要留意的细节。
首先要做好前期准备工作。电脑上安装按键精灵软件,打开魔域客户端切换为窗口模式,不要使用全屏运行,全屏模式下窗口句柄获取会失效,脚本无法识别游戏画面。调整好游戏窗口大小,固定窗口位置,不要随意拖动窗口,窗口位置发生变动后,脚本记录的点击坐标会偏移,导致点击失效。进入宝宝幻化NPC所在位置,提前把需要用来幻化的副宝宝放置到背包指定格子,整理背包,清理多余物品,避免物品遮挡幻化弹窗按钮。
接下来获取游戏窗口句柄,这是窗口模式脚本的核心。打开按键精灵,新建空白脚本,在左侧命令库找到窗口命令,使用获取窗口句柄工具。点击工具里的抓抓按钮,鼠标移动到魔域游戏窗口上方,抓取当前窗口句柄,把得到的句柄数字复制保存。使用句柄绑定窗口之后,脚本只会对这个魔域窗口生效,就算窗口被其他软件遮挡,只要窗口没有最小化,依旧可以正常执行点击动作,不会误操作电脑其他程序。
然后使用抓抓工具校准点击坐标。在抓抓界面开启窗口坐标模式,不要使用屏幕全局坐标,窗口坐标是以游戏窗口左上角作为原点,窗口移动之后坐标数值不会变化。依次定位几个关键点位:幻化NPC对话点击位置、确认幻化弹窗的确定按钮位置、背包副宝宝所在格子坐标。每选一个点位,记录对应的X、Y数值,多次核对坐标,确认鼠标移动过去之后可以精准落在按钮上。坐标记录完成之后,不要缩放游戏窗口,窗口缩放会改变画面像素位置,造成点击错位。
完成坐标采集之后编写基础脚本代码。第一行命令使用绑定窗口,填入之前抓取的句柄,选择合适的窗口绑定模式。接着设置循环,合宝宝需要重复执行整套流程,可以设置固定循环次数,也可以选用无限循环,按需选择。循环内部的操作顺序:鼠标移动到NPC坐标,点击左键,等待幻化对话弹窗弹出,加入延时,延时数值根据电脑运行速度调整,配置偏低的电脑适当加长延时,防止画面加载没完成脚本提前执行下一步。弹窗出现后,鼠标移动到幻化确认按钮点击,再次添加延时,等待幻化动画结束,主宝宝完成属性提升。之后鼠标移动到背包副宝宝格子点击,拾取下一只副宝宝,回到NPC位置,完成一次幻化循环。
脚本示例参考,需要替换里面的句柄和坐标数值。
Hwnd = Plugin.Window.Foreground()
Call Plugin.Window.Bind(Hwnd, "dx", "dx", "dx", 0)
For i=1 To 100
Call Plugin.Bkgnd.MoveTo(Hwnd, 320, 410)
Delay 800
Call Plugin.Bkgnd.LeftClick(Hwnd, 320, 410)
Delay 1200
Call Plugin.Bkgnd.MoveTo(Hwnd, 450, 330)
Delay 600
Call Plugin.Bkgnd.LeftClick(Hwnd, 450, 330)
Delay 1500
Call Plugin.Bkgnd.MoveTo(Hwnd, 520, 480)
Delay 600
Call Plugin.Bkgnd.LeftClick(Hwnd, 520, 480)
Delay 1000
Next
Call Plugin.Window.UnBind(Hwnd)
代码里面的Delay是延时命令,单位为毫秒,1000毫秒等于1秒。后台点击命令Bkgnd可以实现后台操作,鼠标可以在脚本运行的时候去做别的事情,不需要让鼠标一直停留在游戏窗口。如果后台命令运行不稳定,可以换成前台鼠标点击命令,前台模式下脚本运行期间不能移动鼠标,否则打断操作流程。
脚本编写完成之后先进行小规模测试。把循环次数改成3到5次,启动脚本观察整套幻化流程是否顺畅。重点观察几个容易出错的地方,弹窗加载慢导致点击落空,背包格子坐标偏移,幻化动画没有结束就执行下一次点击。出现点击不到按钮的情况,重新打开抓抓重新校准坐标,适当增加延时数值。测试没有问题之后,再修改循环次数,进行大批量宝宝幻化。
使用脚本还有不少需要留意的内容。游戏运行过程中不要弹出其他弹窗,聊天消息、系统提示弹窗会遮挡幻化界面,中断脚本操作。不要同时开启多个魔域窗口,多窗口同时运行容易出现句柄识别混乱。电脑运行期间尽量关闭占用大量资源的软件,避免游戏画面卡顿,延时跟不上画面加载速度。脚本只模拟鼠标点击动作,依靠固定坐标完成操作,游戏界面UI发生改动之后,原有坐标失效,需要重新抓取坐标。
每次重启游戏,重新打开魔域窗口之后,窗口句柄会发生变化,需要重新抓取句柄更新到脚本内。如果切换显示器分辨率,也会影响坐标,需要重新校准点位。日常使用时,每次启动脚本前确认游戏窗口保持开启,没有最小化,背包副宝宝数量充足,避免脚本执行到一半缺少副宝宝卡住流程。合理设置延时,延时太短操作容易失败,延时太长会降低整体幻化效率,根据自己电脑的实际运行状态反复调试,找到合适的延时参数。
首先要做好前期准备工作。电脑上安装按键精灵软件,打开魔域客户端切换为窗口模式,不要使用全屏运行,全屏模式下窗口句柄获取会失效,脚本无法识别游戏画面。调整好游戏窗口大小,固定窗口位置,不要随意拖动窗口,窗口位置发生变动后,脚本记录的点击坐标会偏移,导致点击失效。进入宝宝幻化NPC所在位置,提前把需要用来幻化的副宝宝放置到背包指定格子,整理背包,清理多余物品,避免物品遮挡幻化弹窗按钮。
接下来获取游戏窗口句柄,这是窗口模式脚本的核心。打开按键精灵,新建空白脚本,在左侧命令库找到窗口命令,使用获取窗口句柄工具。点击工具里的抓抓按钮,鼠标移动到魔域游戏窗口上方,抓取当前窗口句柄,把得到的句柄数字复制保存。使用句柄绑定窗口之后,脚本只会对这个魔域窗口生效,就算窗口被其他软件遮挡,只要窗口没有最小化,依旧可以正常执行点击动作,不会误操作电脑其他程序。
然后使用抓抓工具校准点击坐标。在抓抓界面开启窗口坐标模式,不要使用屏幕全局坐标,窗口坐标是以游戏窗口左上角作为原点,窗口移动之后坐标数值不会变化。依次定位几个关键点位:幻化NPC对话点击位置、确认幻化弹窗的确定按钮位置、背包副宝宝所在格子坐标。每选一个点位,记录对应的X、Y数值,多次核对坐标,确认鼠标移动过去之后可以精准落在按钮上。坐标记录完成之后,不要缩放游戏窗口,窗口缩放会改变画面像素位置,造成点击错位。
完成坐标采集之后编写基础脚本代码。第一行命令使用绑定窗口,填入之前抓取的句柄,选择合适的窗口绑定模式。接着设置循环,合宝宝需要重复执行整套流程,可以设置固定循环次数,也可以选用无限循环,按需选择。循环内部的操作顺序:鼠标移动到NPC坐标,点击左键,等待幻化对话弹窗弹出,加入延时,延时数值根据电脑运行速度调整,配置偏低的电脑适当加长延时,防止画面加载没完成脚本提前执行下一步。弹窗出现后,鼠标移动到幻化确认按钮点击,再次添加延时,等待幻化动画结束,主宝宝完成属性提升。之后鼠标移动到背包副宝宝格子点击,拾取下一只副宝宝,回到NPC位置,完成一次幻化循环。
脚本示例参考,需要替换里面的句柄和坐标数值。
Hwnd = Plugin.Window.Foreground()
Call Plugin.Window.Bind(Hwnd, "dx", "dx", "dx", 0)
For i=1 To 100
Call Plugin.Bkgnd.MoveTo(Hwnd, 320, 410)
Delay 800
Call Plugin.Bkgnd.LeftClick(Hwnd, 320, 410)
Delay 1200
Call Plugin.Bkgnd.MoveTo(Hwnd, 450, 330)
Delay 600
Call Plugin.Bkgnd.LeftClick(Hwnd, 450, 330)
Delay 1500
Call Plugin.Bkgnd.MoveTo(Hwnd, 520, 480)
Delay 600
Call Plugin.Bkgnd.LeftClick(Hwnd, 520, 480)
Delay 1000
Next
Call Plugin.Window.UnBind(Hwnd)
代码里面的Delay是延时命令,单位为毫秒,1000毫秒等于1秒。后台点击命令Bkgnd可以实现后台操作,鼠标可以在脚本运行的时候去做别的事情,不需要让鼠标一直停留在游戏窗口。如果后台命令运行不稳定,可以换成前台鼠标点击命令,前台模式下脚本运行期间不能移动鼠标,否则打断操作流程。
脚本编写完成之后先进行小规模测试。把循环次数改成3到5次,启动脚本观察整套幻化流程是否顺畅。重点观察几个容易出错的地方,弹窗加载慢导致点击落空,背包格子坐标偏移,幻化动画没有结束就执行下一次点击。出现点击不到按钮的情况,重新打开抓抓重新校准坐标,适当增加延时数值。测试没有问题之后,再修改循环次数,进行大批量宝宝幻化。
使用脚本还有不少需要留意的内容。游戏运行过程中不要弹出其他弹窗,聊天消息、系统提示弹窗会遮挡幻化界面,中断脚本操作。不要同时开启多个魔域窗口,多窗口同时运行容易出现句柄识别混乱。电脑运行期间尽量关闭占用大量资源的软件,避免游戏画面卡顿,延时跟不上画面加载速度。脚本只模拟鼠标点击动作,依靠固定坐标完成操作,游戏界面UI发生改动之后,原有坐标失效,需要重新抓取坐标。
每次重启游戏,重新打开魔域窗口之后,窗口句柄会发生变化,需要重新抓取句柄更新到脚本内。如果切换显示器分辨率,也会影响坐标,需要重新校准点位。日常使用时,每次启动脚本前确认游戏窗口保持开启,没有最小化,背包副宝宝数量充足,避免脚本执行到一半缺少副宝宝卡住流程。合理设置延时,延时太短操作容易失败,延时太长会降低整体幻化效率,根据自己电脑的实际运行状态反复调试,找到合适的延时参数。

