Orbyy #3781 11 декабря 2013 ПОДСКАЖИТЕ ПОЖАЛУЙСТА БОЛЬШОЕ СПАСИБО БЯЧЛСВЫБЛЯТЬчитать пративна нахуй Поделиться сообщением Ссылка на сообщение
SapFIRE #3782 11 декабря 2013 кеичи по 56 покупаю киви или вм http://steamcommunity.com/id/SapF/ Поделиться сообщением Ссылка на сообщение
hellokitty #3783 11 декабря 2013 хертстоун продам за 18 кеев фаст трейд Поделиться сообщением Ссылка на сообщение
SapFIRE #3784 11 декабря 2013 за ключик символически дам ключи херстоуна http://steamcommunity.com/id/SapF/ Поделиться сообщением Ссылка на сообщение
ViForsaken #3785 11 декабря 2013 артас то ещё и карлик , но рожа кирпичом это просто Поделиться сообщением Ссылка на сообщение
Snob #3786 11 декабря 2013 хертстоун продам за 18 кеев фаст трейдфаст фуд Поделиться сообщением Ссылка на сообщение
smailouser #3787 11 декабря 2013 куплю ключ хирстона за 1 рарку чисто симвалическискорож обт @@smailouser Поделиться сообщением Ссылка на сообщение
Chicher1n #3788 11 декабря 2013 куплю кеев по 56вмр поменяю кеи на рарки 9:2 3:13 куплю рарки за вмр вмз http://steamcommunity.com/id/Chicher1n Поделиться сообщением Ссылка на сообщение
Arthas #3789 11 декабря 2013 артас то ещё и карлик , но рожа кирпичом это просто :palevo: :palevo: у меня 182 лол Поделиться сообщением Ссылка на сообщение
jim007 #3790 11 декабря 2013 артас то ещё и карлик , но рожа кирпичом это просто :palevo: :palevo: у меня 182 лол что насчет рожи? Поделиться сообщением Ссылка на сообщение
Karras #3791 11 декабря 2013 (изменено) скрипт, для отображения цен на dota2longe.com 1. У Вас должен стоять Google Chrome или Opera (другие браузеры не проверял.) 2. Устанавливаем расширение Tampermonkey 3. Добавляем новый скрипт скрин 4. Сам скрипт: // ==UserScript==[/size] // @name Dota 2 Lounge item price displayer // @namespace http://www.enygma.ro // @version 1.1 // @author Enygma // @description Displays an item's lowest price offer from the Steam community market and also provides a helper to copy an item's name by clicking the panel under it. Based on the "Steam Market Price Matcher" script by tomatolicious available at http://userscripts.org/scripts/source/154071.user.js // @license GPL version 3 or any later version; http://www.gnu.org/copyleft/gpl.html // @include http://dota2lounge.com/* // @updateURL http://userscripts.org/scripts/source/182588.user.js // @downloadURL http://userscripts.org/scripts/source/182588.user.js // @grant GM_xmlhttpRequest // @grant GM_addStyle // ==/UserScript== // initialize the script for the items on the page var initialize = function() { // find each item's name panel/slot var itemNamePanels = document.querySelectorAll(".item .name"); attachExtraPanelsAndListeners(itemNamePanels); // watch the right list of items for changes, when it exists var rightItemList = document.querySelector("#rightlist #itemlist"); if (rightItemList) { attachMutationObserver(rightItemList); } var offerPanel = document.querySelector("#messages #offer"); if (offerPanel) { attachMutationObserver(offerPanel); } } // add to each item's name panel an extra panel that contains the price information and a click handler to facilitate copying the item's name var attachExtraPanelsAndListeners = function(itemNamePanels) { for (var i = 0, length = itemNamePanels.length; i < length; i++) { var itemNamePanel = itemNamePanels[i]; // create our own panel to append.. var extraPanel = document.createElement('div'); extraPanel.innerHTML = "<span class='scriptStatus'>Ready</span>"; extraPanel.setAttribute("class", "extraPanel"); // ..and do so itemNamePanel.appendChild(extraPanel); // set mouseover event listener on the item itemNamePanel.parentNode.addEventListener("mouseover", getLowestPriceHandler, false); // set click event handler for the item's name panel so that the item name can be copied to the clipboard easier itemNamePanel.addEventListener("click", copyItemNameHandler, false); } } // attach a mutation observer on the target item container var attachMutationObserver = function(target) { // create an observer instance var observer = new MutationObserver(function(mutations) { // we`re intereste only in mutations that add nodes. This skips the mutation introduced by the "Add item to offer" button's removal if (mutations.length == 1 && mutations[0].removedNodes.length > 0) { return; } // when the mutation happens, augment the new items with price info and etc. itemNamePanels = target.querySelectorAll(".item .name"); attachExtraPanelsAndListeners(itemNamePanels); }); // configuration of the observer var config = { childList: true }; // pass in the target node, as well as the observer options observer.observe(target, config); } // event handler to grab the price var getLowestPriceHandler = function() { var itemNameElement = this.querySelector(".name"); // don`t try to get the price if we've already retrieved it if (itemNameElement.querySelector(".scriptStatus").innerHTML != "Ready") { return; } var theItem = itemNameElement.querySelector("b").innerHTML.trim(); var theItemString = encodeURIComponent(theItem); // from Steam's community market website var appID = 570; itemNameElement.querySelector(".scriptStatus").innerHTML = "Loading..."; GM_xmlhttpRequest({ method: "GET", url: "http://steamcommunity.com/market/listings/" + appID + "/" + theItemString + "/", onload: function (response) { var httpResponse = response.responseText; var match = lowestPriceWithFeeRegExp.exec(httpResponse); var priceWithFee = "<span class='" + (match ? "itemMarketable'>" + match[1] : "itemNotMarketable'>Not Marketable") + "</span>"; match = lowestPriceWithoutFeeRegExp.exec(httpResponse); var priceWithoutFee = match ? match[1] + " - without fee (seller receives)" : ""; itemNameElement.querySelector(".scriptStatus").innerHTML = "<span title='" + priceWithoutFee + "'>" + priceWithFee + "</span>"; } }); } // cached RegExps used to read the item's value from the Steam page. var lowestPriceWithFeeRegExp = /<span class="market_listing_price market_listing_price_with_fee">\s*(.*?)\s*<\/span>/i; var lowestPriceWithoutFeeRegExp = /<span class="market_listing_price market_listing_price_without_fee">\s*(.*?)\s*<\/span>/i; // event handler to facilitate copying an item's name var copyItemNameHandler = function(event) { // stop the element's parent (item) from getting the click event. This stops the item from being selected event.stopPropagation() // make sure we select the item name element var itemNameElement = event.target; while (!hasClass(itemNameElement, "name")) { itemNameElement = itemNameElement.parentNode; } // get and display the item's name var itemName = itemNameElement.querySelector("b").innerHTML.trim(); window.prompt("Press CTRL+C to copy the item's name:", itemName); } // helper method to check if an element has the specified class name var hasClass = function(element, cls) { return (" " + element.className + " ").indexOf(" " + cls + " ") > -1; } // style GM_addStyle(".itemNotMarketable { color : red } .itemMarketable { color: green }"); // initialize the script once the page has finished loading window.onload = initialize;[/size][size=4][/size] 5.Профит цены берутся с маркета Изменено 11 декабря 2013 пользователем Karras кек Поделиться сообщением Ссылка на сообщение
jim007 #3793 11 декабря 2013 добавьте у кого там хс за ключhttp://steamcommunity.com/id/higart Поделиться сообщением Ссылка на сообщение
Snob #3794 11 декабря 2013 скрипт, для отображения цен на d2longe.com 1. У Вас должен стоять Google Chrome 2. Устанавливаем расширение Tampermonkey 3. Добавляем новый скрипт скрин 4. Сам скрипт: // ==UserScript== // @name Dota 2 Lounge item price displayer // @namespace http://www.enygma.ro // @version 1.1 // @author Enygma // @description Displays an item's lowest price offer from the Steam community market and also provides a helper to copy an item's name by clicking the panel under it. Based on the "Steam Market Price Matcher" script by tomatolicious available at http://userscripts.org/scripts/source/154071.user.js // @license GPL version 3 or any later version; http://www.gnu.org/copyleft/gpl.html // @include http://dota2lounge.com/* // @updateURL http://userscripts.org/scripts/source/182588.user.js // @downloadURL http://userscripts.org/scripts/source/182588.user.js // @grant GM_xmlhttpRequest // @grant GM_addStyle // ==/UserScript== // initialize the script for the items on the page var initialize = function() { // find each item's name panel/slot var itemNamePanels = document.querySelectorAll(".item .name"); attachExtraPanelsAndListeners(itemNamePanels); // watch the right list of items for changes, when it exists var rightItemList = document.querySelector("#rightlist #itemlist"); if (rightItemList) { attachMutationObserver(rightItemList); } var offerPanel = document.querySelector("#messages #offer"); if (offerPanel) { attachMutationObserver(offerPanel); } } // add to each item's name panel an extra panel that contains the price information and a click handler to facilitate copying the item's name var attachExtraPanelsAndListeners = function(itemNamePanels) { for (var i = 0, length = itemNamePanels.length; i < length; i++) { var itemNamePanel = itemNamePanels[i]; // create our own panel to append.. var extraPanel = document.createElement('div'); extraPanel.innerHTML = "[/size][size=4]Ready[/size][size=4]"; extraPanel.setAttribute("class", "extraPanel"); // ..and do so itemNamePanel.appendChild(extraPanel); // set mouseover event listener on the item itemNamePanel.parentNode.addEventListener("mouseover", getLowestPriceHandler, false); // set click event handler for the item's name panel so that the item name can be copied to the clipboard easier itemNamePanel.addEventListener("click", copyItemNameHandler, false); } } // attach a mutation observer on the target item container var attachMutationObserver = function(target) { // create an observer instance var observer = new MutationObserver(function(mutations) { // we`re intereste only in mutations that add nodes. This skips the mutation introduced by the "Add item to offer" button's removal if (mutations.length == 1 && mutations[0].removedNodes.length > 0) { return; } // when the mutation happens, augment the new items with price info and etc. itemNamePanels = target.querySelectorAll(".item .name"); attachExtraPanelsAndListeners(itemNamePanels); }); // configuration of the observer var config = { childList: true }; // pass in the target node, as well as the observer options observer.observe(target, config); } // event handler to grab the price var getLowestPriceHandler = function() { var itemNameElement = this.querySelector(".name"); // don`t try to get the price if we've already retrieved it if (itemNameElement.querySelector(".scriptStatus").innerHTML != "Ready") { return; } var theItem = itemNameElement.querySelector("b").innerHTML.trim(); var theItemString = encodeURIComponent(theItem); // from Steam's community market website var appID = 570; itemNameElement.querySelector(".scriptStatus").innerHTML = "Loading..."; GM_xmlhttpRequest({ method: "GET", url: "http://steamcommunity.com/market/listings/" + appID + "/" + theItemString + "/", onload: function (response) { var httpResponse = response.responseText; var match = lowestPriceWithFeeRegExp.exec(httpResponse); var priceWithFee = "[/size][size=4]" + match[1] : "itemNotMarketable'>Not Marketable") + "[/size][size=4]"; match = lowestPriceWithoutFeeRegExp.exec(httpResponse); var priceWithoutFee = match ? match[1] + " - without fee (seller receives)" : ""; itemNameElement.querySelector(".scriptStatus").innerHTML = "[/size][size=4]" + priceWithFee + "[/size][size=4]"; } }); } // cached RegExps used to read the item's value from the Steam page. var lowestPriceWithFeeRegExp = /[/size][size=4]\s*(.*?)\s*<\/span>/i; var lowestPriceWithoutFeeRegExp = /\s*(.*?)\s*<\/span>/i; // event handler to facilitate copying an item's name var copyItemNameHandler = function(event) { // stop the element's parent (item) from getting the click event. This stops the item from being selected event.stopPropagation() // make sure we select the item name element var itemNameElement = event.target; while (!hasClass(itemNameElement, "name")) { itemNameElement = itemNameElement.parentNode; } // get and display the item's name var itemName = itemNameElement.querySelector("b").innerHTML.trim(); window.prompt("Press CTRL+C to copy the item's name:", itemName); } // helper method to check if an element has the specified class name var hasClass = function(element, cls) { return (" " + element.className + " ").indexOf(" " + cls + " ") > -1; } // style GM_addStyle(".itemNotMarketable { color : red } .itemMarketable { color: green }"); // initialize the script once the page has finished loading window.onload = initialize; 5.Профит цены берутся с маркета вроде не было тут HOT BEDесли буду на лаунже после фроствиуса барыжить, установлю пожалуйхотя вряд ли, лаунж гниль ебаная, уровня прошлогодних трейд каналов Поделиться сообщением Ссылка на сообщение
Charg #3795 11 декабря 2013 Подскажите пожалуйста, какой камень даёт эффект куре и какой эффект наиболее красив, а так же примерные цены.Большое спасибо!Ты не вписываешься в местную атмосферу.Да похуй, мне хепл нуженВот теперь вписываешься http://steamcommunity.com/id/charg/ Элитный гуглтранслейт:you just uhueli its price and so I 8 for 6 otdoyu Поделиться сообщением Ссылка на сообщение
Chicher1n #3796 11 декабря 2013 скрипт, для отображения цен на d2longe.com 1. У Вас должен стоять Google Chrome 2. Устанавливаем расширение Tampermonkey 3. Добавляем новый скрипт скрин 4. Сам скрипт: // ==UserScript== // @name Dota 2 Lounge item price displayer // @namespace http://www.enygma.ro // @version 1.1 // @author Enygma // @description Displays an item's lowest price offer from the Steam community market and also provides a helper to copy an item's name by clicking the panel under it. Based on the "Steam Market Price Matcher" script by tomatolicious available at http://userscripts.org/scripts/source/154071.user.js // @license GPL version 3 or any later version; http://www.gnu.org/copyleft/gpl.html // @include http://dota2lounge.com/* // @updateURL http://userscripts.org/scripts/source/182588.user.js // @downloadURL http://userscripts.org/scripts/source/182588.user.js // @grant GM_xmlhttpRequest // @grant GM_addStyle // ==/UserScript== // initialize the script for the items on the page var initialize = function() { // find each item's name panel/slot var itemNamePanels = document.querySelectorAll(".item .name"); attachExtraPanelsAndListeners(itemNamePanels); // watch the right list of items for changes, when it exists var rightItemList = document.querySelector("#rightlist #itemlist"); if (rightItemList) { attachMutationObserver(rightItemList); } var offerPanel = document.querySelector("#messages #offer"); if (offerPanel) { attachMutationObserver(offerPanel); } } // add to each item's name panel an extra panel that contains the price information and a click handler to facilitate copying the item's name var attachExtraPanelsAndListeners = function(itemNamePanels) { for (var i = 0, length = itemNamePanels.length; i < length; i++) { var itemNamePanel = itemNamePanels[i]; // create our own panel to append.. var extraPanel = document.createElement('div'); extraPanel.innerHTML = "[/size][size=4]Ready[/size][size=4]"; extraPanel.setAttribute("class", "extraPanel"); // ..and do so itemNamePanel.appendChild(extraPanel); // set mouseover event listener on the item itemNamePanel.parentNode.addEventListener("mouseover", getLowestPriceHandler, false); // set click event handler for the item's name panel so that the item name can be copied to the clipboard easier itemNamePanel.addEventListener("click", copyItemNameHandler, false); } } // attach a mutation observer on the target item container var attachMutationObserver = function(target) { // create an observer instance var observer = new MutationObserver(function(mutations) { // we`re intereste only in mutations that add nodes. This skips the mutation introduced by the "Add item to offer" button's removal if (mutations.length == 1 && mutations[0].removedNodes.length > 0) { return; } // when the mutation happens, augment the new items with price info and etc. itemNamePanels = target.querySelectorAll(".item .name"); attachExtraPanelsAndListeners(itemNamePanels); }); // configuration of the observer var config = { childList: true }; // pass in the target node, as well as the observer options observer.observe(target, config); } // event handler to grab the price var getLowestPriceHandler = function() { var itemNameElement = this.querySelector(".name"); // don`t try to get the price if we've already retrieved it if (itemNameElement.querySelector(".scriptStatus").innerHTML != "Ready") { return; } var theItem = itemNameElement.querySelector("b").innerHTML.trim(); var theItemString = encodeURIComponent(theItem); // from Steam's community market website var appID = 570; itemNameElement.querySelector(".scriptStatus").innerHTML = "Loading..."; GM_xmlhttpRequest({ method: "GET", url: "http://steamcommunity.com/market/listings/" + appID + "/" + theItemString + "/", onload: function (response) { var httpResponse = response.responseText; var match = lowestPriceWithFeeRegExp.exec(httpResponse); var priceWithFee = "[/size][size=4]" + match[1] : "itemNotMarketable'>Not Marketable") + "[/size][size=4]"; match = lowestPriceWithoutFeeRegExp.exec(httpResponse); var priceWithoutFee = match ? match[1] + " - without fee (seller receives)" : ""; itemNameElement.querySelector(".scriptStatus").innerHTML = "[/size][size=4]" + priceWithFee + "[/size][size=4]"; } }); } // cached RegExps used to read the item's value from the Steam page. var lowestPriceWithFeeRegExp = /[/size][size=4]\s*(.*?)\s*<\/span>/i; var lowestPriceWithoutFeeRegExp = /\s*(.*?)\s*<\/span>/i; // event handler to facilitate copying an item's name var copyItemNameHandler = function(event) { // stop the element's parent (item) from getting the click event. This stops the item from being selected event.stopPropagation() // make sure we select the item name element var itemNameElement = event.target; while (!hasClass(itemNameElement, "name")) { itemNameElement = itemNameElement.parentNode; } // get and display the item's name var itemName = itemNameElement.querySelector("b").innerHTML.trim(); window.prompt("Press CTRL+C to copy the item's name:", itemName); } // helper method to check if an element has the specified class name var hasClass = function(element, cls) { return (" " + element.className + " ").indexOf(" " + cls + " ") > -1; } // style GM_addStyle(".itemNotMarketable { color : red } .itemMarketable { color: green }"); // initialize the script once the page has finished loading window.onload = initialize; 5.Профит цены берутся с маркета вроде не было тут ахуенно,а на опере никак не попрет? http://steamcommunity.com/id/Chicher1n Поделиться сообщением Ссылка на сообщение
zebn #3797 11 декабря 2013 типа палю вам новый (или не новый?) развод лохов: добавляется типок, кидает ссыль на трейд, там за какойнибудь хуёвый ункомон с тегом разные челы офферят типа 25-30к, пишут ой какой он классный, прям хочу хочу, даю 25 к прям щас и тд. OFFICIAL ANTIKAKEL SQUAD LEADER Поделиться сообщением Ссылка на сообщение
Гость Akiyama Mio #3798 11 декабря 2013 скрипт, для отображения цен на d2longe.com 1. У Вас должен стоять Google Chrome 2. Устанавливаем расширение Tampermonkey 3. Добавляем новый скрипт скрин 4. Сам скрипт: // ==UserScript== // @name Dota 2 Lounge item price displayer // @namespace http://www.enygma.ro // @version 1.1 // @author Enygma // @description Displays an item's lowest price offer from the Steam community market and also provides a helper to copy an item's name by clicking the panel under it. Based on the "Steam Market Price Matcher" script by tomatolicious available at http://userscripts.org/scripts/source/154071.user.js // @license GPL version 3 or any later version; http://www.gnu.org/copyleft/gpl.html // @include http://dota2lounge.com/* // @updateURL http://userscripts.org/scripts/source/182588.user.js // @downloadURL http://userscripts.org/scripts/source/182588.user.js // @grant GM_xmlhttpRequest // @grant GM_addStyle // ==/UserScript== // initialize the script for the items on the page var initialize = function() { // find each item's name panel/slot var itemNamePanels = document.querySelectorAll(".item .name"); attachExtraPanelsAndListeners(itemNamePanels); // watch the right list of items for changes, when it exists var rightItemList = document.querySelector("#rightlist #itemlist"); if (rightItemList) { attachMutationObserver(rightItemList); } var offerPanel = document.querySelector("#messages #offer"); if (offerPanel) { attachMutationObserver(offerPanel); } } // add to each item's name panel an extra panel that contains the price information and a click handler to facilitate copying the item's name var attachExtraPanelsAndListeners = function(itemNamePanels) { for (var i = 0, length = itemNamePanels.length; i < length; i++) { var itemNamePanel = itemNamePanels[i]; // create our own panel to append.. var extraPanel = document.createElement('div'); extraPanel.innerHTML = "[/size][size=4]Ready[/size][size=4]"; extraPanel.setAttribute("class", "extraPanel"); // ..and do so itemNamePanel.appendChild(extraPanel); // set mouseover event listener on the item itemNamePanel.parentNode.addEventListener("mouseover", getLowestPriceHandler, false); // set click event handler for the item's name panel so that the item name can be copied to the clipboard easier itemNamePanel.addEventListener("click", copyItemNameHandler, false); } } // attach a mutation observer on the target item container var attachMutationObserver = function(target) { // create an observer instance var observer = new MutationObserver(function(mutations) { // we`re intereste only in mutations that add nodes. This skips the mutation introduced by the "Add item to offer" button's removal if (mutations.length == 1 && mutations[0].removedNodes.length > 0) { return; } // when the mutation happens, augment the new items with price info and etc. itemNamePanels = target.querySelectorAll(".item .name"); attachExtraPanelsAndListeners(itemNamePanels); }); // configuration of the observer var config = { childList: true }; // pass in the target node, as well as the observer options observer.observe(target, config); } // event handler to grab the price var getLowestPriceHandler = function() { var itemNameElement = this.querySelector(".name"); // don`t try to get the price if we've already retrieved it if (itemNameElement.querySelector(".scriptStatus").innerHTML != "Ready") { return; } var theItem = itemNameElement.querySelector("b").innerHTML.trim(); var theItemString = encodeURIComponent(theItem); // from Steam's community market website var appID = 570; itemNameElement.querySelector(".scriptStatus").innerHTML = "Loading..."; GM_xmlhttpRequest({ method: "GET", url: "http://steamcommunity.com/market/listings/" + appID + "/" + theItemString + "/", onload: function (response) { var httpResponse = response.responseText; var match = lowestPriceWithFeeRegExp.exec(httpResponse); var priceWithFee = "[/size][size=4]" + match[1] : "itemNotMarketable'>Not Marketable") + "[/size][size=4]"; match = lowestPriceWithoutFeeRegExp.exec(httpResponse); var priceWithoutFee = match ? match[1] + " - without fee (seller receives)" : ""; itemNameElement.querySelector(".scriptStatus").innerHTML = "[/size][size=4]" + priceWithFee + "[/size][size=4]"; } }); } // cached RegExps used to read the item's value from the Steam page. var lowestPriceWithFeeRegExp = /[/size][size=4]\s*(.*?)\s*<\/span>/i; var lowestPriceWithoutFeeRegExp = /\s*(.*?)\s*<\/span>/i; // event handler to facilitate copying an item's name var copyItemNameHandler = function(event) { // stop the element's parent (item) from getting the click event. This stops the item from being selected event.stopPropagation() // make sure we select the item name element var itemNameElement = event.target; while (!hasClass(itemNameElement, "name")) { itemNameElement = itemNameElement.parentNode; } // get and display the item's name var itemName = itemNameElement.querySelector("b").innerHTML.trim(); window.prompt("Press CTRL+C to copy the item's name:", itemName); } // helper method to check if an element has the specified class name var hasClass = function(element, cls) { return (" " + element.className + " ").indexOf(" " + cls + " ") > -1; } // style GM_addStyle(".itemNotMarketable { color : red } .itemMarketable { color: green }"); // initialize the script once the page has finished loading window.onload = initialize; 5.Профит цены берутся с маркета вроде не было тут HOT BEDесли буду на лаунже после фроствиуса барыжить, установлю пожалуйхотя вряд ли, лаунж гниль ебаная, уровня прошлогодних трейд каналовПрав, слишком много отбитышей там Поделиться сообщением Ссылка на сообщение
imhatep #3799 11 декабря 2013 скрипт, для отображения цен на d2longe.com 1. У Вас должен стоять Google Chrome 2. Устанавливаем расширение Tampermonkey 3. Добавляем новый скрипт скрин 4. Сам скрипт: // ==UserScript== // @name Dota 2 Lounge item price displayer // @namespace http://www.enygma.ro // @version 1.1 // @author Enygma // @description Displays an item's lowest price offer from the Steam community market and also provides a helper to copy an item's name by clicking the panel under it. Based on the "Steam Market Price Matcher" script by tomatolicious available at http://userscripts.org/scripts/source/154071.user.js // @license GPL version 3 or any later version; http://www.gnu.org/copyleft/gpl.html // @include http://dota2lounge.com/* // @updateURL http://userscripts.org/scripts/source/182588.user.js // @downloadURL http://userscripts.org/scripts/source/182588.user.js // @grant GM_xmlhttpRequest // @grant GM_addStyle // ==/UserScript== // initialize the script for the items on the page var initialize = function() { // find each item's name panel/slot var itemNamePanels = document.querySelectorAll(".item .name"); attachExtraPanelsAndListeners(itemNamePanels); // watch the right list of items for changes, when it exists var rightItemList = document.querySelector("#rightlist #itemlist"); if (rightItemList) { attachMutationObserver(rightItemList); } var offerPanel = document.querySelector("#messages #offer"); if (offerPanel) { attachMutationObserver(offerPanel); } } // add to each item's name panel an extra panel that contains the price information and a click handler to facilitate copying the item's name var attachExtraPanelsAndListeners = function(itemNamePanels) { for (var i = 0, length = itemNamePanels.length; i < length; i++) { var itemNamePanel = itemNamePanels[i]; // create our own panel to append.. var extraPanel = document.createElement('div'); extraPanel.innerHTML = "[/size][size=4]Ready[/size][size=4]"; extraPanel.setAttribute("class", "extraPanel"); // ..and do so itemNamePanel.appendChild(extraPanel); // set mouseover event listener on the item itemNamePanel.parentNode.addEventListener("mouseover", getLowestPriceHandler, false); // set click event handler for the item's name panel so that the item name can be copied to the clipboard easier itemNamePanel.addEventListener("click", copyItemNameHandler, false); } } // attach a mutation observer on the target item container var attachMutationObserver = function(target) { // create an observer instance var observer = new MutationObserver(function(mutations) { // we`re intereste only in mutations that add nodes. This skips the mutation introduced by the "Add item to offer" button's removal if (mutations.length == 1 && mutations[0].removedNodes.length > 0) { return; } // when the mutation happens, augment the new items with price info and etc. itemNamePanels = target.querySelectorAll(".item .name"); attachExtraPanelsAndListeners(itemNamePanels); }); // configuration of the observer var config = { childList: true }; // pass in the target node, as well as the observer options observer.observe(target, config); } // event handler to grab the price var getLowestPriceHandler = function() { var itemNameElement = this.querySelector(".name"); // don`t try to get the price if we've already retrieved it if (itemNameElement.querySelector(".scriptStatus").innerHTML != "Ready") { return; } var theItem = itemNameElement.querySelector("b").innerHTML.trim(); var theItemString = encodeURIComponent(theItem); // from Steam's community market website var appID = 570; itemNameElement.querySelector(".scriptStatus").innerHTML = "Loading..."; GM_xmlhttpRequest({ method: "GET", url: "http://steamcommunity.com/market/listings/" + appID + "/" + theItemString + "/", onload: function (response) { var httpResponse = response.responseText; var match = lowestPriceWithFeeRegExp.exec(httpResponse); var priceWithFee = "[/size][size=4]" + match[1] : "itemNotMarketable'>Not Marketable") + "[/size][size=4]"; match = lowestPriceWithoutFeeRegExp.exec(httpResponse); var priceWithoutFee = match ? match[1] + " - without fee (seller receives)" : ""; itemNameElement.querySelector(".scriptStatus").innerHTML = "[/size][size=4]" + priceWithFee + "[/size][size=4]"; } }); } // cached RegExps used to read the item's value from the Steam page. var lowestPriceWithFeeRegExp = /[/size][size=4]\s*(.*?)\s*<\/span>/i; var lowestPriceWithoutFeeRegExp = /\s*(.*?)\s*<\/span>/i; // event handler to facilitate copying an item's name var copyItemNameHandler = function(event) { // stop the element's parent (item) from getting the click event. This stops the item from being selected event.stopPropagation() // make sure we select the item name element var itemNameElement = event.target; while (!hasClass(itemNameElement, "name")) { itemNameElement = itemNameElement.parentNode; } // get and display the item's name var itemName = itemNameElement.querySelector("b").innerHTML.trim(); window.prompt("Press CTRL+C to copy the item's name:", itemName); } // helper method to check if an element has the specified class name var hasClass = function(element, cls) { return (" " + element.className + " ").indexOf(" " + cls + " ") > -1; } // style GM_addStyle(".itemNotMarketable { color : red } .itemMarketable { color: green }"); // initialize the script once the page has finished loading window.onload = initialize; 5.Профит цены берутся с маркета вроде не было тут HOT BEDесли буду на лаунже после фроствиуса барыжить, установлю пожалуйхотя вряд ли, лаунж гниль ебаная, уровня прошлогодних трейд каналов чеа где сидит елита ? На редите ? кюты пидор Поделиться сообщением Ссылка на сообщение
Гость Akiyama Mio #3800 11 декабря 2013 скрипт, для отображения цен на d2longe.com 1. У Вас должен стоять Google Chrome 2. Устанавливаем расширение Tampermonkey 3. Добавляем новый скрипт скрин 4. Сам скрипт: // ==UserScript== // @name Dota 2 Lounge item price displayer // @namespace http://www.enygma.ro // @version 1.1 // @author Enygma // @description Displays an item's lowest price offer from the Steam community market and also provides a helper to copy an item's name by clicking the panel under it. Based on the "Steam Market Price Matcher" script by tomatolicious available at http://userscripts.org/scripts/source/154071.user.js // @license GPL version 3 or any later version; http://www.gnu.org/copyleft/gpl.html // @include http://dota2lounge.com/* // @updateURL http://userscripts.org/scripts/source/182588.user.js // @downloadURL http://userscripts.org/scripts/source/182588.user.js // @grant GM_xmlhttpRequest // @grant GM_addStyle // ==/UserScript== // initialize the script for the items on the page var initialize = function() { // find each item's name panel/slot var itemNamePanels = document.querySelectorAll(".item .name"); attachExtraPanelsAndListeners(itemNamePanels); // watch the right list of items for changes, when it exists var rightItemList = document.querySelector("#rightlist #itemlist"); if (rightItemList) { attachMutationObserver(rightItemList); } var offerPanel = document.querySelector("#messages #offer"); if (offerPanel) { attachMutationObserver(offerPanel); } } // add to each item's name panel an extra panel that contains the price information and a click handler to facilitate copying the item's name var attachExtraPanelsAndListeners = function(itemNamePanels) { for (var i = 0, length = itemNamePanels.length; i < length; i++) { var itemNamePanel = itemNamePanels[i]; // create our own panel to append.. var extraPanel = document.createElement('div'); extraPanel.innerHTML = "[/size][size=4]Ready[/size][size=4]"; extraPanel.setAttribute("class", "extraPanel"); // ..and do so itemNamePanel.appendChild(extraPanel); // set mouseover event listener on the item itemNamePanel.parentNode.addEventListener("mouseover", getLowestPriceHandler, false); // set click event handler for the item's name panel so that the item name can be copied to the clipboard easier itemNamePanel.addEventListener("click", copyItemNameHandler, false); } } // attach a mutation observer on the target item container var attachMutationObserver = function(target) { // create an observer instance var observer = new MutationObserver(function(mutations) { // we`re intereste only in mutations that add nodes. This skips the mutation introduced by the "Add item to offer" button's removal if (mutations.length == 1 && mutations[0].removedNodes.length > 0) { return; } // when the mutation happens, augment the new items with price info and etc. itemNamePanels = target.querySelectorAll(".item .name"); attachExtraPanelsAndListeners(itemNamePanels); }); // configuration of the observer var config = { childList: true }; // pass in the target node, as well as the observer options observer.observe(target, config); } // event handler to grab the price var getLowestPriceHandler = function() { var itemNameElement = this.querySelector(".name"); // don`t try to get the price if we've already retrieved it if (itemNameElement.querySelector(".scriptStatus").innerHTML != "Ready") { return; } var theItem = itemNameElement.querySelector("b").innerHTML.trim(); var theItemString = encodeURIComponent(theItem); // from Steam's community market website var appID = 570; itemNameElement.querySelector(".scriptStatus").innerHTML = "Loading..."; GM_xmlhttpRequest({ method: "GET", url: "http://steamcommunity.com/market/listings/" + appID + "/" + theItemString + "/", onload: function (response) { var httpResponse = response.responseText; var match = lowestPriceWithFeeRegExp.exec(httpResponse); var priceWithFee = "[/size][size=4]" + match[1] : "itemNotMarketable'>Not Marketable") + "[/size][size=4]"; match = lowestPriceWithoutFeeRegExp.exec(httpResponse); var priceWithoutFee = match ? match[1] + " - without fee (seller receives)" : ""; itemNameElement.querySelector(".scriptStatus").innerHTML = "[/size][size=4]" + priceWithFee + "[/size][size=4]"; } }); } // cached RegExps used to read the item's value from the Steam page. var lowestPriceWithFeeRegExp = /[/size][size=4]\s*(.*?)\s*<\/span>/i; var lowestPriceWithoutFeeRegExp = /\s*(.*?)\s*<\/span>/i; // event handler to facilitate copying an item's name var copyItemNameHandler = function(event) { // stop the element's parent (item) from getting the click event. This stops the item from being selected event.stopPropagation() // make sure we select the item name element var itemNameElement = event.target; while (!hasClass(itemNameElement, "name")) { itemNameElement = itemNameElement.parentNode; } // get and display the item's name var itemName = itemNameElement.querySelector("b").innerHTML.trim(); window.prompt("Press CTRL+C to copy the item's name:", itemName); } // helper method to check if an element has the specified class name var hasClass = function(element, cls) { return (" " + element.className + " ").indexOf(" " + cls + " ") > -1; } // style GM_addStyle(".itemNotMarketable { color : red } .itemMarketable { color: green }"); // initialize the script once the page has finished loading window.onload = initialize; 5.Профит цены берутся с маркета вроде не было тут HOT BEDесли буду на лаунже после фроствиуса барыжить, установлю пожалуйхотя вряд ли, лаунж гниль ебаная, уровня прошлогодних трейд каналов чеа где сидит елита ? На редите ?На маркете Поделиться сообщением Ссылка на сообщение