您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Помощник кланового кузнеца
// ==UserScript== // @name HWM_ClanStoreBlacksmithHelper // @namespace http://tampermonkey.net/ // @version 0.2 // @description Помощник кланового кузнеца // @author Zeleax // @include /https?:\/\/(www.heroeswm.ru|178.248.235.15|www.lordswm.com|my.lordswm.com)\/(sklad_info.php.*)/ // @icon https://www.google.com/s2/favicons?sz=64&domain=lordswm.com // @grant none // @license MIT // ==/UserScript== var url = location.protocol + '//'+location.hostname+'/'; if(/sklad_info.php\?id=\d+&cat=-1/.test(location.href)){ // если взяли с клансклада арт в ремонт- открываем страницу кузни window.location.assign(url+"mod_workbench.php?type=repair"); return; } var el, list, artName, e, reg, pro4ka, parentTr; el=getE('//b[contains(text(),"Артефакты для ремонта")]'); if(el) { parentTr=el.parentNode.parentNode.nextSibling; // tr со сломанными артами if(parentTr) list=getL('.//td[table and @bgcolor]'); var arr=[]; for (var i=0 ; i<list.snapshotLength; i++) { el=list.snapshotItem(i); e=getE('.//a[starts-with(@href, "art_info.php")]', el); if(e){ if(reg=/\?id=(\S+)/.exec(e.href)) { artName=reg[1]; if(reg=/\[0\/(\d+)\]/.exec(el.innerText)) { pro4ka=parseInt(reg[1]); arr.push([el, artName, pro4ka, 0]); } } } } // заполним колонку с количеством артов for (i=0 ; i<arr.length; i++) { if(arr[i][3]==0){ var cnt=1; artName=arr[i][1]; for(var j=i+1 ; j<arr.length; j++) if(arr[j][1]==artName) cnt++; for(j=i ; j<arr.length; j++) if(arr[j][1]==artName) arr[j][3]=cnt; } } arr.sort(function(a, b){ if (a[3]<b[3]) return 1; if (a[3]>b[3]) return -1; if (a[1]<b[1]) return -1; if (a[1]>b[1]) return 1; if (a[2]<b[2]) return 1; if (a[2]>b[2]) return -1; return 0; }); arr[0][0].style.backgroundColor = "yellow"; // подсветить арт для ремонта } // var arrayOfNewChildren = arr.map(d => d[0]); // parentTr.replaceChildren(...arrayOfNewChildren); function getE(xpath,el,docObj){return (docObj?docObj:document).evaluate(xpath,(el?el:(docObj?docObj.body:document.body)),null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;} function getL(xpath,el,docObj){return (docObj?docObj:document).evaluate(xpath,(el?el:(docObj?docObj.body:document.body)),null,XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null);}