您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Расширенный список врагов. Сортировка противников по дальности.
// ==UserScript== // @name Advanced Battle [GW] // @namespace http://worm.vline.ru/gw/ // @description Расширенный список врагов. Сортировка противников по дальности. // @include http://www.ganjawars.ru/b0/b.php* // @version 1.01 // @author W_or_M // ==/UserScript== (function() { // настройки. 1 - вкл. 0 - выкл. var sortEnemys = 1; // сортировка, если ненужна ставьте 0 var showHp = 1; // показ хп var showVisible = 1; // показ видимости var showWeapon = 1; // показ оружия var showPower = 0; // показ мощности // сортировка function cmp(a, b) { a = a.dist; b = b.dist; if (a < b) return -1; if (a > b) return 1; return 0; } var root = typeof unsafeWindow != 'undefined' ? unsafeWindow : window; if (root.location.href.indexOf('http://www.ganjawars.ru/b0/b.php') >= 0) { // ищем список врагов var o = root.document.getElementsByTagName('select'); for (var i = 0, l = o.length; i < l; i++) { if (o[i].name == 'enemy') { // список var select = o[i]; break; } } if (typeof select != 'undefined') { // тут храним список врагов var enemys = []; // пробегаем по списку и составляем массив врагов for (i = 0; i < select.childNodes.length; i++) { // ыде персонажа var pers_id = select.childNodes[i].value; // перс var pers = /(\d+)\. (.*)\[(\d+)\] - (\d+)/.exec(select.childNodes[i].innerHTML); var temp = {}; if (pers != null) { temp.n = pers[1]; temp.nick = pers[2]; temp.level = parseInt(pers[3]); temp.dist = parseInt(pers[4]); // id temp.id = select.childNodes[i].value; // цвет temp.color = select.childNodes[i].style.backgroundColor; // пробегаем по списку персов var a = root.document.getElementsByTagName('a'); for (var k = 0; k < a.length; k++ ) { // нашли перса if (a[k].id == ('userheader'+ pers_id)) { var node = a[k].nextSibling.nextSibling; // колво хп temp.hp = node.firstChild.nodeValue.replace(/\-\s+/, '; '); // видимость temp.visible = node.childNodes[11].nodeValue.replace(/\-\s+/, '; '); // мощность temp.power = node.childNodes[5].nodeValue.replace(/\-\s+/, '; '); // оружие temp.weapon = '; '+ node.childNodes[13].firstChild.innerHTML; enemys[i] = temp; } } } } // список есть if (enemys.length) { // очищаем список for (i = 0, l = select.childNodes.length; i < l; i++) { select.removeChild(select.firstChild); } // сортируем врагов по дальности if (sortEnemys != 0) { enemys.sort(cmp); } // составляем новый список for (i in enemys) { var option = root.document.createElement('option'); option.value = enemys[i].id; option.style.backgroundColor = enemys[i].color; //option.setAttribute('style', 'background-color: '+ enemys[i].color); option.innerHTML = enemys[i].n +'. '+ enemys[i].nick + ' ['+ enemys[i].level +']; расстояние: '+ enemys[i].dist + (showHp != 0 ? enemys[i].hp : '') + (showPower != 0 ? enemys[i].power : '') + ( showVisible != 0 ? enemys[i].visible : '') + ( showWeapon != 0 ? enemys[i].weapon : ''); select.appendChild(option); } } } } })();