您需要先安装一个扩展,例如 篡改猴、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);
- }
- }
- }
- }
- })();