// ==UserScript== // @name 好友和最近游戏中显示VAC状态 // @namespace By:Svlik QQ:122474363 // @description 可以检查好友列表和游戏列表中好友的VAC状态。 // @version 1.0 // @include http*://steamcommunity.com/*/friends/* // @grant GM_addStyle // @grant GM_xmlhttpRequest // @downloadURL none // ==/UserScript== javascript:( function(){ function getDigit(x,digitIndex){ return(digitIndex>=x.length)?"0":x.charAt(x.length-digitIndex-1)} function prefixZeros(strint,zeroCount){ var result=strint; for( var i=0;i=10){digit-=10;borrow++} if(digit===0){leadingZeros++} else{result=String(digit)+prefixZeros(result,leadingZeros);leadingZeros=0}} if(borrow>0){result=String(borrow)+result} return result} function getId(friend){ var steam64identifier="76561197960265728"; var miniProfileId=friend.attributes.getNamedItem("data-miniprofile").value; return add(steam64identifier,miniProfileId)} var friends=[].slice.call(document.querySelectorAll("#memberList .member_block, .friendHolder, .friendBlock")); var lookup={};friends.forEach( function(friend){ var id=getId(friend); if(!lookup[id]){lookup[id]=[]}lookup[id].push(friend)}); function setVacation(player){ var friendElements=lookup[player.SteamId];friendElements.forEach( function(friend){ var inGameText=friend.querySelector(".linkFriend_in-game"); var span=document.createElement("span");span.style.fontWeight="bold";span.style.display="block"; if(inGameText){inGameText.innerHTML=inGameText.innerHTML.replace(/
/," - ")} if(player.NumberOfVACBans||player.NumberOfGameBans){ var text=""; if(player.NumberOfGameBans){text+=player.NumberOfGameBans+" 个 OW 封禁"} if(player.NumberOfVACBans){text+=(text===""?"":", ")+player.NumberOfVACBans+" 个 VAC 封禁"}text+=" "+player.DaysSinceLastBan+" 天以前.";span.style.color="rgb(255, 73, 73)";span.innerHTML=text} else{span.style.color="rgb(43, 203, 64)";span.innerHTML="此人没有被封禁记录."}friend.querySelector(".friendSmallText").appendChild(span)})} function onData(xmlHttp){ if(xmlHttp.readyState===XMLHttpRequest.DONE&&xmlHttp.status===200){ var data=JSON.parse(xmlHttp.responseText);data.players.forEach(setVacation)}} function makeApiCall(ids){ var xmlHttp= new XMLHttpRequest(); var endpointRoot="https://api.steampowered.com/ISteamUser/GetPlayerBans/v1/?key=12A1D1DE83F9932934EDD6DF2BA00463&steamids="; var endpoint=endpointRoot+ids.join(",");xmlHttp.onreadystatechange= function(){onData(xmlHttp)};xmlHttp.open("GET",endpoint,true);xmlHttp.send()} var ids=Object.keys(lookup); while(ids.length>0){ var batch=ids.splice(0,100);makeApiCall(batch)}})();