Autojs王者荣耀冒险模式自动刷金币
本帖最后由 UPX1 于 2020-10-17 18:31 编辑刷币效果可能一般,一局也就十几个金币,但思路可参考!
用法:
第一次启动:
先手动登录王者荣耀,进入“万象天工->冒险模式->挑战”,选一个关卡,选好上场英雄
再关闭王者荣耀,运行脚本
脚本会按照你选的英雄,重复刷你选的关卡
要停止脚本,可按音量+键
非第一次启动:
直接运行脚本即可
说明:
截图权限一定要给
成品脚本:
auto();
/**
用法:
第一次启动:
先手动登录王者荣耀,进入“万象天工->冒险模式->挑战”,选一个关卡,选好上场英雄
再关闭王者荣耀,运行脚本
脚本会按照你选的英雄,重复刷你选的关卡
要停止脚本,可按音量+键
非第一次启动:
直接运行脚本即可
说明:
截图权限一定要给
*/
function deBug(str) {
log(str);
toast(str);
}
function findImg(iconName)
{
var img = captureScreen();
while(!img) {
sleep(500);
img = captureScreen();
}
// deBug("截图完成!");
var url="http://xfxuezhang.cn/WEB/SHARE/GoK/"+iconName;
// deBug(url);
var targetImg = null;
if(!files.exists("GoKtemp.jpg")) {
var res = http.get(url);
if(res.statusCode == 200){
files.writeBytes("GoKtemp.jpg", res.body.bytes());
// targetImg = images.fromBytes(res.body.bytes());
// deBug("下载成功");
}else{
deBug("请求失败: "+url);
return null;
}
}
targetImg = images.read("GoKtemp.jpg");
var p = findImage(img, targetImg, { threshold: 0.9 });
if(p){
// deBug("找到啦:" + p);
}else{
// deBug("没找到");
}
return p;
}
// 删除下载的缓存图片
function clearImgCache() {
if(files.exists("GoKtemp.jpg")) {
files.remove("GoKtemp.jpg");
}
}
// 匹配比对大小图
function matchImg(wait, imgName, tim) {
clearImgCache();
var res = null;
if(wait == 1) {
res = findImg(imgName);
while(!res) {
sleep(tim);
res = findImg(imgName);
}
return res;
}else{
return findImg(imgName);
}
}
function closeWidget() {
matchImg(1, "close.jpg", 2000);
//while(!findImg("close.jpg")) {sleep(2000);}
deBug("进入完成");
deBug("关闭弹窗");
clearImgCache();
var position = matchImg(0, "close.jpg", 0);
// var position = findImg("close.jpg");
while(position) {
click(position.x, position.y);
sleep(500);
position = matchImg(0, "close.jpg", 0);
// position = findImg("close.jpg");
}
// 再等等,怕他弹出直播界面
sleep(2000);
var position = matchImg(0, "close.jpg", 0);
// var position = findImg("close.jpg");
while(position) {
click(position.x, position.y);
sleep(500);
position = matchImg(0, "close.jpg", 0);
// position = findImg("close.jpg");
}
deBug("关闭完成");
}
function enterGame() {
var targetPackage = "com.tencent.tmgp.sgame";
deBug("启动 王者荣耀");
app.launchPackage(targetPackage)
var position = matchImg(1, "startgame.jpg", 2000);
deBug("启动成功");
//while(!findImg("startgame.jpg")) {sleep(2000);}
//var position = findImg("startgame.jpg");
if(position) {
deBug("点击 开始游戏");
click(position.x, position.y);
sleep(2000);
matchImg(1, "startgame.jpg", 2000);
//while(findImg("startgame.jpg")) {sleep(2000);}
deBug("正在进入");
}
}
// 点击开始闯关 -> 闯关完成
function startAction(circle) {
// 闯关
deBug("进入 闯关");
var position = matchImg(0, "action.jpg", 0);
// var position = findImg("action.jpg");
click(position.x, position.y);
sleep(500);
while(1) {
position = matchImg(0, "recovery.jpg", 0);
if(position) {
break;
}
// 有些场景一上来就是等待,且不会自动“跳过”
position = matchImg(0, "skip.jpg", 0);
if(position) {
deBug("跳过");
click(position.x, position.y);
break;
}
sleep(1000);
}
// matchImg(1, "recovery.jpg", 2000);
deBug("进入完成");
position = matchImg(0, "autoenable.jpg", 0);
if(position) {
deBug("已经是 自动");
}else{
position = matchImg(0, "autodisable.jpg", 0);
if(position) {
deBug("点击 自动");
click(position.x, position.y);
}
}
while(1) {
position = matchImg(0, "taptocontinue.jpg", 0);
if(position) {
break;
}
// 有些场景不会自动“跳过”
position = matchImg(0, "skip.jpg", 0);
if(position) {
deBug("跳过");
click(position.x, position.y);
}
position = matchImg(0, "recovery.jpg", 0);
if(position) {
deBug("加血");
click(position.x, position.y);
}
sleep(1000);
}
// position = matchImg(1, "taptocontinue.jpg", 4000);
deBug("闯关完成");
click(position.x, position.y);
sleep(500);
if(circle == 1){
position = matchImg(1, "reaction.jpg", 2000);
deBug("再次挑战");
click(position.x, position.y);
sleep(500);
}
}
// 进入万象天工 -> (闯关 -> 再次挑战)
function enterAdventure() {
var position = matchImg(0, "wanxiang.jpg", 0);
if(position) {
deBug("进入 万象天工");
click(position.x, position.y);
// sleep(4000);
position = matchImg(0, "adventure.jpg", 0);
while(!position) {
swipe(device.height/2, device.width/2, device.height/2-500, device.width/2, 500);
sleep(500);
position = matchImg(0, "adventure.jpg", 0);
}
deBug("进入 冒险模式");
click(position.x, position.y);
sleep(500);
deBug("进入 挑战");
click(device.height/2, device.width/2);
sleep(500);
// 下一步
deBug("进入 下一步");
position = matchImg(0, "nextstep.jpg", 0);
click(position.x, position.y);
sleep(500);
while(1) {
startAction(1);
sleep(500);
}
}
}
function main() {
// device.wakeUpIfNeeded();
threads.start(function(){
events.observeKey();
events.on("key_up", function(keyCode, events){
if(keyCode == keys.volume_up){ // 音量+键关闭脚本
deBug("已停止运行");
exit();
}
});
});
alert("用法:\n\
第一次启动:\n\
1. 先手动登录王者荣耀,进入“万象天工->冒险模式->挑战”,选一个关卡,选好上场英雄\n\
2. 再关闭王者荣耀,运行脚本\n\
3. 脚本会按照你选的英雄,重复刷你选的关卡\n\
\n\
非第一次启动:\n\
直接运行脚本即可\n\
\n\
说明:\n\
1. 截图权限一定要给\n\
2. 要停止脚本,可按音量+键\n\
3. 现在就按音量+键,也能停止运行");
//请求截图
if(!requestScreenCapture(true)){
deBug("请求截图失败");
exit();
}
enterGame(); // 进入游戏
closeWidget(); // 关闭弹窗
enterAdventure(); // 开始冒险模式
}
/*********************** 程序从这里开始 ***********************/
main();
啥也不说了,感谢楼主分享哇!
页:
[1]