每次Steam活动促销都能通过浏览探索队列获得活动卡片,一次次点击耽误时间,因此使用脚本可以快速通过一条队列。在本次2024夏促可用中可用。
特别提示一点如果遇到类似“游戏不支持当前国家”之类的警告,可通过在设置中调节,把成人内容过滤掉,以后队列里就没有类似提示了。
- 需要在chrome浏览器上登录Steam
- 打开探索队列页面
- 点击“F12”打开控制台
- 找到”Console”选项卡
- 复制代码到控制台中点击回车运行即可。
- 如果提示:“Warning: Don’t paste code into the DevTools Console that you don’t understand or haven’t reviewed yourself. This could allow attackers to steal your identity or take control of your computer. Please type ‘allow pasting’ below to allow pasting.”需要提前在控制台中输入 allow pasting 然后粘贴代码
// ==UserScript==
// @name Steam自动探索队列
// @namespace http://steamcn.com/t157861-1-1
// @version 0.2
// @description Steam节庆活动用脚本,自动探索3次队列。
// @author baodongsun
// @match https://store.steampowered.com/
// @grant SteamCN
// ==/UserScript==
(function() {
'use strict';
// Your code here...
})();(function _exec(){
var appids,
running = true,
queueNumber,
progressDialog = ShowAlertDialog('探索中', $J('<div/>').append($J('<div/>', {'class': 'waiting_dialog_throbber'}) ).append( $J('<div/>', {'id': 'progressContainer'}).text('获取进度...') ), '停止').done(abort);
function abort(){
running = false;
progressDialog.Dismiss();
}
function retry(){
abort();
ShowConfirmDialog('错误', '是否重试?', '重试', '放弃').done(_exec)
}
function clearApp(){
if(!running)
return;
showProgress();
var appid = appids.shift();
!appid ? generateQueue() : $J.post( appids.length ? '/app/' + appid : '/explore/next/', {sessionid: g_sessionID, appid_to_clear_from_queue: appid} ).done(clearApp).fail(retry);
}
function generateQueue(){
running && $J.post('/explore/generatenewdiscoveryqueue', {sessionid: g_sessionID, queuetype: 0}).done(beginQueue).fail(retry);
}
function beginQueue(){
if(!running)
return;
$J.get('/explore/').done(function(htmlText){
var cardInfo = htmlText.match(/<div class="subtext">\D+(\d)\D+<\/div>/);
if( !cardInfo ){
abort();
ShowAlertDialog('完成','已完成全部3轮探索队列');
return;
}
var matchedAppids = htmlText.match(/0,\s+(\[.*\])/);
if( !matchedAppids ){
retry();
return;
}
appids = JSON.parse(matchedAppids[1]);
queueNumber = cardInfo[1];
appids.length == 0 ? generateQueue() : clearApp();
showProgress();
})
}
function showProgress(){
$J('#progressContainer').html( '<br>剩余' + queueNumber + '个待探索队列, 当前队列剩余' + appids.length + '个待探索游戏' );
}
beginQueue();
}())