先定边界。官方魔域联网手游严禁第三方自动打怪、自动合宠、自动九星、自动交易、自动刷杂等外挂行为,行为准则明确打击制作、买卖、使用外挂以及利用bug篡改数据,外挂监狱会按检测关押,安全公告里九星、合副宠、野外BOSS、日常、自动打怪都是重点处罚场景,且同IP下所有登录角色都会被关联检测 。因此下面只适用于你自己搭建的纯离线魔域类单机包、第三方本地离线APK、模拟器里的本地私测环境;拿去官服跑自动战斗属于违规。
一、确定“单机”环境再写脚本
纯离线安卓APK:安装后开飞行模式,能建号、进图、打怪、合宠、退出重进读档,只给存储权限,不登官方账号。此类才可做自用辅助。
模拟器本地包:雷电、夜神、MuMu装离线魔域APK,关网络、关更新、关账号验证;分辨率固定,例如1280x720或1920x1080,后面所有坐标按这个基准写。
PC本地服务端+手游客户端:极少,除非你自己架本地端并配单机登录器;官服客户端不算单机,不写自动脚本。
不满足“断网可玩、本地存档、无官方反外挂上报”的,一律按官服处理,只用手游内置自动战斗,不接外部脚本。
二、技术选型
无障碍脚本:安卓装AutoX.js/Auto.js开源版,开无障碍、悬浮窗、存储权限,用JS写找图、找色、点击、定时。优点不root,适合单机APK;缺点官服开启无障碍自动化仍可能触发违规,仅本地用。
模拟器ADB+Python:电脑adb连接模拟器,用截图匹配+input tap发坐标。优点跨工具、好调试;缺点需开USB调试或模拟器adb,单机可关网络。
录屏回放:固定路线挂机可用,但遇弹窗、卡怪、背包满容易死循环,只适合极简单机。
不采用:内存读取、注入、协议逆向、变速、修改APK资源改变爆率、自动刷魔石、无限星级、多开同步器。这些在官服属外挂,在单机也破坏平衡。
三、基础项目结构
state_monitor:每隔1秒截屏,判断在战斗、背包、死亡、回城、弹窗、主城哪个状态。
combat:血蓝低于阈值放技能、喝药;有怪点则点怪,无怪点则小范围移动。
loot:识别地面高亮、装备、材料图标,按品质过滤点击拾取。
pet:合宠只在你手动设定规则下做,例如副宠评分高于主宠且属性互补再合,不写自动扫拍卖、不写自动百星。
recover:长时间不动、死亡、断线、背包满,执行回城、清包、复活、重启任务。
config:分辨率、技能栏坐标、血蓝区域、拾取白名单、最大运行时长、人工停止键。
四、坐标与图像识别写法
固定分辨率下最省事用坐标。先截一张战斗界面,用画图或脚本工具取:
血条区域左上角x1,y1到右下x2,y2,采样颜色判断百分比。
蓝条同理。
技能1-4图标中心坐标,例如720p下技能栏底部固定位置;1920x1080按等比缩放:click_x=base_xcur_w/1280,click_y=base_ycur_h/720。
怪物目标取屏幕上小地图红点区域或中央怪影;用模板匹配比纯坐标稳,截一张白野猪/魔域小怪头像当模板,matchTemplate返回置信度大于0.8再点。
图像示例伪代码(Python+ADB):
截screen.png,cv读图;用预先截的hp_empty.png、hp_full.png算血条填充宽度;若hp_ratio<0.35,adb tap 药坐标;若mp_ratio<0.25,tap 蓝药;若中央检测到怪物模板且hp_ratio>0.6,按技能顺序tap 技能1、技能2,每次间隔random(0.4,0.8)秒;检测地面高亮图,按白名单裁剪装备图标区域,命中则tap对应坐标;检测“背包已满”文本或格子颜色,触发回城。
无障碍JS示例(AutoX思路):
requestScreenCapture(); 定时images.captureScreen();用images.findImage(screen, template, {threshold:0.8})拿怪物/血瓶/装备坐标;click(x,y);血条若游戏提供控件文本“血量 1200/2000”可用text或控件id取,取不到再靠找色。技能点击后sleep随机值,不写固定400ms死延迟。
五、战斗逻辑不破坏平衡
单机自己用可设:只打当前地图同级或低一级怪,不写“全图瞬移找精英”。
血药规则:血量低于30%到40%用大红,低于15%连续用药并后撤;蓝药低于20%到30%用大蓝。
技能循环:法师/异能类最多挂3个主力+1个保命,战士挂2个连击+1个回血,不写“无限XP、无冷却、全屏秒怪”。
拾取白名单:本职业装备、幻兽蛋、合宠材料、经验道具、金币/魔石替代物;垃圾白装不捡或只捡后自动分解,不写自动售卖官方交易行。
合宠规则:只合副宠到指定星级、只用背包自有材料,不写自动买市场、不写自动洗初值、不写突破上限。
六、异常处理
卡怪:角色坐标或画面特征5到10秒无变化,执行小范围移动;连续3次无变化则回城重进。
死亡:检测“复活”按钮或死亡文字,优先原地复活,无原地则回城。
弹窗:本地包常见“确定/更新/网络错误”,写白名单关键词,只点确定/取消更新/离线继续;不点任何“充值、下载完整版”外部链接。
背包满:停止拾取,回城存仓或分解;不写自动摆摊自动交易。
脚本失控:全局热键停止,例如无障碍脚本监听音量键两次停止,ADB脚本终端Ctrl+C停止;不设“无人值守24小时”。
七、模拟器批处理示例
雷电adb默认127.0.0.1:5555,夜神5555、MuMu可查端口。Python循环:
adb shell screencap -p /sdcard/screen.png,adb pull到本地;
OpenCV读图,按上述血蓝、怪物、拾取逻辑;
adb shell input tap x y执行;
每次主循环sleep random(0.6,1.2),避免完全机械;
运行满设定时长自动退出,不循环几天几夜。
纯坐标版不建议长期用,游戏更新UI、改分辨率就失效;模板匹配+控件文本混合更稳。
八、官服替代方案
官服手游只用游戏内自动战斗/挂机设置:主界面自动战斗键、设置里的技能循环、红蓝药阈值、自动拾取过滤、幻兽自动出战与合体;九星、合副宠、野外BOSS、自动交易不接任何外部工具。 多开不同步器、不装按键精灵/触动/图色外挂、不买“免封脚本”,第三方模拟点击在官服仍可能被行为检测按外挂处理。
九、安全与法律边界
自己单机环境写脚本无他人利益影响,但仍注意:不从未知站下载“魔域辅助”APK,很多捆绑木马、盗号、诱导充值;不root、不装XP模块、不读游戏内存,降低系统被植入风险。官服使用自动打怪/合宠/九星/交易脚本,按用户协议可封号,按外挂监狱可关押,商业化代练或篡改数据还可能涉及更高法律风险。 自写脚本只在本机离线包运行,不分享“破改爆率、无限魔石、自动满星”版本,不提供给他人用于官服。
十、调试顺序
新包先手动玩一遍,记录主界面、战斗界面、血蓝坐标、技能栏坐标、拾取高亮样例。
写state_monitor不执行任何点击,只打印当前状态,确认识别准确率。
加喝药和单技能点击,跑10分钟看是否误点、是否漏怪。
加速度拾取白名单,回城异常处理最后加。
分辨率变更重截模板,重新算坐标缩放;模拟器换机型重设dpi,不混用不同包的模板。
按这个框架写出来的东西只算本地离线辅助:图像/坐标点击、血蓝判断、技能循环、拾取过滤、合宠人工规则、回城异常恢复。涉及内存、协议、加速、改数据、官服自动搬资源的都不写,避免把教程变成外挂制作。
一、确定“单机”环境再写脚本
纯离线安卓APK:安装后开飞行模式,能建号、进图、打怪、合宠、退出重进读档,只给存储权限,不登官方账号。此类才可做自用辅助。
模拟器本地包:雷电、夜神、MuMu装离线魔域APK,关网络、关更新、关账号验证;分辨率固定,例如1280x720或1920x1080,后面所有坐标按这个基准写。
PC本地服务端+手游客户端:极少,除非你自己架本地端并配单机登录器;官服客户端不算单机,不写自动脚本。
不满足“断网可玩、本地存档、无官方反外挂上报”的,一律按官服处理,只用手游内置自动战斗,不接外部脚本。
二、技术选型
无障碍脚本:安卓装AutoX.js/Auto.js开源版,开无障碍、悬浮窗、存储权限,用JS写找图、找色、点击、定时。优点不root,适合单机APK;缺点官服开启无障碍自动化仍可能触发违规,仅本地用。
模拟器ADB+Python:电脑adb连接模拟器,用截图匹配+input tap发坐标。优点跨工具、好调试;缺点需开USB调试或模拟器adb,单机可关网络。
录屏回放:固定路线挂机可用,但遇弹窗、卡怪、背包满容易死循环,只适合极简单机。
不采用:内存读取、注入、协议逆向、变速、修改APK资源改变爆率、自动刷魔石、无限星级、多开同步器。这些在官服属外挂,在单机也破坏平衡。
三、基础项目结构
state_monitor:每隔1秒截屏,判断在战斗、背包、死亡、回城、弹窗、主城哪个状态。
combat:血蓝低于阈值放技能、喝药;有怪点则点怪,无怪点则小范围移动。
loot:识别地面高亮、装备、材料图标,按品质过滤点击拾取。
pet:合宠只在你手动设定规则下做,例如副宠评分高于主宠且属性互补再合,不写自动扫拍卖、不写自动百星。
recover:长时间不动、死亡、断线、背包满,执行回城、清包、复活、重启任务。
config:分辨率、技能栏坐标、血蓝区域、拾取白名单、最大运行时长、人工停止键。
四、坐标与图像识别写法
固定分辨率下最省事用坐标。先截一张战斗界面,用画图或脚本工具取:
血条区域左上角x1,y1到右下x2,y2,采样颜色判断百分比。
蓝条同理。
技能1-4图标中心坐标,例如720p下技能栏底部固定位置;1920x1080按等比缩放:click_x=base_xcur_w/1280,click_y=base_ycur_h/720。
怪物目标取屏幕上小地图红点区域或中央怪影;用模板匹配比纯坐标稳,截一张白野猪/魔域小怪头像当模板,matchTemplate返回置信度大于0.8再点。
图像示例伪代码(Python+ADB):
截screen.png,cv读图;用预先截的hp_empty.png、hp_full.png算血条填充宽度;若hp_ratio<0.35,adb tap 药坐标;若mp_ratio<0.25,tap 蓝药;若中央检测到怪物模板且hp_ratio>0.6,按技能顺序tap 技能1、技能2,每次间隔random(0.4,0.8)秒;检测地面高亮图,按白名单裁剪装备图标区域,命中则tap对应坐标;检测“背包已满”文本或格子颜色,触发回城。
无障碍JS示例(AutoX思路):
requestScreenCapture(); 定时images.captureScreen();用images.findImage(screen, template, {threshold:0.8})拿怪物/血瓶/装备坐标;click(x,y);血条若游戏提供控件文本“血量 1200/2000”可用text或控件id取,取不到再靠找色。技能点击后sleep随机值,不写固定400ms死延迟。
五、战斗逻辑不破坏平衡
单机自己用可设:只打当前地图同级或低一级怪,不写“全图瞬移找精英”。
血药规则:血量低于30%到40%用大红,低于15%连续用药并后撤;蓝药低于20%到30%用大蓝。
技能循环:法师/异能类最多挂3个主力+1个保命,战士挂2个连击+1个回血,不写“无限XP、无冷却、全屏秒怪”。
拾取白名单:本职业装备、幻兽蛋、合宠材料、经验道具、金币/魔石替代物;垃圾白装不捡或只捡后自动分解,不写自动售卖官方交易行。
合宠规则:只合副宠到指定星级、只用背包自有材料,不写自动买市场、不写自动洗初值、不写突破上限。
六、异常处理
卡怪:角色坐标或画面特征5到10秒无变化,执行小范围移动;连续3次无变化则回城重进。
死亡:检测“复活”按钮或死亡文字,优先原地复活,无原地则回城。
弹窗:本地包常见“确定/更新/网络错误”,写白名单关键词,只点确定/取消更新/离线继续;不点任何“充值、下载完整版”外部链接。
背包满:停止拾取,回城存仓或分解;不写自动摆摊自动交易。
脚本失控:全局热键停止,例如无障碍脚本监听音量键两次停止,ADB脚本终端Ctrl+C停止;不设“无人值守24小时”。
七、模拟器批处理示例
雷电adb默认127.0.0.1:5555,夜神5555、MuMu可查端口。Python循环:
adb shell screencap -p /sdcard/screen.png,adb pull到本地;
OpenCV读图,按上述血蓝、怪物、拾取逻辑;
adb shell input tap x y执行;
每次主循环sleep random(0.6,1.2),避免完全机械;
运行满设定时长自动退出,不循环几天几夜。
纯坐标版不建议长期用,游戏更新UI、改分辨率就失效;模板匹配+控件文本混合更稳。
八、官服替代方案
官服手游只用游戏内自动战斗/挂机设置:主界面自动战斗键、设置里的技能循环、红蓝药阈值、自动拾取过滤、幻兽自动出战与合体;九星、合副宠、野外BOSS、自动交易不接任何外部工具。 多开不同步器、不装按键精灵/触动/图色外挂、不买“免封脚本”,第三方模拟点击在官服仍可能被行为检测按外挂处理。
九、安全与法律边界
自己单机环境写脚本无他人利益影响,但仍注意:不从未知站下载“魔域辅助”APK,很多捆绑木马、盗号、诱导充值;不root、不装XP模块、不读游戏内存,降低系统被植入风险。官服使用自动打怪/合宠/九星/交易脚本,按用户协议可封号,按外挂监狱可关押,商业化代练或篡改数据还可能涉及更高法律风险。 自写脚本只在本机离线包运行,不分享“破改爆率、无限魔石、自动满星”版本,不提供给他人用于官服。
十、调试顺序
新包先手动玩一遍,记录主界面、战斗界面、血蓝坐标、技能栏坐标、拾取高亮样例。
写state_monitor不执行任何点击,只打印当前状态,确认识别准确率。
加喝药和单技能点击,跑10分钟看是否误点、是否漏怪。
加速度拾取白名单,回城异常处理最后加。
分辨率变更重截模板,重新算坐标缩放;模拟器换机型重设dpi,不混用不同包的模板。
按这个框架写出来的东西只算本地离线辅助:图像/坐标点击、血蓝判断、技能循环、拾取过滤、合宠人工规则、回城异常恢复。涉及内存、协议、加速、改数据、官服自动搬资源的都不写,避免把教程变成外挂制作。

