当前位置 : 145z游戏站 | 魔域 | 技术教程 | 

魔域手游自动打怪挂机脚本制作教程 触动精灵Auto.js按键精灵安卓版源码示例

热度:
一、环境准备与前置设置

魔域手游(口袋版/怀旧版等)挂机脚本分两种运行方式:安卓手机端用触动精灵或Auto.js(现多为AutoX.js Pro),电脑用安卓模拟器(夜神/MuMu)配按键精灵手机助手。写脚本前先做以下准备:
- 游戏内把群攻、单体技能拖到固定屏幕位置,记住拾取键(通常点击掉落物或按拾取按钮)、红蓝药按钮坐标。
• 固定分辨率,模拟器锁1080×1920或720×1280,手机端关自动旋转,关游戏内活动弹窗避免遮挡。

- 开启脚本工具的无障碍服务和悬浮窗权限,触动精灵还需开触控模拟。

二、触动精灵Lua脚本——打怪+拾取+吃药

触动精灵是魔域手游最常用的挂机脚本引擎,用Lua语言,下面是最基础的循环打怪拾取代码,坐标用内置抓点工具取:
-- 魔域手游 触动精灵挂机脚本
-- 音量+启动 音量-停止
-- 先用工具有抓点取得:技能按钮(xSkill,ySkill) 拾取物(xPick,yPick) 红药(xHp,yHp) 蓝药(xMp,yMp)

function main()
while true do
-- 点击红药(判断掉血也可改为找血条颜色,这里简化为定时补)
touchDown(1, xHp, yHp)
mSleep(50)
touchUp(1, xHp, yHp)

-- 点击蓝药
touchDown(1, xMp, yMp)
mSleep(50)
touchUp(1, xMp, yMp)

-- 点空白区域取消选中/走位微调(防卡墙,可选)
-- touchDown(1, 540, 1600); mSleep(30); touchUp(1, 540, 1600)

-- 释放技能(可设多个技能轮流放)
touchDown(1, xSkill, ySkill)
mSleep(80)
touchUp(1, xSkill, ySkill)

-- 点击拾取掉落物
touchDown(1, xPick, yPick)
mSleep(50)
touchUp(1, xPick, yPick)

-- 随机延迟模拟真人节奏
mSleep(800 + math.random(0, 400))
end
end

main()


触动精灵抓坐标方法:右上角菜单→抓点工具→手指移到游戏技能/拾取位置→显示XY→抄进脚本。保存后激活脚本,切回游戏按音量+运行。

三、触动精灵找色找怪物血条(进阶)

单纯循环点固定位置遇到怪不在面前会空转,可用findColorInRegionFuzzy在指定区域搜怪物血条红色:
while true do
-- 在屏幕区域找怪物血条红色(0xFF0000 色调依实际改),相似度90
x, y = findColorInRegionFuzzy(0xFF2020, 90, 100, 300, 980, 1700)
if x ~= -1 and y ~= -1 then
-- 点血条位置选中怪
touchDown(1, x, y); mSleep(40); touchUp(1, x, y)
mSleep(200)
-- 放技能
touchDown(1, xSkill, ySkill); mSleep(50); touchUp(1, xSkill, ySkill)
-- 拾取
touchDown(1, xPick, yPick); mSleep(50); touchUp(1, xPick, yPick)
else
-- 没找到怪 向前走(点移动摇杆前方或点地面)
touchDown(1, 540, 1500); mSleep(300); touchUp(1, 540, 1500)
mSleep(1200)
end
mSleep(700 + math.random(0,300))
end


血条颜色用触动精灵悬浮窗取色吸取,不同地图怪物血条色略有差异要重取。

四、Auto.js(AutoX.js)JavaScript版挂机脚本

喜欢JS语法的可用Auto.js系列(需安卓无障碍权限),示例:
// Auto.js 魔域手游挂机 需setScreenMetrics配你分辨率
setScreenMetrics(1080, 1920);

// 技能/拾取/药品坐标按你抓的点填
var xSkill = 900, ySkill = 1750;
var xPick = 540, yPick = 1400;
var xHp = 120, yHp = 1800;
var xMp = 240, yMp = 1800;

while(true){
// 随机微小偏移防每次同点
click(xHp + random(-3,3), yHp + random(-3,3));
sleep(100);
click(xMp + random(-3,3), yMp + random(-3,3));
sleep(100);

// 找怪血条红色(区域按分辨率调)
var img = captureScreen();
var point = findColor(img, "#FF1818", {region:[50,200,1000,1600], threshold:16});
if(point){
click(point.x, point.y);
sleep(250);
click(xSkill, ySkill);
sleep(200);
click(xPick, yPick);
}else{
// 没怪点前方走
click(540, 1500);
sleep(1500);
}
sleep(800 + random(0,400));
}


运行前开无障碍和悬浮窗,抓坐标可用脚本内console.log(currentPosition)或在悬浮窗看。

五、模拟器+按键精灵手机助手写法

电脑用模拟器挂可用按键精灵手机助手(PC端编写推送到模拟器),逻辑类似PC版但用Tap代替KeyPress:
// 点红药
Tap 120, 1800
Delay 100
// 点技能
Tap 900, 1750
Delay 900
// 点拾取
Tap 540, 1400
Delay 500
// 随机延迟
VBS r = Int(Rnd*400)+800
Delay r
Loop


在按键精灵手机助手新建脚本粘贴,点"抓点"取游戏内坐标,连接模拟器或手机后推送运行。

六、坐标抓取与调试注意

• 抓坐标:触动精灵点悬浮球→抓点;按键精灵助手点工具栏"抓点"移鼠标到游戏按钮读XY;Auto.js可用toast(click(x,y))辅助验证。

- 分辨率变了所有坐标作废,必须固定分辨率后再抓。
• 技能间隔按你人物实际攻速/CD填,别写太短导致空放,加随机浮动更稳。

• 先单步跑看技能/拾取点是不是对准按钮,偏了重新抓。

• 若加血条判断,用找色取角色血条左中右多点颜色,颜色变化说明掉血再触发药品点击。

- 多开建议各窗口用不同随机延迟参数避免同步特征明显。

按上面模板把你实际抓到的技能、拾取、药品坐标填进去就能直接跑,要加自动复活、回城补给、九星副本走点都是在while循环里追加if分支或按顺序写动作序列。
[顶部]