// ==UserScript==
// @name Inventaire tools
// @namespace http://userscripts.org/scripts/show/138760
// @version 3.4
// @description Recupere les informations sur la page inventaire d'ogame et affiche le temps de reduction possible ainsi que la production supplémentaire acquise par les boosters
// @include http*://*.ogame.gameforge.com/game/index.php?page=shop*
// @include http*://*.ogame.gameforge.com/game/index.php?page=resourceSettings*
// @include http*://*.ogame.gameforge.com/game/index.php?page=resources*
// @include http*://*.ogame.gameforge.com/game/index.php?page=overview*
// @copyright 19 juillet 2012, nitneuc -- Libre d'être modifié ou reproduit, tant que cette ligne @copyright reste identique
// ==/UserScript==11
/*
// ****** Informations ******
Inventaire tools
----------------
Installation:
-------------
http://userscripts.org/scripts/show/138760
compatible chrome et firefox
Variables persistantes stockées:
--------------------------------
*booléen= texte.script + "_" + pseudoJeu + "_" + universJeu + "_" + langue + "_premiereExecution"
*array= texte.script + "_" + pseudoJeu + "_" + universJeu + "_" + langue + "_proprietesPlanetes_production"
ChangeLog:
----------
v1.0:
*première version stable
v1.1:
*Correction bug affichage
*Correction: le tableau ne s'affichait pas si on passait de la boutique à l'inventaire
v1.2:
*Simplification du code
*Amélioration de l'affichage
v2.0:
*intégration du changelog dans le script
*nom du script = Inventaire tools
*séparation de la fonction afficherSurPage() et constructionElementHTML()
*ajout du tableau de production hebdomadaire des boosters
*tableau des productions sur planète se MAJ si changement quantité production/déménagement/renommage
v2.1:
*les 2 tableaux sont mis-en-page et réunis en bas
*nouvel emplacement pour les variables persistantes
*simplification du code
v2.1.1:
*compatible Firefox
v2.1.2:
*correction: initialisation programme
v2.1.3:
*correction: les productions nulles étaient exclues
*correction: les lunes étaient incluses (production nulle)
v2.2:
*ajout du 3ème tableau: cumul des gains booster (en nombre de ressources)
*simplification du code du 1er tableau (temps cumulés)
*nouvelle mise-en-page du 1er tableau (temps cumulés)
v2.3:
*utilisation d'un CSS
*travail de compatibilité avec autres script (uniformisation)
*modification de la structure de la variable permanente des propriétés
v2.4:
*compatibilité v5
*modification de l'affichage des alertes
v3:
*modification du stockage des variables
*transformation de fonctions en prototypes
*Refonte et grande simplification de l'affichage
v3.1
*Correction bug d'affichage
v3.2
*rétablissement de l'affichage après 'contentWrapper' en raisons de retours de bugs
v3.2.1
*réctification mineure
v3.2.2
*correction de l'affichage
v3.3
*HTTP et HTTPS tolérés
*document.getElementById = $
*lecture de la production par planète sur la page 'resourceSettings' au lieu de la page 'resource'. Modifier la doc au passage
*affichage d'alerte sur la page 'resourceSettings' au lieu de la page 'resource'
*simplification de la fonction d'affichage d'alerte
*correction sytaxes css
v3.3.1
*@include modifié pour chrome : *.ogame.* -> *.ogame.gameforge.com
v3.4
*prototypes
*fonction get_buildLevel() et get_temp()
*inclue la page 'resources' et 'overview'
**Suppression de la ligne document.body.appendChild() qui faisait s(exécuter 2 fois le script si avec window.onload
*** Supprimer partie resources (<v3.3)
*** Supprimer partie resourceSettings (+@include)
*** page resource, le remove() supprime le niveau de la mine de métal et affichages antigame ! => supprimer le span par une suppression sur String
*/
// var strFunc = (window.onload = function(){ // Fait s'exécuter 2 fois le script
var strFunc = (function(){
alert("jkk");
// ****** Prototypes ******
Storage.prototype.setObj = function(key, obj) {
return this.setItem(key, JSON.stringify(obj));
};
Storage.prototype.getObj = function(key) {
return JSON.parse(this.getItem(key));
};
Number.prototype.ajoutSeparateurMilliers = function(car) {
// v1: fonction ; v2: prototype ; v2.1: prise en charge des nombres négatifs ; v2.2: prise en charge des nombre décimaux
var dec = "";
if (this < 0) var neg = true;
if (this != Math.floor(this)) {
dec = ((this-Math.floor(this))+"").substr(1,(this+"").length-(Math.floor(this)+"").length);
var str = Math.floor(this)+"";
} else {
var str = this+"";
}
if (neg) str = str.substring(1);
var str_decoupe = new Array();
for (var tmp=0; tmp<Math.ceil(str.length/3) ; tmp++) str_decoupe[tmp] = str.substring(str.length-3*tmp-3,str.length-3*tmp); // on remplit un array() de groupes de 3 chiffres
var str_2 = str_decoupe[str_decoupe.length-1]; // on cree une string composée des groupes de 3 chiffres + du signe
for (var tmp = str_decoupe.length-2; tmp>=0; tmp--) str_2 = str_2 + car + str_decoupe[tmp];
if (neg) str_2 = "-"+str_2;
return str_2+dec;
};
Array.prototype.niemeValeurDifferenteDe = function(n,val) {
var tmp_2=0;
for (var tmp=0; tmp<this.length; tmp++) {
if (this[tmp] != val) tmp_2++;
if (tmp_2 == n) return tmp;
}
return -1;
};
String.prototype.supprSpaces = function() {
// Supprime le ou les espaces se trouvant en fin de chaîne
return this.replace(/\s/g,'');
};
// ****** fonctions 'hard' ******
function $(id) { // Abrégé de document.getElementById(id);
return document.getElementById(id);
}
function minutes2hhmm(minutes) {
var div = divEuclidienne(minutes,60);
if (div[1] == 0) div[1] = "";
return div;
}
function divEuclidienne(divise,diviseur) { // retourne le résultat d'une division euclidienne sous forme d'array(quotient , reste)
return new Array(Math.floor(divise/diviseur) , divise-Math.floor(divise/diviseur)*diviseur);
}
function positionPlanete2nombre(position) {
return 1000000*parseInt(position.split(":")[0])+1000*parseInt(position.split(":")[1])+parseInt(position.split(":")[2]);
}
function max_array(liste) { // fonction récupérée sur http://www.journaldunet.com/
var max = liste[0];
for (var i=0; i<liste.length; i++) if (liste[i]*1>max) max = liste[i];
return max;
}
function insererLigneArray(element,table,numLigne) {
for (var i=table.length-1 ; i>=numLigne ; i--) table[i+1] = table[i];
table[numLigne] = element;
return table;
}
function compterValeursArrayNonNulles(table) {
var incr = 0;
for (var j_4=0 ; j_4<table.length ; j_4++) if (table[j_4] != 0) incr++;
return incr;
}
function removeElement(id) { // fonction recopiée sur http://www.roseindia.net
var el = $(id);
var remElement = (el.parentNode).removeChild(el);
}
function testPlaneteExiste(id,tableProprietes) { // test su la planète existe déjà dans la table
for (var i=0 ; i<tableProprietes.length ; i++) if (tableProprietes[i][0][0] == id) return i;
return -1;
}
// ****** fonctions affichage ******
function creer_CSS() { // ajoute des classes CSS
document.getElementsByTagName("head")[0].innerHTML = '<style type="text/css">'
+'.table1 { width:'+ config.table1_width +'px; padding-top: 20px; padding-bottom: 20px; } '
+'.table { width:100%; border-width: 3px; border-style: double; border-color: #666666; text-align: center; font-size:' +config.valeur_fontSize +'px ; } '
+'.header2 { background-color:'+ config.header2_bgColor+ '; color:'+ config.header2_fontColor +'; font-size:'+ config.header2_fontSize +'px ; font-weight:'+ config.header2_fontBold +'; text-align:'+ config.header2_textAlign +'; } '
+'.header3 { background-color:'+ config.header3_bgColor+ '; color:'+ config.header3_fontColor +'; font-size:'+ config.header3_fontSize +'px ; font-weight:'+ config.header3_fontBold +'; text-align:'+ config.header3_textAlign +'; } '
+'.headerLigne { background-color:'+ config.headerLigne_bgColor+ '; color:'+ config.headerLigne_fontColor +'; font-size:'+ config.headerLigne_fontSize +'px ; font-weight:'+ config.headerLigne_fontBold +'; } '
+'.valeur { background-color:'+ config.valeur_bgColor+ '; color:'+ config.valeur_fontColor +'; font-size:'+ config.valeur_fontSize +'px ; font-weight:'+ config.valeur_fontBold +'; text-align:'+ config.valeur_textAlign +';} '
+'.valeursMax { background-color:'+ config.valeursMax_bgColor+ '; color:'+ config.valeursMax_fontColor +'; font-size:'+ config.valeursMax_fontSize +'px ; font-weight:'+ config.valeursMax_fontBold +'; } '
+'.cachette_alerte { background-color:'+ config.alerte_bgColor+ '; color:'+ config.alerte_fontColor +'; font-size:'+ config.alerte_fontSize +'px ; font-weight:'+ config.alerte_fontBold +'; text-align:'+ config.alerte_textAlign +' ;} '
+'</style>'+document.getElementsByTagName("head")[0].innerHTML;
}
function affichage_alerte(texteAAfficher) { // affiche alerte de confirmation
$("inhalt").innerHTML = '<div class="cachette_alerte">' +texteAAfficher +'</div>'+$("inhalt").innerHTML;
}
function afficherTable(tout,affichageTempsCumules,affichageGainBooster,affichageProdBooster) {
var elHTML = document.getElementsByClassName("footer")[0];
var inner = elHTML.innerHTML;
var ajoutHTML_2 = ""; // Déclaration
var ajoutHTML_1 = '<div align="center"><table class="table1"><tr><td style="padding-bottom: 12px;" align="center"><table style="width:250px; align: center;" class="table">'
+'<tr><td colspan="3" style="padding-top: 5px; ; padding-bottom: 5px;" class="header2">CUMULS DES GAINS</td></tr><tr>';
for (var i=0; i<=2 ; i++) ajoutHTML_1 = ajoutHTML_1 + '<td class="header3" width="33%">'+affichageTempsCumules[i].split(":")[0] +'</td>';
ajoutHTML_1 = ajoutHTML_1 + '</tr><tr>';
for (var i=0; i<=2 ; i++) ajoutHTML_1 = ajoutHTML_1 + '<td class="valeur">'+affichageTempsCumules[i].split(":")[1] +'</td>';
ajoutHTML_1 = ajoutHTML_1 + '</tr>';
if (tout) { // si tous les tableaux doivent être affichés
ajoutHTML_1 = ajoutHTML_1 + '<tr>';
for (var i=0; i<=2 ; i++) ajoutHTML_1 = ajoutHTML_1 + '<td class="header3" width="33%">'+ressource[0][i] +'</td>';
ajoutHTML_1 = ajoutHTML_1 + '</tr><tr>';
for (var i=0; i<=2 ; i++) ajoutHTML_1 = ajoutHTML_1 + '<td class="valeur">'+affichageGainBooster[i].ajoutSeparateurMilliers(".")+'</td>';
ajoutHTML_1 = ajoutHTML_1 + '</tr>';
}
ajoutHTML_1 = ajoutHTML_1 + '</table></td></tr>';
if (tout) {
var nombre_type_booster = compterValeursArrayNonNulles(nombre_booster); // définit le nombre de colonnes à fabriquer dans le grand tableau
ajoutHTML_2 = '<tr><td style="padding-bottom: 30px;" align="center"><table class="valeur table" width="'+ (142+nombre_type_booster*(config.prodBooster_largeurColonne+2)) +'px"><tr><td colspan="'+(nombre_type_booster+2)+'" style="padding-top: 5px ; padding-bottom: 5px;" class="header2">GAIN SUR 1 SEMAINE</td></tr><tr>';
for (var i=0; i<=nombre_type_booster+1 ;i++) {
ajoutHTML_2 = ajoutHTML_2 + '<td class="header3" width=';
if (i==0) ajoutHTML_2 = ajoutHTML_2+ '"91px" align="left">'+ affichageProdBooster.length + "/" + recuperer_nombreColonies().split("/")[0] + ' planètes</td>';
if (i==1) ajoutHTML_2 = ajoutHTML_2+ '"45px">position</td>';
if (i>=2) {
var j = nombre_booster.niemeValeurDifferenteDe(i-1,0);
ajoutHTML_2 = ajoutHTML_2+ '"'+ config.prodBooster_largeurColonne +'px">'+ (j-3*Math.ceil((j+1)/3)+4) + '0% '+ ressource[1][Math.floor(j/3)] +'/' + nombre_booster[j] +'</td>';
}
}
ajoutHTML_2 = ajoutHTML_2+ '</tr>';
for (var i=0; i<affichageProdBooster.length; i++) { // i = les lignes du tableau
ajoutHTML_2 = ajoutHTML_2+ '<tr><td class="headerLigne" align="left">'
+'<a href="http://uni'+ universJeu +'.ogame.'+ langue +'/game/index.php?page=shop&cp='+ affichageProdBooster[i][0][0] + '#page=inventory" style="color:'+ config.headerLigne_fontColor +'; text-decoration:none;">';
(affichageProdBooster[i][0][2].length > 14) ? ajoutHTML_2 = ajoutHTML_2+affichageProdBooster[i][0][2].substr(0,13)+"..." : ajoutHTML_2 = ajoutHTML_2+affichageProdBooster[i][0][2];
ajoutHTML_2 = ajoutHTML_2+'</a></td><td class="headerLigne">'+ affichageProdBooster[i][0][1] +'</td>';
for (var k=0; k<=2; k++) { // k= chaque ressource
var maxProd = max_planete(affichageProdBooster,k); // maximum de production entre les planètes pour la ressource k
for (var l=1 ; l<=3 ; l++) {
if (nombre_booster[3*k+l-1] != 0) { // le contenu du td est nul si le booster n'est pas dans l'inventaire
ajoutHTML_2 = ajoutHTML_2+'<td';
if ((affichageProdBooster[i][1][k]) == maxProd) ajoutHTML_2 = ajoutHTML_2+ ' class="valeursMax"';
ajoutHTML_2 = ajoutHTML_2+ '>'+ Math.ceil((affichageProdBooster[i][1][k])*l*.1*168).ajoutSeparateurMilliers(".") +'</td>';
}
}
}
ajoutHTML_2 = ajoutHTML_2+'</tr>';
}
ajoutHTML_2 = ajoutHTML_2 +'</table></td></tr>';
}
elHTML.innerHTML = inner+ ajoutHTML_1 + ajoutHTML_2;
}
function max_planete(table,n) {
var table_temp = new Array();
for (var tmp=0; tmp<table.length; tmp++) table_temp[tmp] = table[tmp][1][n];
return max_array(table_temp);
}
// ****** Fonctions 'recuperer' ******
function get_buildLevel() {
var mineLevel = new Array(0,0,0);
var buildList = $('inhalt').getElementsByTagName('li');
for (var i=0; i<3; i++) {
var building = buildList[i].getElementsByClassName('level')[0].childNodes[1].innerHTML;
buildList[i].getElementsByClassName('level')[0].removeChild(buildList[i].getElementsByClassName('level')[0].childNodes[1]);
var building_l = buildList[i].getElementsByClassName('level')[0].innerHTML;
if ( building.indexOf('Mine de métal') != -1 ) { mineLevel[0] = building_l.supprSpaces();}
if ( building.indexOf('Mine de cristal') != -1 ) { mineLevel[1] = building_l.supprSpaces();}
if ( building.indexOf('Synthétiseur de deutérium') != -1 ) { mineLevel[2] = building_l.supprSpaces();}
}
return mineLevel;
}
function get_temp() {
return $('temperatureContentField').innerHTML.split('à')[1].supprSpaces().split('°C')[0];
}
function recuperer_infoInventaire() {
var inventaire = $("js_inventorySlider").getElementsByClassName("item_img_box"); // On récupère un élément HTML de la page
var liste = new Array();
for (var i=0 ; i < inventaire.length ; i++) { // fais le tour des objets de la page
var inventaire2 = inventaire[i].getElementsByTagName("a");
var nbObjet = inventaire2[0].getElementsByClassName("level amount")[0].innerHTML; // récupère le nombre de l'objet
var attributObjet = inventaire2[0].getAttribute("title").split("|")[0]; // récupère le titre de l'objet
liste[i] = (attributObjet.split(" en ")[0] + ":" + attributObjet.split(" en ")[1] + ":" + nbObjet).toLowerCase();
}
return liste;
}
function recuperer_nombreColonies() {
return $("countColonies").getElementsByTagName("span")[0].innerHTML;
}
function recuperer_infoPlaneteCourante() {
var ensembleBaliseMeta = document.getElementsByTagName("meta"); // récupère toutes les balises meta du <head>
var info = new Array();
for (var i=0 ; i<ensembleBaliseMeta.length ; i++) { //trouve certaines balises dans la liste
if (ensembleBaliseMeta[i].getAttribute("name") == "ogame-planet-id") info[0] = ensembleBaliseMeta[i].getAttribute("content");
if (ensembleBaliseMeta[i].getAttribute("name") == "ogame-planet-coordinates") info[1] = ensembleBaliseMeta[i].getAttribute("content");
if (ensembleBaliseMeta[i].getAttribute("name") == "ogame-planet-name") info[2] = ensembleBaliseMeta[i].getAttribute("content");
if (ensembleBaliseMeta[i].getAttribute("name") == "ogame-planet-type") info[3] = ensembleBaliseMeta[i].getAttribute("content");
}
return info;
}
function recuperer_productionCourante() { // renvoie la production M,C et D, sous forme d'Array(). Attention les objets s'appliquent sur les mines et pas sur la prod totale de la planète (hors plasma, hors prod initiale, hors objets, ...)
var production = new Array();
lignesTabl = $('inhalt').getElementsByClassName('list listOfResourceSettingsPerPlanet')[0].getElementsByTagName('tr');
for (var i=2; i<lignesTabl.length; i++) { // Les 2 premières lignes ne sont concernent en aucun cas les mines (en-têtes)
if ( lignesTabl[i].getElementsByTagName('td')[0].innerHTML.indexOf('Mine de métal') != -1 ) production[0] = lignesTabl[i].getElementsByTagName('td')[2].getElementsByTagName('span')[0].innerHTML.replace(/[^0-9-]/g,"");
if ( lignesTabl[i].getElementsByTagName('td')[0].innerHTML.indexOf('Mine de cristal') != -1 ) production[1] = lignesTabl[i].getElementsByTagName('td')[3].getElementsByTagName('span')[0].innerHTML.replace(/[^0-9-]/g,"");
if ( lignesTabl[i].getElementsByTagName('td')[0].innerHTML.indexOf('Synthétiseur de deutérium') != -1 ) production[2] = lignesTabl[i].getElementsByTagName('td')[4].getElementsByTagName('span')[0].innerHTML.replace(/[^0-9-]/g,"");
}
return production;
}
// ****** autres fonctions ******
function affichageInventaire() {
if ($("js_inventorySlider")) {
if (pageCouranteEstInventaire == false) {
// alert(pageCouranteEstInventaire);
pageCouranteEstInventaire = true;
// Préparation du tableau tempsCumulés
var duree_kraken = 0; // remise à zéro des compteurs de duree/nombre pour chaque type d'items
var duree_detroid = 0;
var duree_newtron = 0;
var listeItem = recuperer_infoInventaire();
for (var i=0 ; i<listeItem.length ; i++) { // modifie les compteurs de duree des 3 types d'item
if (listeItem[i].split(":")[0] == "kraken") duree_kraken = duree_kraken + niveauItem2temps(listeItem[i].split(":")[1],listeItem[i].split(":")[2]);
if (listeItem[i].split(":")[0] == "detroid") duree_detroid = duree_detroid + niveauItem2temps(listeItem[i].split(":")[1],listeItem[i].split(":")[2]);
if (listeItem[i].split(":")[0] == "newtron") duree_newtron = duree_newtron + niveauItem2temps(listeItem[i].split(":")[1],listeItem[i].split(":")[2]);
if ((listeItem[i].split(":")[0] == "booster de métal") || (listeItem[i].split(":")[0] == "booster de cristal") || (listeItem[i].split(":")[0] == "booster de deutérium")) {
//calcul l'emplacement de la case de l'array() à incrémenter
if (listeItem[i].split(":")[0] == "booster de métal") var a = 1;
if (listeItem[i].split(":")[0] == "booster de cristal") var a = 2;
if (listeItem[i].split(":")[0] == "booster de deutérium") var a = 3;
if (listeItem[i].split(":")[1] == "bronze") var b = 1;
if (listeItem[i].split(":")[1] == "argent") var b = 2;
if (listeItem[i].split(":")[1] == "or") var b = 3;
nombre_booster[3*a+b-4] = listeItem[i].split(":")[2];
}
}
var affichage = new Array(// les valeurs à afficher à l'écran sont entrées dans un array()
"Bâtiments : "+ minutes2hhmm(duree_kraken)[0]+ "h"+ minutes2hhmm(duree_kraken)[1],
"Chantier spatial : "+ minutes2hhmm(duree_detroid)[0]+ "h"+ minutes2hhmm(duree_detroid)[1],
"Recherche : "+ minutes2hhmm(duree_newtron)[0]+ "h"+ minutes2hhmm(duree_newtron)[1]
);
if ((compterValeursArrayNonNulles(nombre_booster) != 0)&&(typeof proprietesPlanetes_production[0] != 'undefined')) { // si on affiche les 3 tables
afficherTable(true,affichage,gainTotalBooster(proprietesPlanetes_production),proprietesPlanetes_production);
} else { // si on affiche qu'une table
afficherTable(false,affichage);
}
// alert("2"+pageCouranteEstInventaire);
}
// alert("pass");
}
else { // si la page courante n'est pas l'inventaire
pageCouranteEstInventaire = false;
removeElement("tempsCumules"); // efface les tableaux
removeElement("prodBooster");
}
// alert("3"+pasgeCouranteEstInventaire);
}
function niveauItem2temps(niveau,nombre) { // renvoit la durée associée à chaque item en fonction de son nombre
if (niveau == "bronze") return nombre*config.duree_bronze;
if (niveau == "argent") return nombre*config.duree_argent;
if (niveau == "or") return nombre*config.duree_or;
}
function ajouterPlanete(info,proprietesAAjouter,tableProprietes,nomVariablePersistante) { // ajout d'une planète (id) +ses proprietes (array de 3 cases) à la liste
var pos = 0;
if (tableProprietes.length != 0) for (var pos=0 ; pos<tableProprietes.length ; pos++) if (positionPlanete2nombre(info[1]) < positionPlanete2nombre(tableProprietes[pos][0][1])) break;
insererLigneArray(new Array(info,proprietesAAjouter),tableProprietes,pos);
localStorage.setObj(texte.script+ "_"+ pseudoJeu+ "_"+ universJeu+ "_"+ langue+ "_"+ nomVariablePersistante,tableProprietes);
affichage_alerte(texte.alerte_planeteAjoutee); // affiche alerte de confirmation
}
function maxProdEmpire(tableProprietes) { // trouve les meilleures productions de l'empire, pour trouver les meilleures planètes où appliquer les boosters
var maxProd_temp = new Array(0,0,0);
for (var i=0 ; i<tableProprietes.length ; i++) for (var j=0 ; j<=2 ; j++) if (parseInt(tableProprietes[i][1][j]) > maxProd_temp[j]) maxProd_temp[j] = parseInt(tableProprietes[i][1][j]);
return maxProd_temp;
}
function gainTotalBooster(tableProprietes) {
var maxProd_temp = maxProdEmpire(tableProprietes);
var gain_parRessource = new Array(0,0,0);
for (var i=0 ; i<=2 ; i++) for (var j=3*i ; j<=3*i+2 ; j++) gain_parRessource[i] = gain_parRessource[i] + nombre_booster[j]*Math.ceil(maxProd_temp[i]*168*(j+1-3*Math.floor(j/3))/10);
return gain_parRessource;
}
function initialiserDonneesUtilisateur() { // initialise les données utilisateur du script
var proprietes = new Array();
localStorage.setObj(texte.script + "_" + pseudoJeu + "_" + universJeu + "_" + langue + "_proprietesPlanetes_production",proprietes);
localStorage.setObj(texte.script + "_" + pseudoJeu + "_" + universJeu + "_" + langue + "_premiereExecution",false);
return proprietes;
}
// ****** Script ******
const langue = location.href.split("/")[2].split(".")[2];
const universJeu = location.href.split("/")[2].split(".")[0].replace("uni","");
const pseudoJeu = document.getElementsByName("ogame-player-name")[0].getAttribute("content");
var pageCouranteEstInventaire = false;
var nombre_booster = new Array(0,0,0,0,0,0,0,0,0); // array() contenant le nombre de chaque booster
// ****** Paramètres utilisateur ******
var config = {
duree_bronze:30,
duree_argent:120,
duree_or:360,
header2_fontColor:"#FFFFFF",
header2_fontSize:"9",
header2_fontBold:"bold",
header2_bgColor:"#00002D",
header2_textAlign:"center",
header3_fontColor:"#FFFF00",
header3_fontSize:"9",
header3_fontBold:"bold",
header3_bgColor:"#00002D",
header3_textAlign:"center",
headerLigne_fontColor:"#FF8000",
headerLigne_fontSize:"9",
headerLigne_fontBold:"bold",
headerLigne_bgColor:"#000000",
valeur_fontColor:"#FFFFFF",
valeur_fontSize:"9",
valeur_fontBold:"normal",
valeur_bgColor:"#000000",
valeur_textAlign:"center",
valeursMax_fontColor:"#FFFFFF",
valeursMax_fontSize:"9",
valeursMax_fontBold:"normal",
valeursMax_bgColor:"#FF0000",
prodBooster_largeurColonne:70,
alerte_fontColor:"#FFFFFF",
alerte_fontSize:"9",
alerte_fontBold:"bold",
alerte_bgColor:"#FF0000",
alerte_textAlign:"center",
};
var texte = {
script:"Inventaire tools",
alerte_planeteAjoutee:"Inventaire tools: Planète ajoutée",
alerte_proprietesModifiees:"Inventaire tools: Propriétés modifiees",
};
var ressource = new Array(
new Array("Métal","Cristal","Deutérium"),
new Array("mét","cri","deut")
);
// ****** script ******
creer_CSS();
// **** **** **** ****
// *** *** *** ***
// ** ** ** **
// * * * *
// localStorage.removeItem(texte.script + "_" + pseudoJeu + "_" + universJeu + "_" + langue + "_premiereExecution");// A DECOMMENTER POUR INITIALISER LES DONNES UTILISATEUR
// * * * *
// ** ** ** **
// *** *** *** ***
// **** **** **** ****
if (localStorage.getObj(texte.script + "_" + pseudoJeu + "_" + universJeu + "_" + langue + "_premiereExecution") != false) { // teste si l'utilisateur est à sa première exécution ou non
var proprietesPlanetes_production = initialiserDonneesUtilisateur();
} else {
var proprietesPlanetes_production = localStorage.getObj(texte.script + "_" + pseudoJeu + "_" + universJeu + "_" + langue + "_proprietesPlanetes_production");
}
var url = location.href.split("page=")[1].split("&")[0].split("#")[0];
if ( url == "overview" ) { // si la page courante est la page 'Vue d'ensemble'
// alert(get_temp());
var infoPlanete = recuperer_infoPlaneteCourante();
// alert(infoPlanete);
var tempPlaneteCourante = get_temp();
// alert(tempPlaneteCourante);
}
if ( url == "resources" ) { // si la page courante est la page 'ressources'
// Récuperation des infos sur la planète courante
var infoPlanete = recuperer_infoPlaneteCourante();
// alert(infoPlanete);
var minePlaneteCourante = get_buildLevel();
// alert(minePlaneteCourante);
}
if ( url == "resourceSettings" ) { // si la page courante est la page 'ressourcesSettings'
// Récuperation des infos sur la planète courante
var infoPlanete = recuperer_infoPlaneteCourante();
var productionPlaneteCourante = recuperer_productionCourante();
if (infoPlanete[3] == "planet") { // teste si la planète courante n'est pas une lune
// teste si la planète courante a déjà été enregistrée
var existe = testPlaneteExiste(infoPlanete[0],proprietesPlanetes_production);
if (existe == -1) { // si la planète n'existe pas dans la liste
ajouterPlanete(infoPlanete,productionPlaneteCourante,proprietesPlanetes_production,"proprietesPlanetes_production");
} else { // si la planète est déjà dans la liste
if ((proprietesPlanetes_production[existe][0][1] != infoPlanete[1])
|| (proprietesPlanetes_production[existe][0][2] != infoPlanete[2])
|| (proprietesPlanetes_production[existe][1][0] != productionPlaneteCourante[0])
|| (proprietesPlanetes_production[existe][1][1] != productionPlaneteCourante[1])
|| (proprietesPlanetes_production[existe][1][2] != productionPlaneteCourante[2])) { // on test si les valeurs des productions+nom+emplacement ont changées
proprietesPlanetes_production[existe] = new Array(infoPlanete,productionPlaneteCourante);
localStorage.setObj(texte.script + "_" + pseudoJeu + "_" + universJeu + "_" + langue + "_proprietesPlanetes_production",proprietesPlanetes_production);
affichage_alerte(texte.alerte_proprietesModifiees);
}
}
}
}
if ( url == "shop" ) setInterval(affichageInventaire,500);
}).toString();
var script = document.createElement("script");
script.setAttribute("type","text/javascript");
script.text = "(" + strFunc + ")();";
document.body.appendChild(script);