最近FF加速器也收费了,找到一款真正免费的网游加速器。
只需动动小手领取电力,每次加速使用电力兑换时长,中止加速自动停止消耗。
0点到14点我们可以使用AK加速器,其它时间用光闪加速器。
为了避免受到骚扰,请使用非常用账号进行登陆。
玩家可通过完成【光闪充电任务】,获取【电力】为光闪加速器进行充电。
在加速游戏时,将根据对游戏的加速时长消耗相应电力。
⨠ 加速游戏的电力消耗说明:不同时段电力消耗速度不同,光闪玩家们可根据下表,找到对应时段所消耗的电力:
◆ 电力消耗按分钟为单位消耗,最小消耗为0,根据当前时段消耗速度,即时消耗;
◆ 电力不够1分钟消耗时,游戏加速将会停止;
◆ 电力长期有效,不会过期,不玩游戏时可利用空余时间积攒电力。
⨠ 电力消耗举例:假设玩家从早上11点整开始加速游戏,下午15点整结束。
消耗电力计算如下:
1:00-13:00消耗电力1200*2=2400
13:00-15:00消耗电力1800*2=3600
合计总消耗电力为2400+3600=6000。
*时长尾数不足1分钟的,将按1分钟计算电力。
具体消耗数据可点击客户端右上方头像,在【我的电力】中进行查看。
这个是我的号做了几天任务就可以用很久了。
以下为自动脚本,小程序调用参考了本站 dlufjfiqnurr的帖子
https://www.52pojie.cn/thread-1923165-1-1.html
需要使用一个名为快捷方式的APP和Autojs6请自行下载。
使用tasker建立定时任务 在不用手机的时间内自行完成任务。
经本人手机mate30测试可正常使用。
2024.10.30:1.增加keywords
2.修正BUG
2024.11.02:1.小程序主体变更由gh_96829073c4b5变更为gh_c64ac75b31df
2.优化逻辑
[JavaScript] 纯文本查看 复制代码
"auto"; //系统配置初始化 auto.waitFor(); if (auto.service == null) { log("请先开启无障碍服务!"); } else { log("无障碍已开启"); } const KX = device.width / 1080; //横坐标比例系数 const KY = device.height / 2340; //纵比例系数 console.show(); console.setGlobalLogConfig({ file: "/sdcard/脚本/log.txt" }); sleep(500); console.setSize(800 * KX, 500 * KY); sleep(500); console.setPosition(0 * KX, 1400 * KY); //关闭同名脚本 onlyOne(); wakeup(); unlock(); device.setBrightnessMode(0); //device.setBrightness(0); device.setMusicVolume(0); clearrecents(); sleep(1000); //存储记录初始化 currentTime = new Date(); var currentDate = currentTime.getFullYear() + "." + (currentTime.getMonth() + 1) + "." + currentTime.getDate() + " " + currentTime.getHours() + ":" + currentTime.getMinutes() + ":" + currentTime.getSeconds(); currentDate.toString(); log("初始化完毕"); log("\n" + "检查当前日期:" + currentDate); sleep(5000); console.hide(); let keywords = [ "已完成浏览", "已完成奖励", "进入小游戏", "前往小游戏", "立即下载", "立即查看", "立即试玩", "查看详情", "关注公众号", "立即咨询", "立即秒杀", "下载应用", "去逛逛", "下载游戏", "了解更多", "进入小程序", "立即玩", "立即购买", "查看商品", "立即体验", "立即领取", "领取优惠", ]; openapp(); id("gn").untilFind(); log("已在任务界面"); for (i = 0; i < 15; i++) { Beanstart = OCRFindText(144, 582, 324, 69); if (Beanstart == null || Beanstart == 0) { for (let j = 0; j < 5; j++) { sleep(1000); } } else { break; } } log("开始电力数为" + Beanstart); var signinbouns = text("获取奖励").findOne(6000); if (signinbouns != null) { click(signinbouns.centerX(), signinbouns.centerY()); closescreen(); for (let j = 0; j < 33; j++) { sleep(1000); } floaty.closeAll(); for (i = 0; i < 10; i++) { AdButton = OCRFindCoord(0 * KX, 230 * KY, 1080 * KX, 2110 * KY, keywords); if (AdButton == null) { sleep(1000); } else if (i == 9) { log("未能识别直接关闭"); autoclose(); backhome(); var iknow = text("我知道了").findOne(5000); if (iknow != null) { click(iknow.centerX(), iknow.centerY()); } break; } else { click(AdButton[0], AdButton[1]); var cancel = text("取消").findOne(500); if (cancel != null) { click(cancel.centerX(), cancel.centerY()); } else { backhome(); } autoclose(); var iknow = text("我知道了").findOne(5000); if (iknow != null) { click(iknow.centerX(), iknow.centerY()); } break; } } } sleep(2000); sml_move(540 * KX, 1400 * KY, 540 * KX, 400 * KY, 600); sleep(2000); for (let i = 0; i < 35; i++) { sleep(3000); var tofinish = text("去完成").findOnce(); if (tofinish != null) { click(tofinish.centerX(), tofinish.centerY()); closescreen(); for (let j = 0; j < 33; j++) { sleep(1000); } floaty.closeAll(); for (i = 0; i < 15; i++) { AdButton = OCRFindCoord(0 * KX, 230 * KY, 1080 * KX, 2110 * KY, keywords); if (AdButton == null) { sleep(1000); } else if (i == 14) { log("未能识别直接关闭"); autoclose(); backhome(); var iknow = text("我知道了").findOne(5000); if (iknow != null) { click(iknow.centerX(), iknow.centerY()); } break; } else { click(AdButton[0], AdButton[1]); var cancel = text("取消").findOne(1000); if (cancel != null) { click(cancel.centerX(), cancel.centerY()); } else { backhome(); } autoclose(); var iknow = text("我知道了").findOne(5000); if (iknow != null) { click(iknow.centerX(), iknow.centerY()); } break; } } } else { home(); clearrecents(); sleep(2000); openapp(); id("gn").untilFind(); for (i = 0; i < 15; i++) { Beansend = OCRFindText(144, 582, 324, 69); if (Beansend == null || Beansend == 0) { for (let j = 0; j < 5; j++) { sleep(1000); } } else { break; } } log("结束电力数为" + Beansend); toastLog("今日共领到" + (Beansend - Beanstart) + "个电力"); sleep(1000); clearrecents(); sleep(1000); engines.stopAllAndToast(); device.cancelKeepingAwake(); lock(); break; } } //找字 function OCRFindCoord(x, y, w, h, word) { if (!requestScreenCapture()) { log("请求截图失败"); exit(); } else { log("请求截图成功"); } let rawimg = captureScreen(); log("截图成功"); //ROI区域(x,y,宽,高) let img = images.clip(rawimg, x, y, w, h); //images.save(img, "/sdcard/脚本/ocr.png"); const Predictor = com.baidu.paddle.lite.ocr.Predictor; // 指定是否用精简版模型 速度较快 let useSlim = false; // 创建检测器 let predictor = new Predictor(); // predictor.cpuThreadNum = 4 //可以自定义使用CPU的线程数 // predictor.checkModelLoaded = false // 可以自定义是否需要校验模型是否成功加载 默认开启 使用内置Base64图片进行校验 识别测试文本来校验模型是否加载成功 // 初始化模型 首次运行时会比较耗时 let loading = threads.disposable(); // 建议在新线程中初始化模型 threads.start(function () { loading.setAndNotify(predictor.init(context, useSlim)); // loading.setAndNotify(predictor.init(context)) 为默认不使用精简版 // 内置默认 modelPath 为 models/ocr_v3_for_cpu,初始化自定义模型请写绝对路径否则无法获取到 // 内置默认 labelPath 为 labels/ppocr_keys_v1.txt // let modelPath = files.path('./models/customize') // 指定自定义模型路径 // let labelPath = files.path('./models/customize') // 指定自定义label路径 // 使用自定义模型时det rec cls三个模型文件名称需要手动指定 // predictor.detModelFilename = 'det_opt.nb' // predictor.recModelFilename = 'rec_opt.nb' // predictor.clsModelFilename = 'cls_opt.nb' // loading.setAndNotify(predictor.init(context, modelPath, labelPath)) }); let loadSuccess = loading.blockedGet(); //log(`加载模型结果:${loadSuccess}`); let start = new Date(); let results = predictor.runOcr(img.getBitmap()); let OcrCoord = null; if (results && results.length > 0) { for (let i = 0; i < results.length; i++) { for (let j = 0; j < word.length; j++) { if (results[i].label == word[j]) { button = results[i].bounds; OcrCoord = [ Math.floor(x + button.left + (button.right - button.left) / 2), Math.floor(y + button.top + (button.bottom - button.top) / 2), ]; break; } } } } //log(OcrResult); return OcrCoord; // 释放模型 用于释放native内存 非必需 // predictor.releaseModel() // 回收图片 rawimg.recycle(); img.recycle(); } //关闭屏幕 function closescreen() { var w = floaty.rawWindow(<frame gravity="center" bg="#000000" />); w.setSize(device.width, device.height); w.setPosition(0, -105 * KY); w.setTouchable(false); //保持脚本运行 setInterval(() => {}, 1000); } //唤醒屏幕 function wakeup() { for (let i = 1; i < 11; i++) { if (!device.isScreenOn()) { device.wakeUp(); // 唤醒设备 log("亮屏" + i + "次"); sleep(1000); } else if (i == 10) { log("亮屏失败退出"); exit(); } else { log("已亮屏"); device.keepScreenOn(4800 * 1000); // 保持亮屏 break; } } } //判断是否有屏幕锁 function isDeviceLocked() { importClass(android.app.KeyguardManager); importClass(android.content.Context); var km = context.getSystemService(Context.KEYGUARD_SERVICE); return km.isKeyguardLocked(); } // 输入密码 function password_input() { var password = "******"; //输入你的6位解锁密码 for (var i = 0; i < password.length; i++) { var p = text(password[i].toString()).findOne(1000); longClick(p.centerX(), p.centerY()); sleep(100); } log("解锁成功"); } //解锁屏幕 function unlock() { for (let l = 1; l < 6; l++) { if (isDeviceLocked()) { sml_move(540 * KX, 1800 * KY, 600 * KX, 1000 * KY, 500); log("滑动屏幕" + l + "次"); var mima = text("输入密码").findOne(2000); if (mima != null) { log("输入密码"); password_input(); break; } } else if (l == 5) { log("解锁失败退出"); exit(); } else { log("无需解锁"); break; } } } //清理后台 function clearrecents() { recents(); sleep(1000); var clearbox = id("clearbox").findOne(1000); if (clearbox != null) { click(clearbox.bounds().centerX(), clearbox.bounds().centerY()); sleep(1000); home(); } else { home(); } } function lock() { var success = runtime.accessibilityBridge .getService() .performGlobalAction( android.accessibilityservice.AccessibilityService .GLOBAL_ACTION_LOCK_SCREEN ); } //广告自动关闭 function autoclose() { for (let i = 1; i < 11; i++) { var closead1 = text("关闭").findOnce(); var closead2 = bounds(14, 119, 100, 205).findOnce(); if (closead1 != null || closead2 != null) { if (closead1 != null) { log("点击1退出按钮" + i + "次"); click(closead1.bounds().centerX(), closead1.bounds().centerY()); sleep(1000); } else if (closead2 != null) { log("点击2退出按钮" + i + "次"); click(closead2.bounds().centerX(), closead2.bounds().centerY()); sleep(1000); } else if (i == 10) { log("直接返回"); backhome(); } } } } //只允许有一个同名脚本运行 function onlyOne() { let g = engines.myEngine(); var e = engines.all(), n = e.length; let r = g.getSource() + ""; 1 < n && e.forEach((e) => { var n = e.getSource() + ""; g.id !== e.id && n == r && e.forceStop(); }); } //仿真曲线滑动 function bezier_curves(cp, t) { cx = 3.0 * (cp[1].x - cp[0].x); bx = 3.0 * (cp[2].x - cp[1].x) - cx; ax = cp[3].x - cp[0].x - cx - bx; cy = 3.0 * (cp[1].y - cp[0].y); by = 3.0 * (cp[2].y - cp[1].y) - cy; ay = cp[3].y - cp[0].y - cy - by; tSquared = t * t; tCubed = tSquared * t; result = { x: 0, y: 0, }; result.x = ax * tCubed + bx * tSquared + cx * t + cp[0].x; result.y = ay * tCubed + by * tSquared + cy * t + cp[0].y; return result; } //仿真随机带曲线滑动 //qx, qy, zx, zy, time 代表起点x,起点y,终点x,终点y,过程耗时单位毫秒 function sml_move(qx, qy, zx, zy, time) { var xxy = [time]; var point = []; var dx0 = { x: qx, y: qy, }; var dx1 = { x: random(qx - 100, qx + 100), y: random(qy, qy + 50), }; var dx2 = { x: random(zx - 100, zx + 100), y: random(zy, zy + 50), }; var dx3 = { x: zx, y: zy, }; for (var i = 0; i < 4; i++) { eval("point.push(dx" + i + ")"); } //log(point[3].x) for (let i = 0; i < 1; i += 0.08) { xxyy = [ parseInt(bezier_curves(point, i).x), parseInt(bezier_curves(point, i).y), ]; xxy.push(xxyy); } //log(xxy); gesture.apply(null, xxy); } function lock() { var success = runtime.accessibilityBridge .getService() .performGlobalAction( android.accessibilityservice.AccessibilityService .GLOBAL_ACTION_LOCK_SCREEN ); } //返回主界面 function backhome() { log("检测是否在主界面"); for (let i = 1; i < 5; i++) { var homepage = text("每日电力任务").findOnce(); if (homepage != null) { log("已在主界面"); break; } else if (i == 4) { log("返回主界面失败重新进入"); home(); clearrecents(); sleep(2000); openapp(); id("gn").untilFind(); sleep(6000); sml_move(540 * KX, 1400 * KY, 540 * KX, 400 * KY, 600); sleep(2000); break; } else { back(); log("正在返回主界面中..."); sleep(1000); } } } //OCR文字识别 function OCRFindText(x, y, w, h) { if (!requestScreenCapture()) { log("请求截图失败"); exit(); } else { log("请求截图成功"); } let rawimg = captureScreen(); //log("截图成功"); //ROI区域(x,y,宽,高) let img = images.clip(rawimg, x, y, w, h); images.save(img, "/sdcard/脚本/ocr.png"); const Predictor = com.baidu.paddle.lite.ocr.Predictor; // 指定是否用精简版模型 速度较快 let useSlim = false; // 创建检测器 let predictor = new Predictor(); // predictor.cpuThreadNum = 4 //可以自定义使用CPU的线程数 // predictor.checkModelLoaded = false // 可以自定义是否需要校验模型是否成功加载 默认开启 使用内置Base64图片进行校验 识别测试文本来校验模型是否加载成功 // 初始化模型 首次运行时会比较耗时 let loading = threads.disposable(); // 建议在新线程中初始化模型 threads.start(function () { loading.setAndNotify(predictor.init(context, useSlim)); // loading.setAndNotify(predictor.init(context)) 为默认不使用精简版 // 内置默认 modelPath 为 models/ocr_v3_for_cpu,初始化自定义模型请写绝对路径否则无法获取到 // 内置默认 labelPath 为 labels/ppocr_keys_v1.txt // let modelPath = files.path('./models/customize') // 指定自定义模型路径 // let labelPath = files.path('./models/customize') // 指定自定义label路径 // 使用自定义模型时det rec cls三个模型文件名称需要手动指定 // predictor.detModelFilename = 'det_opt.nb' // predictor.recModelFilename = 'rec_opt.nb' // predictor.clsModelFilename = 'cls_opt.nb' // loading.setAndNotify(predictor.init(context, modelPath, labelPath)) }); let loadSuccess = loading.blockedGet(); //log(`加载模型结果:${loadSuccess}`); let start = new Date(); let results = predictor.runOcr(img.getBitmap()); let OcrResult = null; if (results && results.length > 0) { //{"label":"看视频抽奖喜+1"}] OcrResult = results[0].label; } //log(OcrResult); return OcrResult; // 释放模型 用于释放native内存 非必需 // predictor.releaseModel() // 回收图片 rawimg.recycle(); img.recycle(); } // 打开微信小程序 function openapp() { app.startActivity({ packageName: "com.syyf.quickpay", className: "com.syyf.quickpay.act.WechatMnProgramActivity", extras: { id: "gh_c64ac75b31df", //gh_开头的原始id }, root: false, }); }
版权声明:
本站所有资源均为站长或网友整理自互联网或站长购买自互联网,站长无法分辨资源版权出自何处,所以不承担任何版权以及其他问题带来的法律责任,如有侵权或者其他问题请联系站长删除!站长QQ754403226 谢谢。
- 上一篇: 利用腾讯云COS对象存储搭建个人图床教程
- 下一篇: 夏鹏《德鲁克管理思想精要》精读课