Скрипт на прокачку лвл Steam



Чёт работать перестало
 
Не знаю зачем он мне но взял, спасибо!
 
Вырезал гринлайт ,работа возобновлена скрипта ;]
Код:
'use strict';

(function() {
  if (!location.href.match(/^https?:\/\/steamcommunity.com\/(?:id|profiles)\/[^\/]+\/badges\/2/)) {
    location.href = '//steamcommunity.com/my/badges/2';
    return;
  }

  if (!g_steamID) {
    alert('No logged on!');
    return;
  }

  var k_ExpectedTasksCount = 28;
  var g_SteamTasks = $J('.badge_task');

  if (g_SteamTasks.length != k_ExpectedTasksCount) {
    console.error('Expected tasks ' + k_ExpectedTasksCount + ', but found ' + g_SteamTasks.length);
    console.error('Stopped');
    return;
  }

  var g_TasksQueue = [];

  var bTaskBroadcast = isTaskAvailable(3);
  var bTaskWorkshopRate = isTaskAvailable(11);
  var bTaskWorkshopSubscribe = isTaskAvailable(12);
  var bTaskWorkshop = bTaskWorkshopRate || bTaskWorkshopSubscribe;
  var bTaskCommunityProfileRealName = isTaskAvailable(16);
  var bTaskCommunityProfile = bTaskCommunityProfileRealName || isTaskAvailable(15) || isTaskAvailable(17);
  var bTaskJoinGroup = isTaskAvailable(18);
  var bTaskProfileComment = isTaskAvailable(19);
  var bTaskFeedRateUp = isTaskAvailable(20);
  var bTaskPostStatus = isTaskAvailable(21);
  var bTaskSelectBadge = isTaskAvailable(24);
  var bTaskDiscussionsSearch = isTaskAvailable(26);

  function isTaskAvailable(task_id) {
    var task = g_SteamTasks.eq(task_id);
    if (!task.length)
      return false;

    return task.find('.quest_icon').attr('src').indexOf('_off') != -1;
  }

  function DoTaskBroadcast(next) {
    $J.get('//steamcommunity.com/apps/allcontenthome?appHubSubSection=13').done(function(data) {
      // first available broadcast
      var match = data.match(/watch\/(\d+)/);
      if (!match) {
        console.error('[DoTaskBroadcast] Fail! (2)');
        return next();
      }

      $J.get('//steamcommunity.com/broadcast/getbroadcastmpd/?steamid=' + match[1] + '&broadcastid=0&viewertoken=0').done(function(data) {
        if (data.success !== 'ready') {
          console.error('[DoTaskBroadcast] Fail! (4)');
        } else {
          console.log('[DoTaskBroadcast] OK!');
        }
      }).fail(function() {
        console.error('[DoTaskBroadcast] Fail! (3)');
      }).always(function() {
        next();
      });
    }).fail(function() {
      console.error('[DoTaskBroadcast] Fail! (1)');
      next();
    });
  }

  function DoTaskWorkshop(next) {
    $J.get('//steamcommunity.com/workshop/browse/', {
      appid: 440,
      browsesort: 'totaluniquesubscribers'
    }).done(function(data) {
      var matches = data.match(/sharedfile_(\d+)/g);
      if (!matches) {
        console.error('[DoTaskWorkshop] Fail! (2)');
        return next();
      }

      var file_id = matches[Math.floor(Math.random() * matches.length)].substr(11);
      var isDone = false;

      if (bTaskWorkshopRate) {
        console.log('[DoTaskWorkshop] Upvoting id#' + file_id);
        $J.post('//steamcommunity.com/sharedfiles/voteup', {
          id: file_id,
          sessionid: g_sessionID
        }).done(function(data) {
          if (data.success == 1) {
            console.log('[DoTaskWorkshop] Rate - OK!');
          } else {
            console.error('[DoTaskWorkshop] Rate - Fail! (4)');
          }
        }).fail(function() {
          console.error('[DoTaskWorkshop] Rate - Fail! (3)');
        }).always(function() {
          if (!bTaskWorkshopSubscribe || isDone) {
            return next();
          }
          isDone = true;
        });
      }

      if (bTaskWorkshopSubscribe) {
        console.log('[DoTaskWorkshop] Subscribing id#' + file_id);
        $J.post('//steamcommunity.com/sharedfiles/subscribe', {
          id: file_id,
          appid: 440,
          sessionid: g_sessionID
        }).done(function(data) {
          if (data.success == 1) {
            console.log('[DoTaskWorkshop] Subscribe - OK!');
            $J.post('//steamcommunity.com/sharedfiles/unsubscribe', {
              id: file_id,
              appid: 440,
              sessionid: g_sessionID
            }).done(function(data) {
              if (data.success == 1) {
                console.log('[DoTaskWorkshop] Unsubscribed');
              }
            });
          } else {
            console.error('[DoTaskWorkshop] Subscribe - Fail! (4)');
          }
        }).fail(function() {
          console.error('[DoTaskWorkshop] Subscribe - Fail! (3)');
        }).always(function() {
          if (!bTaskWorkshopRate || isDone) {
            return next();
          }
          isDone = true;
        });
      }
    }).fail(function() {
      console.error('[DoTaskWorkshop] Fail! (1)');
      next();
    });
  }
  // D'OH! I hate simulators (⇀‸↼‶)
    function DoTaskCommunityProfile(next) {
    $J.get('//steamcommunity.com/profiles/' + g_steamID + '/edit').done(function(data) {
      var form = $J(data).find('form').eq(0);

      if (bTaskCommunityProfileRealName) {
        form.find('#real_name').val(form.find('#personaName').val())
      }

      $J.post('//steamcommunity.com/profiles/' + g_steamID + '/edit', form.serialize()).done(function(data) {
        console.log('[DoTaskCommunityProfile] OK!');
      }).fail(function() {
        console.error('[DoTaskCommunityProfile] Fail! (2)');
      }).always(function() {
        next();
      });
    }).fail(function() {
      console.error('[DoTaskCommunityProfile] Fail! (1)');
      next();
    });
  }

  function DoTaskJoinGroup(next) {
    $J.post('//steamcommunity.com/groups/tradingcards', {
      action: 'join',
      sessionID: g_sessionID
    }).done(function() {
      console.log('[DoTaskJoinGroup] OK!');
    }).fail(function() {
      console.error('[DoTaskJoinGroup] Fail!');
    }).always(function() {
      next();
    });
  }

  function DoTaskProfileComment(next) {
    $J.post('//steamcommunity.com/comment/Profile/post/' + g_steamID + '/-1/', {
      comment: ':steammocking:',
      count: 0,
      sessionid: g_sessionID
    }).done(function(data) {
      if (data.success) {
        console.log('[DoTaskProfileComment] OK!');
      } else {
        console.error('[DoTaskProfileComment] Fail! (2)');
      }
    }).fail(function() {
      console.error('[DoTaskProfileComment] Fail! (1)');
    }).always(function() {
      next();
    });
  }

  function DoTaskFeedRateUp(next) {
    $J.post('//steamcommunity.com/actions/LogFriendActivityUpvote', {
      sessionID: g_sessionID
    }).done(function() {
      console.log('[DoTaskFeedRateUp] OK!');
    }).fail(function() {
      console.error('[DoTaskFeedRateUp] Fail!');
    }).always(function() {
      next();
    });
  }

  function DoTaskPostStatus(next) {
    $J.post('//steamcommunity.com/profiles/' + g_steamID + '/ajaxpostuserstatus/', {
      sessionid: g_sessionID,
      status_text: 'Hello World!',
      appid: 0
    }).done(function(data) {
      if (data.success && data.blotter_html) {
        console.log('[DoTaskPostStatus] OK!');
        var postid = data.blotter_html.match(/userstatus_(\d+)_/)[1];
        $J.post('//steamcommunity.com/profiles/' + g_steamID + '/ajaxdeleteuserstatus/', {
          sessionid: g_sessionID,
          postid: postid
        }).done(function(data) {
          if (data.success) {
            console.log('[DoTaskPostStatus] Post removed');
          }
        });
      } else {
        console.error('[DoTaskPostStatus] Fail! (2)');
      }
    }).fail(function() {
      console.error('[DoTaskPostStatus] Fail! (1)');
    }).always(function() {
      next();
    });
  }

  function DoTaskSelectBadge(next) {
    $J.post('//steamcommunity.com/profiles/' + g_steamID + '/badges/2', {
      action: 'setfavoritebadge',
      sessionid: g_sessionID,
      badgeid: 2 // Community Badge
    }).done(function(data) {
      if (data.indexOf('class="profile_fatalerror"') != -1) {
        console.error('[DoTaskSelectBadge] Fail! (2)');
      } else {
        console.log('[DoTaskSelectBadge] OK!');
      }
    }).fail(function() {
      console.error('[DoTaskSelectBadge] Fail! (1)');
    }).always(function() {
      next();
    });
  }

  function DoTaskDiscussionsSearch(next) {
    $J.ajax({
      // Really where? :(
      url: '//steamcommunity.com/discussions/forum/search/?gidforum=882958665520871138&q=%57%68%65%72%65%20%69%73%20%48%61%6C%66%2D%4C%69%66%65%20%33%3F',
      type: 'HEAD'
    }).done(function() {
      console.log('[DoTaskDiscussionsSearch] OK!');
    }).fail(function() {
      console.error('[DoTaskDiscussionsSearch] Fail!');
    }).always(function() {
      next();
    });
  }

  function DoNextTask() {
    var Task = g_TasksQueue.shift();
    if (Task) {
      Task(DoNextTask);
    } else {
      console.log('Done! Refresh the page and see what happened')
    }
  };


  if (bTaskBroadcast) {
    g_TasksQueue.push(DoTaskBroadcast);
    console.log('Added task `Broadcast`');
  }
  if (bTaskWorkshop) {
    g_TasksQueue.push(DoTaskWorkshop);
    console.log('Added task `Workshop`');
}
  if (bTaskCommunityProfile) {
    g_TasksQueue.push(DoTaskCommunityProfile);
    console.log('Added task `CommunityProfile`');
  }
  if (bTaskJoinGroup) {
    g_TasksQueue.push(DoTaskJoinGroup);
    console.log('Added task `JoinGroup`');
  }
  if (bTaskProfileComment) {
    g_TasksQueue.push(DoTaskProfileComment);
    console.log('Added task `ProfileComment`');
  }
  if (bTaskFeedRateUp) {
    g_TasksQueue.push(DoTaskFeedRateUp);
    console.log('Added task `FeedRateUp`');
  }
  if (bTaskPostStatus) {
    g_TasksQueue.push(DoTaskPostStatus);
    console.log('Added task `PostStatus`');
  }
  if (bTaskDiscussionsSearch) {
    g_TasksQueue.push(DoTaskDiscussionsSearch);
    console.log('Added task `DiscussionsSearch`');
  }
  if (bTaskSelectBadge) {
    g_TasksQueue.push(DoTaskSelectBadge);
    console.log('Added task `SelectBadge`');
  }

  if (!g_TasksQueue.length) {
    console.log('Nothing to do. Great job! :)');
    return;
  }

  DoNextTask();
})();