精华内容
下载资源
问答
  • 快手极速版脚本

    万次阅读 2020-04-02 20:01:36
    最近看到朋友圈有很多分享快手极速版,仔细看了一下,主要还是人头车。刷视频应该也有奖励。于是,我就用Auto.js写了一个自动刷视频的脚本。我设置的是1000个视频,中途中断了2次,让我滑动拼图。应该是监测到异常。...

    最近看到朋友圈有很多分享快手极速版,仔细看了一下,主要还是人头车。刷视频应该也有奖励。于是,我就用Auto.js写了一个自动刷视频的脚本。我设置的是1000个视频,中途中断了2次,让我滑动拼图。应该是监测到异常。手动划一下脚本就继续了。基本还是可行的。这1000个视频获得了1.72W个金币(兑现1.72元),花费了大概两三个小时。适合有两个手机的,备用机一直刷哈哈。现在把基本思路和完整成果发出来,需要的朋友自提。方便的话邀请码填一下我的吧,谢谢鼓励!我的邀请码是:26jngkf

    基本方法

    1. 滑动到下一个视频
      调用了auto.js的swipe方法,完成屏幕的滑动,并随机停留8-12秒。具体实现如下。

      function nextVideo(x1, y1, x2, y2, duration){
      swipe(x1, y1, x2, y2, duration)
      delayTime = random(8000,12000)
      sleep(delayTime)    //在视频停留8-12秒
      }
      
    2. 往回看一个视频
      目的是为了模拟人工观看,代码比较简单。

      /*随机往回滑动 */
      function lookBack(){
      let back = random(1, 20)
      if (back == 1){
          console.log("开始往回看一个视频")
          swipe(device.width/2, device.height*(1/4), device.width/2,device.height*(8/9),150)
          sleep(random(10000,15000))
      
      }
      }
      
    3. 一次翻动两个视频
      用在往回翻之后。因为一般情况下,往回看翻过的视频,自然后跳过一个,直接看下一个视频。

      /*向下滑动两个 在向回滑动之后执行 */
      function nextTwo(){
      swipe(device.width/2, device.height*(8/9), device.width/2,device.height*(1/4),150)
      swipe(device.width/2, device.height*(8/9), device.width/2,device.height*(1/4),150)
      sleep(random(10000,15000))
      }
      

    主要就是这三个方法,加上调用。完整的js代码我放在附件中。

    使用方法

    使用起来就更简单了,简单来说分三步:

    • 安装auto.js和快手极速版,auto.js可以自己在网上下载,15MB左右。快手极速版肯定都能找得到。auto.js的安装包怕大家找不到,我这里也提供一个蓝奏云链接:https://www.lanzous.com/iaxe7ih
    • 下载脚本,也就是我发的附件。
    • 运行脚本,等待即可

    效果截图

     

     

    脚本链接:https://www.lanzous.com/iaxew2b

     

    展开全文
  • 自动上滑快手极速版视频脚本代码如下: auto();//判断和等待开启无障碍 let see_count = rawInput(‘请输入滑动次数’,’1000′);//手动输入滑动次数默认是1000次。 app.launchApp(‘快手极速版’);//只有一个快手...
  • 基于AutoJs过滑块快手极速版脚本

    千次阅读 2020-05-07 11:54:35
    脚本不是我原创,说实话我也没看明白,是一个好心的网友给我的。让我参考,他既然这么无私我也无私点。把源码给大家公开一下,大家能学多少算多少吧!一起学习进步。...var AppName = "快手极速版...

    快手极速版邀请码: 2rvxaem

    脚本不是我原创,说实话我也没看明白,是一个好心的网友给我的。让我参考,他既然这么无私我也无私点。把源码给大家公开一下,大家能学多少算多少吧!一起学习进步。

    不废话直接贴代码:

    //坐标机型:华为P10
    //检查无障碍权限申请
    auto.waitFor();
    //设置屏幕宽度高度
    setScreenMetrics(1080, 1920);
    //常量设置
    var AppName = "快手极速版";
    var AppName_JB = "快手极速版脚本";
    
    var 金币转圈 = id("redFloat");
    var 金币转圈x = 127.5;
    var 金币转圈y = 1218.5;
    var 点赞 = id("like_button");
    var 现金收益 = text("现金收益");
    var 去签到 = text("去签到");
    var 立即签到 = text("立即签到");
    var 今天已签 = textContains("今天已签");
    var 设置青少年模式 =  text("设置青少年模式");
    var 我知道了 =  text("我知道了");
    var 拖动滑块 = text("拖动滑块");
    var 拖动滑块x = 123;
    var 拖动滑块y = 976.5;
    var 立即邀请 = text("立即邀请");
    
    if(!requestScreenCapture()){
        toast("请求截图失败");
        stop();
    }
    app.launchApp(AppName);
    //签到
    // SignIn();
    // sleep(random(1000,2000));
    //滑动视频
    slidingVideo();
    /**
     * 签到
     */
    function SignIn(){
        while(true){
            sleep(random(1000,2000));
            if(金币转圈.findOne(1000) != null){
                console.log("金币转圈---已加载");
                sleep(random(1000,2000));
                click(金币转圈x,金币转圈y);
                console.log("金币转圈---已点击");
                while(true){
                    sleep(random(1000,2000));
                    if(现金收益.findOne(1000) != null){
                        console.log("现金收益---已加载");
                        while(true){
                            sleep(random(1000,2000));
                            if(立即签到.findOne(1000) != null){
                                sleep(random(1000,2000));
                                立即签到.findOne().click();
                            }else if(今天已签.exists()){
                                console.log("今天已签---已加载");
                                sleep(random(1000,2000));
                                back();
                                console.log("金币转圈---已加载");
                                break;   
                            }
                        }
                        break;
                    }
                }
                break;
            }
        }
    }
    /**
     * 滑动视频
     */
    function slidingVideo(){
        while(true){
            //检测青少年模式
            if(设置青少年模式.findOne(1000) != null){
                console.log("设置青少年模式");
                sleep(1000);
                我知道了.findOne().click();
            }
            //立即邀请
            if(立即邀请.findOne(1000) != null){
                console.log("立即邀请");
                sleep(1000);
                back();
            }
            //检测滑块
            if(拖动滑块.findOne(1000) != null){
                console.log("拖动滑块");
                dragSlider();
            }
            //开始滑动视频
            var x1 = random(255,870);
            var y1 = random(1700,1800);
            var x2 = random(255,870);
            var y2 = random(222,300);
            var time1 =random(3000,6000);
            var time2 =random(500,1000);
            sml_move(x1, y1, x2, y2,time2);
            sleep(time1);    
        }
    }
    
    /**
     * 拖动滑块
     * 
     */
    function dragSlider() {
        for (var i = 0; i < 0; i++) { sleep(1000); log(i); }
        while (true) {
            img = images.captureScreen();
            if (img) {
                log("截图成功。进行识别滑块!");
                break;
            } else {
                log('截图失败,重新截图');
            }
        }
        var x = discernSlidingblock(img, device.width) + 65
        console.info("识别结果滑块X坐标:" + x);
    
        if (x > -1) {
            randomSwipe(拖动滑块x, 拖动滑块y, x, 拖动滑块y)
            return true;
        } else {
            return false;
            console.log("识别有误,请确认是否在滑块界面");
        }
    }
    /**
     * 计算滑块位置
     * @param {图片} img 
     * @param {分辨率} ratio 
     */
    function discernSlidingblock(img, ratio) {
        //创建识别变量
        var temp, temp2, x, y, num, color, p, temp3, arr1;
        //分析设备分辨率
        if (ratio == 720) {
            var tb = [348, 253, 691, 638, 81]
            log("您的设备分辨率为:720p");
        } else if (ratio == 1080) {
            var tb = [463, 387, 912, 831, 125]
            log("您的设备分辨率为:1080p");
        } else {
            log("当前设备分辨率不符合规范")
            return -2
        }
        num = Math.ceil(tb[4] / 3.3 - 4);
    
        //计算滑块位置
        for (var k = 29; k <= 40; k++) {
            temp2 = "";
            color = "#" + k + "" + k + "" + k + "";
            for (var i = 1; i <= num; i++) {
                temp2 = temp2 + "0|" + i + "|" + color + ",";
                temp2 = temp2 + i + "|0|" + color + ",";
                temp2 = temp2 + "1|" + i + "|" + color + ",";
                temp2 = temp2 + i + "|1|" + color + ",";
                temp2 = temp2 + "2|" + i + "|" + color + ",";
                temp2 = temp2 + i + "|2|" + color + ",";
            }
            x = 0;
            while (x > -2) {
                y = 0;
                while (y > -2) {
                    temp = "";
                    for (var i = 1; i <= num; i += 2) {
                        temp = temp + "0|" + (tb[4] + y - i - 1) + "|" + color + ",";
                        temp = temp + (tb[4] + y) + "|" + i + "|" + color + ",";
                        temp = temp + (tb[4] + x) + "|" + (tb[4] + y - i - 1) + "|" + color + ",";
                        temp = temp + (tb[4] + x - i - 1) + "|0|" + color + ",";
                        temp = temp + i + "|" + (tb[4] + y) + "|" + color + ",";
                        temp = temp + (tb[4] + x - i - 1) + "|" + (tb[4] + y) + "|" + color + ",";
                        temp = temp + "1|" + (tb[4] + y - i - 1) + "|" + color + ",";
                        temp = temp + (tb[4] + x - 1) + "|" + i + "|" + color + ",";
                        temp = temp + (tb[4] + x - 1) + "|" + (tb[4] + y - i - 1) + "|" + color + ",";
                        temp = temp + (tb[4] + x - i - 1) + "|1|" + color + ",";
                        temp = temp + i + "|" + (tb[4] + y - 1) + "|" + color + ",";
                        temp = temp + (tb[4] + y- i - 1) + "|" + (tb[4] + y - 1) + "|" + color + ",";
                    }
                    temp = temp + temp2 + "0|0|" + color;
                    arr1 = temp.split(",");
                    var arr2 = new Array();
                    for (var i = 0; i < arr1.length - 1; i++) {
                        arr2[i] = new Array();
                        temp3 = arr1[i].split("|");
                        arr2[i] = [Number(temp3[0]), Number(temp3[1]), temp3[2]];
                    }
                    try {
                        p = images.findMultiColors(img, color, arr2, {
                            region: [tb[0], tb[1], tb[2] - tb[0], tb[3] - tb[1]],
                            threshold: (Math.floor(k / 10) * 16 + k % 10)
                        });
                        if (p) {
                            img.recycle();
                            return p.x
                        }
                    } catch (error) {
                        //出错
                        console.log("识别失败,错误原因:" + error);
                        return -1;
                    }
                    y = --y;
                }
                x = --x;
            }
        }
        try {
            img.recycle();
        } catch (error) {
            console.log("识别失败,错误原因:" + error);
        }
        return -1;
    }
    /**
     * 真人模拟滑动函数 (滑块滑动)
     * @param {起点x} sx 
     * @param {起点y} sy 
     * @param {终点x} ex 
     * @param {终点y} ey 
     */
    function randomSwipe(sx, sy, ex, ey) {
        //设置随机滑动时长范围
        var timeMin = 1000
        var timeMax = 3000
        //设置控制点极限距离
        var leaveHeightLength = 500
    
        //根据偏差距离,应用不同的随机方式
        if (Math.abs(ex - sx) > Math.abs(ey - sy)) {
            var my = (sy + ey) / 2
            var y2 = my + random(0, leaveHeightLength)
            var y3 = my - random(0, leaveHeightLength)
    
            var lx = (sx - ex) / 3
            if (lx < 0) { lx = -lx }
            var x2 = sx + lx / 2 + random(0, lx)
            var x3 = sx + lx + lx / 2 + random(0, lx)
        } else {
            var mx = (sx + ex) / 2
            var y2 = mx + random(0, leaveHeightLength)
            var y3 = mx - random(0, leaveHeightLength)
    
            var ly = (sy - ey) / 3
            if (ly < 0) { ly = -ly }
            var y2 = sy + ly / 2 + random(0, ly)
            var y3 = sy + ly + ly / 2 + random(0, y3)
        }   
    
        //获取运行轨迹,及参数
        var time = [0, random(timeMin, timeMax)]
        var track = bezierCreate(sx, sy, x2, y2, x3, y3, ex, ey)
    
        
        log("随机控制点A坐标:" + x2 + "," + y2)
        log("随机控制点B坐标:" + x3 + "," + y3)
        log("随机滑动时长:" + time[1])
    
        //滑动
        gestures(time.concat(track))
    }
    /**
     * 计算滑动轨迹
     */
    function bezierCreate(x1, y1, x2, y2, x3, y3, x4, y4) {
        //构建参数
        var h = 100;
        var cp = [{ x: x1, y: y1 + h }, { x: x2, y: y2 + h }, { x: x3, y: y3 + h }, { x: x4, y: y4 + h }];
        var numberOfPoints = 100;
        var curve = [];
        var dt = 1.0 / (numberOfPoints - 1);
    
        //计算轨迹
        for (var i = 0; i < numberOfPoints; i++) {
            var ax, bx, cx;
            var ay, by, cy;
            var tSquared, tCubed;
            var result_x, result_y;
    
            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;
    
            var t = dt * i
            tSquared = t * t;
            tCubed = tSquared * t;
            result_x = (ax * tCubed) + (bx * tSquared) + (cx * t) + cp[0].x;
            result_y = (ay * tCubed) + (by * tSquared) + (cy * t) + cp[0].y;
            curve[i] = {
                x: result_x,
                y: result_y
            };
        }
    
        //轨迹转路数组
        var array = [];
        for (var i = 0; i < curve.length; i++) {
            try {
                var j = (i < 100) ? i : (199 - i);
                xx = parseInt(curve[j].x)
                yy = parseInt(Math.abs(100 - curve[j].y))
            } catch (e) {
                break
            }
            array.push([xx, yy])
        }
    
        return array
    }
    /**
     * 仿真随机带曲线滑动  (视频滑动)
     * @param {起点x} qx 
     * @param {起点y} qy 
     * @param {终点x} zx 
     * @param {终点y} zy 
     * @param {过程耗时单位毫秒} time 
     */
    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 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; 
    };

     

    展开全文
  • 快手极速版邀请码: 2rvxaem脚本不是我原创,说实话我也没看明白,是一个好心的网友给我的。让我参考,他既然这么无私我也无私点。把源码给大家公开一下,大家能学多少算多少吧!一起学习进步。不废话直接贴代码://...

    快手极速版邀请码: 2rvxaem

    脚本不是我原创,说实话我也没看明白,是一个好心的网友给我的。让我参考,他既然这么无私我也无私点。把源码给大家公开一下,大家能学多少算多少吧!一起学习进步。

    不废话直接贴代码:

    //坐标机型:华为P10

    //检查无障碍权限申请

    auto.waitFor();

    //设置屏幕宽度高度

    setScreenMetrics(1080, 1920);

    //常量设置

    var AppName = "快手极速版";

    var AppName_JB = "快手极速版脚本";

    var 金币转圈 = id("redFloat");

    var 金币转圈x = 127.5;

    var 金币转圈y = 1218.5;

    var 点赞 = id("like_button");

    var 现金收益 = text("现金收益");

    var 去签到 = text("去签到");

    var 立即签到 = text("立即签到");

    var 今天已签 = textContains("今天已签");

    var 设置青少年模式 = text("设置青少年模式");

    var 我知道了 = text("我知道了");

    var 拖动滑块 = text("拖动滑块");

    var 拖动滑块x = 123;

    var 拖动滑块y = 976.5;

    var 立即邀请 = text("立即邀请");

    if(!requestScreenCapture()){

    toast("请求截图失败");

    stop();

    }

    app.launchApp(AppName);

    //签到

    // SignIn();

    // sleep(random(1000,2000));

    //滑动视频

    slidingVideo();

    /**

    * 签到

    */

    function SignIn(){

    while(true){

    sleep(random(1000,2000));

    if(金币转圈.findOne(1000) != null){

    console.log("金币转圈---已加载");

    sleep(random(1000,2000));

    click(金币转圈x,金币转圈y);

    console.log("金币转圈---已点击");

    while(true){

    sleep(random(1000,2000));

    if(现金收益.findOne(1000) != null){

    console.log("现金收益---已加载");

    while(true){

    sleep(random(1000,2000));

    if(立即签到.findOne(1000) != null){

    sleep(random(1000,2000));

    立即签到.findOne().click();

    }else if(今天已签.exists()){

    console.log("今天已签---已加载");

    sleep(random(1000,2000));

    back();

    console.log("金币转圈---已加载");

    break;

    }

    }

    break;

    }

    }

    break;

    }

    }

    }

    /**

    * 滑动视频

    */

    function slidingVideo(){

    while(true){

    //检测青少年模式

    if(设置青少年模式.findOne(1000) != null){

    console.log("设置青少年模式");

    sleep(1000);

    我知道了.findOne().click();

    }

    //立即邀请

    if(立即邀请.findOne(1000) != null){

    console.log("立即邀请");

    sleep(1000);

    back();

    }

    //检测滑块

    if(拖动滑块.findOne(1000) != null){

    console.log("拖动滑块");

    dragSlider();

    }

    //开始滑动视频

    var x1 = random(255,870);

    var y1 = random(1700,1800);

    var x2 = random(255,870);

    var y2 = random(222,300);

    var time1 =random(3000,6000);

    var time2 =random(500,1000);

    sml_move(x1, y1, x2, y2,time2);

    sleep(time1);

    }

    }

    /**

    * 拖动滑块

    *

    */

    function dragSlider() {

    for (var i = 0; i < 0; i++) { sleep(1000); log(i); }

    while (true) {

    img = images.captureScreen();

    if (img) {

    log("截图成功。进行识别滑块!");

    break;

    } else {

    log('截图失败,重新截图');

    }

    }

    var x = discernSlidingblock(img, device.width) + 65

    console.info("识别结果滑块X坐标:" + x);

    if (x > -1) {

    randomSwipe(拖动滑块x, 拖动滑块y, x, 拖动滑块y)

    return true;

    } else {

    return false;

    console.log("识别有误,请确认是否在滑块界面");

    }

    }

    /**

    * 计算滑块位置

    * @param {图片} img

    * @param {分辨率} ratio

    */

    function discernSlidingblock(img, ratio) {

    //创建识别变量

    var temp, temp2, x, y, num, color, p, temp3, arr1;

    //分析设备分辨率

    if (ratio == 720) {

    var tb = [348, 253, 691, 638, 81]

    log("您的设备分辨率为:720p");

    } else if (ratio == 1080) {

    var tb = [463, 387, 912, 831, 125]

    log("您的设备分辨率为:1080p");

    } else {

    log("当前设备分辨率不符合规范")

    return -2

    }

    num = Math.ceil(tb[4] / 3.3 - 4);

    //计算滑块位置

    for (var k = 29; k <= 40; k++) {

    temp2 = "";

    color = "#" + k + "" + k + "" + k + "";

    for (var i = 1; i <= num; i++) {

    temp2 = temp2 + "0|" + i + "|" + color + ",";

    temp2 = temp2 + i + "|0|" + color + ",";

    temp2 = temp2 + "1|" + i + "|" + color + ",";

    temp2 = temp2 + i + "|1|" + color + ",";

    temp2 = temp2 + "2|" + i + "|" + color + ",";

    temp2 = temp2 + i + "|2|" + color + ",";

    }

    x = 0;

    while (x > -2) {

    y = 0;

    while (y > -2) {

    temp = "";

    for (var i = 1; i <= num; i += 2) {

    temp = temp + "0|" + (tb[4] + y - i - 1) + "|" + color + ",";

    temp = temp + (tb[4] + y) + "|" + i + "|" + color + ",";

    temp = temp + (tb[4] + x) + "|" + (tb[4] + y - i - 1) + "|" + color + ",";

    temp = temp + (tb[4] + x - i - 1) + "|0|" + color + ",";

    temp = temp + i + "|" + (tb[4] + y) + "|" + color + ",";

    temp = temp + (tb[4] + x - i - 1) + "|" + (tb[4] + y) + "|" + color + ",";

    temp = temp + "1|" + (tb[4] + y - i - 1) + "|" + color + ",";

    temp = temp + (tb[4] + x - 1) + "|" + i + "|" + color + ",";

    temp = temp + (tb[4] + x - 1) + "|" + (tb[4] + y - i - 1) + "|" + color + ",";

    temp = temp + (tb[4] + x - i - 1) + "|1|" + color + ",";

    temp = temp + i + "|" + (tb[4] + y - 1) + "|" + color + ",";

    temp = temp + (tb[4] + y- i - 1) + "|" + (tb[4] + y - 1) + "|" + color + ",";

    }

    temp = temp + temp2 + "0|0|" + color;

    arr1 = temp.split(",");

    var arr2 = new Array();

    for (var i = 0; i < arr1.length - 1; i++) {

    arr2[i] = new Array();

    temp3 = arr1[i].split("|");

    arr2[i] = [Number(temp3[0]), Number(temp3[1]), temp3[2]];

    }

    try {

    p = images.findMultiColors(img, color, arr2, {

    region: [tb[0], tb[1], tb[2] - tb[0], tb[3] - tb[1]],

    threshold: (Math.floor(k / 10) * 16 + k % 10)

    });

    if (p) {

    img.recycle();

    return p.x

    }

    } catch (error) {

    //出错

    console.log("识别失败,错误原因:" + error);

    return -1;

    }

    y = --y;

    }

    x = --x;

    }

    }

    try {

    img.recycle();

    } catch (error) {

    console.log("识别失败,错误原因:" + error);

    }

    return -1;

    }

    /**

    * 真人模拟滑动函数 (滑块滑动)

    * @param {起点x} sx

    * @param {起点y} sy

    * @param {终点x} ex

    * @param {终点y} ey

    */

    function randomSwipe(sx, sy, ex, ey) {

    //设置随机滑动时长范围

    var timeMin = 1000

    var timeMax = 3000

    //设置控制点极限距离

    var leaveHeightLength = 500

    //根据偏差距离,应用不同的随机方式

    if (Math.abs(ex - sx) > Math.abs(ey - sy)) {

    var my = (sy + ey) / 2

    var y2 = my + random(0, leaveHeightLength)

    var y3 = my - random(0, leaveHeightLength)

    var lx = (sx - ex) / 3

    if (lx < 0) { lx = -lx }

    var x2 = sx + lx / 2 + random(0, lx)

    var x3 = sx + lx + lx / 2 + random(0, lx)

    } else {

    var mx = (sx + ex) / 2

    var y2 = mx + random(0, leaveHeightLength)

    var y3 = mx - random(0, leaveHeightLength)

    var ly = (sy - ey) / 3

    if (ly < 0) { ly = -ly }

    var y2 = sy + ly / 2 + random(0, ly)

    var y3 = sy + ly + ly / 2 + random(0, y3)

    }

    //获取运行轨迹,及参数

    var time = [0, random(timeMin, timeMax)]

    var track = bezierCreate(sx, sy, x2, y2, x3, y3, ex, ey)

    log("随机控制点A坐标:" + x2 + "," + y2)

    log("随机控制点B坐标:" + x3 + "," + y3)

    log("随机滑动时长:" + time[1])

    //滑动

    gestures(time.concat(track))

    }

    /**

    * 计算滑动轨迹

    */

    function bezierCreate(x1, y1, x2, y2, x3, y3, x4, y4) {

    //构建参数

    var h = 100;

    var cp = [{ x: x1, y: y1 + h }, { x: x2, y: y2 + h }, { x: x3, y: y3 + h }, { x: x4, y: y4 + h }];

    var numberOfPoints = 100;

    var curve = [];

    var dt = 1.0 / (numberOfPoints - 1);

    //计算轨迹

    for (var i = 0; i < numberOfPoints; i++) {

    var ax, bx, cx;

    var ay, by, cy;

    var tSquared, tCubed;

    var result_x, result_y;

    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;

    var t = dt * i

    tSquared = t * t;

    tCubed = tSquared * t;

    result_x = (ax * tCubed) + (bx * tSquared) + (cx * t) + cp[0].x;

    result_y = (ay * tCubed) + (by * tSquared) + (cy * t) + cp[0].y;

    curve[i] = {

    x: result_x,

    y: result_y

    };

    }

    //轨迹转路数组

    var array = [];

    for (var i = 0; i < curve.length; i++) {

    try {

    var j = (i < 100) ? i : (199 - i);

    xx = parseInt(curve[j].x)

    yy = parseInt(Math.abs(100 - curve[j].y))

    } catch (e) {

    break

    }

    array.push([xx, yy])

    }

    return array

    }

    /**

    * 仿真随机带曲线滑动 (视频滑动)

    * @param {起点x} qx

    * @param {起点y} qy

    * @param {终点x} zx

    * @param {终点y} zy

    * @param {过程耗时单位毫秒} time

    */

    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 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;

    };

    展开全文
  • 稳定好用,实测一个小时auto.waitFor();//设置屏幕宽度高度...var AppName_JB = "快手极速版脚本"; var 金币转圈 = id("redFloat");var 金币转圈x = 127.5;var 金币转圈y = 1218.5;var 点赞 = id("lik...

    稳定好用,实测一个小时

    99e58aebd8263efc32062c5a51d24b36.png

    auto.waitFor();//设置屏幕宽度高度setScreenMetrics(1080, 1920);//常量设置var AppName = "快手极速版";var AppName_JB = "快手极速版脚本"; var 金币转圈 = id("redFloat");var 金币转圈x = 127.5;var 金币转圈y = 1218.5;var 点赞 = id("like_button");var 现金收益 = text("现金收益");var 去签到 = text("去签到");var 立即签到 = text("立即签到");var 今天已签 = textContains("今天已签");var 设置青少年模式 =  text("设置青少年模式");var 我知道了 =  text("我知道了");var 拖动滑块 = text("拖动滑块");var 拖动滑块x = 123;var 拖动滑块y = 976.5;var 立即邀请 = text("立即邀请"); if(!requestScreenCapture()){    toast("请求截图失败");    stop();}app.launchApp(AppName);//签到// SignIn();//没用,供大家参考// sleep(random(1000,2000));//滑动视频slidingVideo();关闭应用();sleep(1500);home();/** * 签到 */function SignIn(){    while(true){        sleep(random(1000,2000));        if(金币转圈.findOne(1000) != null){            console.log("金币转圈---已加载");            sleep(random(1000,2000));            click(金币转圈x,金币转圈y);            console.log("金币转圈---已点击");            while(true){                sleep(random(1000,2000));                if(现金收益.findOne(1000) != null){                    console.log("现金收益---已加载");                    while(true){                        sleep(random(1000,2000));                        if(立即签到.findOne(1000) != null){                            sleep(random(1000,2000));                            立即签到.findOne().click();                        }else if(今天已签.exists()){                            console.log("今天已签---已加载");                            sleep(random(1000,2000));                            back();                            console.log("金币转圈---已加载");                            break;                           }                    }                    break;                }            }            break;        }    }}/** * 滑动视频 */function slidingVideo(){    for (var i = 1; i < 500; i++) {        //点击文本不影响        toast("快手极速版滑动" + i +  "次"+"总计:"+ 500 + "次")        var fun = {            点击文本: function (没有) {                                var weight = text(没有).findOne().bounds();                            click(weight.centerX(),weight.centerY())            }            };        //检测青少年模式        if(设置青少年模式.findOne(1000) != null){            console.log("设置青少年模式");            sleep(1000);            我知道了.findOne().click();        }        //立即邀请        if(立即邀请.findOne(1000) != null){            console.log("立即邀请");            sleep(1000);            back();        }        //检测滑块        if(拖动滑块.findOne(1000) != null){            console.log("拖动滑块");            dragSlider();        }        //开始滑动视频        var x1 = random(255,870);        var y1 = random(1700,1800);        var x2 = random(255,870);        var y2 = random(222,300);        var time1 =random(3000,11000);        var time2 =random(500,1000);        sml_move(x1, y1, x2, y2,time2);        sleep(time1);        }} /** * 拖动滑块 *  */function dragSlider() {    for (var i = 0; i < 0; i++) { sleep(1000); log(i); }    while (true) {        img = images.captureScreen();        if (img) {            log("截图成功。进行识别滑块!");            break;        } else {            log('截图失败,重新截图');        }    }    var x = discernSlidingblock(img, device.width) + 65    console.info("识别结果滑块X坐标:" + x);     if (x > -1) {        randomSwipe(拖动滑块x, 拖动滑块y, x, 拖动滑块y)        return true;    } else {        return false;        console.log("识别有误,请确认是否在滑块界面");    }}/** * 计算滑块位置 * @param {图片} img  * @param {分辨率} ratio  */function discernSlidingblock(img, ratio) {    //创建识别变量    var temp, temp2, x, y, num, color, p, temp3, arr1;    //分析设备分辨率    if (ratio == 720) {        var tb = [348, 253, 691, 638, 81]        log("您的设备分辨率为:720p");    } else if (ratio == 1080) {        var tb = [463, 387, 912, 831, 125]        log("您的设备分辨率为:1080p");    } else {        log("当前设备分辨率不符合规范")        return -2    }    num = Math.ceil(tb[4] / 3.3 - 4);     //计算滑块位置    for (var k = 29; k <= 40; k++) {        temp2 = "";        color = "#" + k + "" + k + "" + k + "";        for (var i = 1; i <= num; i++) {            temp2 = temp2 + "0|" + i + "|" + color + ",";            temp2 = temp2 + i + "|0|" + color + ",";            temp2 = temp2 + "1|" + i + "|" + color + ",";            temp2 = temp2 + i + "|1|" + color + ",";            temp2 = temp2 + "2|" + i + "|" + color + ",";            temp2 = temp2 + i + "|2|" + color + ",";        }        x = 0;        while (x > -2) {            y = 0;            while (y > -2) {                temp = "";                for (var i = 1; i <= num; i += 2) {                    temp = temp + "0|" + (tb[4] + y - i - 1) + "|" + color + ",";                    temp = temp + (tb[4] + y) + "|" + i + "|" + color + ",";                    temp = temp + (tb[4] + x) + "|" + (tb[4] + y - i - 1) + "|" + color + ",";                    temp = temp + (tb[4] + x - i - 1) + "|0|" + color + ",";                    temp = temp + i + "|" + (tb[4] + y) + "|" + color + ",";                    temp = temp + (tb[4] + x - i - 1) + "|" + (tb[4] + y) + "|" + color + ",";                    temp = temp + "1|" + (tb[4] + y - i - 1) + "|" + color + ",";                    temp = temp + (tb[4] + x - 1) + "|" + i + "|" + color + ",";                    temp = temp + (tb[4] + x - 1) + "|" + (tb[4] + y - i - 1) + "|" + color + ",";                    temp = temp + (tb[4] + x - i - 1) + "|1|" + color + ",";                    temp = temp + i + "|" + (tb[4] + y - 1) + "|" + color + ",";                    temp = temp + (tb[4] + y- i - 1) + "|" + (tb[4] + y - 1) + "|" + color + ",";                }                temp = temp + temp2 + "0|0|" + color;                arr1 = temp.split(",");                var arr2 = new Array();                for (var i = 0; i < arr1.length - 1; i++) {                    arr2[i] = new Array();                    temp3 = arr1[i].split("|");                    arr2[i] = [Number(temp3[0]), Number(temp3[1]), temp3[2]];                }                try {                    p = images.findMultiColors(img, color, arr2, {                        region: [tb[0], tb[1], tb[2] - tb[0], tb[3] - tb[1]],                        threshold: (Math.floor(k / 10) * 16 + k % 10)                    });                    if (p) {                        img.recycle();                        return p.x                    }                } catch (error) {                    //出错                    console.log("识别失败,错误原因:" + error);                    return -1;                }                y = --y;            }            x = --x;        }    }    try {        img.recycle();    } catch (error) {        console.log("识别失败,错误原因:" + error);    }    return -1;}/** * 真人模拟滑动函数 (滑块滑动) * @param {起点x} sx  * @param {起点y} sy  * @param {终点x} ex  * @param {终点y} ey  */function randomSwipe(sx, sy, ex, ey) {    //设置随机滑动时长范围    var timeMin = 1000    var timeMax = 3000    //设置控制点极限距离    var leaveHeightLength = 500     //根据偏差距离,应用不同的随机方式    if (Math.abs(ex - sx) > Math.abs(ey - sy)) {        var my = (sy + ey) / 2        var y2 = my + random(0, leaveHeightLength)        var y3 = my - random(0, leaveHeightLength)         var lx = (sx - ex) / 3        if (lx < 0) { lx = -lx }        var x2 = sx + lx / 2 + random(0, lx)        var x3 = sx + lx + lx / 2 + random(0, lx)    } else {        var mx = (sx + ex) / 2        var y2 = mx + random(0, leaveHeightLength)        var y3 = mx - random(0, leaveHeightLength)         var ly = (sy - ey) / 3        if (ly < 0) { ly = -ly }        var y2 = sy + ly / 2 + random(0, ly)        var y3 = sy + ly + ly / 2 + random(0, y3)    }        //获取运行轨迹,及参数    var time = [0, random(timeMin, timeMax)]    var track = bezierCreate(sx, sy, x2, y2, x3, y3, ex, ey)         log("随机控制点A坐标:" + x2 + "," + y2)    log("随机控制点B坐标:" + x3 + "," + y3)    log("随机滑动时长:" + time[1])     //滑动    gestures(time.concat(track))}/** * 计算滑动轨迹 */function bezierCreate(x1, y1, x2, y2, x3, y3, x4, y4) {    //构建参数    var h = 100;    var cp = [{ x: x1, y: y1 + h }, { x: x2, y: y2 + h }, { x: x3, y: y3 + h }, { x: x4, y: y4 + h }];    var numberOfPoints = 100;    var curve = [];    var dt = 1.0 / (numberOfPoints - 1);     //计算轨迹    for (var i = 0; i < numberOfPoints; i++) {        var ax, bx, cx;        var ay, by, cy;        var tSquared, tCubed;        var result_x, result_y;         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;         var t = dt * i        tSquared = t * t;        tCubed = tSquared * t;        result_x = (ax * tCubed) + (bx * tSquared) + (cx * t) + cp[0].x;        result_y = (ay * tCubed) + (by * tSquared) + (cy * t) + cp[0].y;        curve[i] = {            x: result_x,            y: result_y        };    }     //轨迹转路数组    var array = [];    for (var i = 0; i < curve.length; i++) {        try {            var j = (i < 100) ? i : (199 - i);            xx = parseInt(curve[j].x)            yy = parseInt(Math.abs(100 - curve[j].y))        } catch (e) {            break        }        array.push([xx, yy])    }     return array}/** * 仿真随机带曲线滑动  (视频滑动) * @param {起点x} qx  * @param {起点y} qy  * @param {终点x} zx  * @param {终点y} zy  * @param {过程耗时单位毫秒} time  */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 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; }; 
    展开全文
  • 快手极速版自动评论脚本

    千次阅读 2020-04-24 15:56:35
    app.launchApp('快手极速版'); sleep(10000); var CommentKeyWord = [ '我是快手极速版邀请码小助手关注了你你要关注我哦!', '山高路远坑深,大军纵横驰奔,谁敢横刀立马?惟有点赞加关注大军!', '我的未来不是...
  • 我们知道每个软件都有每天收益上线,而且目前的收益也越来越低了,实在不值得我们人工去刷。...当然了,这个只是挣个零花钱你要想挣大钱,还要仔细考虑一下 自动刷金币脚本 快手极速版/抖音极速版,...
  • 介绍: 软件功能强大可以帮助你每天自动看视频获取金币每天轻松几块钱 网盘下载地址: https://zijiewangpan.com/XDGRn3x25Ds 图片: [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传... ...
  • 一个近期正在使用的aotujs脚本,可自动操作快手极速版,支持模拟器多开配合薪火换ip软件可多账户操作。 /** * 3元起提,没有限制,只要求手机验证码 */ const perVideoWatchTime=5//每隔视频观看10秒 const ...
  • auto.js 快手极速版辅助脚本,自动刷视频,自动签到,自动领红包提现到现金等。快手极速版薅羊毛利器。
  • 稳定好用,实测一个小时auto.waitFor();//设置屏幕宽度高度...var AppName_JB = "快手极速版脚本"; var 金币转圈 = id("redFloat");var 金币转圈x = 127.5;var 金币转圈y = 1218.5;var 点赞 = id("lik...
  • 前几天,朋友邀请我注册了这个快手极速版,说可以看视频赚钱,但这些都不重要,重要的是邀请我她能得到10几块,而且看视频她能获得金币,好吧下载注册了还真的收到钱了。 然后自己手刷还是挺无聊的,比较对这些都不...
  • 脚本能够实现抖音极速版、快手极速版,刷宝短视频、火山极速版、趣看看App的自动刷看。脚本布置在手机上后会自动刷看,为防止被封,我设置几个app循环刷看,其中趣看看能实现文章自动检测广告,跳过广告阅读(趣看看...
  • 抖音极速版/快手极速版自动浏览

    千次阅读 2020-03-30 14:38:41
    安装python环境 1、安装Python需要的包 1.1电脑安装Android SDK Platform-Tools ...2、运行脚本(抖音极速版,含签到和广告浏览) # -*- coding: utf-8 -*- """ Created on Tue Mar 10 19:24:06 2020 @author: FanG...
  • 最近看到朋友圈很多人都在分享快手极速版,研究了一下发现看视频、签到、看广告给金币,金币会自动转成余额可提现,每天最多2000金币,差不多可以兑换2块钱,空闲时间使用autojs写了一个自动脚本用来自动浏览,脚本...
  • auto.js 快手极速版刷视频简易demo

    千次阅读 2020-02-28 15:08:03
    这是一个无聊做的demo 快手极速版刷视频。 auto.js是基于javascript的自动化脚本,它可以模拟人的操作,功能非常强大,说是外挂但不破坏原程序或者在原程序中注入某些东西。本次开放使用vs code,当然能 auto.js ...
  • 快手极速版”的模拟器多开方法

    万次阅读 2019-11-22 23:14:16
    之前给大家介绍了如何使用电脑模拟器+脚本技术来实现自动刷金币的方法,参考公众号文章《撸“快手”-这次用模拟器来薅》(下文中简称“前文”),很多朋友看了文章后,很有启发,也纷纷成功地用模拟器实现了自动刷...
  • 有些模拟器玩家都理所当然想到如何进行模拟器多开,来实现多赚一点金币。...因此本人又开发了一个适合安卓7.0以下的快手脚本,请用雷电的3.63版本(见图1),这是作者本人使用的版本,高于此版本的,不一定...
  • 之前给大家介绍了如何使用电脑模拟器+脚本技术来实现自动刷金币的方法,参考公众号文章《撸“快手”-这次用模拟器来薅》(下文中简称“前文”),很多朋友看了文章后,很有启发,也纷纷成功地用模拟器实现了自动刷金币...
  • auto.js 快手自动评论脚本 引流操作

    千次阅读 2020-07-30 11:53:07
    app软件:快手极速版 如果不熟悉 auto.js 请移步 auto.js文档 源码下载地址:暂无 auto.waitFor(); app.launchApp('快手极速版'); sleep(10000); var CommentKeyWord = [ '评论内容1', '评论内容2', '评论内容3',...
  • 以下脚本我只用过快手极速版,一天1-2元的样子,3元可提现还不错,抖音完全没有兴趣一天几毛钱。 脚本来源于无意中在动态VPN的网站上发现,解决了手刷的问题。 抖音极速版 auto(); var appName=rawInput("","抖音...
  • 在下图位置进行新建文件,填上名称将下面的脚本复制进去保存即可打开运行图标跳转对应的软件不能跳转的自己提前打开即可分别复制下面是两个自动脚本进行添加快手极速版刷视频自动脚本(复制软件中)auto.waitFor()let ...
  • 当前很多app都有极速版,比如抖音、快手以及头条等,而极速版又可以赚金币兑换成钱,那么我们可以利用一台废旧的Android手机,安装这些极速版然间,自动为我们刷视频。 准备清单 Android手机一部(我的是小米5x) ...
  • kuaishou.js

    2020-04-02 20:05:41
    快手极速版脚本,用于自动刷快手极速版短视频。只需要在手机安装快手极速版以及auto,js软件,即可运行本脚本。
  • 各大阅读平台自动阅读刷金币脚本

    千次阅读 2021-02-06 09:32:23
    以下脚本我只用过快手极速版,一天1-2元的样子,3元可提现还不错,抖音完全没有兴趣一天几毛钱。 脚本来源于无意中在网络上发现,解决了手刷的问题。 抖音极速版 auto(); var appName=rawInput("","抖音极速版"); ...
  • 世宝脚本语言引擎.ec 世恒通用安装系统文件压缩模块.ec 世恒通用安装系统文件压缩 模块RAR.EC 个性信息框.ec 个性信息框1.1.ec 个性信息框1.21.ec 个性信息框1.5.ec 个性 信息框1.ec 个性信息框1[1].21.ec 个性化...
  • 1345个易语言模块

    2012-01-27 19:41:59
    世宝脚本语言引擎.ec 世恒通用安装系统文件压缩模块.ec 世恒通用安装系统文件压缩 模块RAR.EC 个性信息框.ec 个性信息框1.1.ec 个性信息框1.21.ec 个性信息框1.5.ec 个性 信息框1.ec 个性信息框1[1].21.ec 个性化...
  • 1350多个精品易语言模块提供下载

    热门讨论 2011-06-06 17:51:09
    世宝脚本语言引擎.ec 世恒通用安装系统文件压缩模块.ec 世恒通用安装系统文件压缩 模块RAR.EC 个性信息框.ec 个性信息框1.1.ec 个性信息框1.21.ec 个性信息框1.5.ec 个性 信息框1.ec 个性信息框1[1].21.ec 个性化...

空空如也

空空如也

1 2
收藏数 30
精华内容 12
关键字:

快手极速版脚本