Swagbucks App Completion

A script to print an alert to show how much you have progressed for each swagbucks app.

当前为 2014-09-01 提交的版本,查看 最新版本

// ==UserScript==
// @name       Swagbucks App Completion
// @namespace  https://github.com/Omegaice/SwagBucksAppMonitor
// @version    0.4
// @description A script to print an alert to show how much you have progressed for each swagbucks app.
// @match      http://www.swagbucks.com/account/summary
// @copyright  2014+, Omegaice
// ==/UserScript==

var advert_time = 30;
var nextup_time = 10;
var video_load_time = 5;

function CalculateDuration(minimum_time, current_points, maximum_points, videos_per_reward, reward_value){
    var remaining_points = maximum_points - current_points;
    var remaining_videos = remaining_points * (videos_per_reward / reward_value);
    var remaining_adverts = Math.floor(remaining_points / reward_value);

    var time = remaining_videos * (video_load_time + minimum_time + nextup_time) + remaining_adverts * advert_time;

    var hours = Math.floor(time / 3600) % 24;
    var minutes = Math.floor(time / 60) % 60;
    var seconds = time % 60;

    return (hours < 10 ? "0" + hours : hours) + ":" + (minutes < 10 ? "0" + minutes : minutes) + ":" + (seconds  < 10 ? "0" + seconds : seconds);
}

$.get("http://www.swagbucks.com/?cmd=sb-acct-ledger&allTime=false",function(data,status){
    var values = data.split("|")[2].substr(1);
    values = values.substring(0, values.length - 1);

    var rewards = new Array();
    rewards[""] = 0;
    rewards["Sportly"] = 0;
    rewards["EntertaiNow"] = 0;
    rewards["MovieCli.ps"] = 0;

    var lines = values.split("],");
    for( var i = 0; i < lines.length; i++ ){
        var lData = lines[i].replace("[", "").replace("]", "").split(",");

        var desc = lData[5].replace("'", "").replace("'", "").trim();
        if( rewards[desc] == null ){
            rewards[desc] = parseInt(lData[3]);
        }else{
        	rewards[desc] = rewards[desc] + parseInt(lData[3]);
        }
    }

    var result = "";

    result += "SBTV:\n";
    if( rewards[""] == 50 ){
        result += "\tComplete [50/50]";
    }else{
        result += "\tIncomplete [" + rewards[""] + "/50]";
    }
    result += "\n\tVideos Remaining: " + 5 * ((50-rewards[""])*0.5);
    result += "\n\tEstimated Time Remaining: " + CalculateDuration(9, rewards[""], 50, 5, 2);

    result += "\nIndymusic:\n";
    if( rewards["Indymusic"] == 20 ){
        result += "\tComplete [20/20]";
    }else{
        result += "\tIncomplete [" + rewards["Indymusic"] + "/20]";
    }
    result += "\n\tVideos Remaining: " + 10 * ((20-rewards["Indymusic"])*0.5);
    result += "\n\tEstimated Time Remaining: " + CalculateDuration(100, rewards["Indymusic"], 20, 10, 2);

    result += "\nSportly.tv:\n";
    if( rewards["Sportly"] == 52 ){
        result += "\tComplete [52/52]";
    }else{
        result += "\tIncomplete [" + rewards["Sportly"] + "/52]";
    }
    result += "\n\tVideos Remaining: " + 10 * ((52-rewards["Sportly"])*0.5);
    result += "\n\tEstimated Time Remaining: " + CalculateDuration(25, rewards["Sportly"], 52, 10, 2);

    result += "\nEntertaiNow:\n";
    if( rewards["EntertaiNow"] == 90 ){
        result += "\tComplete [90/90]";
    }else{
        result += "\tIncomplete [" + rewards["EntertaiNow"] + "/90]";
    }
    result += "\n\tVideos Remaining: " + 10 * ((90-rewards["EntertaiNow"])*0.5);
    result += "\n\tEstimated Time Remaining: " + CalculateDuration(11, rewards["EntertaiNow"], 90, 10, 2);

    result += "\nMovieCli.ps:\n";
    if( rewards["MovieCli.ps"] == 80 ){
        result += "\tComplete [80/80]";
    }else{
        result += "\tIncomplete [" + rewards["MovieCli.ps"] + "/80]";
    }
    result += "\n\tVideos Remaining: " + 10 * ((80-rewards["MovieCli.ps"])*0.5);
    result += "\n\tEstimated Time Remaining: " + CalculateDuration(23, rewards["MovieCli.ps"], 80, 10, 2);

    var combined = rewards[""] + rewards["Sportly"] + rewards["EntertaiNow"] + rewards["MovieCli.ps"];

    result += "\n\nTotal:\n"
    if(combined == 292){
        result += "\tComplete [292/292]";
    }else{
        result += "\tIncomplete [" + combined + "/292]";
    }
    result += "\n\tVideos Remaining: " + (5 * ((50-rewards[""])*0.5) + 10 * ((52-rewards["Sportly"])*0.5) + 10 * ((90-rewards["EntertaiNow"])*0.5) + 10 * ((80-rewards["MovieCli.ps"])*0.5));

    alert(result);
});

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址