您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Trying to make your TradeOffer Experience better!
当前为
// ==UserScript== // @name = STN = TradeOffer Helper // @namespace http://stn.tf // @version 0.2.2 // @description Trying to make your TradeOffer Experience better! // @author spyfly // @match https://steamcommunity.com/tradeoffer/new/* // @match *backpack.tf/stats/* // @match *backpack.tf/classifieds* // @grant GM_xmlhttpRequest // ==/UserScript== (function() { var $_GET = {}; if(document.location.toString().indexOf('?') !== -1) { var query = document.location .toString() // get the query string .replace(/^.*?\?/, '') // and remove any existing hash string (thanks, @vrijdenker) .replace(/#.*$/, '') .split('&'); for(var i=0, l=query.length; i<l; i++) { var aux = decodeURIComponent(query[i]).split('='); $_GET[aux[0]] = aux[1]; } } var location = window.location.toString(); if (location.includes("steamcommunity.com/tradeoffer/new/") === true){ function simulate(element, eventName) { var options = extend(defaultOptions, arguments[2] || {}); var oEvent, eventType = null; for (var name in eventMatchers) { if (eventMatchers[name].test(eventName)) { eventType = name; break; } } if (!eventType) throw new SyntaxError('Only HTMLEvents and MouseEvents interfaces are supported'); if (document.createEvent) { oEvent = document.createEvent(eventType); if (eventType == 'HTMLEvents') { oEvent.initEvent(eventName, options.bubbles, options.cancelable); } else { oEvent.initMouseEvent(eventName, options.bubbles, options.cancelable, document.defaultView, options.button, options.pointerX, options.pointerY, options.pointerX, options.pointerY, options.ctrlKey, options.altKey, options.shiftKey, options.metaKey, options.button, element); } element.dispatchEvent(oEvent); } else { options.clientX = options.pointerX; options.clientY = options.pointerY; var evt = document.createEventObject(); oEvent = extend(evt, options); element.fireEvent('on' + eventName, oEvent); } return element; } function extend(destination, source) { for (var property in source) destination[property] = source[property]; return destination; } var eventMatchers = { 'HTMLEvents': /^(?:load|unload|abort|error|select|change|submit|reset|focus|blur|resize|scroll)$/, 'MouseEvents': /^(?:click|dblclick|mouse(?:down|up|over|move|out))$/ }; var defaultOptions = { pointerX: 0, pointerY: 0, button: 0, ctrlKey: false, altKey: false, shiftKey: false, metaKey: false, bubbles: true, cancelable: true }; var botids = ["76561198171369482", "76561198171381246", "76561198291327810", "76561198306870587", "76561198309811425", "76561198308976829", "76561198309739563", "76561198309980175", "76561198309246958"]; if (botids.includes(g_ulTradePartnerSteamID) === true){ var body = document.getElementsByClassName('responsive_page_frame')[0]; body.style.backgroundImage = 'url(https://stntrading.eu/background.png)'; body.style.color = 'white'; var h2 = document.getElementsByTagName('h2')[0]; h2.style.color = 'white'; h2.style.fontWeight = 'bold'; } //get the 'for_item' query parameter var item = $_GET['for_item']; var name = $_GET["sell_item"]; if (item){ simulate(document.getElementById("inventory_select_their_inventory"), "click"); var done = false; var i = 0; while (i !== 20){ i++; setTimeout(function(){ if (done == false){ try { simulate(document.getElementById("item" + item), "dblclick"); simulate(document.getElementById("inventory_select_your_inventory"), "click"); done = true; } catch (ex){}}} , i*500);} } if (name){ var found = false; var itemid; var steamid = g_steamID; GM_xmlhttpRequest({ method: "GET", url: 'https://steamcommunity.com/profiles/' + steamid + '/inventory/json/440/2', onload: function(response) { var data = JSON.parse(response.responseText); var ids = data["rgInventory"]; var items = data["rgDescriptions"]; for (var key in ids) { var obj = ids[key]; var invid = obj["classid"] + "_" + obj["instanceid"]; var marketname = items[invid]["market_hash_name"]; if (marketname == name && items[invid]["tradable"] == 1){ found = true; itemid = key; break; } } if (found == true){ var done = false; var i = 0; while (i !== 20){ i++; setTimeout(function(){ if (done == false){ try { simulate(document.getElementById("item440_2_" + itemid), "dblclick"); done = true; } catch (ex){}}} , i*500);} } } }); } } else { var i = 0; var listings = document.getElementsByClassName("media-list")[1].getElementsByTagName("a"); for (var key in listings) { var href = listings[key].href; if (href) { if (href.includes("steamcommunity.com") == true){ var itemname = document.getElementsByClassName("media-list")[1].getElementsByTagName("h5")[i].innerHTML.replace(/<\/?[^>]+(>|$)/g, "").substring(1); i++; document.getElementsByClassName("media-list")[1].getElementsByTagName("a")[key].href= href + "&sell_item=" + itemname; } } } } })();