NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript== // @name Marqueur de galaxie redesign // @namespace vulca // @version 6.0.0 // @author Vulca // @description Marqueur de galaxie pour Ogame redesign // @include *.ogame*gameforge.com/game/index.php?page=* // @grant GM_getValue // @grant GM_setValue // @grant GM_xmlhttpRequest // ==/UserScript== var marqueurChargé = false; function marqueurScript() { if (marqueurChargé) { return; } marqueurChargé = true; // Si c'est un univers Redesign if (document.getElementById('playerName') || (location.href.indexOf('page=showmessage',0))>=0) { var Version = '2.0.5'; if (navigator.userAgent.indexOf('Firefox')>-1) {var FireFox = true; var nomScript='';} else {var FireFox = false;var nomScript='MarqueurGalaxieRedesign';} if (navigator.userAgent.indexOf('Opera')>-1) var Opera = true; else var Opera = false; var AJours = GM_getValue(nomScript+"aJours",true); //{ revision Alu var globalPrefs; var univers = location.href.split('/')[2]; /** */ function getPrefs() { globalPrefs = GM_getValue(nomScript); if (globalPrefs === undefined) { globalPrefs = {}; savePrefs({}); } else { globalPrefs = JSON.parse(globalPrefs); } if (globalPrefs[univers] === undefined) { globalPrefs[univers] = {}; } return globalPrefs[univers]; } /** */ function savePrefs(prefs) { globalPrefs[univers] = prefs; GM_setValue(nomScript, JSON.stringify(globalPrefs)); } //} if(!FireFox) { function GM_getValue(key,defaultVal) { var retValue = localStorage.getItem(key); if ( !retValue ) { return defaultVal; } return retValue; } function GM_setValue(key,value) { localStorage.setItem(key, value); } } function stripHTML(txt) { return txt.replace(/<\S[^><]*>/g, "") } function trim(string) { return string.replace(/(^\s*)|(\s*$)/g,''); } //{ revision Alu function eventlist(i, galaxie, systeme, f) { var input = document.getElementsByClassName('row')[i - 1].getElementsByClassName(listeLettre[f])[0]; input.addEventListener("click", function(event) { var prefs = getPrefs(); var info = prefs[galaxie+':'+systeme+':'+i]; nbSauv = prefs[galaxie+':'+systeme+':'+i]; if (nbSauv === undefined) { nbSauv = 4; } if (nbSauv == f ) { input.style.backgroundColor='#'+ color_inactiv[f]; prefs[galaxie+':'+systeme+':'+i] = 4; } else { input.style.backgroundColor='#'+ color_activ[f]; for (var k = 0; k < 4; k++) { if (k != f) { document.getElementsByClassName('row')[i].getElementsByClassName(listeLettre[k])[0].style.backgroundColor='#'+ color_inactiv[k]; } } prefs[galaxie+':'+systeme+':'+i] = f; } savePrefs(prefs); }, true); } function eventlist1case (position ,galaxie , systeme) { var input = document.getElementsByClassName('row')[position - 1].getElementsByClassName('E')[0]; input.addEventListener("click", function(event) { var prefs = getPrefs(); var k = prefs[galaxie+':'+systeme+':'+position]; if (k === undefined) { k = 0; } else { ++k % 5; } input.style.backgroundColor='#'+ color_activ[k]; if (k === 4) { delete prefs[galaxie+':'+systeme+':'+position]; } else { prefs[galaxie+':'+systeme+':'+position] = k; } savePrefs(prefs); }, true); } //} function change() { if(uneCase) uneCase=false; else uneCase = true; GM_setValue(nomScript+'affichage1case'+serveur,uneCase); var marqueur = document.getElementsByClassName('marqueur'); var nbAsup=marqueur.length; for (var n = 0 ; n<nbAsup ; n++) { marqueur[0].parentNode.removeChild(marqueur[0]); } affiche_script() ; } var url = location.href; if (document.getElementById('playerName')) { var serveur = url.split('/')[2]; var numeroUni = document.getElementsByTagName('title')[0].innerHTML; if( ! parseInt(numeroUni.replace( /[^0-9]/g, "")) > 0 ) { var adress = location.href.split('/')[2].split('.'); adress[0]='';adress[1]=''; serveur = (numeroUni+'.ogame'+adress.join('.').replace( '..', ".")).toLowerCase(); } GM_setValue(url.split('/')[2], serveur); } else var serveur = GM_getValue(url.split('/')[2], url.split('/')[2]); var listeOption = GM_getValue(nomScript+'option1.2'+serveur, 'B;F;A;S;FF0000;00FF00;0000FF;FFFF00;000000;000000;000000;000000;no;').split(';'); var uneCase = Boolean(GM_getValue(nomScript+'affichage1case'+serveur,false)); var listeLettreaff = new Array(listeOption[0],listeOption[1],listeOption[2],listeOption[3]); var listeLettre = new Array('B','F','A','S','0'); var color_activ = new Array(listeOption[4],listeOption[5],listeOption[6],listeOption[7], listeOption[8]); var color_inactiv = new Array(listeOption[8],listeOption[9],listeOption[10],listeOption[11]); if (listeOption[12] == 'yes') var checkMult = true; else var checkMult = false; var color_border= '#5E59A8'; var option = true; // ********************** Options *******************************/ if (document.getElementById('playerName')) { var aff_option ='<li><span class="menu_icon"><img class="mouseSwitch" src="http://www.vulca.projet-alternative.fr/infoCompte/image/logo.gif" rel="http://www.vulca.projet-alternative.fr/infoCompte/image/logo.gif" height="29" width="38"></span><a id="option_galax" class="menubutton " href="" accesskey="" target="_self">'; aff_option += '<span class="textlabel">Marqueur galaxy</span></a></li>'; var sp1 = document.createElement("span"); sp1.setAttribute("id", "option_g"); var sp1_content = document.createTextNode(''); sp1.appendChild(sp1_content); var sp2 = document.getElementById('menuTable').getElementsByTagName('li')[10]; var parentDiv = sp2.parentNode; parentDiv.insertBefore(sp1, sp2.nextSibling); var tableau = document.createElement("span"); tableau.innerHTML = aff_option; document.getElementById('option_g').insertBefore(tableau, document.getElementById('option_g').firstChild); var optionLang = new Array('Name of the box number ', 'color of the activ box number ' , 'color of the inactiv box number ', 'allow checking more than one boxe ("yes" or "no")' ); if (serveur.indexOf('ogame.fr')>-1) optionLang = new Array('Nom de la case numéro ', 'couleur de la case active numéro ' , 'couleur de la case inactive numéro ', 'Permettre de cocher plusieurs cases'); // Option du script var startOption = true; document.getElementById('option_galax').addEventListener("click", function(event) { if(startOption) { startOption = false; for (var i = 0 ; i<listeOption.length -2; i++) { listeOption[i] = prompt(optionLang[Math.floor(i/4)] + (i%4+1), listeOption[i] ); } // listeOption[12] = prompt(optionLang[3], listeOption[12] ); GM_setValue(nomScript+'option1.2'+serveur, listeOption.join(';')); } }, true); } function affiche_script() { if(uneCase) var affi = ' switch<input style="cursor:pointer;border: solid '+color_border+' 1px; width: 15px;color:#FFFFFF; background-color:#'+color_inactiv[0]+';" value="'+listeLettreaff[0]+'" type="button"><input style="cursor:pointer;border: solid '+color_border+' 1px; width: 15px;color:#FFFFFF; background-color:#'+color_inactiv[1]+';" value="'+listeLettreaff[1]+'" type="button"><input style="cursor:pointer;border: solid '+color_border+' 1px; width: 15px;color:#FFFFFF; background-color:#'+color_inactiv[2]+';" value="'+listeLettreaff[2]+'" type="button"><input style="cursor:pointer;border: solid '+color_border+' 1px; width: 15px;color:#FFFFFF; background-color:#'+color_inactiv[3]+';" value="'+listeLettreaff[3]+'" type="button">'; else var affi = ' switch<input style="cursor:pointer;border: solid '+color_border+' 1px; width: 15px;color:#FFFFFF; background-color:#'+color_inactiv[0]+';" type="button" >'; var x = document.createElement('span'); x.innerHTML=affi; x.setAttribute("id","changeCase"); x.setAttribute("style","cursor:pointer;"); x.setAttribute("class","marqueur"); document.getElementById('galaxyheadbg2').getElementsByTagName('th')[1].appendChild(x); var galaxie = parseInt(document.getElementById('galaxy_input').value); var systeme = parseInt(document.getElementById('system_input').value); document.getElementById("changeCase").addEventListener("click", function(event) { change(); }, true); //{ revision Alu for (var position = 1; position < document.getElementsByClassName('row').length + 1; ++position) { var planetName = document.getElementsByClassName('row')[position - 1].getElementsByClassName('planetname')[0]; if (planetName) { var prefs = getPrefs(); var info = prefs[galaxie+':'+systeme+':'+position]; if (info === undefined) { info = 4; } if (!uneCase) { var aff =''; for (var f = 0 ; f<4; f++){ if(info == f) aff += '<input class="'+listeLettre[f]+'" style="cursor:pointer;border: solid '+color_border+' 1px; width: 15px;color:#FFFFFF; background-color:#'+color_activ[f]+';" value="'+listeLettreaff[f]+'" type="button">'; else aff += '<input class="'+listeLettre[f]+'" style="cursor:pointer;border: solid '+color_border+' 1px; width: 15px; color:#FFFFFF; background-color:#'+color_inactiv[f]+';" value="'+listeLettreaff[f]+'" type="button">'; } var nomPlanete = trim(stripHTML(planetName.innerHTML)); var lengthNom = nomPlanete.length; if (planetName.getElementsByClassName('ajaxTips thickbox phalanxlink')[0]) lengthNom+=2; // Si image phalange if (lengthNom > 10) { planetName.setAttribute("style","font-size:10px;"); } if (lengthNom > 14) { planetName.setAttribute("style","font-size:8.4px;"); } var y = document.createElement('span'); y.innerHTML = aff; y.setAttribute("style", "float:right;"); y.setAttribute("class", "marqueur"); planetName.appendChild(y); eventlist(position, galaxie, systeme, 0); eventlist(position, galaxie, systeme, 1); eventlist(position, galaxie, systeme, 2); eventlist(position, galaxie, systeme, 3); } else { var aff = '<input class="E" style="cursor:pointer;border: solid '+color_border+' 1px; width: 15px;color:#FFFFFF; background-color:#'+color_activ[info]+';" value="" type="button">'; var y = document.createElement('span'); y.innerHTML = aff; y.setAttribute("style", "float:right;"); y.setAttribute("class", "marqueur"); planetName.appendChild(y); eventlist1case(position, galaxie, systeme); } } } //} // Recherche des maj if (!AJours && !document.getElementById('MAJ gal')) { var aff_newVersion ='<li><span class="menu_icon"><img class="mouseSwitch" src="http://vulca.evoserv.net/infoCompte/image/logo.gif" rel="http://vulca.evoserv.net/infoCompte/image/logo.gif" height="29" width="38"></span><a id="MaJ" class="menubutton " href="http://userscripts.org/scripts/source/66619.user.js" accesskey="" target="_self">'; aff_newVersion += '<span class="textlabel">!!MaJ!! M.G.</span></a></li>'; var sp1 = document.createElement("span"); sp1.setAttribute("id", "MAJ gal"); var sp1_content = document.createTextNode(''); sp1.appendChild(sp1_content); var sp2 = document.getElementById('menuTable').getElementsByTagName('li')[10]; var parentDiv = sp2.parentNode; parentDiv.insertBefore(sp1, sp2.nextSibling); var tableau = document.createElement("span"); tableau.innerHTML = aff_newVersion; document.getElementById('MAJ gal').insertBefore(tableau, document.getElementById('MAJ gal').firstChild); /* ******************************A Jours apres clique ********************************/ document.getElementById("MaJ").addEventListener("click", function(event) { GM_setValue(nomScript+"aJours",true); GM_setValue(nomScript+"dateMaJ",Date.parse(new Date()) / 1000); }, true); } } //{ revision Alu function biz( galaxie,systeme,position,f , n) { // séléctionne l'input visé var input = document.getElementsByClassName('GalMarq'+galaxie+';'+systeme+';'+position+';'+f)[n]; // bind de l'événement clic input.addEventListener("click", function(event) { var prefs = getPrefs(); // nombre de rc var nbRc2 = document.getElementsByClassName('GalMarq'+galaxie+';'+systeme+';'+position+';'+f).length ; var k = prefs[galaxie+':'+systeme+':'+position]; // pour chaque rc for (var n2 = 0 ; n2 < nbRc2 ; n2++) { var couleur = (k === f) ? color_inactiv[f] : color_activ[f]; document.getElementsByClassName('GalMarq'+galaxie+';'+systeme+';'+position+';'+f)[n2].style.backgroundColor='#'+ couleur; if(k === f) { delete prefs[galaxie+':'+systeme+':'+position]; } else { for (var e = 0 ; e<4; e++) { if (e != f) { document.getElementsByClassName('GalMarq'+galaxie+';'+systeme+';'+position+';'+e)[n2].style.backgroundColor='#'+ color_inactiv[e]; } } prefs[galaxie+':'+systeme+':'+position] = f; } } savePrefs(prefs); }, true); } //} function afficheMessage() { var table = document.getElementsByClassName('msg')[0]; if (!table || table.getAttribute("done123111") == "done") return; table.setAttribute("done123111","done"); var lieuCoord = document.getElementsByClassName('msg'); var prefs = getPrefs(); for (var i =0 ; i< lieuCoord.length ; i++) { var coordElem = lieuCoord[i].getElementsByClassName('msg_head')[0].getElementsByTagName('a')[0] if(coordElem) { var coord = /\[([0-9]+):([0-9]+):([0-9]+)\]/.exec(coordElem.innerHTML); var galaxie = parseInt(coord[1]); var systeme = parseInt(coord[2]); var position = parseInt(coord[3]); var k = prefs[galaxie+':'+systeme+':'+position]; for (var f = 0 ; f<4; f++) { if(k == f) { var newElement = document.createElement("span"); // On crée un nouvelle élément div newElement.innerHTML = '<input class="GalMarq'+galaxie+';'+systeme+';'+position+';'+f+'" style="cursor:pointer;border: solid '+color_border+' 1px; width: 15px;color:#FFFFFF; background-color:#'+color_activ[f]+';" value="'+listeLettreaff[f]+'" type="button">'; //document.getElementsByClassName('area')[i].insertBefore(newElement, document.getElementsByClassName('area')[i].getElementsByTagName('a')[0]); // On l'affiche lieuCoord[i].getElementsByClassName('msg_actions clearfix')[0].appendChild(newElement); var numRc = document.getElementsByClassName('GalMarq'+galaxie+';'+systeme+';'+position+';'+f).length -1; biz(galaxie,systeme,position,f , numRc) } else { var newElement = document.createElement("span"); // On crée un nouvelle élément div newElement.innerHTML = '<input class="GalMarq'+galaxie+';'+systeme+';'+position+';'+f+'" style="cursor:pointer;border: solid '+color_border+' 1px; width: 15px; color:#FFFFFF; background-color:#'+color_inactiv[f]+';" value="'+listeLettreaff[f]+'" type="button">'; //document.getElementsByClassName('area')[i].insertBefore(newElement, document.getElementsByClassName('area')[i].getElementsByTagName('a')[0]); // On l'affiche lieuCoord[i].getElementsByClassName('msg_actions clearfix')[0].appendChild(newElement); var numRc = document.getElementsByClassName('GalMarq'+galaxie+';'+systeme+';'+position+';'+f).length -1; biz( galaxie,systeme,position,f, numRc ) } } /* var newElement = document.createElement("span"); // On crée un nouvelle élément div newElement.innerHTML = ' '; document.getElementsByClassName('area')[i].insertBefore(newElement, document.getElementsByClassName('area')[i].getElementsByTagName('a')[0]); // On l'affiche */ } } } function afficheSifirst() { var table = document.getElementById('galaxyheadbg2').getElementsByTagName('th')[1]; if (!table || table.getAttribute("done14111") == "done") { return; } table.setAttribute("done14111","done"); affiche_script(); } // Page galaxie if (location.href.indexOf('page=galaxy')>-1) { if(!FireFox && !Opera || true) { setInterval(afficheSifirst,500); } else { function safeWrap(f) { return function() { setTimeout.apply(window, [f, 0].concat([].slice.call(arguments))); }; } var $; //Récupération de jQuery dans le contexte de la page try { $ = unsafeWindow.$; } //compatible Greasemonkey catch(e) { $ = window.$; } //autres navigateurs (Opera...) //la division dans lequel le résultat de la requête ajax est placé a l'id galaxyContent $(document).ajaxSuccess(safeWrap(function(e,xhr,settings){ //l'url de la requête ajax contient page=galaxyContent if (settings.url.indexOf("page=galaxyContent") == -1) return; affiche_script(); })); } } else if (location.href.indexOf('page=messages')>-1 || (location.href.indexOf('page=showmessage',0)>=0 && document.getElementsByClassName('fragment spy2')[0])) { setInterval(afficheMessage,500); } if (location.href.indexOf('raidefacil=scriptOptions')>-1 || location.href.indexOf('raidfacile=tableau') >-1) { var afficherSurRaidFacile = function() { var prefs = getPrefs(); var coord = document.getElementsByClassName('coordonee'); for(var i = 0 ; i< coord.length ; i++) { var coordonnées = coord[i].getElementsByTagName('a')[0].innerHTML.slice(1,-1).split(':'); document.getElementsByClassName('marqueur')[i].style.width = '60px'; var galaxie = parseInt(coordonnées[0]); var systeme = parseInt(coordonnées[1]); var position = parseInt(coordonnées[2]); var k = parseInt(prefs[galaxie+':'+systeme+':'+position]); for (var f = 0 ; f<4; f++) { var couleur = (k === f) ? color_activ[f] : color_inactiv[f]; // On crée un nouvel élément span var newElement = document.createElement("span"); newElement.innerHTML = '<input class="GalMarq'+galaxie+';'+systeme+';'+position+';'+f+'" style="cursor:pointer;border: solid '+color_border+' 1px; width: 15px;color:#FFFFFF; background-color:#'+couleur+';" value="'+listeLettreaff[f]+'" type="button">'; document.getElementsByClassName('marqueur')[i].insertBefore(newElement, document.getElementsByClassName('marqueur')[i].getElementsByTagName('td')[0]); // On l'affiche var numRc = document.getElementsByClassName('GalMarq'+galaxie+';'+systeme+';'+position+';'+f).length -1; biz(galaxie,systeme,position,f , numRc) } } }; afficherSurRaidFacile(); document.addEventListener('raidFacileRefreshed', afficherSurRaidFacile); } if(FireFox) { // recherche des MaJ if (parseInt(GM_getValue(nomScript+"dateMaJ",0))+23*3600 < Date.parse(new Date()) / 1000 ) { GM_xmlhttpRequest( { method: 'GET', url: 'http://userscripts.org/scripts/source/66619.meta.js', onload: function(response) { var PageUserScript = response.responseText; var Derniere_Version = trim(PageUserScript.split('@version')[1].split('// @author')[0]); Version=Version+''; if (Derniere_Version.length < 10 && Derniere_Version.length > 2) { if (Derniere_Version != Version ) { GM_setValue(nomScript+"aJours",false); GM_setValue(nomScript+"dateMaJ",Date.parse(new Date()) / 1000); } else { GM_setValue(nomScript+"aJours",true); GM_setValue(nomScript+"dateMaJ",Date.parse(new Date()) / 1000); } } } }); } } } //{ revision Alu // récupère les données de la version 1.9 function exporter() { var o = {}; Object.keys(localStorage).forEach(function(k){ if (/^MarqueurGalaxieRedesigninfoCoordpegasus/.test(k)) { var t = k.split(';'); delete t[0]; t[1]++; t[2]++; t[3]++; o[t.join(':').substring(1)] = parseInt(localStorage.getItem(k)); } }); savePrefs(o); } //} } var url=location.href; if(url.indexOf('raidefacil=scriptOptions') >-1 || url.indexOf('page=messages') >-1 || url.indexOf('raidfacile=tableau') >-1 || url.indexOf('page=showmessage') >-1 || url.indexOf('page=galaxy') >-1 ) {marqueurScript()} document.addEventListener('raidFacileLoaded', marqueurScript);