// ==UserScript== // @name Swagbucks App Completion // @namespace https://github.com/Omegaice/SwagBucksAppMonitor // @version 0.5 // @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 // @downloadURL none // ==/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["Indymusic"] + 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 * ((20-rewards["Indymusic"])*0.5) + 10 * ((52-rewards["Sportly"])*0.5) + 10 * ((90-rewards["EntertaiNow"])*0.5) + 10 * ((80-rewards["MovieCli.ps"])*0.5)); alert(result); });