把魔域设成窗口模式,客户端分辨率固定1280×1024,系统桌面缩放改100%,DPI不对会让抓点整体偏移。窗口锁在屏幕左上角,不要拖动;若用无边框窗口也要先确认客户区实际宽高。按键精灵新建脚本,热键F10启动、F12停止,全部用前台鼠标键盘或绑定窗口句柄的后台点击都行,但1280×1024固定窗口用前台坐标最省事。客户区坐标范围按0,0到宽减1、高减1理解,找色找图区域右下角必须比左上角大,不能写0,0,0,0。
先抓六个点:幻兽按钮、幻兽面板里的合成/合宝宝标签、主宠槽、副宠1槽、副宠2槽、确定按钮、关闭按钮。用按键精灵抓点工具,切到游戏合BB界面,鼠标移到按钮中心按抓点,记录X/Y和颜色。1280×1024下不同UI版本坐标差异很大,下面示例只按“左中右布局”占位,必须替换成你本机值:幻兽按钮P1,合成标签P2,主宠槽P3,副宠1槽P4,副宠2槽P5,确定P6,关闭P7。若合主属性只放主+副1,就把副宠2那步删掉;若合不同属性要换槽位,重新抓。
纯鼠标点击版主流程:
MoveTo P1.X,P1.Y
LeftClick 1
Delay 600+Int((1000-600)*Rnd())
MoveTo P2.X,P2.Y
LeftClick 1
Delay 500+Int((800-500)*Rnd())
MoveTo P3.X,P3.Y
LeftClick 1
Delay 300
MoveTo P3.X,P3.Y
LeftClick 1
Delay 400
MoveTo P4.X,P4.Y
LeftClick 1
Delay 300
MoveTo P4.X,P4.Y
LeftClick 1
Delay 400
If 需要第二个副宠 Then
MoveTo P5.X,P5.Y
LeftClick 1
Delay 300
MoveTo P5.X,P5.Y
LeftClick 1
Delay 400
End If
MoveTo P6.X,P6.Y
LeftClick 1
Delay 1000+Int((1500-1000)*Rnd())
MoveTo P7.X,P7.Y
LeftClick 1
Delay 500+Int((800-500)*Rnd())
上面用双击选槽是因为部分版本直接点一次只是高亮,双击才入槽;你本机若单击可用,就把每个槽改成一次LeftClick并缩短延时。随机延时用Rnd避免机械节奏,合BB不需要太快,主属性连续合可按1到1.5秒一次界面操作、确认后等1到1.5秒看结果。
加找色容错比死坐标稳。先在合BB确定按钮上用抓色取一个独特RGB,比如按钮文字或按钮底色的点C_OK;在弹窗“合成成功/失败”区域取提示色C_MSG;在空副宠槽取灰化色C_EMPTY。主循环改成先点幻兽、点合成,然后用FindColor在限定区找确定按钮:
FindColor 左,上,右,下,"C_OK",intX,intY
If intX>0 And intY>0 Then
MoveTo intX,intY
LeftClick 1
Delay 1000+Int((1500-1000)*Rnd())
End If
找不到了不硬点,跳重试。确定后检测提示色C_MSG,找到说明本轮提交成功;再检测是否还有副宠,空槽色C_EMPTY出现就退出循环或报警,避免一直点确定耗主宠。若游戏版本按钮样式固定,用FindPic存“确定.bmp”“合成标签.bmp”比单点找色抗干扰,区域按1280×1024全客户区或缩到按钮附近都行,相似度0.85到0.9,过高容易因特效、半透明找不到,过低会点错。
用快捷键替代鼠标也行。部分魔域版本幻兽面板有热键,合体、合属性走键盘:打开幻兽用设定键,进合成后用Tab切主副槽,回车确认。脚本写KeyPress "面板键",1、Delay、KeyPress "Tab",1、KeyPress "Return",1;但合不同宝宝时槽位顺序会变,键盘方案只适合副宠永远排第一、主宠已锁定。鼠标坐标方案适合固定界面,找图方案适合换地图或弹窗后界面微变。
合BB经常要处理弹窗:背包满、副宠不足、属性到顶、系统确认二次扣魔石。主循环里单独加弹窗检测,用FindColor/FindPic找“确定”“取消”“关闭”“提示”区域;只在该点确定属于合BB结果弹窗时按确定,遇到不明对话框先Esc或跳人工标签停止,不盲点。若检测到断线、更新公告、验证码,直接Stop或Pause,不要自动重登,自动输验证码会触发更严重风控。
后台绑定写法适合多开,但1280×1024每个窗口客户区要分别取hwnd。示例:
hwnd = Plugin.Window.Find("游戏窗口类名","窗口标题部分")
Call Plugin.Window.Active(hwnd)
Delay 500
rect = Plugin.Window.GetClientRect(hwnd)
arr = Split(rect,"|")
cx = CInt(arr(2))
cy = CInt(arr(3))
后面用Plugin.Bkgnd.LeftClick hwnd,客户区X,客户区Y。类名和标题要用Spy或按键精灵抓窗口查,不同魔域端游/怀旧/手游模拟器类名不一样;如果客户区不是1280×1024整值,所有按钮坐标要按实际cx、cy重新抓,不要套用全屏坐标。
循环次数和停止条件写好。按次数合:For i=1 To 200,每次走抓点/找图/选主副/确定/关窗;按副宠数量合:进循环前先读副宠背包区域,副宠少于N就退;按时间合:记录开始时间,超过设定的分钟数自动关。每次合完加随机停顿,偶尔Esc检查幻兽界面是否已关,避免界面堆叠。合BB消耗大,脚本里不要为了快把延时压到200毫秒级别,过长连续运行也容易被行为风控盯上。
调试顺序:第一步只跑“打开幻兽-点合成-关窗”打印坐标,不实际合;第二步只选主副不点确定,看槽位是否入对;第三步点确定一次看弹窗颜色;第四步小循环10次观察空槽、成功、失败三种情况;全部稳了再拉长。多数失败不是代码问题,而是1280×1024实际客户区被窗口边框吃掉几像素、DPI缩放、游戏换主题、特效半透明、按键精灵没前台焦点、其他软件抢鼠标。
账号安全方面,按键精灵只模拟鼠标键盘、不读内存、不注入、不加速,理论上比第三方封装辅助可控,但自动合BB仍属自动化操作,很多游戏用户协议禁止第三方脚本替代人工;固定节奏、长时间不下线、批量多开合MS/副宠可能被行为模型判定异常,导致强制下线、限制交易或封号。更稳妥做法是人先手动合几轮校准坐标,脚本只做重复性低强度补充,不在高价值号上跑不明来源现成辅助,不下载所谓“一键合千次”的封装程序,避免夹带多余进程。官方若有内置批量培养、委托、自动合成相关功能,优先用官方功能。
先抓六个点:幻兽按钮、幻兽面板里的合成/合宝宝标签、主宠槽、副宠1槽、副宠2槽、确定按钮、关闭按钮。用按键精灵抓点工具,切到游戏合BB界面,鼠标移到按钮中心按抓点,记录X/Y和颜色。1280×1024下不同UI版本坐标差异很大,下面示例只按“左中右布局”占位,必须替换成你本机值:幻兽按钮P1,合成标签P2,主宠槽P3,副宠1槽P4,副宠2槽P5,确定P6,关闭P7。若合主属性只放主+副1,就把副宠2那步删掉;若合不同属性要换槽位,重新抓。
纯鼠标点击版主流程:
MoveTo P1.X,P1.Y
LeftClick 1
Delay 600+Int((1000-600)*Rnd())
MoveTo P2.X,P2.Y
LeftClick 1
Delay 500+Int((800-500)*Rnd())
MoveTo P3.X,P3.Y
LeftClick 1
Delay 300
MoveTo P3.X,P3.Y
LeftClick 1
Delay 400
MoveTo P4.X,P4.Y
LeftClick 1
Delay 300
MoveTo P4.X,P4.Y
LeftClick 1
Delay 400
If 需要第二个副宠 Then
MoveTo P5.X,P5.Y
LeftClick 1
Delay 300
MoveTo P5.X,P5.Y
LeftClick 1
Delay 400
End If
MoveTo P6.X,P6.Y
LeftClick 1
Delay 1000+Int((1500-1000)*Rnd())
MoveTo P7.X,P7.Y
LeftClick 1
Delay 500+Int((800-500)*Rnd())
上面用双击选槽是因为部分版本直接点一次只是高亮,双击才入槽;你本机若单击可用,就把每个槽改成一次LeftClick并缩短延时。随机延时用Rnd避免机械节奏,合BB不需要太快,主属性连续合可按1到1.5秒一次界面操作、确认后等1到1.5秒看结果。
加找色容错比死坐标稳。先在合BB确定按钮上用抓色取一个独特RGB,比如按钮文字或按钮底色的点C_OK;在弹窗“合成成功/失败”区域取提示色C_MSG;在空副宠槽取灰化色C_EMPTY。主循环改成先点幻兽、点合成,然后用FindColor在限定区找确定按钮:
FindColor 左,上,右,下,"C_OK",intX,intY
If intX>0 And intY>0 Then
MoveTo intX,intY
LeftClick 1
Delay 1000+Int((1500-1000)*Rnd())
End If
找不到了不硬点,跳重试。确定后检测提示色C_MSG,找到说明本轮提交成功;再检测是否还有副宠,空槽色C_EMPTY出现就退出循环或报警,避免一直点确定耗主宠。若游戏版本按钮样式固定,用FindPic存“确定.bmp”“合成标签.bmp”比单点找色抗干扰,区域按1280×1024全客户区或缩到按钮附近都行,相似度0.85到0.9,过高容易因特效、半透明找不到,过低会点错。
用快捷键替代鼠标也行。部分魔域版本幻兽面板有热键,合体、合属性走键盘:打开幻兽用设定键,进合成后用Tab切主副槽,回车确认。脚本写KeyPress "面板键",1、Delay、KeyPress "Tab",1、KeyPress "Return",1;但合不同宝宝时槽位顺序会变,键盘方案只适合副宠永远排第一、主宠已锁定。鼠标坐标方案适合固定界面,找图方案适合换地图或弹窗后界面微变。
合BB经常要处理弹窗:背包满、副宠不足、属性到顶、系统确认二次扣魔石。主循环里单独加弹窗检测,用FindColor/FindPic找“确定”“取消”“关闭”“提示”区域;只在该点确定属于合BB结果弹窗时按确定,遇到不明对话框先Esc或跳人工标签停止,不盲点。若检测到断线、更新公告、验证码,直接Stop或Pause,不要自动重登,自动输验证码会触发更严重风控。
后台绑定写法适合多开,但1280×1024每个窗口客户区要分别取hwnd。示例:
hwnd = Plugin.Window.Find("游戏窗口类名","窗口标题部分")
Call Plugin.Window.Active(hwnd)
Delay 500
rect = Plugin.Window.GetClientRect(hwnd)
arr = Split(rect,"|")
cx = CInt(arr(2))
cy = CInt(arr(3))
后面用Plugin.Bkgnd.LeftClick hwnd,客户区X,客户区Y。类名和标题要用Spy或按键精灵抓窗口查,不同魔域端游/怀旧/手游模拟器类名不一样;如果客户区不是1280×1024整值,所有按钮坐标要按实际cx、cy重新抓,不要套用全屏坐标。
循环次数和停止条件写好。按次数合:For i=1 To 200,每次走抓点/找图/选主副/确定/关窗;按副宠数量合:进循环前先读副宠背包区域,副宠少于N就退;按时间合:记录开始时间,超过设定的分钟数自动关。每次合完加随机停顿,偶尔Esc检查幻兽界面是否已关,避免界面堆叠。合BB消耗大,脚本里不要为了快把延时压到200毫秒级别,过长连续运行也容易被行为风控盯上。
调试顺序:第一步只跑“打开幻兽-点合成-关窗”打印坐标,不实际合;第二步只选主副不点确定,看槽位是否入对;第三步点确定一次看弹窗颜色;第四步小循环10次观察空槽、成功、失败三种情况;全部稳了再拉长。多数失败不是代码问题,而是1280×1024实际客户区被窗口边框吃掉几像素、DPI缩放、游戏换主题、特效半透明、按键精灵没前台焦点、其他软件抢鼠标。
账号安全方面,按键精灵只模拟鼠标键盘、不读内存、不注入、不加速,理论上比第三方封装辅助可控,但自动合BB仍属自动化操作,很多游戏用户协议禁止第三方脚本替代人工;固定节奏、长时间不下线、批量多开合MS/副宠可能被行为模型判定异常,导致强制下线、限制交易或封号。更稳妥做法是人先手动合几轮校准坐标,脚本只做重复性低强度补充,不在高价值号上跑不明来源现成辅助,不下载所谓“一键合千次”的封装程序,避免夹带多余进程。官方若有内置批量培养、委托、自动合成相关功能,优先用官方功能。

