您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Заменяет текстовое описание ресурсов на изображения
当前为
- // ==UserScript==
- // @name HWM - Resourses as images, clickable links Style Mod
- // @namespace Resourses as images, clickable links to resources and timers
- // @author code: Dinozon2
- // @collaborator code: ElMarado; style: sw.East
- // @version 1.21
- // @description Заменяет текстовое описание ресурсов на изображения
- // @icon http://i.imgur.com/GScgZzY.jpg
- // @include https://www.heroeswm.*/pl_info.php*
- // @include *//178.248.235.15/pl_info.php*
- // @include *//*.lordswm.*/pl_info.php*
- // @grant GM_addStyle
- // @copyright 2013-2018, sw.East (https://www.heroeswm.ru/pl_info.php?id=3541252)
- // @license MIT
- // ==/UserScript==
- //ver 1.4
- // в плане: при продаже лота отображать картинку и цену (монеты)
- //ver 1.3
- // в плане: свободно рабочих мест
- //ver 1.2.1
- // [+] выровнено отображение ресурсов
- // [+] обновлены картинки ресурсов
- // [*] добавлены артефакты империи, изменен код
- //ver 1.2
- // [+] добавлен таймер до начала битвы с сурвилургами
- // [+] в меню замены ссылки Битвы на Бои за территории
- // [*] переписан код, добавлена совместимость с таймерами охот/гв/гн
- //ver 1.1
- // [+] в шапке проставлены ссылки на закупку ресурсов на рынке
- //ver 1.0
- // [+] на странице персонажа ресурсы заменяются на изображения
- /**
- * ============= Style =============
- */
- GM_addStyle ( `
- #box{
- width: 93%;
- height: 100%;
- margin: 5px 5px 0 10px;
- }
- #amount_slot{
- overflow: hidden;
- float: right;
- width: 48px;
- height: 48px;
- margin: 5px 5px 5px 0;
- padding: 0;
- border: 3px solid #fff;
- box-shadow: 0px 0px 5px #aaa;
- z-index: 1;
- }
- #amount_slot img {
- display: block;
- width: 42px;
- height: 42px;
- margin: 3px 0 0 3px;
- padding: 0;
- }
- #amount_slot a img {
- -webkit-transition: all 0.2s linear;
- -moz-transition: all 0.2s linear;
- -ms-transition: all 0.2s linear;
- -o-transition: all 0.2s linear;
- transition: all 0.2s linear;
- }
- #amount_slot:hover a img {
- -webkit-transform: scale(1.20,1.20);
- -moz-transform: scale(1.20,1.20);
- -ms-transform: scale(1.20,1.205);
- -o-transform: scale(1.20,1.20);
- transform: scale(1.20,1.20);
- opacity:1;
- }
- #amount_slot a{
- text-decoration: none;
- }
- .amount_wrap {
- position: absolute;
- min-width:14px;
- height: 13px;
- margin: -48px 0 0 -3px;
- padding:0 1px 1px;
- color:#fff;
- border:2px solid #fff;
- background:#222;
- -webkit-box-shadow: 1px 1px 1px #aaa;
- -moz-box-shadow: 1px 1px 1px #aaa;
- box-shadow: 1px 1px 1px #aaa;
- z-index: 15;
- font-size: 10px;
- text-align: center;
- text-decoration: none !important;
- text-shadow: 1px 1px 1px rgba(0,0,0, 0.8);
- cursor: pointer;
- opacity:.7;
- -webkit-transition: opacity 0.4s ease-in-out, visibility 0.4s ease-in-out;
- -moz-transition: opacity 0.4s ease-in-out, visibility 0.4s ease-in-out;
- -ms-transition: opacity 0.4s ease-in-out, visibility 0.4s ease-in-out;
- -o-transition: opacity 0.4s ease-in-out, visibility 0.4s ease-in-out;
- transition: opacity 0.4s ease-in-out, visibility 0.4s ease-in-out;
- }
- ` );
- /* Style End */
- var HTMLOut='<div id="box">';
- var ElementsArray = [];
- ElementsArray['Кожа']= 'https://i.imgur.com/Xn82L25.png';
- ElementsArray['Сталь']= 'https://i.imgur.com/hwThTJE.png';
- ElementsArray['Никель']= 'https://i.imgur.com/6lHniay.png';
- ElementsArray['Волшебный порошок']= 'https://i.imgur.com/IuqF7rI.png';
- ElementsArray['Мифриловая руда']= 'https://i.imgur.com/dv6rzKn.png';
- ElementsArray['Обсидиан']= 'https://i.imgur.com/4yOWbK8.png';
- ElementsArray['Мифрил']= 'https://i.imgur.com/1Y1Z7Mq.png';
- ElementsArray['Орихалк']= 'https://i.imgur.com/qRGZzCs.png';
- ElementsArray['осколок метеорита']= 'meteorit';
- ElementsArray['абразив']= 'abrasive';
- ElementsArray['змеиный яд']= 'snake_poison';
- ElementsArray['клык тигра']= 'tiger_tusk';
- ElementsArray['ледяной кристалл']= 'ice_crystal';
- ElementsArray['лунный камень']= 'moon_stone';
- ElementsArray['огненный кристалл']= 'fire_crystal';
- ElementsArray['цветок ведьм']= 'witch_flower';
- ElementsArray['цветок ветров']= 'wind_flower';
- ElementsArray['цветок папоротника']= 'fern_flower';
- ElementsArray['ядовитый гриб']= 'badgrib';
- ElementsArray['Имперский арбалет']= 'part_imp_crossbow';
- ElementsArray['Имперские сапоги']= 'part_imp_boots';
- ElementsArray['Имперский щит']= 'part_imp_shield';
- ElementsArray['Имперский шлем']= 'part_imp_helmet';
- ElementsArray['Имперский амулет']= 'part_imp_amul';
- ElementsArray['Имперский доспех']= 'part_imp_armor';
- var a = document.body.getElementsByClassName("wb");
- for (var i = 0, length = a.length; i < length; i++) {
- if (i in a) {
- // Находим блок с элементами
- if (a[i].innerHTML.indexOf(' <b>') + 1){
- // создаем массив из строк:
- var text=a[i].innerHTML;
- console.log(a[i]);
- var arr = text.split('<br>');
- // очищаем строку от мусора
- for (var k=0,len=arr.length;k<len;k++) {
- if (k==Math.round((len-1)/2)) {HTMLOut = HTMLOut+'<div id="top">';}
- var line=arr[k];
- line=line.replace(' ', '');
- line=line.replace('<b>', '');
- line=line.replace('</b>', '');
- var res = line.split(':');
- // res[0] - название элемента
- // res[1] - количество
- if (res[1]>0) {
- // фикс ширины
- if (res[1]>9999) var w_length = 39;
- else if (res[1]>999) var w_length = 31;
- else if (res[1]>99) var w_length = 24;
- else var w_length = 13;
- if (res[0].indexOf('\u0418\u043c\u043f\u0435\u0440') !=-1) { // обработка имперских артов
- if(ElementsArray[res[0]].length<24){
- HTMLOut = HTMLOut + '<div id="amount_slot">'+
- '<a href="/auction.php?cat=part&sort=0&art_type='+ElementsArray[res[0]]+'"> '+
- '<img src="/i/artifacts/parts/'+ElementsArray[res[0]]+'.png" alt="'+line+'" title="'+line+'">'+
- '</a>'+
- '<div class="amount_wrap" style="width:'+w_length+'px">'+res[1]+'</div>'+
- '</div>';
- }
- } else { // остальные ресурсы
- if(ElementsArray[res[0]].length>24){
- HTMLOut = HTMLOut + '<div id="amount_slot">'+
- '<a href="#"> '+
- '<img src="'+ElementsArray[res[0]]+'" alt="'+line+'" title="'+line+'">'+
- '</a>'+
- '<div class="amount_wrap" style="width:'+w_length+'px">'+res[1]+'</div>'+
- '</div>';
- } else {
- HTMLOut = HTMLOut + '<div id="amount_slot">'+
- '<a href="/auction.php?cat=elements&sort=0&art_type='+ElementsArray[res[0]]+'"> '+
- '<img src="/i/'+ElementsArray[res[0]]+'.gif" alt="'+line+'" title="'+line+'"> '+
- '</a>'+
- '<div class="amount_wrap" style="width:'+w_length+'px">'+res[1]+'</div>'+
- '</div>';
- }
- }
- }
- }
- HTMLOut = HTMLOut+'</div>';
- // Выводим на страницу
- a[i].innerHTML = HTMLOut;
- }
- }
- }
- var a = document.body.getElementsByTagName("img");
- for (var i = 0, length = a.length; i < length; i++) {
- //if (i in a) {
- if (a[i].title=="Древесина"){
- a[i].outerHTML = '<a href=/auction.php?cat=res&sort=0&type=1>'+a[i].outerHTML+'</a>';
- } else if (a[i].title=="Руда"){
- a[i].outerHTML = '<a href=/auction.php?cat=res&sort=0&type=2>'+a[i].outerHTML+'</a>';
- } else if (a[i].title=="Ртуть"){
- a[i].outerHTML = '<a href=/auction.php?cat=res&sort=0&type=3>'+a[i].outerHTML+'</a>';
- } else if (a[i].title=="Сера"){
- a[i].outerHTML = '<a href=/auction.php?cat=res&sort=0&type=4>'+a[i].outerHTML+'</a>';
- } else if (a[i].title=="Кристаллы"){
- a[i].outerHTML = '<a href=/auction.php?cat=res&sort=0&type=5>'+a[i].outerHTML+'</a>';
- } else if (a[i].title=="Самоцветы"){
- a[i].outerHTML = '<a href=/auction.php?cat=res&sort=0&type=6>'+a[i].outerHTML+'</a>';
- } else if (a[i].title=="Золото"){
- a[i].outerHTML = a[i].outerHTML;
- }
- }
- // замена ссылок на Битвы
- var a = document.body.getElementsByTagName("a");
- for (var i = 0, length = a.length; i < length; i++) {
- if (a[i].getAttribute('href')=='bselect.php') {
- a[i].setAttribute('href','mapwars.php');
- }
- // ver 1.3 - количество свободных мест на предприятиях
- //if (a[i].getAttribute('href').indexOf('object')+1){
- // alert(a[i].getAttribute('href'));
- //};
- }
- var zayvok=0;
- var freecell=0;
- var allcell=0;
- var timetogo = 0;
- var cnt=0;
- var alreadyin = 0;
- var freecellavaibale = 0;
- var bb = document.getElementsByTagName("title");
- // таймер до начала боя с Сурвилургами только на странице боев
- //if (window.location.pathname == '/map.php'){ }
- if (window.location.pathname == '/mapwars.php'){
- // узнаем количество свободных мест
- var f = document.body.getElementsByTagName("font");
- for (var x = 0, length = f.length; x < length; x++) {
- // всего вступило участников
- if (f[x].getAttribute('style')=='font-size:9px;'){
- if(0==f[x].innerHTML.indexOf('[')){
- cnt=cnt+1;
- }
- }
- // всего защит
- if (f[x].innerHTML.indexOf('Сурвилурги')+1) {
- zayvok=zayvok+1;
- }
- if (f[x].innerHTML=='Вы уже в заявке, ожидайте начала битвы!') {
- alreadyin = 1;
- }
- }
- // свободных мест
- freecell = (Math.ceil(cnt/21)*21)-cnt;
- // всего мест
- allcell = Math.ceil(cnt/21)*21;
- var c = document.body.getElementsByTagName("td");
- for (var i = 0, length = c.length; i < length; i++) {
- if (c[i].innerHTML.length==37&&c[i].getAttribute('class')=='wb') {
- // если больше нет свободных мест и игрок не успле зайти смотрим следующую ближайшую заявку
- if (alreadyin==0&&freecell==0) {continue;}
- //красное время
- redtime = c[i].innerHTML[21] + c[i].innerHTML[22] + c[i].innerHTML[23] + c[i].innerHTML[24] + c[i].innerHTML[25];
- // еще не в заявке -> считаем свободные слоты
- var b = document.body.getElementsByTagName("b");
- for (var bi = 0, length = b.length; bi < length; bi++) {
- if(b[bi].innerHTML=='[Вступить]'){// есть свободные места
- // замена заголовка/////////////////////////// freecell allcell
- // узнаем сколько осталось до начала
- var h = new Date();
- startmin = c[i].innerHTML[24] + c[i].innerHTML[25];
- startmin = parseInt(startmin);
- curmin = h.getMinutes();
- timetogo = startmin - curmin;
- if (timetogo<0){
- timetogo = timetogo + 60;
- }
- bb[0].innerHTML = freecell + ' ('+ timetogo +' мин) свободно';
- var freecellavaibale =1;
- //Math.round(freecell/allcell*100)
- break;
- }
- }
- //if (freecellavaibale) { // уже в заявке - > начало через x минут.
- if (alreadyin){
- // узнаем сколько осталось до начала
- var h = new Date();
- startmin = c[i].innerHTML[24] + c[i].innerHTML[25];
- startmin = parseInt(startmin);
- curmin = h.getMinutes();
- timetogo = startmin - curmin;
- if (timetogo<0){
- timetogo = timetogo + 60;
- }
- // замена заголовка///////////////////////////
- bb[0].innerHTML = timetogo + ' мин до вступления на защиту';
- }
- // break;
- //}
- // "обычное" время
- } else if (c[i].innerHTML.length==5&&c[i].getAttribute('class')=='wb') {
- // обычное время - ищем первое и стоп
- // узнаем сколько осталось до начала
- if (c[i].innerHTML.indexOf(':')+1) {
- var txt=c[i].innerHTML;
- txt.toString();
- txt.split(':');
- var h = new Date();
- var curmin = h.getMinutes();
- var dtime1 = parseInt(txt[3]+txt[4])-15;
- if (dtime1>curmin) {
- dif = dtime1 - curmin;
- } else {
- dif = 60 + dtime1 - curmin;
- }
- // dif - осталось минут до боя
- // замена заголовка///////////////////////////
- bb[0].innerHTML = dif + ' мин до вступления на защиту';
- }
- break;
- }
- }
- }