Swagbucks App Completion

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

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

  1. // ==UserScript==
  2. // @name Swagbucks App Completion
  3. // @namespace https://github.com/Omegaice/SwagBucksAppMonitor
  4. // @version 0.5
  5. // @description A script to print an alert to show how much you have progressed for each swagbucks app.
  6. // @match http://www.swagbucks.com/account/summary
  7. // @copyright 2014+, Omegaice
  8. // ==/UserScript==
  9.  
  10. var advert_time = 30;
  11. var nextup_time = 10;
  12. var video_load_time = 5;
  13.  
  14. function CalculateDuration(minimum_time, current_points, maximum_points, videos_per_reward, reward_value){
  15. var remaining_points = maximum_points - current_points;
  16. var remaining_videos = remaining_points * (videos_per_reward / reward_value);
  17. var remaining_adverts = Math.floor(remaining_points / reward_value);
  18.  
  19. var time = remaining_videos * (video_load_time + minimum_time + nextup_time) + remaining_adverts * advert_time;
  20.  
  21. var hours = Math.floor(time / 3600) % 24;
  22. var minutes = Math.floor(time / 60) % 60;
  23. var seconds = time % 60;
  24.  
  25. return (hours < 10 ? "0" + hours : hours) + ":" + (minutes < 10 ? "0" + minutes : minutes) + ":" + (seconds < 10 ? "0" + seconds : seconds);
  26. }
  27.  
  28. $.get("http://www.swagbucks.com/?cmd=sb-acct-ledger&allTime=false",function(data,status){
  29. var values = data.split("|")[2].substr(1);
  30. values = values.substring(0, values.length - 1);
  31.  
  32. var rewards = new Array();
  33. rewards[""] = 0;
  34. rewards["Sportly"] = 0;
  35. rewards["EntertaiNow"] = 0;
  36. rewards["MovieCli.ps"] = 0;
  37.  
  38. var lines = values.split("],");
  39. for( var i = 0; i < lines.length; i++ ){
  40. var lData = lines[i].replace("[", "").replace("]", "").split(",");
  41.  
  42. var desc = lData[5].replace("'", "").replace("'", "").trim();
  43. if( rewards[desc] == null ){
  44. rewards[desc] = parseInt(lData[3]);
  45. }else{
  46. rewards[desc] = rewards[desc] + parseInt(lData[3]);
  47. }
  48. }
  49.  
  50. var result = "";
  51.  
  52. result += "SBTV:\n";
  53. if( rewards[""] == 50 ){
  54. result += "\tComplete [50/50]";
  55. }else{
  56. result += "\tIncomplete [" + rewards[""] + "/50]";
  57. }
  58. result += "\n\tVideos Remaining: " + 5 * ((50-rewards[""])*0.5);
  59. result += "\n\tEstimated Time Remaining: " + CalculateDuration(9, rewards[""], 50, 5, 2);
  60.  
  61. result += "\nIndymusic:\n";
  62. if( rewards["Indymusic"] == 20 ){
  63. result += "\tComplete [20/20]";
  64. }else{
  65. result += "\tIncomplete [" + rewards["Indymusic"] + "/20]";
  66. }
  67. result += "\n\tVideos Remaining: " + 10 * ((20-rewards["Indymusic"])*0.5);
  68. result += "\n\tEstimated Time Remaining: " + CalculateDuration(100, rewards["Indymusic"], 20, 10, 2);
  69.  
  70. result += "\nSportly.tv:\n";
  71. if( rewards["Sportly"] == 52 ){
  72. result += "\tComplete [52/52]";
  73. }else{
  74. result += "\tIncomplete [" + rewards["Sportly"] + "/52]";
  75. }
  76. result += "\n\tVideos Remaining: " + 10 * ((52-rewards["Sportly"])*0.5);
  77. result += "\n\tEstimated Time Remaining: " + CalculateDuration(25, rewards["Sportly"], 52, 10, 2);
  78.  
  79. result += "\nEntertaiNow:\n";
  80. if( rewards["EntertaiNow"] == 90 ){
  81. result += "\tComplete [90/90]";
  82. }else{
  83. result += "\tIncomplete [" + rewards["EntertaiNow"] + "/90]";
  84. }
  85. result += "\n\tVideos Remaining: " + 10 * ((90-rewards["EntertaiNow"])*0.5);
  86. result += "\n\tEstimated Time Remaining: " + CalculateDuration(11, rewards["EntertaiNow"], 90, 10, 2);
  87.  
  88. result += "\nMovieCli.ps:\n";
  89. if( rewards["MovieCli.ps"] == 80 ){
  90. result += "\tComplete [80/80]";
  91. }else{
  92. result += "\tIncomplete [" + rewards["MovieCli.ps"] + "/80]";
  93. }
  94. result += "\n\tVideos Remaining: " + 10 * ((80-rewards["MovieCli.ps"])*0.5);
  95. result += "\n\tEstimated Time Remaining: " + CalculateDuration(23, rewards["MovieCli.ps"], 80, 10, 2);
  96.  
  97. var combined = rewards[""] + rewards["Indymusic"] + rewards["Sportly"] + rewards["EntertaiNow"] + rewards["MovieCli.ps"];
  98.  
  99. result += "\n\nTotal:\n"
  100. if(combined == 292){
  101. result += "\tComplete [292/292]";
  102. }else{
  103. result += "\tIncomplete [" + combined + "/292]";
  104. }
  105. 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));
  106.  
  107. alert(result);
  108. });

QingJ © 2025

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