每次 Steam 活动促销都能通过浏览探索队列获得活动卡片,一次次点击耽误时间,因此使用脚本可以快速通过一条队列。在本次 2023 夏季促销中可用。
特别提示一点如果遇到类似 “游戏不支持当前国家” 之类的警告,可通过在设置中调节,把成人内容过滤掉,以后队列里就没有类似提示了。
-
需要在 chrome 浏览器上登录 Steam
-
打开探索队列页面
-
点击 “F12” 打开控制台
-
找到 "Console" 选项卡
-
复制代码到控制台中点击回车运行即可。
(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();
}())