网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
01月01日漏签0天
autojs吧 关注:8,883贴子:19,053
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 首页 上一页 1 2 3 4 5 6 7 8 9 10 下一页 尾页
  • 789回复贴,共19页
  • ,跳到 页  
<<返回autojs吧
>0< 加载中...

回复:基于最新版 Autojs 的蚂蚁森林自动收能量脚本

  • 只看楼主
  • 收藏

  • 回复
  • 哩哩啰啰
  • 初涉江湖
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼


  • iamjht
  • 江湖少侠
    6
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
反映第二个问题,经过测试,华为荣耀NOTE8,安卓8.0,是否存在滑动层的判断有问题。
// 是否存在锁屏滑动层
this.has_layer = function() {
return id("com.android.systemui:id/notification_panel").visibleToUser(true).exists();
}
我把
// 如果有滑动图层则上滑打开
if (_device.has_layer()) this.swipe_layer();
改成了
this.swipe_layer();
就运行成功。看看是否是安卓8滑动图层有2个,看看2张截图最上方的比对,亮屏后图1,过1秒左右图2。当然不管图1还是图2,手动滑都没问题。



2026-01-01 04:54:19
广告
不感兴趣
开通SVIP免广告
  • iamjht
  • 江湖少侠
    6
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
最近导致程序出错,界面会暂停运行的2个框框,都必须手动❌❌,不排除支付宝后期推出其他的。



  • iamjht
  • 江湖少侠
    6
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
反映第一个问题,支付宝改了,帮好友收能量,好友能量的颜色一直闪烁,色差调到了20都不能收掉。这里判断"#f99236",是否可以判断文字"消失"?麻烦楼主考虑一下。
// 判断是否可收取
const _is_obtainable = function(obj, screen) {
let len = obj.childCount();
let o_x = obj.child(len - 3).bounds().right,
o_y = obj.bounds().top,
o_w = 5,
o_h = obj.bounds().height() - 10,
threshold = _config.color_offset;
if (o_h > 0 && !obj.child(len - 2).childCount()) {
if (_config.help_friend) {
return images.findColor(screen, "#1da06a", {region: [o_x, o_y, o_w, o_h], threshold: threshold})
|| images.findColor(screen, "#f99236", {region: [o_x, o_y, o_w, o_h], threshold: threshold});
} else {
return images.findColor(screen, "#1da06a", {region: [o_x, o_y, o_w, o_h], threshold: threshold});
}
} else {
return false;
}
}





  • 哩哩啰啰
  • 初涉江湖
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
用了新版了,自动进去好友的页面,但是没收能量就退出来了


  • iamjht
  • 江湖少侠
    6
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
经过2个华为安卓8手机测试,滑动解锁的ID为id/backdrop_back。麻烦楼主代码里加上这个ID。




  • 橘右-京
  • 人海孤鸿
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
这个脚本怎么用啊,有没有大佬出个详细教程呀,跪求


  • 先森V
  • 人海孤鸿
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
vivo nex,安卓8.1没root,运行后自动进入到支付宝蚂蚁森林首界面,就一直不动了


2026-01-01 04:48:19
广告
不感兴趣
开通SVIP免广告
  • iamjht
  • 江湖少侠
    6
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
解锁模块有3处可以优化。
1华为安卓8的锁屏图层ID不同,一并加入。
// 是否存在锁屏滑动层
this.has_layer = function() {
if(id("com.android.systemui:id/notification_panel").visibleToUser(true).exists())
return id("com.android.systemui:id/notification_panel").visibleToUser(true).exists();
if(id("com.android.systemui:id/backdrop_back").visibleToUser(true).exists())
return id("com.android.systemui:id/backdrop_back").visibleToUser(true).exists();
}
2滑动图层经常会失效,因此屏幕高度宽度分的更细一些,同时来回滑动2次,确保移除滑动图层,并且加入提示和日志。
// 划开图层
this.swipe_layer = function() {
toastLog("屏幕宽度为"+_WIDTH);
toastLog("屏幕高度为"+_HEIGHT);
let x = _WIDTH / 10.8;
let y = _HEIGHT / 19.2;
_automator.swipe(x, (5 * y), (10 * x), (7 * y), 300);
sleep(300);
toastLog("正在尝试滑开图层");
_automator.swipe((10 * x), (7 * y), x, (5 * y), 300);
sleep(1000);
}
3滑动图层打不开,除了滑动手势是否正确外,是否识别到ID也需要判断,虽然是小概率,但是华为安卓8正是这个问题,因此日志记录一下,日志可以直观看到解锁全部步骤。另这里上滑改成左右滑。
// 如果有滑动图层则滑动打开
if(_device.has_layer()){
toastLog("识别到存在滑动锁屏");
this.swipe_layer();
}
else{
toastLog("无法识别到存在滑动锁屏");


  • iamjht
  • 江湖少侠
    6
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
这是我修改unlock和ant_forest后执行的日志。本人除10年前大学里学过C,最近几天刚接触代码,那个网站只会下载不会改,麻烦楼主修改下


  • iamjht
  • 江湖少侠
    6
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
偶尔执行会出错,原因我发现不了。
let o_x = obj.child(len - 3).bounds().right


  • iamjht
  • 江湖少侠
    6
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
再反映一个问题,重复次数的问题,如果config里面设置为0,意味着仅进行一次,但是Ant_forest由于代码的问题,运行一次后还会再等待下一次,需要修正。
while (true) {
_delay(_min_countdown);
log("第 " + (_current_time) + " 次运行");
_unlock.exec();
_collect_own();
_collect_friend();
log("当前监听器数量: " + events.listenerCount("toast"));
events.removeAllListeners();
if (_current_time++ > _config.max_collect_repeat || _has_next == false) {
log("收取结束");
break;
}
这里应该_current_time是先加1,再判断是否超过重复次数,从而停止。
_current_time++改为++_current_time。
if (++_current_time > _config.max_collect_repeat || _has_next == false)
或者这样更好,便于理解。
1、初始赋值为1,
let _current_time = 1,
2、日志也为第1次,不用+1,
log("第 " + (_current_time) + " 次运行");
3、_current_time ++>
是否重复这里不变,还是
if (_current_time++ > _config.max_collect_repeat || _has_next == false) {
log("收取结束");
break;
}


  • iamjht
  • 江湖少侠
    6
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
这里建议config引入一个参数,是否亮屏时继续执行收能量程序(第一次除外),如果执行,则真。否则等待1分钟后再次判断是否黑屏,黑屏则继续等待。
while (true) {
_delay(_min_countdown);
//var waitingtimes=1;
//while (!真&&device.isScreenOn()&&_current_time>1){
//toast("温馨提示:收能量的时候到了,请停止程序手动收取,或者黑屏1分钟后会自动收取");
// sleep(60000);
// log("第"_current_time+"次收取时,因过程亮屏等待了"+waitingtimes+"次");
// waitingtimes++;
//}
log("第 " + (_current_time) + " 次运行");
_unlock.exec();
_collect_own();
_collect_friend();
log("当前监听器数量: " + events.listenerCount("toast"));
events.removeAllListeners();
if (_current_time++ > _config.max_collect_repeat || _has_next == false) {
log("收取结束");
break;
}
}


  • iamjht
  • 江湖少侠
    6
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
这个sleep函数,黑屏时候的误差太大了。楼主想想,还有什么办法可以解决这个问题。


2026-01-01 04:42:19
广告
不感兴趣
开通SVIP免广告
  • iamjht
  • 江湖少侠
    6
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我有一个思路,可以再写一个js模块或者文件,autojs可以设置为亮屏、息屏及电量变化时都自动启动运行,该js可以获取系统时间,传入时间参数或者直接与ant_forest里的下一次执行时间比对,进行修正等待的循环次数,这样多维度对sleep造成的时间误差进行修正,结果较为准确。我是新手不会写,希望楼主考虑一下,这样子整个收能量的程序就是完全自动化了,perfect!


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 首页 上一页 1 2 3 4 5 6 下一页 尾页
  • 789回复贴,共19页
  • ,跳到 页  
<<返回autojs吧
分享到:
©2026 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示