Greasy Fork is available in English.

添加FOD至steam库

添加愿望单和添加FOD的代码搜集于https://steamcn.com论坛,并非原创。

Ajankohdalta 20.8.2019. Katso uusin versio.

// ==UserScript==
// @name         添加FOD至steam库
// @namespace    sourcewater
// @version      0.1
// @description  添加愿望单和添加FOD的代码搜集于https://steamcn.com论坛,并非原创。
// @author       sourcewater
// @match        https://store.steampowered.com/account/registerkey
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    function getText(f){
        return f.toString().replace(/^[^\/]+\/\*!?\s?/, '').replace(/\*\/[^\/]+$/, '');
    }

    var maincontent=document.getElementById("main_content");
    var leftcontent=document.getElementsByClassName("leftcol")[0];
    var addtowishlistscript=getText(function(){/*

function s_s_s_addtowishlistfunction(){
    var args=arguments[0].split(",");
    if(!args[0].trim().match(/^[\d]+$/)){
        ShowAlertDialog("失败","请输入APP ID,多个APP ID用“,”隔开");
        return;
    }
    var appidlist=new Array();
    for(var i=0;i<args.length;++i){
        appidlist[i]=args[i].trim();
    }
    var bdialog;
    for(var i=0;i<appidlist.length;++i){
        AddToWishlist(appidlist[i],'add_to_wishlist_area', 'add_to_wishlist_area_success', 'add_to_wishlist_area_fail','1_5_9__407');
        if(document.getElementById("followgame_appid").checked){
            jQuery.post( '//store.steampowered.com/explore/followgame/', {sessionid: g_sessionID,appid: appidlist[i]
		    }).done( function() {
                console.log("followed");
		    }).fail( function() {
                console.log("follow failed!");
		    });
        }
        if(i==(appidlist.length-1)){
            if(i!=0) bdialog.Dismiss();
            ShowAlertDialog("成功","已经全部添加至愿望单");
        }else{
            bdialog=ShowBlockingWaitDialog('正在添加...',(i+1)+'/'+appidlist.length);
        }
    }
}

    */});
    var headelement=document.getElementsByTagName("head")[0];
    var addtowishlistscriptnode=document.createElement("script");
    addtowishlistscriptnode.innerHTML=addtowishlistscript;
    headelement.appendChild(addtowishlistscriptnode);
    var addtowishlist=getText(function(){/*

<br>
<br>
<h2>输入APP ID添加跨区游戏至愿望单,输入SUB ID在Steam上添加免费产品。多个ID之间用“,”隔开</h2>
<div>输入APP ID</div>
<div style="float: left;" class="block_content checkout_content_box">
<input style="width:450px;" name="wishlist_appid" id="wishlist_appid" type="text" class="registerkey_input_box_text" value="">
</div>
<div class="button_row">
<a tabindex="300" href="javascript:s_s_s_addtowishlistfunction(document.getElementById('wishlist_appid').value);" class="btnv6_blue_hoverfade btn_medium">
<span>添加至愿望单</span>
</a>
</div>

<div style="clear: both;"></div>
<div class="block_content checkout_content_box" style="margin-top:10px">
<input type="checkbox" name="followgame_appid" value="1" id="followgame_appid">
<label for="followgame_appid">
<span>同时关注游戏</span>
</label>
</div>

    */});
    var addfreescript=getText(function(){/*

function s_s_s_addfreefunction(){
    var args=arguments[0].split(",");
    if(!args[0].trim().match(/^[\d]+$/)){
        ShowAlertDialog("失败","请输入SUB ID,多个SUB ID用“,”隔开");
        return;
    }
    var subidlist=new Array();
    for(var i=0;i<args.length;++i){
        subidlist[i]=args[i].trim();
    }

    if (location.hostname !== 'store.steampowered.com') {
        alert('请在steam商店运行本代码!');
        return;
    } else if (typeof jQuery !== 'function') {
        ShowAlertDialog('失败', '脚本需要jQuery库!');
        return;
    } else if (document.getElementById('header_notification_area') === null) {
        ShowAlertDialog('失败', '你必须处于登录状态.');
        return;
    }

    var freePackages = subidlist;//change here[221306,221459]

    var loaded = 0,
        total = freePackages.length,
        modal = ShowBlockingWaitDialog('正在添加...', '请等待所有请求结束。');

    for (var i = 0; i < total; i++) {
        jQuery.post(
            '//store.steampowered.com/checkout/addfreelicense', {
                action: 'add_to_cart',
                sessionid: g_sessionID,
                subid: freePackages[i]
            },
            function(data) {
                loaded++;

                modal.Dismiss();

                if (loaded === total) {
                    ShowAlertDialog('完成!', '已全部添加完毕。');
                } else {
                    modal = ShowBlockingWaitDialog('正在添加...', '载入 ' + loaded + '/' + total);
                }
            }
        ).fail(function() {
            loaded++;

            modal.Dismiss();

            if (loaded === total) {
                ShowAlertDialog('完成!', '已全部添加完毕。');
            } else {
                modal = ShowBlockingWaitDialog('正在添加...', '载入 ' + loaded + '/' + total);
            }
        });
    }
}

    */});
    var addfreescriptnode=document.createElement("script");
    addfreescriptnode.innerHTML=addfreescript;
    headelement.appendChild(addfreescriptnode);
    var addfree=getText(function(){/*

<br>
<div>输入SUB ID</div>
<div style="float: left;" class="block_content checkout_content_box">
<input style="width:450px;" name="free_appid" id="free_appid" type="text" class="registerkey_input_box_text" value="">
</div>
<div class="button_row">
<a tabindex="300" href="javascript:s_s_s_addfreefunction(document.getElementById('free_appid').value);" class="btnv6_blue_hoverfade btn_medium">
<span>添加免费游戏</span>
</a>
</div>

    */});
    leftcontent.innerHTML=leftcontent.innerHTML+addtowishlist+addfree;
})();