按键精灵里做魔域自动交易,本质是把“找NPC/玩家—打开交易—填数量—点确认—校验背包”这套流程用鼠标坐标、颜色、字点和图片识别串起来。先装好按键精灵,新建脚本,把游戏分辨率固定成 800x600 或你常用的全屏分辨率,系统缩放设 100%,不然找色找图会偏移。
第一步做触发和循环。用 LeftClick、Delay、KeyPress 搭主循环,例如:
Delay 2000
LeftClick 1
Delay 500
但纯延时不稳定,正式写法要用等待颜色出现再操作。比如交易按钮颜色是 FFFFFF,按钮区域在 (620,430),就写:
FindColor 600,400,660,460,"FFFFFF",x,y
If x > 0
MoveTo x, y
LeftClick 1
End If
Delay 300
第二步是打开交易界面。先截“交易”按钮图,放进按键精灵附件,用 FindPic:
FindPic 0,0,1024,768,"Attachment:\trade_btn.bmp",x,y
If x > 0
MoveTo x+5, y+5
LeftClick 1
Delay 800
End If
魔域里和玩家交易要先选中对方,再点“交易”。选中可用颜色判断对方名字板,或者固定屏幕位置点一下世界里的角色。若是和 NPC 卖东西,就找 NPC 对话选项里的“出售/回购”。
第三步填数量和金钱。交易框出来后,物品栏点物品,输入数量用 SayString 或按键:
MoveTo 500,400
LeftClick 1
Delay 200
KeyDown "1", 1
KeyDown "0", 1
KeyDown "0", 1
KeyUp "1", 1
KeyUp "0", 1
KeyUp "0", 1
Delay 200
更稳的是用 SetClip 和 Ctrl+V:
SetClip "100"
KeyPress 17, 1
KeyPress 86, 1
KeyPress 17, 2
第四步点确认。确认按钮同样截图,FindPic 找到后点击,然后等“交易成功”字样。成功判定可用 OCR 插件或找字点颜色;没成功就关闭界面重来。
背包校验很重要。交易完看金币颜色、背包空格、物品数量是否变化。比如金币数字区域固定,用 GetPixelColor 取色,和交易前比对:
GetPixelColor x,y,colorBefore
// 交易
GetPixelColor x,y,colorAfter
If colorBefore <> colorAfter
// 交易生效
Else
// 重试
End If
防卡死要加重试次数和超时:
retry = 0
While retry < 5
FindPic 0,0,1024,768,"Attachment:\trade_btn.bmp",x,y
If x > 0
Exit Do
End If
Delay 1000
retry = retry + 1
Wend
遇到弹窗如“背包已满”“对方取消”,要把这些弹窗按钮都截图,优先关弹窗再继续。
按键精灵本身不读内存、不改包,只模拟键鼠和图像识别,风险相对低;但游戏有反作弊和反脚本机制,自动交易、挂机买卖、批量倒金会被判定违规。写的时候别做加速、瞬移、自动刷怪抢资源、绕过交易冷却这类功能,只做人工也能点的操作。
调试时把每步坐标打印出来:
MessageBox "click trade at " & x & "," & y
确认无误再关掉弹窗跑循环。脚本结构建议分函数:找NPC、打开发起、放物品、填数量、确认、校验、关弹窗、回城补货。主流程就是:
Call 找目标()
Call 打开发起()
Call 放物品()
Call 填数量()
Call 确认()
Call 校验()
If 失败 Then Call 关弹窗()
最后提醒,交易类脚本最容易在分辨率、界面皮肤、字体抗锯齿上翻车。所有图片用游戏内原分辨率截,别用微信截图;按钮图截小一点,留 10~20 像素特征区域;颜色查找给容差,比如 FindColorEx 用 "FFFFFF", 16 这种容差参数。跑之前手动走一遍流程,把每个点击位置、等待时间、成功标志记下来,再翻译成按键精灵代码,比上来就抄别人脚本稳得多。
第一步做触发和循环。用 LeftClick、Delay、KeyPress 搭主循环,例如:
Delay 2000
LeftClick 1
Delay 500
但纯延时不稳定,正式写法要用等待颜色出现再操作。比如交易按钮颜色是 FFFFFF,按钮区域在 (620,430),就写:
FindColor 600,400,660,460,"FFFFFF",x,y
If x > 0
MoveTo x, y
LeftClick 1
End If
Delay 300
第二步是打开交易界面。先截“交易”按钮图,放进按键精灵附件,用 FindPic:
FindPic 0,0,1024,768,"Attachment:\trade_btn.bmp",x,y
If x > 0
MoveTo x+5, y+5
LeftClick 1
Delay 800
End If
魔域里和玩家交易要先选中对方,再点“交易”。选中可用颜色判断对方名字板,或者固定屏幕位置点一下世界里的角色。若是和 NPC 卖东西,就找 NPC 对话选项里的“出售/回购”。
第三步填数量和金钱。交易框出来后,物品栏点物品,输入数量用 SayString 或按键:
MoveTo 500,400
LeftClick 1
Delay 200
KeyDown "1", 1
KeyDown "0", 1
KeyDown "0", 1
KeyUp "1", 1
KeyUp "0", 1
KeyUp "0", 1
Delay 200
更稳的是用 SetClip 和 Ctrl+V:
SetClip "100"
KeyPress 17, 1
KeyPress 86, 1
KeyPress 17, 2
第四步点确认。确认按钮同样截图,FindPic 找到后点击,然后等“交易成功”字样。成功判定可用 OCR 插件或找字点颜色;没成功就关闭界面重来。
背包校验很重要。交易完看金币颜色、背包空格、物品数量是否变化。比如金币数字区域固定,用 GetPixelColor 取色,和交易前比对:
GetPixelColor x,y,colorBefore
// 交易
GetPixelColor x,y,colorAfter
If colorBefore <> colorAfter
// 交易生效
Else
// 重试
End If
防卡死要加重试次数和超时:
retry = 0
While retry < 5
FindPic 0,0,1024,768,"Attachment:\trade_btn.bmp",x,y
If x > 0
Exit Do
End If
Delay 1000
retry = retry + 1
Wend
遇到弹窗如“背包已满”“对方取消”,要把这些弹窗按钮都截图,优先关弹窗再继续。
按键精灵本身不读内存、不改包,只模拟键鼠和图像识别,风险相对低;但游戏有反作弊和反脚本机制,自动交易、挂机买卖、批量倒金会被判定违规。写的时候别做加速、瞬移、自动刷怪抢资源、绕过交易冷却这类功能,只做人工也能点的操作。
调试时把每步坐标打印出来:
MessageBox "click trade at " & x & "," & y
确认无误再关掉弹窗跑循环。脚本结构建议分函数:找NPC、打开发起、放物品、填数量、确认、校验、关弹窗、回城补货。主流程就是:
Call 找目标()
Call 打开发起()
Call 放物品()
Call 填数量()
Call 确认()
Call 校验()
If 失败 Then Call 关弹窗()
最后提醒,交易类脚本最容易在分辨率、界面皮肤、字体抗锯齿上翻车。所有图片用游戏内原分辨率截,别用微信截图;按钮图截小一点,留 10~20 像素特征区域;颜色查找给容差,比如 FindColorEx 用 "FFFFFF", 16 这种容差参数。跑之前手动走一遍流程,把每个点击位置、等待时间、成功标志记下来,再翻译成按键精灵代码,比上来就抄别人脚本稳得多。

