Swagbucks App Completion

A script to add a new tab to the users acount page to show how much you have progressed for each swagbuck app.

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

  1. // ==UserScript==
  2. // @name Swagbucks App Completion
  3. // @namespace https://github.com/Omegaice/SwagBucksAppMonitor
  4. // @version 0.8
  5. // @description A script to add a new tab to the users acount page to show how much you have progressed for each swagbuck app.
  6. // @match http://www.swagbucks.com/account/summary
  7. // @copyright 2014+, Omegaice
  8. // ==/UserScript==
  9.  
  10. // App Maximums
  11. var sbtv_max = 36;
  12. var indymusic_max = 20;
  13. var sportly_max = 52;
  14. var entertainow_max = 90;
  15. var movieclips_max = 80;
  16.  
  17. function CreateAppRows(name, current, maximum, video_duration, videos_per_reward) {
  18. var result = "<p>"+ name + ":</br>";
  19. if( current == maximum ){
  20. result += "&nbsp&nbsp&nbsp&nbspComplete [" + maximum + "/" + maximum + "]";
  21. }else{
  22. result += "&nbsp&nbsp&nbsp&nbspIncomplete [" + current + "/" + maximum + "]";
  23. }
  24. result += "</br>&nbsp&nbsp&nbsp&nbspVideos Remaining: " + 5 * ((maximum-current)*0.5);
  25. return result + "</br>&nbsp&nbsp&nbsp&nbspEstimated Time Remaining: " + CalculateDuration(video_duration, current, maximum, videos_per_reward, 2) + "</p>";
  26. }
  27.  
  28. // Time Variables
  29. var advert_time = 30;
  30. var nextup_time = 10;
  31. var video_load_time = 5;
  32.  
  33. function CalculateDuration(minimum_time, current_points, maximum_points, videos_per_reward, reward_value){
  34. var remaining_points = maximum_points - current_points;
  35. var remaining_videos = remaining_points * (videos_per_reward / reward_value);
  36. var remaining_adverts = Math.floor(remaining_points / reward_value);
  37.  
  38. var time = remaining_videos * (video_load_time + minimum_time + nextup_time) + remaining_adverts * advert_time;
  39.  
  40. var hours = Math.floor(time / 3600) % 24;
  41. var minutes = Math.floor(time / 60) % 60;
  42. var seconds = time % 60;
  43.  
  44. return (hours < 10 ? "0" + hours : hours) + ":" + (minutes < 10 ? "0" + minutes : minutes) + ":" + (seconds < 10 ? "0" + seconds : seconds);
  45. }
  46.  
  47. $("#ledgerInnerCont").append('<div id="appContent" style="position: relative; display: none;"></div>');
  48.  
  49. $.get("http://www.swagbucks.com/?cmd=sb-acct-ledger&allTime=false",function(data,status){
  50. var values = data.split("|")[2].substr(1);
  51. values = values.substring(0, values.length - 1);
  52.  
  53. var rewards = new Array();
  54. rewards[""] = 0;
  55. rewards["Sportly"] = 0;
  56. rewards["Indymusic"] = 0;
  57. rewards["EntertaiNow"] = 0;
  58. rewards["MovieCli.ps"] = 0;
  59.  
  60. var lines = values.split("],");
  61. for( var i = 0; i < lines.length; i++ ){
  62. var lData = lines[i].replace("[", "").replace("]", "").split(",");
  63.  
  64. var desc = lData[5].replace("'", "").replace("'", "").trim();
  65. if( rewards[desc] == null ){
  66. rewards[desc] = parseInt(lData[3]);
  67. }else{
  68. rewards[desc] = rewards[desc] + parseInt(lData[3]);
  69. }
  70. }
  71.  
  72. $("#appContent").append(CreateAppRows("SBTV", rewards[""], sbtv_max, 9, 5) + "</br>");
  73. $("#appContent").append(CreateAppRows("Indymusic.tv", rewards["Indymusic"], indymusic_max, 100, 10) + "</br>");
  74. $("#appContent").append(CreateAppRows("Sportly.tv", rewards["Sportly"], sportly_max, 25, 10) + "</br>");
  75. $("#appContent").append(CreateAppRows("EntertaiNow", rewards["EntertaiNow"], entertainow_max, 11, 10) + "</br>");
  76. $("#appContent").append(CreateAppRows("MovieCli.ps", rewards["MovieCli.ps"], movieclips_max, 23, 10) + "</br>");
  77. });
  78.  
  79. $("#accountTab1").parent().append("<li id=\"accountTab2\">Applications</li>");
  80.  
  81. $("#accountTab2").click(function(){
  82. $("#accountTab1").removeClass("selected");
  83. $("#ledgerContL").css({position: "relative", display: "none"});
  84.  
  85. $("#accountTab2").addClass("selected");
  86. $("#appContent").removeAttr( 'style' );
  87.  
  88. $("#accountTab3").removeClass("selected");
  89. $("#collectorBills").css({position: "relative", display: "none"});
  90. })
  91.  
  92. // Helpers for old tabs
  93. $("#accountTab1").click(function(){
  94. $("#accountTab2").removeClass("selected");
  95. $("#appContent").css({position: "relative", display: "none"});
  96. })
  97. $("#accountTab3").click(function(){
  98. $("#accountTab2").removeClass("selected");
  99. $("#appContent").css({position: "relative", display: "none"});
  100. })

QingJ © 2025

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