NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript== // @name HWM Progress Bar ToolTip Mod // @author Silentio (update ElMarado) // @collaborator style: sw.East // @namespace https://openuserjs.org/users/chesheerk/scripts // @description RU_ru: Показывает уровень Гильдий, Левела, Умелки Фракций в виде прогресс бара; EN_en: Add progress bar for Combat, Faction and Guilds levels. (2018.10.16) Dual_Language // @encoding utf-8 // @version 1.95.1 // @icon http://i.imgur.com/GScgZzY.jpg // @include *//178.248.235.15/home.php* // @include *//178.248.235.15/pl_info.php* // @include *//*.heroeswm.*/home.php* // @include *//*.heroeswm.*/pl_info.php* // @include *//www.lordswm.com/home.php* // @include *//www.lordswm.com/pl_info.php* // @require https://openuserjs.org/src/libs/Marti/GM_setStyle.js // @grant GM_addStyle // @grant GM_getValue // @grant GM_setValue // @grant GM_registerMenuCommand // @updateURL https://openuserjs.org/meta/chesheerk/HWM_Progress_Bar_ToolTip_Mod.meta.js // @copyright 2013-2018, sw.East (https://www.heroeswm.ru/pl_info.php?id=3541252) // @license MIT // ==/UserScript== /* * This script is licensed under the * Creative Commons Attribution-NonCommercial-ShareAlike 2.5 Italy License. * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/2.5/it/ */ // Funzione principale, eseguita al caricamento di tutta la pagina function main(e){ var version = "1.95.1"; var lang_en = new Array(); var lang_uk = lang_en; var lang_us = lang_en; var lang_com = lang_en; lang_en['Knight'] = 'Knight'; lang_en['Knight2'] = 'Knight'; lang_en['Necromancer'] = 'Necromancer'; lang_en['Necromancer2'] = 'Necromancer'; lang_en['Wizard'] = 'Wizard'; lang_en['Wizard2'] = 'Wizard'; lang_en['Elf'] = 'Elf'; lang_en['Elf2'] = 'Elf'; lang_en['Barbarian'] = 'Barbarian'; lang_en['Barbarian2'] = 'Barbarian'; lang_en['Barbarian3'] = 'Barbarian'; lang_en['Dark elf'] = 'Dark elf'; lang_en['Dark elf2'] = 'Tamer dark elf'; lang_en['Demon'] = 'Demon'; lang_en['Demon2'] = 'Demon'; lang_en['Dwarf'] = 'Dwarf'; lang_en['StBarbar'] = 'Tribal'; lang_en['Combat level'] = 'Combat level'; lang_en['Hunters\' guild'] = 'Hunters\' guild'; lang_en['Laborers\' guild'] = 'Laborers\' guild'; lang_en['Gamblers\' guild'] = 'Gamblers\' guild'; lang_en['Thieves\' guild'] = 'Thieves\' guild'; lang_en['Rangers\' guild'] = 'Rangers\' guild'; lang_en['Mercenaries\' guild'] = 'Mercenaries\' guild'; lang_en['Tactics\' guild'] = 'Commanders\' guild'; lang_en['Watchers\' guild'] = 'Watchers\' guild'; lang_en['Adventurers\' guild'] = 'Adventurers\' guild'; lang_en['Leaders\' guild'] = 'Leaders\' Guild'; lang_en['Smiths\' guild'] = 'Smiths\' guild'; lang_en['Enchanters\' guild'] = 'Enchanters\' guild'; lang_en['Progress Bar'] = 'Progress Bar'; lang_en['Toggle'] = 'Toggle'; lang_en['Show all factions'] = ustring('Ћв®Ўа ¦ вм ўбҐ да ЄжЁЁ'); lang_en['Show active faction'] = ustring('Ћв®Ўа ¦ вм в®«мЄ® ЄвЁўго'); var lang_ru = new Array(); lang_ru['Knight'] = ustring('ђлж ам'); lang_ru['Knight2'] = ustring('ђлж ам ᢥв '); lang_ru['Necromancer'] = ustring('ЌҐЄа®¬ в'); lang_ru['Necromancer2'] = ustring('ЌҐЄа®¬ в - Ї®ўҐ«ЁвҐ«м ᬥавЁ'); lang_ru['Wizard'] = ustring('Њ Ј'); lang_ru['Wizard2'] = ustring('Њ Ј-а §агиЁвҐ«м'); lang_ru['Elf'] = ustring('ќ«мд'); lang_ru['Elf2'] = ustring('ќ«мд-§ Є«Ё ⥫м'); lang_ru['Barbarian'] = ustring('‚ аў а'); lang_ru['Barbarian2'] = ustring('‚ аў а Єа®ўЁ'); lang_ru['Barbarian3'] = ustring('‚ аў а-и ¬ '); lang_ru['Dark elf'] = ustring('’Ґ¬л© н«мд'); lang_ru['Dark elf2'] = ustring('’Ґ¬л© н«мд-гЄа®вЁвҐ«м'); lang_ru['Demon'] = ustring('„Ґ¬®'); lang_ru['Demon2'] = ustring('„Ґ¬® вм¬л'); lang_ru['Dwarf'] = ustring('ѓ®¬'); lang_ru['StBarbar'] = ustring('‘⥯®© ў аў а'); lang_ru['Combat level'] = ustring('Ѓ®Ґў®© га®ўҐм'); lang_ru['Hunters\' guild'] = ustring('ѓЁ«м¤Ёп Ће®вЁЄ®ў'); lang_ru['Laborers\' guild'] = ustring('ѓЁ«м¤Ёп ђ Ў®зЁе'); lang_ru['Gamblers\' guild'] = ustring('ѓЁ«м¤Ёп Љ а⥦ЁЄ®ў'); lang_ru['Thieves\' guild'] = ustring('ѓЁ«м¤Ёп ‚®а®ў'); lang_ru['Rangers\' guild'] = ustring('ѓЁ«м¤Ёп ђҐ©¤¦Ґа®ў'); lang_ru['Mercenaries\' guild'] = ustring('ѓЁ«м¤Ёп Ќ Ґ¬ЁЄ®ў'); lang_ru['Tactics\' guild'] = ustring('ѓЁ«м¤Ёп ’ ЄвЁЄ®ў'); lang_ru['Watchers\' guild'] = ustring('ѓЁ«м¤Ёп ‘ва ¦Ґ©'); lang_ru['Adventurers\' guild'] = ustring('ѓЁ«м¤Ёп €бЄ ⥫Ґ©'); lang_ru['Leaders\' guild'] = ustring('ѓЁ«м¤Ёп ‹Ё¤Ґа®ў'); lang_ru['Smiths\' guild'] = ustring('ѓЁ«м¤Ёп Љг§Ґж®ў'); lang_ru['Enchanters\' guild'] = ustring('ѓЁ«м¤Ёп Ћа㦥©ЁЄ®ў'); lang_ru['Progress Bar'] = ustring('Џа®ЈаҐбб'); lang_ru['Toggle'] = ustring('гЎа вм/Ї®Є § вм'); if ( location.hostname.match('lordswm') ) { var language=lang_en; } else { var language=lang_ru; } //Factions' var nFactions = 9; var factions = [ //Ї®а冷Є ЇҐаўле 9 да ЄжЁ© Ґ ¬Ґпвм [T('Knight'),0], [T('Necromancer'),1], [T('Wizard'),2], [T('Elf'),3], [T('Barbarian'),4], [T('Dark elf'),5], [T('Demon'),6], [T('Dwarf'),7], [T('StBarbar'),8], [T('Knight2'),0], [T('Necromancer2'),1], [T('Wizard2'),2], [T('Elf2'),3], [T('Barbarian2'),4], [T('Barbarian3'),4], [T('Dark elf2'),5], [T('Demon2'),6] ]; //Combat experience table (22 levels) var combat_exp_lvl = [ 0,1500,4500,15000,32000,90000,190000,400000,860000,1650000, 3000000,5000000,8500000,14500000,25000000,43000000,70000000,108000000,160000000,230000000,325000000,500000000 ]; //Racial skill table (13 levels) var racial_skill_lvl = [ 20,50,90,160,280,500,900,1600,2900,5300,9600,17300,35000 ]; //Hunters' Guild (13 levels) var hunters_guild_lvl = [ 16,60,180,400,700,1200,2000,3000,4300,6000,8000,10500,13100 ]; //Laborers' Guild (16 levels) var laborers_guild_lvl = [ 90,180,360,720,1500,3000,5000,8000,12000,17000,23000,30000,38000,47000,57000,70000 ]; //Gamblers' Guild (15 levels) var gamblers_guild_lvl = [ 10,30,60,100,150,210,280,360,450,550,660,800,1000,1300,2000 ]; //Thieves' Guild (21 levels) var thieves_guild_lvl = [ 50,120,240,400,600,840,1200,2000,3000,4300,6000,8000,10800,14000,17600,21600,26000,30800,36600,43600,52600 ]; //Rangers' Guild (11 levels) var rangers_guild_lvl = [ 100,240,480,800,1200,1680,2400,4000,6000,8600,12000 ]; //Mercenaries' Guild (15 levels) var mercenaries_guild_lvl = [ 50,120,300,600,1000,1500,2200,3000,4000,5500,7800,11000,14500,18200,22200 ]; //Tactics Guild (12 levels) var tactics_guild_lvl = [ 150,350,750,1400,2200,3200,4300,5600,7000,8500,10000,11700 ]; //Watchers' Guild (7 levels) var watchers_guild_lvl = [ 60,200,450,850,1500,2700,4500 ]; //Adventurers' Guild (2 levels) var adventurers_guild_lvl = [ 1600,3600 ]; //Leaders' Guild (9 levels) var leaders_guild_lvl = [ 80, 180, 300, 440, 600, 780, 990, 1230, 1500 ]; //Smiths' Guild (9 levels) var smiths_guild_lvl = [ 30,80,165,310,555,970,1680,2885,5770 ]; //Enchanters' Guild (5 levels) var enchanters_guild_lvl = [ 104,588,2200,7000,10000 ]; //Enchanters' Guild branches (11 levels) var enchanters_guild_branches_lvl = [ 8,29,71,155,295,505,799,1191,1695,6000,12000 ]; /** * ============= Style ============= */ GM_addStyle ( ` .silentios_progress { position: relative; width: 200px; margin: 3px 0 3px 8px; background-color: rgb(245, 245, 245); height: 8px; box-shadow: rgba(0, 0, 0, 0.15) 0px -1px 0px inset; padding: 0 auto; } .silentios_progress_bar { height: 7px; margin: 0 0 -1px 0; max-width: 200px; background-color: #8C7526; padding: 0 auto; } .tooltip {position: relative;} .tooltip .tooltiptext { visibility: hidden; width: 45px; background-color: #8C7526; color: #fff; text-align: center; padding: 5px 0; border-radius: 6px; position: absolute; z-index: 1; opacity: 0; transition: opacity 0.3s; top: -10px; bottom: auto; left: 105%; } .tooltip .tooltiptext::after { content: " "; position: absolute; top: 50%; right: 100%; margin-top: -5px; border-width: 5px; border-style: solid; border-color: transparent 8C7526 transparent transparent; } .tooltip:hover .tooltiptext { visibility: visible; opacity: 1; } ` ); /* Style End */ var XPFirst = XPathResult.FIRST_ORDERED_NODE_TYPE; // Costante per il primo elemento per XPath var XPList = XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE; // Costante per una lista di elementi per XPath function init() { //Option Menu GM_registerMenuCommand(T('Progress Bar') +": "+ T('Show all factions'), function() { GM_setValue("SHOW_ONLY_ACTIVE_FACTION_PROGRESS_BAR", false); location.reload(); }); GM_registerMenuCommand(T('Progress Bar') +": "+ T('Show active faction'), function() { GM_setValue("SHOW_ONLY_ACTIVE_FACTION_PROGRESS_BAR", true); location.reload(); }); makeMenuToggle("SHOW_HUNTERS_PROGRESS_BAR", true, T('Toggle') +" "+ T('Hunters\' guild'), T('Progress Bar')); makeMenuToggle("SHOW_LABORERS_PROGRESS_BAR", true, T('Toggle') +" "+ T('Laborers\' guild'), T('Progress Bar')); makeMenuToggle("SHOW_GAMBLERS_PROGRESS_BAR", true, T('Toggle') +" "+ T('Gamblers\' guild'), T('Progress Bar')); makeMenuToggle("SHOW_THIEVES_PROGRESS_BAR", true, T('Toggle') +" "+ T('Thieves\' guild'), T('Progress Bar')); makeMenuToggle("SHOW_RANGERS_PROGRESS_BAR", true, T('Toggle') +" "+ T('Rangers\' guild'), T('Progress Bar')); makeMenuToggle("SHOW_MERCENARIES_PROGRESS_BAR", true, T('Toggle') +" "+ T('Mercenaries\' guild'), T('Progress Bar')); makeMenuToggle("SHOW_TACTICS_PROGRESS_BAR", true, T('Toggle') +" "+ T('Tactics\' guild'), T('Progress Bar')); makeMenuToggle("SHOW_WATCHERS_PROGRESS_BAR", true, T('Toggle') +" "+ T('Watchers\' guild'), T('Progress Bar')); makeMenuToggle("SHOW_ADVENTURES_PROGRESS_BAR", true, T('Toggle') +" "+ T('Adventurers\' guild'), T('Progress Bar')); makeMenuToggle("SHOW_LEADERS_PROGRESS_BAR", true, T('Toggle') +" "+ T('Leaders\' guild'), T('Progress Bar')); makeMenuToggle("SHOW_SMITHS_PROGRESS_BAR", true, T('Toggle') +" "+ T('Smiths\' guild'), T('Progress Bar')); makeMenuToggle("SHOW_ENCHANTERS_PROGRESS_BAR", true, T('Toggle') +" "+ T('Enchanters\' guild'), T('Progress Bar')); } //' function find(xpath, xpres,startnode){ if (!startnode) {startnode=document;} var ret = document.evaluate(xpath, startnode, null, xpres, null); return xpres == XPFirst ? ret.singleNodeValue : ret; } function insertAfter(newChild, refChild) { node.parentNode.insertBefore(newChild, refChild.nextSibling); } function elem(tag, content){ var ret = document.createElement(tag); ret.innerHTML = content; return ret; } function T(testo){ if (language[testo] == undefined) return lang_en[testo]; else return language[testo]; } function makeMenuToggle(key, defaultValue, label, prefix) { window[key] = GM_getValue(key, defaultValue); GM_registerMenuCommand((prefix ? prefix+": " : "") + label, function() { GM_setValue(key, !window[key]); location.reload(); }); } function makeProgressBar(exp_attuale, lvl_attuale, exp_lvls){ if (lvl_attuale=="") { for (var i=0; i <= exp_lvls.length; i++) { if (exp_lvls[i] > exp_attuale || i == exp_lvls.length) { lvl_attuale = i; break; } } } var exp_necessaria = exp_lvls[lvl_attuale]; if (lvl_attuale == 0) { var perc = Math.round(exp_attuale * 250 / exp_necessaria); } else if (lvl_attuale == exp_lvls.length) { var perc = 250; } else { exp_attuale = exp_attuale - exp_lvls[lvl_attuale-1]; exp_necessaria = exp_necessaria - exp_lvls[lvl_attuale-1]; var perc = Math.round(exp_attuale * 250 / exp_necessaria); } var perc_text = Math.round(perc / 250 * 100); var progress_bar_html = "<div class=\"silentios_progress tooltip\">"+ "<span class=\"tooltiptext\">" + perc_text + "%</span>"+ "<div class=\"silentios_progress_bar\" style=\"width:" + perc_text + "%\"></div>"+ "</div>"; return progress_bar_html; } function showExpBar(){ var tabelle = find("//table", XPList); var player_info = ""; var skill_info = ""; var player_faction = ""; if (location.href.indexOf('home.php') != -1) { for (var i = 25; i < tabelle.snapshotLength; i++){ if (!tabelle.snapshotItem(i)) continue; if (!tabelle.snapshotItem(i).childNodes[0]) continue; if (!tabelle.snapshotItem(i).childNodes[0].childNodes[0]) continue; //Player Info if (tabelle.snapshotItem(i).childNodes[0].childNodes[0].childNodes[0]) { if (tabelle.snapshotItem(i).childNodes[0].childNodes[0].childNodes[0].innerHTML.indexOf(T('Combat level') +":") > 0) { player_info = tabelle.snapshotItem(i).childNodes[0].childNodes[0].childNodes[0]; } } //Skill Info if (tabelle.snapshotItem(i).childNodes[0].childNodes[0].childNodes[1]) { if (tabelle.snapshotItem(i).childNodes[0].childNodes[0].childNodes[1].innerHTML.indexOf(T('Knight') +":") > 0) { skill_info = tabelle.snapshotItem(i).childNodes[0].childNodes[0].childNodes[1]; } } //Faction Info if (player_faction == "") { if(tabelle.snapshotItem(i).childNodes[0].childNodes[0].innerHTML.search(/title\=\"(.*?)\"/) > 0) { player_faction = RegExp.$1; var not_fr = true; for (var j=0; j < factions.length; j++){ if (factions[j][0] == player_faction) { not_fr = false; break; } } if (not_fr) {player_faction="";} } } if (player_info !="" && skill_info != "" && player_faction != "") break; } } else if (location.href.indexOf('pl_info.php') != -1) { for (var i = 25; i < tabelle.snapshotLength; i++){ if (!tabelle.snapshotItem(i)) continue; if (!tabelle.snapshotItem(i).childNodes[0]) continue; //Player Info if (tabelle.snapshotItem(i).childNodes[0].childNodes[2]) { if (tabelle.snapshotItem(i).childNodes[0].childNodes[2].childNodes[0]) { if (tabelle.snapshotItem(i).childNodes[0].childNodes[2].childNodes[0].textContent.indexOf(T('Combat level') +":") > 0) { player_info = tabelle.snapshotItem(i).childNodes[0].childNodes[2].childNodes[0]; } } } //Skill Info if (tabelle.snapshotItem(i).childNodes[0].childNodes[1]) { if (tabelle.snapshotItem(i).childNodes[0].childNodes[1].childNodes[1]) { if (tabelle.snapshotItem(i).childNodes[0].childNodes[1].childNodes[1].textContent.indexOf(T('Knight')) > 0) { skill_info = tabelle.snapshotItem(i).childNodes[0].childNodes[1].childNodes[1]; } } } //Faction Info if (player_faction == "") { if (tabelle.snapshotItem(i).childNodes[0].childNodes[0]) { if (tabelle.snapshotItem(i).childNodes[0].childNodes[0].childNodes[0]) { if (tabelle.snapshotItem(i).childNodes[0].childNodes[0].childNodes[0].innerHTML.search(/\.gif\" title\=\"(.*?)\"/) > 0) { player_faction = RegExp.$1; //alert(player_faction+'\n\n'+tabelle.snapshotItem(i).childNodes[0].childNodes[0].childNodes[0].innerHTML); var not_fr = true; for (var j=0; j < factions.length; j++){ if (factions[j][0] == player_faction) { not_fr = false; break; } } if (not_fr) {player_faction="";} } } } } if (player_info !="" && skill_info != "" && player_faction != "") break; } } //alert(player_faction+'\n\n'+factions.indexOf(player_faction)); //========== Combat Level var lvl_info = player_info.textContent.split("\u00BB")[1]; lvl_info.search(/(.*)\((.*)\)(.*)/); var lvl_attuale = eval(RegExp.$1.replace(T('Combat level') +": ","")); var exp_attuale =lvl_info.substring(lvl_info.indexOf("(")+1,lvl_info.indexOf(")")).replace(/,{1,}/g,"")*1; var progress_bar_html = makeProgressBar(exp_attuale, lvl_attuale, combat_exp_lvl); player_info.innerHTML = player_info.innerHTML.replace("</font><br><br>", "</font>"+ progress_bar_html +"<br>"); player_info.innerHTML = player_info.innerHTML.replace("</font><br>", "</font>"+ progress_bar_html +"<br>"); var skills = skill_info.innerHTML.split("> "); //========== Player Faction(s) var active_faction_index; for (var j=0; j < factions.length; j++){ if (factions[j][0] == player_faction) { active_faction_index = factions[j][1]; break; } } //alert(active_faction_index); if (GM_getValue("SHOW_ONLY_ACTIVE_FACTION_PROGRESS_BAR", false)) { // show current faction only var faction_index = active_faction_index; lvl_info = skills[faction_index]; //alert(lvl_info); lvl_info.search(/\((\d*.?\d*)\)/); exp_attuale = RegExp.$1; progress_bar_html = makeProgressBar(exp_attuale, "", racial_skill_lvl); if (faction_index < nFactions-1) { var next_faction = factions[faction_index + 1][0]; skill_info.innerHTML = skill_info.innerHTML.replace("<br> "+ next_faction, progress_bar_html +" "+ next_faction); } else { skill_info.innerHTML = skill_info.innerHTML.replace("<br> "+ T('Hunters\' guild'), progress_bar_html +"<br> "+ T('Hunters\' guild')); } } else { // show ALL factions for(var faction_index=0; faction_index<nFactions; faction_index++){ lvl_info = skills[faction_index]; lvl_info.search(/\((\d*.?\d*)\)/); exp_attuale = RegExp.$1; progress_bar_html = makeProgressBar(exp_attuale, "", racial_skill_lvl); if (faction_index<nFactions-1) { var next_faction = factions[faction_index + 1][0]; skill_info.innerHTML = skill_info.innerHTML.replace("<br> "+ next_faction, progress_bar_html +" "+ next_faction); skill_info.innerHTML = skill_info.innerHTML.replace("<br> <b>"+ next_faction, progress_bar_html +" <b>"+ next_faction); } else { skill_info.innerHTML = skill_info.innerHTML.replace("<br> "+ T('Hunters\' guild'), progress_bar_html +"<br> "+ T('Hunters\' guild')); } } } //========== Hunters' guild if (GM_getValue("SHOW_HUNTERS_PROGRESS_BAR", true)) { lvl_info = skills[9]; lvl_info.search(/\((\d*.?\d*)\)/); exp_attuale = RegExp.$1; progress_bar_html = makeProgressBar(exp_attuale, "", hunters_guild_lvl); skill_info.innerHTML = skill_info.innerHTML.replace("<br> "+ T('Laborers\' guild'), progress_bar_html +" "+ T('Laborers\' guild')); } //========== Laborers' guild if (GM_getValue("SHOW_LABORERS_PROGRESS_BAR", true)) { lvl_info = skills[10]; lvl_info.search(/\((\d*.?\d*)\)/); exp_attuale = RegExp.$1; progress_bar_html = makeProgressBar(exp_attuale, "", laborers_guild_lvl); skill_info.innerHTML = skill_info.innerHTML.replace("<br> "+ T('Gamblers\' guild'), progress_bar_html +" "+ T('Gamblers\' guild')); } //========== Gamblers' guild if (GM_getValue("SHOW_GAMBLERS_PROGRESS_BAR", true)) { lvl_info = skills[11]; lvl_info.search(/\((\d*.?\d*)\)/); exp_attuale = RegExp.$1; progress_bar_html = makeProgressBar(exp_attuale, "", gamblers_guild_lvl); skill_info.innerHTML = skill_info.innerHTML.replace("<br> "+ T('Thieves\' guild'), progress_bar_html +" "+ T('Thieves\' guild')); } //========== Thieves' guild if (GM_getValue("SHOW_THIEVES_PROGRESS_BAR", true)) { lvl_info = skills[12]; lvl_info.search(/\((\d*.?\d*)\)/); exp_attuale = RegExp.$1; progress_bar_html = makeProgressBar(exp_attuale, "", thieves_guild_lvl); skill_info.innerHTML = skill_info.innerHTML.replace("<br> "+ T('Rangers\' guild'), progress_bar_html +" "+ T('Rangers\' guild')); } //========== Rangers' guild if (GM_getValue("SHOW_RANGERS_PROGRESS_BAR", true)) { lvl_info = skills[13]; lvl_info.search(/\((\d*.?\d*)\)/); exp_attuale = RegExp.$1; progress_bar_html = makeProgressBar(exp_attuale, "", rangers_guild_lvl); skill_info.innerHTML = skill_info.innerHTML.replace("<br> "+ T('Mercenaries\' guild'), progress_bar_html +" "+ T('Mercenaries\' guild')); } //========== Mercenaries' guild if (GM_getValue("SHOW_MERCENARIES_PROGRESS_BAR", true)) { lvl_info = skills[14]; lvl_info.search(/\((\d*.?\d*)\)/); exp_attuale = RegExp.$1; progress_bar_html = makeProgressBar(exp_attuale, "", mercenaries_guild_lvl); skill_info.innerHTML = skill_info.innerHTML.replace("<br> "+ T('Tactics\' guild'), progress_bar_html +" "+ T('Tactics\' guild')); } //========== Tactics' guild if (GM_getValue("SHOW_TACTICS_PROGRESS_BAR", true)) { lvl_info = skills[15]; lvl_info.search(/\((\d*.?\d*)\)/); exp_attuale = RegExp.$1; progress_bar_html = makeProgressBar(exp_attuale, "", tactics_guild_lvl); skill_info.innerHTML = skill_info.innerHTML.replace("<br> "+ T('Watchers\' guild'), progress_bar_html +" "+ T('Watchers\' guild')); } //========== Watchers' guild if (GM_getValue("SHOW_WATCHERS_PROGRESS_BAR", true)) { lvl_info = skills[16]; lvl_info.search(/\((\d*.?\d*)\)/); exp_attuale = RegExp.$1; progress_bar_html = makeProgressBar(exp_attuale, "", watchers_guild_lvl); skill_info.innerHTML = skill_info.innerHTML.replace("<br> "+ T('Adventurers\' guild'), progress_bar_html +" "+ T('Adventurers\' guild')); } //========== Adventurers' guild if (GM_getValue("SHOW_ADVENTURES_PROGRESS_BAR", true)) { lvl_info = skills[17]; lvl_info.search(/\((\d*.?\d*)\)/); exp_attuale = RegExp.$1; progress_bar_html = makeProgressBar(exp_attuale, "", adventurers_guild_lvl); skill_info.innerHTML = skill_info.innerHTML.replace("<br> "+ T('Leaders\' guild'), progress_bar_html +" "+ T('Leaders\' guild')); } //========== Leaders' guild if (GM_getValue("SHOW_LEADERS_PROGRESS_BAR", true)) { lvl_info = skills[18]; lvl_info.search(/\((\d*.?\d*)\)/); exp_attuale = RegExp.$1; progress_bar_html = makeProgressBar(exp_attuale, "", leaders_guild_lvl); skill_info.innerHTML = skill_info.innerHTML.replace("<br> "+ T('Smiths\' guild'), progress_bar_html +" "+ T('Smiths\' guild')); } //========== Smiths' guild if (GM_getValue("SHOW_SMITHS_PROGRESS_BAR", true)) { lvl_info = skills[19]; lvl_info.search(/\((\d*.?\d*)\)/); exp_attuale = RegExp.$1; progress_bar_html = makeProgressBar(exp_attuale, "", smiths_guild_lvl); skill_info.innerHTML = skill_info.innerHTML.replace('<div id="home_2">', progress_bar_html +'<div id="home_2">'); } //========== Enchanters' guild if (GM_getValue("SHOW_ENCHANTERS_PROGRESS_BAR", true)) { lvl_info = skills[20]; lvl_info.search(/\((\d*.?\d*)\)/); exp_attuale = RegExp.$1; progress_bar_html = makeProgressBar(exp_attuale, "", enchanters_guild_lvl); skill_info.innerHTML = skill_info.innerHTML.replace("<div id=\"mod_guild\">", progress_bar_html +"<div id=\"mod_guild\">"); } } init(); // Azioni specifiche per alcune pagine if (location.href.indexOf('home.php') != -1) showExpBar(); if (location.href.indexOf('pl_info.php') != -1) showExpBar(); }; //**************************************************** /** ЃЁЎ«Ё®вҐЄ оЁЄ®¤ * * ђҐ «Ё§гҐв дгЄжЁЁ а Ў®вл б оЁЄ®¤®¬. * @file lib_unicode.js * @version 1.1.0 * @author DrunkenStranger * @link http://userscripts.org/users/362572 * @license GPL */ function uchar(s) { switch (s[0]) { case "Ђ": return "\u0410"; case "Ѓ": return "\u0411"; case "‚": return "\u0412"; case "ѓ": return "\u0413"; case "„": return "\u0414"; case "…": return "\u0415"; case "†": return "\u0416"; case "‡": return "\u0417"; case "€": return "\u0418"; case "‰": return "\u0419"; case "Љ": return "\u041a"; case "‹": return "\u041b"; case "Њ": return "\u041c"; case "Ќ": return "\u041d"; case "Ћ": return "\u041e"; case "Џ": return "\u041f"; case "ђ": return "\u0420"; case "‘": return "\u0421"; case "’": return "\u0422"; case "“": return "\u0423"; case "”": return "\u0424"; case "•": return "\u0425"; case "–": return "\u0426"; case "—": return "\u0427"; case "": return "\u0428"; case "™": return "\u0429"; case "љ": return "\u042a"; case "›": return "\u042b"; case "њ": return "\u042c"; case "ќ": return "\u042d"; case "ћ": return "\u042e"; case "џ": return "\u042f"; case " ": return "\u0430"; case "Ў": return "\u0431"; case "ў": return "\u0432"; case "Ј": return "\u0433"; case "¤": return "\u0434"; case "Ґ": return "\u0435"; case "¦": return "\u0436"; case "§": return "\u0437"; case "Ё": return "\u0438"; case "©": return "\u0439"; case "Є": return "\u043a"; case "«": return "\u043b"; case "¬": return "\u043c"; case "": return "\u043d"; case "®": return "\u043e"; case "Ї": return "\u043f"; case "а": return "\u0440"; case "б": return "\u0441"; case "в": return "\u0442"; case "г": return "\u0443"; case "д": return "\u0444"; case "е": return "\u0445"; case "ж": return "\u0446"; case "з": return "\u0447"; case "и": return "\u0448"; case "й": return "\u0449"; case "к": return "\u044a"; case "л": return "\u044b"; case "м": return "\u044c"; case "н": return "\u044d"; case "о": return "\u044e"; case "п": return "\u044f"; case "р": return "\u0401"; case "с": return "\u0451"; default: return s[0]; } } function ustring(s) { s = String(s); var result = ""; for (var i = 0; i < s.length; i++) result += uchar(s[i]); return result; } //**************************************************** main(false);