VladEul #1 Опубликовано: 10 мая 2012 Дайте линк на топик,или напишите как скрыть нахйу дотаразделы? пусть хотя-бы до утра темка повисит Поделиться сообщением Ссылка на сообщение
Mizakylt #2 10 мая 2012 http://prodota.ru/forum2/index.php?topic=212938.0 ctrl+f "ИГНОРИМ КОНЧЕННЫХ ЮЗЕРОВ" profit Скрытый текст Откровения бай жумонг Фурион фурион по фарму чемпион [media=] [/media] [media=] [/media] Откуда столько денег у этого пидараса Все это лишь заслуга Hand of midas'a Я зарабатываю столько голды в минуту Что все вокруг кричат - "Ты что ебанутый?" К 40 минут я богаче чем Jay-Z И если не нравится то лучше хуй мой отсоси Чтобы разбогатеть не нужно мне потеть Я нажимаю ульт и деньги начинают течь Ох как мне надоели все эти нищеброды Вокруг меня не тима, а просто цирк уродов Ну что у тебя есть, давай ка покажи Два брасера и стик - ебать вы все бомжи И как вообще возможно - с такой командой победить Не могут даже три крипа в минуту зафармить Пойду я лучше пушить - пошли они все нахуй Вот сделаю Treant'ов - снесу врагам бараки Фурион, фурион - по фарму чемпион Быстрее всех голду зарабатывает он Лучший фармила в доте - это Nature's Profit Нам базу уже сносят - а он фармит и ему пофиг Фурион, фурион - штопаный гандон Своей команде не помогает он Себе быстрее всех приобрете шесть слотов Ну а потом в итоге все равно всосет в проглотом Какого хуя сука я снова проиграл Себе купил криты лотар и даже абиссал Да сборка неплохая, с нег мог я бить ебала Но базу нам снесли, похоже тима подкачала Ну ладно ничего, но в следующей игре Куплю рефрешер чтобы весь фарм забрать себе Затем я сразу точно куплю себе рапиру Наверно только так смогу выигрывать я игры Пацан сказал и сделал - он фармил как бог К 28 минуте купить рапиру смог С руки 400 урона это вам не шутка Вот это дпс, да я дамажу жутко Теперь я всем в секунду сломаю их ебала Но вижу я кристалку - ну сука ты попала Ах ебаный ты нахуй, тут сраный рикимару Да бля моя рапира, все сука я ливаю Фурион фурион по фарму чемпион Быстрее всех голду зарабатывает он Лучший фармила в доте - это Nature's Profit Нам базу уже сносят - а он фармит и ему пофиг Фурион, фурион - какой ты хуесос За всю игру врагам ты даже товера не снес Фармить за фуриона сможет даже обезьяна Такие нубы нам сливают игры постоянно 10 из 10, господи 10 из 10 [media=] [/media] [media=] [/media] Поделиться сообщением Ссылка на сообщение
Гость romashe4ka #4 11 мая 2012 В общем, думаю стоит добавить в первый пост. Я только что переустанавливал браузер и на 30 секунд увидел, как же видят продоту новоприбывшие пользователи. Одним белым дизайном тут не обойтись, добавляю инфу про адблоки. В идеале нужно поставить два Адблока: 1. AdBlock. 2. AdBlock+. По обоим ссылкам "Установить" или "Add to Chrome". Первое расширение блокирует всплывающую рекламу и её адские звуки, второе позволяет самому блокировать различные элементы форума (например, разделы и блоки). Чтобы заблокировать раздел, необходимо кликнуть по значку AdBlock+ и затем навести курсор на раздел (или другой ненужный элемент) так, чтобы он был подсвечен фильтром, после чего кликнуть ещё раз. Годная, белая продота без рекламы и лишней хуйни выглядит примерно так: Добавил в первый пост. Поделиться сообщением Ссылка на сообщение
Mizakylt #6 11 мая 2012 Или это Игнорируем посты пользователей. Firefox: 1. Устанавливаем расширение GreaseMonkey https://addons.mozilla.org/ru/firefox/addon/greasemonkey/ 2. Качаем файл сохраняем на рабочий стол ссылкаhttp://www.fayloobmennik.net/1699597 3. В коде строки banned.push(1); отвечают за id юзера, которого вы хотите игнорировать. Просто копируем и в столбик добавляем нужные id. (!В примере баняться пользователи с id 1 и 2) 4. В фф нажимаем Ctrl+O и открываем наш скрипт. Диалог открытия скрипта Ждем 5 секунд и нажимаем "Начать установку" 5. В правом верхнем углу видим иконку GreaseMonkey Иконка GM Жмем на стрелочку вниз и выбираем пункт меню "Управление скриптами..." Видим наш скрипт и жмем кнопку "Настройки" Скрипт Делаем так как показано на скрине и жмем ОК Настройка Если сделали все правильно, то на ПД скрипт будет работать. Скрипт работает 7. Все, теперь id тех пользователей, которых вы записали в banned.push(id); скрипт будет проверять и вы не будете видеть их посты. Chrome: 1. Ставим дополнение https://chrome.google.com/webstore/detail/dhdgffkkebhmkfjojejmpbldmpobfkfo/related?hl=ru 2. Нажимаем на иконку TamperMonkey в меню выбираем "Add a new script" Add script 3. Копируем код из файла ссылка на файлhttp://www.fayloobmennik.net/1699585 (В коде строки banned.push(1); отвечают за id юзера, которого вы хотите игнорировать. Просто копируем и в столбик добавляем нужные id. (!В примере баняться пользователи с id 1 и 2)) и полностью заменяем все что в окне скрипта и жмем save Save 4. Если все правильно, на ПД скрипт должен работать Работает! Opera: 1. Создаем где угодно папку с любым именем и создаем там 2 тхт файла: 1) с названием GM.js и вставляем код Код GM// emulate GM functions by TarquinWJ // version 1.3.1 // see http://www.howtocreate.co.uk/operaStuff/userJavaScript.html for details function GM_setValue( cookieName, cookieValue, lifeTime ) { if( !cookieName ) { return; } if( lifeTime == "delete" ) { lifeTime = -10; } else { lifeTime = 31536000; } document.cookie = escape( cookieName ) + "=" + escape( getRecoverableString( cookieValue ) ) + ";expires=" + ( new Date( ( new Date() ).getTime() + ( 1000 * lifeTime ) ) ).toGMTString() + ";path=/"; } function GM_getValue( cookieName, oDefault ) { var cookieJar = document.cookie.split( "; " ); for( var x = 0; x < cookieJar.length; x++ ) { var oneCookie = cookieJar[x].split( "=" ); if( oneCookie[0] == escape( cookieName ) ) { try { eval('var footm = '+unescape( oneCookie[1] )); } catch(e) { return oDefault; } return footm; } } return oDefault; } function GM_deleteValue( oKey ) { //yes, they didn't seem to provide a way to delete variables in Greasemonkey, and the user must use about:config to //delete them - so the stored variables will pile up forever ... GM_setValue( oKey, '', 'delete' ); } var GM_falsifiedMenuCom = [], hasPageGMloaded = false; window.addEventListener('load',function () {hasPageGMloaded=true;doGMMeenoo();},false) function GM_registerMenuCommand( oText, oFunc ) { GM_falsifiedMenuCom[GM_falsifiedMenuCom.length] = [oText,oFunc]; if( hasPageGMloaded ) { doGMMeenoo(); } //if the page has already loaded, do it now } function doGMMeenoo() { if( !GM_falsifiedMenuCom.length ) { return; } //create a menu of commands in the top corner var foo = document.getElementById('GM_Falsify_me'), bar, par = document.body ? document.body : document.documentElement; if( foo ) { par.removeChild(foo); } foo = document.createElement('GMmenoo'); foo.id = 'GM_Falsify_me'; par.appendChild(foo); with( foo.style ) { border = '1px solid #000'; backgroundColor = '#bbf'; color = '#000'; position = 'fixed'; zIndex = '100000'; top = '0px'; right = '0px'; padding = '2px'; overflow = 'hidden'; height = '1.3em'; } foo.appendChild(bar = document.createElement('b')) bar.style.cursor = 'move'; bar.onclick = function () { this.parentNode.style.left = this.parentNode.style.left ? '' : '0px'; this.parentNode.style.right = this.parentNode.style.right ? '' : '0px'; }; bar.appendChild(document.createTextNode('User Script Commands')); foo.appendChild(bar = document.createElement('ul')); bar.style.margin = '0px'; bar.style.padding = '0px'; bar.style.listStylePosition = 'inside'; for( var i = 0; GM_falsifiedMenuCom[i]; i++ ) { var baz = document.createElement('li'), bing; baz.appendChild(bing = document.createElement('a')); bing.setAttribute('href','#'); bing.onclick = new Function('GM_falsifiedMenuCom['+i+'][1](arguments[0]);return false;'); bing.onfocus = function () { this.parentNode.style.height = ''; }; bing.onblur = function () { this.parentNode.style.height = '1.3em'; }; bing.appendChild(document.createTextNode(GM_falsifiedMenuCom[i][0])); bar.appendChild(baz); } foo.onmouseover = function () { this.style.height = ''; }; foo.onmouseout = function () { this.style.height = '1.3em'; }; } GM_log = opera.postError; window._content = window; function getRecoverableString(oVar,notFirst) { var oType = typeof(oVar); if( ( oType == 'null' ) || ( oType == 'object' && !oVar ) ) { //most browsers say that the typeof for null is 'object', but unlike a real //object, it will not have any overall value return 'null'; } if( oType == 'undefined' ) { return 'window.uDfXZ0_d'; } if( oType == 'object' ) { //Safari throws errors when comparing non-objects with window/document/etc if( oVar == window ) { return 'window'; } if( oVar == document ) { return 'document'; } if( oVar == document.body ) { return 'document.body'; } if( oVar == document.documentElement ) { return 'document.documentElement'; } } if( oVar.nodeType && ( oVar.childNodes || oVar.ownerElement ) ) { return '{error:\'DOM node\'}'; } if( !notFirst ) { Object.prototype.toRecoverableString = function (oBn) { if( this.tempLockIgnoreMe ) { return '{\'LoopBack\'}'; } this.tempLockIgnoreMe = true; var retVal = '{', sepChar = '', j; for( var i in this ) { if( i == 'toRecoverableString' || i == 'tempLockIgnoreMe' || i == 'prototype' || i == 'constructor' ) { continue; } if( oBn && ( i == 'index' || i == 'input' || i == 'length' || i == 'toRecoverableObString' ) ) { continue; } j = this[i]; if( !i.match(basicObPropNameValStr) ) { //for some reason, you cannot use unescape when defining peoperty names inline for( var x = 0; x < cleanStrFromAr.length; x++ ) { i = i.replace(cleanStrFromAr[x],cleanStrToAr[x]); } i = '\''+i+'\''; } else if( window.ActiveXObject && navigator.userAgent.indexOf('Mac') + 1 && !navigator.__ice_version && window.ScriptEngine && ScriptEngine() == 'JScript' && i.match(/^\d+$/) ) { //IE mac does not allow numerical property names to be used unless they are quoted i = '\''+i+'\''; } retVal += sepChar+i+':'+getRecoverableString(j,true); sepChar = ','; } retVal += '}'; this.tempLockIgnoreMe = false; return retVal; }; Array.prototype.toRecoverableObString = Object.prototype.toRecoverableString; Array.prototype.toRecoverableString = function () { if( this.tempLock ) { return '[\'LoopBack\']'; } if( !this.length ) { var oCountProp = 0; for( var i in this ) { if( i != 'toRecoverableString' && i != 'toRecoverableObString' && i != 'tempLockIgnoreMe' && i != 'prototype' && i != 'constructor' && i != 'index' && i != 'input' && i != 'length' ) { oCountProp++; } } if( oCountProp ) { return this.toRecoverableObString(true); } } this.tempLock = true; var retVal = '['; for( var i = 0; i < this.length; i++ ) { retVal += (i?',':'')+getRecoverableString(this[i],true); } retVal += ']'; delete this.tempLock; return retVal; }; Boolean.prototype.toRecoverableString = function () { return ''+this+''; }; Date.prototype.toRecoverableString = function () { return 'new Date('+this.getTime()+')'; }; Function.prototype.toRecoverableString = function () { return this.toString().replace(/^\s+|\s+$/g,'').replace(/^function\s*\w*\([^\)]*\)\s*\{\s*\[native\s+code\]\s*\}$/i,'function () {[\'native code\'];}'); }; Number.prototype.toRecoverableString = function () { if( isNaN(this) ) { return 'Number.NaN'; } if( this == Number.POSITIVE_INFINITY ) { return 'Number.POSITIVE_INFINITY'; } if( this == Number.NEGATIVE_INFINITY ) { return 'Number.NEGATIVE_INFINITY'; } return ''+this+''; }; RegExp.prototype.toRecoverableString = function () { return '\/'+this.source+'\/'+(this.global?'g':'')+(this.ignoreCase?'i':''); }; String.prototype.toRecoverableString = function () { var oTmp = escape(this); if( oTmp == this ) { return '\''+this+'\''; } return 'unescape(\''+oTmp+'\')'; }; } if( !oVar.toRecoverableString ) { return '{error:\'internal object\'}'; } var oTmp = oVar.toRecoverableString(); if( !notFirst ) { //prevent it from changing for...in loops that the page may be using delete Object.prototype.toRecoverableString; delete Array.prototype.toRecoverableObString; delete Array.prototype.toRecoverableString; delete Boolean.prototype.toRecoverableString; delete Date.prototype.toRecoverableString; delete Function.prototype.toRecoverableString; delete Number.prototype.toRecoverableString; delete RegExp.prototype.toRecoverableString; delete String.prototype.toRecoverableString; } return oTmp; } var basicObPropNameValStr = /^\w+$/, cleanStrFromAr = new Array(/\\/g,/'/g,/"/g,/\r/g,/\n/g,/\f/g,/\t/g,new RegExp('-'+'->','g'),new RegExp('<!-'+'-','g'),/\//g), cleanStrToAr = new Array('\\\\','\\\'','\\\"','\\r','\\n','\\f','\\t','-\'+\'->','<!-\'+\'-','\\\/'); /* GM_xmlhttpRequest implementation adapted from the Turnabout GM compatibility library: http://www.reifysoft.com/turnabout.php Used under the following license: Copyright (c) 2005, Reify Software, Inc. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1) Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2) Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3) Neither the name of the Reify Software, Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ //yes, I know the domain limitations, but it's better than an outright error function GM_xmlhttpRequest(details) { var xmlhttp = new XMLHttpRequest(); xmlhttp.onreadystatechange = function() { var responseState = { responseXML:(xmlhttp.readyState==4 ? xmlhttp.responseXML : ''), responseText:(xmlhttp.readyState==4 ? xmlhttp.responseText : ''), readyState:xmlhttp.readyState, responseHeaders:(xmlhttp.readyState==4 ? xmlhttp.getAllResponseHeaders() : ''), status:(xmlhttp.readyState==4 ? xmlhttp.status : 0), statusText:(xmlhttp.readyState==4 ? xmlhttp.statusText : '') } if (details["onreadystatechange"]) { details["onreadystatechange"](responseState); } if (xmlhttp.readyState==4) { if (details["onload"] && xmlhttp.status>=200 && xmlhttp.status<300) { details["onload"](responseState); } if (details["onerror"] && (xmlhttp.status<200 || xmlhttp.status>=300)) { details["onerror"](responseState); } } } try { //cannot do cross domain xmlhttp.open(details.method, details.url); } catch(e) { if( details["onerror"] ) { //simulate a real error details["onerror"]({responseXML:'',responseText:'',readyState:4,responseHeaders:'',status:403,statusText:'Forbidden'}); } return; } if (details.headers) { for (var prop in details.headers) { xmlhttp.setRequestHeader(prop, details.headers[prop]); } } xmlhttp.send((typeof(details.data)!='undefined')?details.data:null); } function GM_addStyle(css) { var NSURI = 'http://www.w3.org/1999/xhtml'; var hashead = document.getElementsByTagName('head')[0]; var parentel = hashead || document.documentElement; var newElement = document.createElementNS(NSURI,'link'); newElement.setAttributeNS(NSURI,'rel','stylesheet'); newElement.setAttributeNS(NSURI,'type','text/css'); newElement.setAttributeNS(NSURI,'href','data:text/css,'+encodeURIComponent(css)); if( hashead ) { parentel.appendChild(newElement); } else { parentel.insertBefore(newElement,parentel.firstChild); } } 2) с именем pd.user.js и вставляем код Код скрипта// ==UserScript== // @name Prodota.ru - ignore list // @namespace www.prodota.ru // @include http://www.prodota.ru/forum2/* // @version 0.1 // @author PCJakeD,afanasij // ==/UserScript== //to make this script working you have to edit "Include Pages" in Greasemonkey settings according to your forum //ie.: "http://www.simplemachines.org/community/index.php?..." transform to "http://www.simplemachines.org/community/*" //edit 'smf_url' line according to your forum //it has to start with "http://" and end with "index.php" var smf_url = 'http://www.prodota.ru/forum2/index.php'; var banned = new Array(); //to ignore user with id 1, 2 a 3 uncomment the following lines, evtl. add more lines in format "banned.push(uid);" banned.push(1); banned.push(2); //banned.push(3); for (var i = 0; i < banned.length; i++){ var uid = banned[i]; var url = 'http://prodota.ru/forum2/index.php?action=profile;u=' + uid; var expression1 = '//body/table/tbody/tr/td/div/div[2]/div[2]/form/div[div[1]/div[1]/h4/a[@href = "'+ url +'"]]'; var expression2 = '//body/table/tbody/tr/td/div/div[2]/div[3]/form/div[div[1]/div[1]/h4/a[@href = "'+ url +'"]]'; var nodes1 = document.evaluate(expression1, document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null); var nodes2 = document.evaluate(expression2, document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null); for (var j = 0; j < nodes1.snapshotLength; j++) { var node1 = nodes1.snapshotItem(j); node1.style.display = 'none'; } for (var j = 0; j < nodes2.snapshotLength; j++) { var node2 = nodes2.snapshotItem(j); node2.style.display = 'none'; } } (В коде строки banned.push(1); отвечают за id юзера, которого вы хотите игнорировать. Просто копируем и в столбик добавляем нужные id. (!В примере баняться пользователи с id 1 и 2)) 3. В папке должы быть 2 скрипта Папка со скриптами 4. Открываем Opera->Настройки->Общие настройки или Crtl+F12 Настройки 5. Ставим галочки на скрине и путь к скриптам (путь к папке, где лежат скрипты) Настройки Скрытый текст Откровения бай жумонг Фурион фурион по фарму чемпион [media=] [/media] [media=] [/media] Откуда столько денег у этого пидараса Все это лишь заслуга Hand of midas'a Я зарабатываю столько голды в минуту Что все вокруг кричат - "Ты что ебанутый?" К 40 минут я богаче чем Jay-Z И если не нравится то лучше хуй мой отсоси Чтобы разбогатеть не нужно мне потеть Я нажимаю ульт и деньги начинают течь Ох как мне надоели все эти нищеброды Вокруг меня не тима, а просто цирк уродов Ну что у тебя есть, давай ка покажи Два брасера и стик - ебать вы все бомжи И как вообще возможно - с такой командой победить Не могут даже три крипа в минуту зафармить Пойду я лучше пушить - пошли они все нахуй Вот сделаю Treant'ов - снесу врагам бараки Фурион, фурион - по фарму чемпион Быстрее всех голду зарабатывает он Лучший фармила в доте - это Nature's Profit Нам базу уже сносят - а он фармит и ему пофиг Фурион, фурион - штопаный гандон Своей команде не помогает он Себе быстрее всех приобрете шесть слотов Ну а потом в итоге все равно всосет в проглотом Какого хуя сука я снова проиграл Себе купил криты лотар и даже абиссал Да сборка неплохая, с нег мог я бить ебала Но базу нам снесли, похоже тима подкачала Ну ладно ничего, но в следующей игре Куплю рефрешер чтобы весь фарм забрать себе Затем я сразу точно куплю себе рапиру Наверно только так смогу выигрывать я игры Пацан сказал и сделал - он фармил как бог К 28 минуте купить рапиру смог С руки 400 урона это вам не шутка Вот это дпс, да я дамажу жутко Теперь я всем в секунду сломаю их ебала Но вижу я кристалку - ну сука ты попала Ах ебаный ты нахуй, тут сраный рикимару Да бля моя рапира, все сука я ливаю Фурион фурион по фарму чемпион Быстрее всех голду зарабатывает он Лучший фармила в доте - это Nature's Profit Нам базу уже сносят - а он фармит и ему пофиг Фурион, фурион - какой ты хуесос За всю игру врагам ты даже товера не снес Фармить за фуриона сможет даже обезьяна Такие нубы нам сливают игры постоянно 10 из 10, господи 10 из 10 [media=] [/media] [media=] [/media] Поделиться сообщением Ссылка на сообщение
VladEul #7 11 мая 2012 Зачем? Друга что-ли хочешь наебать? зашутил так зашутил иди нахуй Поделиться сообщением Ссылка на сообщение
Mizakylt #9 11 мая 2012 Думаю можно закрывать, ответ дали Скрытый текст Откровения бай жумонг Фурион фурион по фарму чемпион [media=] [/media] [media=] [/media] Откуда столько денег у этого пидараса Все это лишь заслуга Hand of midas'a Я зарабатываю столько голды в минуту Что все вокруг кричат - "Ты что ебанутый?" К 40 минут я богаче чем Jay-Z И если не нравится то лучше хуй мой отсоси Чтобы разбогатеть не нужно мне потеть Я нажимаю ульт и деньги начинают течь Ох как мне надоели все эти нищеброды Вокруг меня не тима, а просто цирк уродов Ну что у тебя есть, давай ка покажи Два брасера и стик - ебать вы все бомжи И как вообще возможно - с такой командой победить Не могут даже три крипа в минуту зафармить Пойду я лучше пушить - пошли они все нахуй Вот сделаю Treant'ов - снесу врагам бараки Фурион, фурион - по фарму чемпион Быстрее всех голду зарабатывает он Лучший фармила в доте - это Nature's Profit Нам базу уже сносят - а он фармит и ему пофиг Фурион, фурион - штопаный гандон Своей команде не помогает он Себе быстрее всех приобрете шесть слотов Ну а потом в итоге все равно всосет в проглотом Какого хуя сука я снова проиграл Себе купил криты лотар и даже абиссал Да сборка неплохая, с нег мог я бить ебала Но базу нам снесли, похоже тима подкачала Ну ладно ничего, но в следующей игре Куплю рефрешер чтобы весь фарм забрать себе Затем я сразу точно куплю себе рапиру Наверно только так смогу выигрывать я игры Пацан сказал и сделал - он фармил как бог К 28 минуте купить рапиру смог С руки 400 урона это вам не шутка Вот это дпс, да я дамажу жутко Теперь я всем в секунду сломаю их ебала Но вижу я кристалку - ну сука ты попала Ах ебаный ты нахуй, тут сраный рикимару Да бля моя рапира, все сука я ливаю Фурион фурион по фарму чемпион Быстрее всех голду зарабатывает он Лучший фармила в доте - это Nature's Profit Нам базу уже сносят - а он фармит и ему пофиг Фурион, фурион - какой ты хуесос За всю игру врагам ты даже товера не снес Фармить за фуриона сможет даже обезьяна Такие нубы нам сливают игры постоянно 10 из 10, господи 10 из 10 [media=] [/media] [media=] [/media] Поделиться сообщением Ссылка на сообщение