魔域端游本身没有内置一键拾取功能,打怪掉落的金币、材料、装备都需要手动移动鼠标点击拾取,长时间挂机刷怪操作重复繁琐。使用按键精灵编写自动拾取脚本,能够识别地面掉落物品并自动点击拾取,下面完整讲解前期准备、找图抓点、脚本编写调试以及使用注意事项。
前期准备工作需要先调整游戏环境。将魔域客户端切换为窗口模式,不要全屏运行,窗口模式可以稳定抓取窗口句柄,降低坐标偏移概率。固定游戏窗口大小与位置,不要随意拖动窗口边框,窗口尺寸改变会导致画面素材匹配失败。清理游戏画面,找一处刷怪点位,击杀怪物后保留地面掉落物品,用于抓取物品图片素材。安装按键精灵软件,打开抓抓工具,准备截取地面物品的特征截图。提前清理背包预留足够空格,背包填满之后拾取动作不会生效,脚本会持续识别物品却无法完成拾取。
脚本实现思路分为两种,分别是多点找色和找图拾取。多点找色依靠地面掉落物品文字或者图标颜色特征进行识别,运行速度快,但是游戏画面亮度、特效会干扰颜色识别,稳定性一般。找图拾取是截取地面物品图标作为识别素材,匹配相似度可控,容错率更高,更适合长时间挂机拾取,推荐优先使用找图方案。两种方案都需要绑定游戏窗口句柄,采用后台点击,运行脚本时电脑可以正常操作其他软件,不会被鼠标移动干扰。
抓取图片素材是找图拾取的核心步骤。打开按键精灵抓抓工具,切换到游戏窗口截图功能,截取地面掉落物品的图标部分,只保留物品图标主体,不要截取多余背景画面。保存图片到脚本附件文件夹,图片文件名不要使用中文。调整匹配相似度,一般设置0.8到0.9之间,数值太高画面轻微变化就识别不到物品,数值过低会把画面其他特效误判成掉落物品。可以多截取几种常见掉落物素材,金币、宝石、装备分开保存,让脚本依次循环识别多张图片。
获取游戏窗口句柄,开启窗口绑定。新建空白脚本,打开抓抓工具里的窗口功能,鼠标悬停在魔域游戏窗口抓取句柄编号,复制保存。使用窗口绑定命令,选定后台绑定模式,绑定成功之后脚本只对当前魔域窗口生效,其他窗口操作不会被脚本触发。绑定完成后,所有找图、点击命令都选用窗口内部坐标,不使用全局屏幕坐标,窗口只要不最小化,位置小幅移动也不会直接失效。
完整找图拾取脚本示例,需要自行替换图片名称与句柄数值。
Hwnd = Plugin.Window.Foreground()
Call Plugin.Window.Bind(Hwnd, "dx", "dx", "dx", 0)
Do
FindPic 0,0,800,600,"Attachment:\wupin.bmp",0.9,intX,intY
If intX > 0 And intY > 0 Then
Call Plugin.Bkgnd.MoveTo(Hwnd, intX, intY)
Delay 200
Call Plugin.Bkgnd.LeftClick(Hwnd, intX, intY)
Delay 1000
End If
Delay 500
Loop
Call Plugin.Window.UnBind(Hwnd)
这段脚本持续循环扫描游戏窗口画面,当匹配到保存的物品图片,就移动鼠标到物品位置执行左键点击拾取,拾取完成后加入延时等待拾取动画结束,继续扫描画面寻找下一个掉落物。代码中的Delay数值单位是毫秒,可以根据电脑性能调整配置,电脑配置偏低、游戏画面卡顿,适当增加延时,避免连续点击造成拾取失败。如果后台Bkgnd命令运行异常,可以去掉后台插件,改用前台鼠标点击,前台模式运行脚本期间不能移动鼠标,否则打断拾取流程。
多点找色方案适合不想制作图片素材的情况。打开抓抓工具,拾取地面物品文字或者图标上的多个颜色点,记录每个点的相对坐标和颜色数值,写入多点找色代码。当画面同时满足全部颜色点条件,判定为地面存在掉落物品,执行点击拾取。多点找色的缺点是游戏光影效果、技能特效、地面纹理很容易改变颜色,经常出现误识别或者识别不到物品,适合短时间临时使用,不适合长时间挂机。
脚本写完之后必须进行小规模测试。先把循环改成有限次数,不要直接开启无限循环挂机。进入游戏刷怪,击杀怪物掉落物品,启动脚本观察识别和点击动作。重点排查几个常见问题,物品识别成功但是点击位置偏移,拾取动作触发但是物品无法捡取,画面特效导致脚本误点空位置。出现识别不到物品,重新截取物品图片,降低匹配相似度;点击位置不准,重新抓取素材,裁剪多余背景;拾取经常失败,适当加大点击之后的延时,等待游戏拾取动画加载完成。
使用脚本需要留意多项细节。游戏画面不要开启过高的特效,粒子光效会干扰图片和颜色识别,建议把画面特效调低。不要同时开启多个游戏窗口,多窗口会造成句柄识别混乱,脚本容易错乱操作。游戏弹出系统提示、聊天弹窗会遮挡地面物品,遮挡区域内的掉落物无法被识别,挂机前尽量关闭多余消息提醒。每次重启游戏客户端,窗口句柄会发生变化,每次上线使用脚本前都要重新抓取句柄更新代码。游戏版本更新之后UI和画面渲染改动,旧的物品图片素材会失效,需要重新截图制作素材。
长时间挂机拾取要定时检查背包状态,背包空间耗尽脚本依旧会持续识别物品,但是拾取动作不会生效,堆积的掉落物会占用画面,影响后续识别。刷怪点位尽量选择地面纹理简单的区域,花草、石块较多的复杂地面更容易造成图片匹配出错。脚本依靠画面图像识别工作,只能拾取屏幕视野范围内的物品,角色视野之外的掉落物无法识别,挂机刷怪时保持人物位置固定,让怪物掉落物品落在屏幕可视区域内。
前期准备工作需要先调整游戏环境。将魔域客户端切换为窗口模式,不要全屏运行,窗口模式可以稳定抓取窗口句柄,降低坐标偏移概率。固定游戏窗口大小与位置,不要随意拖动窗口边框,窗口尺寸改变会导致画面素材匹配失败。清理游戏画面,找一处刷怪点位,击杀怪物后保留地面掉落物品,用于抓取物品图片素材。安装按键精灵软件,打开抓抓工具,准备截取地面物品的特征截图。提前清理背包预留足够空格,背包填满之后拾取动作不会生效,脚本会持续识别物品却无法完成拾取。
脚本实现思路分为两种,分别是多点找色和找图拾取。多点找色依靠地面掉落物品文字或者图标颜色特征进行识别,运行速度快,但是游戏画面亮度、特效会干扰颜色识别,稳定性一般。找图拾取是截取地面物品图标作为识别素材,匹配相似度可控,容错率更高,更适合长时间挂机拾取,推荐优先使用找图方案。两种方案都需要绑定游戏窗口句柄,采用后台点击,运行脚本时电脑可以正常操作其他软件,不会被鼠标移动干扰。
抓取图片素材是找图拾取的核心步骤。打开按键精灵抓抓工具,切换到游戏窗口截图功能,截取地面掉落物品的图标部分,只保留物品图标主体,不要截取多余背景画面。保存图片到脚本附件文件夹,图片文件名不要使用中文。调整匹配相似度,一般设置0.8到0.9之间,数值太高画面轻微变化就识别不到物品,数值过低会把画面其他特效误判成掉落物品。可以多截取几种常见掉落物素材,金币、宝石、装备分开保存,让脚本依次循环识别多张图片。
获取游戏窗口句柄,开启窗口绑定。新建空白脚本,打开抓抓工具里的窗口功能,鼠标悬停在魔域游戏窗口抓取句柄编号,复制保存。使用窗口绑定命令,选定后台绑定模式,绑定成功之后脚本只对当前魔域窗口生效,其他窗口操作不会被脚本触发。绑定完成后,所有找图、点击命令都选用窗口内部坐标,不使用全局屏幕坐标,窗口只要不最小化,位置小幅移动也不会直接失效。
完整找图拾取脚本示例,需要自行替换图片名称与句柄数值。
Hwnd = Plugin.Window.Foreground()
Call Plugin.Window.Bind(Hwnd, "dx", "dx", "dx", 0)
Do
FindPic 0,0,800,600,"Attachment:\wupin.bmp",0.9,intX,intY
If intX > 0 And intY > 0 Then
Call Plugin.Bkgnd.MoveTo(Hwnd, intX, intY)
Delay 200
Call Plugin.Bkgnd.LeftClick(Hwnd, intX, intY)
Delay 1000
End If
Delay 500
Loop
Call Plugin.Window.UnBind(Hwnd)
这段脚本持续循环扫描游戏窗口画面,当匹配到保存的物品图片,就移动鼠标到物品位置执行左键点击拾取,拾取完成后加入延时等待拾取动画结束,继续扫描画面寻找下一个掉落物。代码中的Delay数值单位是毫秒,可以根据电脑性能调整配置,电脑配置偏低、游戏画面卡顿,适当增加延时,避免连续点击造成拾取失败。如果后台Bkgnd命令运行异常,可以去掉后台插件,改用前台鼠标点击,前台模式运行脚本期间不能移动鼠标,否则打断拾取流程。
多点找色方案适合不想制作图片素材的情况。打开抓抓工具,拾取地面物品文字或者图标上的多个颜色点,记录每个点的相对坐标和颜色数值,写入多点找色代码。当画面同时满足全部颜色点条件,判定为地面存在掉落物品,执行点击拾取。多点找色的缺点是游戏光影效果、技能特效、地面纹理很容易改变颜色,经常出现误识别或者识别不到物品,适合短时间临时使用,不适合长时间挂机。
脚本写完之后必须进行小规模测试。先把循环改成有限次数,不要直接开启无限循环挂机。进入游戏刷怪,击杀怪物掉落物品,启动脚本观察识别和点击动作。重点排查几个常见问题,物品识别成功但是点击位置偏移,拾取动作触发但是物品无法捡取,画面特效导致脚本误点空位置。出现识别不到物品,重新截取物品图片,降低匹配相似度;点击位置不准,重新抓取素材,裁剪多余背景;拾取经常失败,适当加大点击之后的延时,等待游戏拾取动画加载完成。
使用脚本需要留意多项细节。游戏画面不要开启过高的特效,粒子光效会干扰图片和颜色识别,建议把画面特效调低。不要同时开启多个游戏窗口,多窗口会造成句柄识别混乱,脚本容易错乱操作。游戏弹出系统提示、聊天弹窗会遮挡地面物品,遮挡区域内的掉落物无法被识别,挂机前尽量关闭多余消息提醒。每次重启游戏客户端,窗口句柄会发生变化,每次上线使用脚本前都要重新抓取句柄更新代码。游戏版本更新之后UI和画面渲染改动,旧的物品图片素材会失效,需要重新截图制作素材。
长时间挂机拾取要定时检查背包状态,背包空间耗尽脚本依旧会持续识别物品,但是拾取动作不会生效,堆积的掉落物会占用画面,影响后续识别。刷怪点位尽量选择地面纹理简单的区域,花草、石块较多的复杂地面更容易造成图片匹配出错。脚本依靠画面图像识别工作,只能拾取屏幕视野范围内的物品,角色视野之外的掉落物无法识别,挂机刷怪时保持人物位置固定,让怪物掉落物品落在屏幕可视区域内。

