technopredator

OGame Pantalla de Recursos Ampliada 1.0 FINAL (Original,Spa)

Aug 9th, 2012
190
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // ==UserScript==
  2. // @name           OGame Pantalla de Recursos Ampliada FINAL
  3. // @author         Emilio, J.A. y Shuko
  4. // @date           28-11-2007
  5. // @version        1.0
  6. // @namespace      OGame Pantalla de Recursos Ampliada FINAL
  7. // @description    Pantalla de Recursos Ampliada.
  8. // @include        http://*.ogame.*/game/index.php?page=*
  9. // @exclude        http://*.ogame.*/game/index.php?page=notizen*
  10. // @exclude        http://*.ogame.*/game/index.php?page=galaxy*
  11. // @exclude        http://*.ogame.*/game/index.php?page=phalanx*
  12. // ==/UserScript==
  13.  
  14. // Script original: http://userscripts.org/scripts/show/12003  y /14643
  15. // Modificado por Emilio, J.A. y Shuko.
  16. // Agregado el 28-11-2007
  17. // Pantalla de Recursos Ampliada, Muestra una tabla más con el total de recursos de todas las colonias.
  18. // Para su uso se debe de pasar por la pantalla de recursos de todos los planeta y asi actualizar las cookies que contienen los datos acumulados de las colonias.
  19. // Este script crea tres cookies:
  20. //      Cookie planetas:  el valor de esta cookie es una cadena con todos las coordenadas de los planetas
  21. //      Cookie recursos:  contiene el valor de los recursos metal, cristal y deuterio, su produccion por hora.
  22. //      Cookie almacenes: contiene la capacidad de los almacenes.
  23. //      Las cookies son idependientes en cada universo, por tanto se puede tener varios universos abiertos perfectamente.
  24.  
  25. // Agradecimientos a todas aquellas personas que colaboran anonimamente
  26.  
  27. //Revisado 2-6-2009:  
  28. //          - Compatible con la ultima version, v 0.84.
  29. //Revisado 18-1-2008:  
  30. //          - Compatible con la ultima version, v 0.78c.
  31. //          - Arreglado bug con los almacenes
  32. //          - Se oculta los recursos por mes... del servidor.
  33. //          - Optimizacion del codigo
  34. //Revisado 9-12-2007:  
  35. //          - Modifiacion de las cookies para que no se borren si se cierra el ogame o se acaba la sesion.
  36. //Revisado 29-11-2007:  
  37. //          - Correccion del aumento de recursos cuando el almacen esta lleno.
  38. //          - Actualizacion del tiempo de actualizacion de los recursos en tiempo real.
  39. //          - Creacion de una nueva cookie almacenes: contiene la capacidad de los almacenes.
  40. //Revisado 28-11-2007:  
  41. //          - Correccion del aumento de recursos en la Luna (no hay produccion)
  42. //Revisado 27-11-2007:  
  43. //          - Añadido recursos en tiempo real en todo OGame
  44. //Revisado 24-11-2007:  
  45. //          - Añadido recursos en tiempo real.
  46. //Revisado 4-11-2007:
  47. //          - Añadido el total de las producciones.
  48. //          - Barra de progreso mas rapida y cambio en la apariencia.
  49. //          - Tiempo en almacenes cambio en la visualizacion si alguna unidad esta a cero.
  50. //Revisado 3-11-2007:
  51. //          - Modificacion general en las cookies, siguen siendo dos pero ahora almacenar todos los recursos diarios de los planetas.
  52. //          - Modificado para que no incluya lunas.
  53. //          - Arreglado para que no falle cuando no hay nigun planeta agregado o se este en la luna.
  54. //          - Implementado la deteccion del borrado del algun planeta y lo elimina de las estadisticas de produccion.
  55. //          - Actualizacion correcta de los cambios de produccion subida de minas o por cambios de energia o de produccion
  56. //          - Implementada animacion en las barras de porcentajes. (Movimiento)
  57. //Revisado 1-11-2007:
  58. //          - Corregido el error de los recursos sobrelimite.
  59. //          - Formato de % con dos decimales.
  60. //Revisado 31-10-2007:
  61. //          - Pasa a tener dos cookies; planetas y recursos
  62.  
  63. /*////////////////////////////////////////////FUNCIONES AUXILIARES///////////////////////////////////////////*/
  64.  
  65.     function formatNmb(numero){
  66.        var nNmb = String(numero);
  67.        var sRes = "";
  68.        for (var j, i = nNmb.length - 1, j = 0; i >= 0; i--, j++)
  69.             sRes = nNmb.charAt(i) + ((j > 0) && (j % 3 == 0)? ".": "") + sRes;
  70.         return sRes;
  71.     }
  72.  
  73.     function roundNumber(rnum) {
  74.         var rlength = 0; // The number of decimal places to round to
  75.         if (rnum > 8191 && rnum < 10485) {
  76.             rnum = rnum-5000;
  77.             var newnumber = Math.round(rnum*Math.pow(10,rlength))/Math.pow(10,rlength);
  78.             newnumber = newnumber+5000;
  79.         } else {
  80.             var newnumber = Math.round(rnum*Math.pow(10,rlength))/Math.pow(10,rlength);
  81.         }
  82.         return newnumber;
  83.     }
  84.    
  85.     function SetCookie (name, value){
  86.         var argv = SetCookie.arguments;
  87.         var argc = SetCookie.arguments.length;
  88.         //var expires = (2 < argc) ? argv[2] : null;
  89.         var ahora=new Date(); //fecha actual
  90.         var unAño=new Date(ahora.getTime()+1000*60*60*24*365); //le sumamos un año
  91.         var expires = unAño;//expira en un año
  92.         var path = (3 < argc) ? argv[3] : null;
  93.         var domain = (4 < argc) ? argv[4] : null;
  94.         var secure = (5 < argc) ? argv[5] : false;
  95.    
  96.         document.cookie = name + "=" + escape (value) +
  97.         ((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
  98.         ((path == null) ? "" : ("; path=" + path)) +
  99.         ((domain == null) ? "" : ("; domain=" + domain)) +
  100.         ((secure == true) ? "; secure" : "");
  101.     }
  102.  
  103.     function getCookieVal (offset){
  104.         var endstr = document.cookie.indexOf (";", offset);
  105.         if (endstr == -1)
  106.             endstr = document.cookie.length;
  107.         return unescape(document.cookie.substring(offset, endstr));
  108.     }
  109.  
  110.     function GetCookie (name){
  111.         var arg = name + "=";
  112.         var alen = arg.length;
  113.         var clen = document.cookie.length;
  114.         var i = 0;
  115.         while (i < clen){
  116.             var j = i + alen;
  117.             if (document.cookie.substring(i, j) == arg)
  118.                 return getCookieVal (j);
  119.             i = document.cookie.indexOf(" ", i) + 1;
  120.             if (i == 0)
  121.                 break;
  122.         }
  123.         return null;
  124.     }
  125.  
  126.  
  127. /*//////////////////////////////////////PANTALLA DE RECURSOS AMPLIADA//////////////////////////////////////*/
  128.    
  129. var padre,recursos;
  130. padre = document.getElementById('content');
  131. recursos = document.getElementById('resources');
  132. var T_Recursos; // iniciamlizado en la parte de recursos
  133. var T_Recursos2 = recursos.getElementsByTagName("td");
  134. var Metal = T_Recursos2[10].innerHTML.replace(/\./g,'');
  135. var Cristal = T_Recursos2[11].innerHTML.replace(/\./g,'');
  136. var Deut = T_Recursos2[12].innerHTML.replace(/\./g,'');
  137.  
  138. var PMetal,PCristal,PDeut;
  139. var AlmM,AlmC,AlmD;
  140. var T_Factor;
  141. var Factor, FactorPorc;
  142. //Detectamos pantalla de recursos solo para estas variables determinadas
  143. if( location.href.indexOf('resources') != -1 ){
  144.    
  145.     T_Recursos = padre.getElementsByTagName("td");
  146.    
  147.     PMetal = T_Recursos[10].innerHTML.replace(/\./g,'');
  148.     PCristal = T_Recursos[11].innerHTML.replace(/\./g,'');
  149.     PDeut = T_Recursos[12].innerHTML.replace(/\./g,'');
  150.    
  151.     AlmM = T_Recursos[5].innerHTML.replace(/\./g,'');
  152.     AlmC = T_Recursos[6].innerHTML.replace(/\./g,'');
  153.     AlmD = T_Recursos[7].innerHTML.replace(/\./g,'');
  154.    
  155.     PMetal=eval(PMetal);
  156.     PCristal=eval(PCristal);
  157.     PDeut=eval(PDeut);
  158.    
  159.     AlmM = AlmM.replace(/k/,'000');
  160.     AlmC = AlmC.replace(/k/,'000');
  161.     AlmD = AlmD.replace(/k/,'000');
  162.    
  163.     if (PMetal.indexOf('<font color')!=-1) {
  164.     PMetal = PMetal.substring(57, PMetal.indexOf('</font'));
  165.     }
  166.     if (PCristal.indexOf('<font color')!=-1) {
  167.         PCristal = PCristal.substring(57, PCristal.indexOf('</font'));
  168.     }
  169.     if (PDeut.indexOf('<font color')!=-1) {
  170.         PDeut = PDeut.substring(57, PDeut.indexOf('</font'));
  171.     }
  172.    
  173.     if (AlmM.indexOf('<font color')!=-1) {
  174.         AlmM = AlmM.substring(22, AlmM.indexOf('</font'));
  175.     }
  176.     if (AlmC.indexOf('<font color')!=-1) {
  177.         AlmC = AlmC.substring(22, AlmC.indexOf('</font'));
  178.     }
  179.     if (AlmD.indexOf('<font color')!=-1) {
  180.         AlmD = AlmD.substring(22, AlmD.indexOf('</font'));
  181.     }
  182.    
  183.     // Buscar Factor de Produccion
  184.     T_Factor = /factor(.)*\:(.)*[0-9.]/gi.exec(document.body.innerHTML);
  185.     if (T_Factor.length) {
  186.         Factor=T_Factor[0].split(":");
  187.         Factor=parseFloat(Factor[1]) * 100;
  188.         FactorPorc=parseInt(parseFloat(Factor) * 2.5);
  189.     }
  190.    
  191. }else{
  192.  
  193.     PMetal = 0;
  194.     PCristal = 0;
  195.     PDeut = 0;
  196.     Metal=eval(Metal);
  197.     Metal=parseInt(Metal);
  198.     Cristal=eval(Cristal);
  199.     Cristal=parseInt(Cristal);
  200.     Deut=eval(Deut);
  201.     Deut=parseInt(Deut);
  202.     AlmM = 0;
  203.     AlmC = 0;
  204.     AlmD = 0;
  205. }
  206.  
  207. var XMetal = new Array(3);
  208. var XCristal = new Array(3);
  209. var XDeut = new Array(3);
  210. var ResFormC, T_Form, ResForm;
  211. //Cálculos unicos de la pantalla de recursos, innecesarios si usamos otra página
  212. if( location.href.indexOf('resources') != -1 ){
  213.  
  214.  
  215.     XMetal[0] = PMetal * 24;
  216.     XCristal[0] = PCristal * 24;
  217.     XDeut[0] = PDeut * 24;
  218.     XMetal[1] = PMetal * 168;
  219.     XCristal[1] = PCristal * 168;
  220.     XDeut[1] = PDeut * 168;
  221.     XMetal[2] = PMetal * 720;
  222.     XCristal[2] = PCristal * 720;
  223.     XDeut[2] = PDeut * 720;
  224.  
  225.     // Buscar Formulario de Recursos
  226.  
  227.     ResFormC = document.getElementsByTagName('table');
  228.  
  229.     for (var i = 0; i < ResFormC.length; i++) {
  230.    
  231.         T_Form = ResFormC[i];
  232.         if (T_Form.getAttribute('width') == '550') {
  233.             ResForm = T_Form;
  234.         }
  235.     }
  236.  
  237. }//Fin funciones unicas de pantalla de recursos
  238.  
  239.     //Ampliacion
  240.     var header_top = document.getElementById('header_top');
  241.     var planeta_coord = header_top.getElementsByTagName("select");
  242.  
  243.     //Obtenemos las coordenadas de los planetas actuales
  244.     var planetas_actuales = planeta_coord[0].options;
  245.     var tmp = new Array(planetas_actuales.length);
  246.     for (var i=0; i<planetas_actuales.length; i++){
  247.         tmp[i]= planeta_coord[0].options[i].text;
  248.         tmp[i] = tmp[i].split ("[");
  249.         tmp[i] = tmp[i][1].split ("]");
  250.         tmp[i] = tmp[i][0].split (",");
  251.     }
  252.     planetas_actuales=tmp;
  253.     planetas_actuales= planetas_actuales.sort();
  254.  
  255.     //Obtenemos el planeta seleccionado, las coordenadas
  256.     var planeta = new Array(2);
  257.     planeta = planeta_coord[0].options[planeta_coord[0].selectedIndex].text;
  258.     planeta = planeta.split ("[");
  259.     planeta = planeta[1].split ("]");
  260.     planeta = planeta[0].split (",");
  261.     var tmppp=planeta;
  262.     planeta = new Array(2);
  263.     planeta[0] = 1;
  264.     planeta[1] = tmppp;
  265.  
  266.    
  267. //Cálculos unicos de la pantalla de recursos, innecesarios si usamos otra página
  268. if( location.href.indexOf('resources') != -1 ){
  269.  
  270.     //Produccion por hora del planeta seleccionado
  271.     var recurso = new Array(3);
  272.     recurso[0] = 1;
  273.     recurso[1] = PMetal;
  274.     recurso[2] = PCristal;
  275.     recurso[3] = PDeut;
  276.  
  277.     //Almacenes del planeta seleccionado
  278.     var almacen = new Array(3);
  279.     almacen[0] = 1;
  280.     almacen[1] = AlmM;
  281.     almacen[2] = AlmC;
  282.     almacen[3] = AlmD;
  283.  
  284.     var planetas; //valor de la cookie planetas con un array con todos los planetas añadidos
  285.     var recursos; //array con los recursos de produccion hora de los planetas añadidos
  286.     var almacenes; //array con los almacenes de los planetas añadidos
  287.  
  288.     //Si no exiten las cookies, las creamos y añadimos el planeta si este no es una luna
  289.     if(GetCookie("planetas") == null){
  290.         // comprobamos que no sea una luna, metal y deuterio a cero
  291.         if(recurso[1]!="0" && recurso[2]!="0"){
  292.             SetCookie ('planetas', planeta);
  293.             SetCookie ('recursos', recurso);
  294.             SetCookie ('almacenes', almacen);
  295.         }
  296.     }else{
  297.  
  298.         planetas = GetCookie("planetas");
  299.         planetas = planetas.split (",");
  300.         recursos = GetCookie("recursos");
  301.         recursos = recursos.split (",");
  302.         almacenes = GetCookie("almacenes");
  303.         almacenes = almacenes.split (",");
  304.  
  305.     // varibles temporales para la comparacion de planetas actuales con los guardados en las cookies
  306.     var tmp_planetas;
  307.     var tmp_recursos_planetas;
  308.     var tmp_almacenes_planetas;
  309.     // las cookie comienza con un 1, para qeu siempre se tenga en als cookies arrays
  310.     tmp_planetas = new Array();
  311.     tmp_planetas[0]=1;
  312.     tmp_recursos_planetas = new Array(recursos.length-3);
  313.     tmp_recursos_planetas[0]=1;
  314.     tmp_almacenes_planetas = new Array(almacenes.length-3);
  315.     tmp_almacenes_planetas[0]=1;
  316.  
  317.     //Poner a los planetas eliminados una cadena eliminar.
  318.     for (var i=1; i<planetas.length; i++){
  319.         for (var j=0; j<planetas_actuales.length; j++){
  320.             if(planetas[i] == planetas_actuales[j]){
  321.                 j=planetas_actuales.length;
  322.             }else{
  323.                 //si no existe el planeta y ya ha terminado de pasar por todo el array, borramos el planeta
  324.                 if((j+1) == planetas_actuales.length){
  325.                     planetas[i]="eliminar"; // cambia las coordenas por una cadena con el contenido "elimiar"
  326.                 }
  327.             }
  328.         }
  329.     }
  330.    
  331.     //Nuevo array con los planetas correctos y sus recursos correctos
  332.     var cont=1;
  333.     for (var i=1; i<planetas.length; i++){
  334.             if(planetas[i]!="eliminar"){
  335.                     tmp_planetas[cont]=planetas[i];
  336.                     tmp_recursos_planetas[cont+((cont-1)*2)]=recursos[i+((i-1)*2)];
  337.                     tmp_recursos_planetas[cont+((cont-1)*2)+1]=recursos[i+((i-1)*2)+1];
  338.                     tmp_recursos_planetas[cont+((cont-1)*2)+2]=recursos[i+((i-1)*2)+2];
  339.                     tmp_almacenes_planetas[cont+((cont-1)*2)]=almacenes[i+((i-1)*2)];
  340.                     tmp_almacenes_planetas[cont+((cont-1)*2)+1]=almacenes[i+((i-1)*2)+1];
  341.                     tmp_almacenes_planetas[cont+((cont-1)*2)+2]=almacenes[i+((i-1)*2)+2];
  342.                     cont++;
  343.             }
  344.     }
  345.  
  346.    
  347.     // actualizamos los array planetas y recursos
  348.     planetas=tmp_planetas;
  349.     recursos=tmp_recursos_planetas;
  350.     almacenes=tmp_almacenes_planetas;
  351.    
  352.     // Comprobamos los cambios del a producion del planeta seleccionado para una posible actualizacion.
  353.     for (var t=1; t<planetas.length; t++){
  354.         if(planetas[t]==planeta[1]){
  355.             // comprobamos que no sea una luna , metal y cristal a cero
  356.             if(recurso[1]!="0" && recurso[2]!="0"){
  357.                 if(recursos[t+((t-1)*2)]!=recurso[1]){
  358.                     recursos[t+((t-1)*2)]=recurso[1];
  359.                 }
  360.                 if(recursos[t+((t-1)*2)+1]!=recurso[2]){
  361.                     recursos[t+((t-1)*2)+1]=recurso[2];
  362.                 }
  363.                 if(recursos[t+((t-1)*2)+2]!=recurso[3]){
  364.                     recursos[t+((t-1)*2)+2]=recurso[3];
  365.                 }
  366.             }
  367.         }
  368.     }
  369.  
  370.     for (var t=1; t<almacenes.length; t++){
  371.         if(planetas[t]==planeta[1]){
  372.             // comprobamos que no sea una luna , metal y cristal a cero
  373.             if(recurso[1]!="0" && recurso[2]!="0"){
  374.                 if(almacenes[t+((t-1)*2)]!=almacen[1]){
  375.                     almacenes[t+((t-1)*2)]=almacen[1];
  376.                 }
  377.                 if(almacenes[t+((t-1)*2)+1]!=almacen[2]){
  378.                     almacenes[t+((t-1)*2)+1]=almacen[2];
  379.                 }
  380.                 if(almacenes[t+((t-1)*2)+2]!=almacen[3]){
  381.                     almacenes[t+((t-1)*2)+2]=almacen[3];
  382.                 }
  383.             }
  384.         }
  385.     }
  386.    
  387.     // guardamos los cambios
  388.     SetCookie ('planetas', planetas);
  389.     SetCookie ('recursos', recursos);
  390.     SetCookie ('almacenes', almacenes);
  391.  
  392.     planetas = GetCookie("planetas");
  393.     planetas = planetas.split (",");
  394.     recursos = GetCookie("recursos");
  395.     recursos = recursos.split (",");
  396.     almacenes = GetCookie("almacenes");
  397.     almacenes = almacenes.split (",");
  398.    
  399.     //Para añadir un nuevo planeta
  400.         for (var i=1; i<planetas.length; i++){
  401.             //si exite el planeta finalizamos el for
  402.             if(planetas[i] == planeta[1]){
  403.                 i=planetas.length;
  404.             }else{
  405.                 //si no existe el planeta y ya ha terminado de pasar por todo el array, añadimos el planeta
  406.                 if((i+1) == planetas.length){
  407.                     // comprobamos que no sea una luna, metal y deuterio a cero
  408.                     if(recurso[1]!="0" && recurso[2]!="0"){
  409.                     planetas[i+1] = planeta[1];
  410.                     recursos[i+1+(i*2)]=recurso[1];
  411.                     recursos[i+1+(i*2)+1]=recurso[2];
  412.                     recursos[i+1+(i*2)+2]=recurso[3];
  413.                     almacenes[i+1+(i*2)]=almacen[1];
  414.                     almacenes[i+1+(i*2)+1]=almacen[2];
  415.                     almacenes[i+1+(i*2)+2]=almacen[3];
  416.                     SetCookie ('planetas', planetas);
  417.                     SetCookie ('recursos', recursos);
  418.                     SetCookie ('almacenes', almacenes);
  419.                     }
  420.                 }
  421.             }
  422.         }
  423.    
  424.  
  425.     }
  426.  
  427.  
  428. }
  429. // Si existe ResForm == A la pantalla recurusos pues mostramos las ampliaciones en recursos
  430. if (ResForm) {
  431.    
  432.     //Ocultamos tabla generada por server
  433.     los_tr = document.getElementById("ressourcen").getElementsByTagName("table")[0].rows;
  434.     los_tr[los_tr.length-2].style.display="none";
  435.     los_tr[los_tr.length-1].style.display="none";
  436.     if(los_tr[los_tr.length-1].getElementsByTagName("iframe").length==1){
  437.     los_tr[los_tr.length-3].style.display="none";//Maldita publi de comandante xD
  438.     }
  439.  
  440.  
  441.     // Procesar Tablas
  442.     var ProdFact = document.createElement('div');
  443.  
  444.     ProdFact.innerHTML = '<table width="550"><tr>'+'<th>Nivel de Producci&oacute;n</th>'+'<th width="100" id="factor_P">'+Factor+'%</th>'+'<th width="250"><div style="border: 1px solid #FFFFFF; width: 250px;"><div id="factorP" style="background-color: '+(Factor < 100 ? '#C00000' : '#00C000' )+'; width: '+FactorPorc+'px;">&nbsp;</div></div></th>'+'</tr></table><br />';
  445.    
  446.     var CuentaRec = document.createElement('div');
  447.  
  448.     // comprobamos que no sea una luna, metal y deuterio a cero
  449.     if(recurso[1]!="0" && recurso[2]!="0"){
  450.     // si es una luna, no mostramos la tabla de produccion extendida
  451.     CuentaRec.innerHTML = '<br /><table width="550">'+'<tr><td class="c" colspan="4">Producci&oacute;n extendida</td></tr>'+'<tr>'+'<td class="c">&nbsp;</td>'+'<th>Diaria</th>'+'<th>Semanal</th>'+'<th>Mensual</th>'+'</tr>'+'<tr>'+'<td class="c" width="110"><img src="http://uni43.ogame.com.es/evolution/images/metall.gif" width="24" style="margin-right:15px;" /><font color="#F1531E" style="margin-right:15px;font-style:italic;">Metal</font></td>'+'<th><font color="#00ff00">'+formatNmb(XMetal[0])+'</font></th>'+'<th><font color="#00ff00">'+formatNmb(XMetal[1])+'</font></th>'+'<th><font color="#00ff00">'+formatNmb(XMetal[2])+'</font></th>'+'</tr>'+'<tr>'+'<td class="c" width="110"><img src="http://uni43.ogame.com.es/evolution/images/kristall.gif" width="24" style="margin-right:15px;" /><font color="#54B0DC" style="margin-right:15px;font-style:italic;">Cristal</font></td>'+'<th><font color="#00ff00">'+formatNmb(XCristal[0])+'</font></th>'+'<th><font color="#00ff00">'+formatNmb(XCristal[1])+'</font></th>'+'<th><font color="#00ff00">'+formatNmb(XCristal[2])+'</font></th>'+'</tr>'+'<tr>'+'<td class="c" width="110"><img src="http://uni43.ogame.com.es/evolution/images/deuterium.gif" width="24" style="margin-right:15px;" /><font color="#9AACCB" style="margin-right:15px;font-style:italic;">Deuterio</font></td>'+'<th><font color="#00ff00">'+formatNmb(XDeut[0])+'</font></th>'+'<th><font color="#00ff00">'+formatNmb(XDeut[1])+'</font></th>'+'<th><font color="#00ff00">'+formatNmb(XDeut[2])+'</font></th>'+'</tr>'+'</table><br />';
  452.  
  453.     }else{
  454.         CuentaRec.innerHTML = '<br />';
  455.     }
  456.  
  457.     Metal=eval(Metal);
  458.     Metal=parseInt(Metal);
  459.     Cristal=eval(Cristal);
  460.     Cristal=parseInt(Cristal);
  461.     Deut=eval(Deut);
  462.     Deut=parseInt(Deut);
  463.  
  464.    
  465.     var EAlmM=(Metal / AlmM) * 100;
  466.     var EAlmMPorc=parseInt((Metal / AlmM) * 250);
  467.     var EAlmC=(Cristal / AlmC) * 100;
  468.     var EAlmCPorc=parseInt((Cristal / AlmC) * 250);
  469.     var EAlmD=(Deut / AlmD) * 100;
  470.     var EAlmDPorc=parseInt((Deut / AlmD) * 250);
  471.  
  472.  
  473.     EAlmM = Math.round(EAlmM*100)/100;
  474.     EAlmC = Math.round(EAlmC*100)/100;
  475.     EAlmD = Math.round(EAlmD*100)/100;
  476.  
  477.  
  478.     var LlenoM=0;
  479.     var LlenoC=0;
  480.     var LlenoD=0;
  481.    
  482.     if (Metal>=AlmM)
  483.         LlenoM=1;
  484.     if (Cristal>=AlmC)
  485.         LlenoC=1;
  486.     if (Deut>=AlmD)
  487.         LlenoD=1;
  488.  
  489.  
  490.     McadaSeg=PMetal/3600;
  491.     CcadaSeg=PCristal/3600;
  492.     DcadaSeg=PDeut/3600;
  493.  
  494.  
  495.     if ((LlenoM)||(PMetal==0)) segundosM=0
  496.     else segundosM=(AlmM-Metal)/McadaSeg;
  497.  
  498.     if ((LlenoC)||(PCristal==0)) segundosC=0
  499.     else segundosC=(AlmC-Cristal)/CcadaSeg;
  500.  
  501.     if ((LlenoD)||(PDeut==0)) segundosD=0
  502.     else segundosD=(AlmD-Deut)/DcadaSeg;
  503.  
  504.  
  505.  
  506.     minutos=segundosM/60;
  507.     horas=minutos/60;
  508.     dias=horas/24;
  509.  
  510.  
  511.     tiemMd=dias-dias%1;
  512.     tiemMh=(horas-horas%1)-((dias-dias%1)*24);
  513.     tiemMm=(minutos-minutos%1)-((horas-horas%1)*60);
  514.     tiemMs=segundosM%60-segundosM%1;
  515.     tiemMetal = "";
  516.     if((tiemMd == 0) && (tiemMh == 0) && (tiemMm == 0) && (tiemMs == 0)){
  517.         tiemMetal = "Completo";
  518.     }
  519.  
  520.     minutos=segundosC/60;
  521.     horas=minutos/60;
  522.     dias=horas/24;
  523.  
  524.  
  525.     tiemCd=dias-dias%1;
  526.     tiemCh=(horas-horas%1)-((dias-dias%1)*24);
  527.     tiemCm=(minutos-minutos%1)-((horas-horas%1)*60);
  528.     tiemCs=segundosC%60-segundosC%1;
  529.     tiemCristal = "";
  530.     if((tiemCd == 0) && (tiemCh == 0) && (tiemCm == 0) && (tiemCs == 0)){
  531.         tiemCristal = "Completo";
  532.     }
  533.  
  534.  
  535.     minutos=segundosD/60;
  536.     horas=minutos/60;
  537.     dias=horas/24;
  538.  
  539.  
  540.     tiemDd=dias-dias%1;
  541.     tiemDh=(horas-horas%1)-((dias-dias%1)*24);
  542.     tiemDm=(minutos-minutos%1)-((horas-horas%1)*60);
  543.     tiemDs=segundosD%60-segundosD%1;
  544.     tiemDeuterio = "";
  545.     if((tiemDd == 0) && (tiemDh == 0) && (tiemDm == 0) && (tiemDs == 0)){
  546.         tiemDeuterio = "Completo";
  547.     }
  548.  
  549.  
  550.  
  551.  
  552.     CuentaRec.innerHTML += '<table width="550">'+
  553. '<tr><td class="c" colspan="3">Estado de los Almacenes</td></tr>'+'<tr>'+'<th id="alm_M">Metal ('+EAlmM+'%)</th>'+
  554. '<th>'+(tiemMd != 0 ? tiemMd+'dias': '')+' '+(tiemMh != 0 ? tiemMh+'h': '')+' '+(tiemMm != 0 ? tiemMm+'m': '')+' '+(tiemMs != 0 ? tiemMs+'s': '')+tiemMetal+' </th>'+
  555. '<th width="250"><div style="border: 1px solid #FFFFFF; width: 250px; text-align: center;"><div id="almM" style="background-color: '+(EAlmM > 99.99 ? '#C00000' : '#00C000')+'; width: '+(EAlmMPorc > 250 ? 250 : EAlmMPorc)+'px;">&nbsp;</div></div></th>'+
  556. '</tr>'+
  557. '<tr>'+
  558. '<th id="alm_C">Cristal ('+EAlmC+'%)</th>'+
  559. '<th>'+(tiemCd != 0 ? tiemCd+'dias': '')+' '+(tiemCh != 0 ? tiemCh+'h': '')+' '+(tiemCm != 0 ? tiemCm+'m': '')+' '+(tiemCs != 0 ? tiemCs+'s': '')+tiemCristal+' </th>'+
  560. '<th width="250"><div style="border: 1px solid #FFFFFF; width: 250px;"><div id="almC" style="background-color: '+(EAlmC > 99.99 ? '#C00000' : '#00C000' )+'; width: '+(EAlmCPorc > 250 ? 250 : EAlmCPorc)+'px;">&nbsp;</div></div></th>'+
  561. '</tr>'+
  562. '<tr>'+
  563. '<th id="alm_D">Deuterio ('+EAlmD+'%)</th>'+
  564. '<th>'+(tiemDd != 0 ? tiemDd+'dias': '')+' '+(tiemDh != 0 ? tiemDh+'h': '')+' '+(tiemDm != 0 ? tiemDm+'m': '')+' '+(tiemDs != 0 ? tiemDs+'s': '')+tiemDeuterio+' </th>'+
  565. '<th width="250"><div style="border: 1px solid #FFFFFF; width: 250px;"><div id="almD" style="background-color: '+(EAlmD > 99.99 ? '#C00000' : '#00C000' )+'; width: '+(EAlmDPorc > 250 ? 250 : EAlmDPorc)+'px;">&nbsp;</div></div></th>'+
  566. '</tr>'+
  567. '</table><br />';
  568.  
  569.  
  570.  
  571.     //Tabla de la ampliacion con los recursos totales de los planetas sumados
  572.  
  573.     if(GetCookie("planetas") == null){
  574.    
  575.         // comprobamos que no sea una luna, metal y deuterio a cero
  576.         if(recurso[1]!="0" && recurso[2]!="0"){
  577.             CuentaRec.innerHTML += '<table width="550">'+'<tr><td class="c" colspan="4">Producci&oacute;n Total de 0 planetas</td></tr><tr><td  class="c" colspan="4">No tiene añadido ningun planeta, vaya a la pantalla de los recursos de los planetas</td></tr></table><br />';
  578.         }else{
  579.             CuentaRec.innerHTML += '<table width="550">'+'<tr><td class="c" colspan="4">Producci&oacute;n Total</td></tr><tr><td  class="c" colspan="4">Esta usted en una Luna y esta no produce.</td></tr></table><br />';
  580.         }
  581.    
  582.     }else{
  583.  
  584.     planetas_format = GetCookie("planetas");
  585.     planetas_format = planetas_format.split (",");
  586.     planetas_format= planetas_format.sort();
  587.     planetas_format_final="";
  588.  
  589.     for (var i=1; i<planetas_format.length; i++){
  590.         planetas_format_final+='['+planetas_format[i]+'] ';
  591.     }
  592.    
  593.     planetas_recursos = GetCookie("recursos");
  594.     planetas_recursos = planetas_recursos.split (",");
  595.     planetas_recursos_metal=0;
  596.     planetas_recursos_cristal=0;
  597.     planetas_recursos_deuterio=0;
  598.    
  599.     // Suma de los recuros diarios de cada planeta
  600.     for (var i=1; i<planetas_recursos.length; i++){
  601.         if(i%3 == 1){
  602.         planetas_recursos_metal=planetas_recursos_metal+parseInt(planetas_recursos[i]);
  603.         }
  604.         if(i%3 == 2){
  605.         planetas_recursos_cristal=planetas_recursos_cristal+parseInt(planetas_recursos[i]);
  606.         }
  607.         if(i%3 == 0){
  608.         planetas_recursos_deuterio=planetas_recursos_deuterio+parseInt(planetas_recursos[i]);
  609.         }
  610.     }
  611.    
  612.    
  613.     CuentaRec.innerHTML += '<table width="550">'+'<tr><td class="c" colspan="4">Producci&oacute;n Total de '+(planetas_format.length-1)+' planetas</td></tr><tr><td class="c" width="110" style="text-align:center;">Planetas</td><td class="c" colspan="3">'+planetas_format_final+'</td></tr>'+'<tr>'+'<td class="c">&nbsp;</td>'+'<th>Diaria</th>'+'<th>Semanal</th>'+'<th>Mensual</th>'+'</tr>'+'<tr>'+'<td class="c"><img src="http://uni43.ogame.com.es/evolution/images/metall.gif" width="24" style="margin-right:15px;" /><font color="#F1531E" style="margin-right:15px;font-style:italic;">Metal</font></td>'+'<th><font color="#00ff00">'+formatNmb(planetas_recursos_metal*24)+'</font></th>'+'<th><font color="#00ff00">'+formatNmb(planetas_recursos_metal*168)+'</font></th>'+'<th><font color="#00ff00">'+formatNmb(planetas_recursos_metal*720)+'</font></th>'+'</tr>'+'<tr>'+'<td class="c"><img src="http://uni43.ogame.com.es/evolution/images/kristall.gif" width="24" style="margin-right:15px;" /><font color="#54B0DC" style="margin-right:15px;font-style:italic;">Cristal</font></td>'+'<th><font color="#00ff00">'+formatNmb(planetas_recursos_cristal*24)+'</font></th>'+'<th><font color="#00ff00">'+formatNmb(planetas_recursos_cristal*168)+'</font></th>'+'<th><font color="#00ff00">'+formatNmb(planetas_recursos_cristal*720)+'</font></th>'+'</tr>'+'<tr>'+'<td class="c"><img src="http://uni43.ogame.com.es/evolution/images/deuterium.gif" width="24" style="margin-right:15px;" /><font color="#9AACCB" style="margin-right:15px;font-style:italic;">Deuterio</td>'+'<th><font color="#00ff00">'+formatNmb(planetas_recursos_deuterio*24)+'</font></th>'+'<th><font color="#00ff00">'+formatNmb(planetas_recursos_deuterio*168)+'</font></th>'+'<th><font color="#00ff00">'+formatNmb(planetas_recursos_deuterio*720)+'</font></th>'+'</tr>'+'<tr>'+'<td class="c" style="text-align:center;"><font>Total</td>'+'<th><font color="#00ff00">'+formatNmb((planetas_recursos_metal*24)+(planetas_recursos_cristal*24)+(planetas_recursos_deuterio*24))+'</font></th>'+'<th><font color="#00ff00">'+formatNmb((planetas_recursos_metal*168)+(planetas_recursos_cristal*168)+(planetas_recursos_deuterio*168))+'</font></th>'+'<th><font color="#00ff00">'+formatNmb((planetas_recursos_metal*720)+(planetas_recursos_cristal*720)+(planetas_recursos_deuterio*720))+'</font></th>'+'</tr></table><br />';
  614.  
  615.  
  616.     }
  617.  
  618.     ResForm.parentNode.insertBefore(CuentaRec, ResForm.nextSibling);
  619.     ResForm.parentNode.insertBefore(ProdFact, ResForm);
  620.     document.body.innerHTML = document.body.innerHTML.replace(/factor de producci(.)+n\:(.)*[0-9.]/gi,'');
  621.    
  622.  
  623.     //Movimiento en las barras
  624.     for (var i = 0; i <= FactorPorc; i++) {
  625.         setTimeout('document.getElementById("factorP").style.width="'+i+'px"', 20*(i+2));
  626.         setTimeout('document.getElementById("factor_P").innerHTML ="'+Math.round(((100*i)/250))+' %"', 20*(i+2));
  627.     }
  628.     setTimeout('document.getElementById("factor_P").innerHTML ="'+Factor+'%"', FactorPorc*20*(i+2));
  629.  
  630.     for (var i = 0; i <= (EAlmMPorc > 250 ? 250 : EAlmMPorc); i++) {
  631.         setTimeout('document.getElementById("almM").style.width="'+i+'px"', 20*(i+2));
  632.         setTimeout('document.getElementById("alm_M").innerHTML ="Metal - '+Math.round(((100*i)/250))+' %"', 20*(i+2));
  633.     }
  634.     setTimeout('document.getElementById("alm_M").innerHTML ="Metal - '+EAlmM+'%"', (EAlmMPorc > 250 ? 250 : EAlmMPorc)*20*(i+2));
  635.  
  636.     for (var i = 0; i <= (EAlmCPorc > 250 ? 250 : EAlmCPorc); i++) {
  637.         setTimeout('document.getElementById("almC").style.width="'+i+'px"', 20*(i+2));
  638.         setTimeout('document.getElementById("alm_C").innerHTML ="Cristal - '+Math.round(((100*i)/250))+' %"', 20*(i+2));
  639.     }
  640.     setTimeout('document.getElementById("alm_C").innerHTML ="Cristal - '+EAlmC+'%"', (EAlmCPorc > 250 ? 250 : EAlmCPorc)*20*(i+2));
  641.  
  642.     for (var i = 0; i <= (EAlmDPorc > 250 ? 250 : EAlmDPorc); i++) {
  643.         setTimeout('document.getElementById("almD").style.width="'+i+'px"', 20*(i+2));
  644.         setTimeout('document.getElementById("alm_D").innerHTML ="Deuterio - '+Math.round(((100*i)/250))+' %"', 20*(i+2));
  645.     }
  646.     setTimeout('document.getElementById("alm_D").innerHTML ="Deuterio - '+EAlmD+'%"', (EAlmDPorc > 250 ? 250 : EAlmDPorc)*20*(i+2));
  647.  
  648.     }
  649.  
  650.  
  651. /*//////////////////////////////////////////RECURSOS EN TIEMPO REAL//////////////////////////////////////////*/
  652.    
  653. if(GetCookie("planetas") == null){
  654.  
  655. }else{
  656.     planetas_format = GetCookie("planetas");
  657.     planetas_format = planetas_format.split (",");
  658.  
  659.     planetas_recursos = GetCookie("recursos");
  660.     planetas_recursos = planetas_recursos.split (",");
  661.    
  662.     planetas_almacenes = GetCookie("almacenes");
  663.     planetas_almacenes = planetas_almacenes.split (",");
  664.  
  665.     done=0;
  666.     for (var i=1; i<planetas_format.length; i++){
  667.         if(planetas_format[i]==planeta[1]){
  668.         a = (i*3)-3;
  669.         PMetal = parseInt(planetas_recursos[a+1]);
  670.         PCristal = parseInt(planetas_recursos[a+2]);
  671.         PDeut = parseInt(planetas_recursos[a+3]);
  672.         AlmM = parseInt(planetas_almacenes[a+1]);
  673.         AlmC = parseInt(planetas_almacenes[a+2]);
  674.         AlmD = parseInt(planetas_almacenes[a+3]);
  675.         done=1;
  676.         i=planetas_format.length;
  677.         }
  678.     }  
  679. }
  680.  
  681.  
  682.  
  683.  
  684.  
  685. var Energia=T_Recursos2[14].innerHTML;
  686.  
  687. if(PMetal!="0" && PCristal!="0" && Energia!="<font>0</font>/0"){ // para que sea distinto de una luna
  688.  
  689. /* Producción por segundo para recursos "live" */
  690. SMetal = PMetal/3600;
  691. SCristal = PCristal/3600;
  692. SDeut = PDeut/3600;
  693.  
  694.  
  695. window.dat = new Date();
  696. window.Mold = Metal;
  697. window.Cold = Cristal;
  698. window.Dold = Deut;
  699.  
  700.  
  701. window.setInterval(function() {
  702.  
  703. var recs = document.getElementById('resources').getElementsByTagName("td");
  704. var dat2 = new Date();
  705. var startime = dat.getTime();
  706. var endtime = dat2.getTime();
  707. var secs = (endtime-startime)/1000;
  708.  
  709.     if(Metal<AlmM){
  710.         Mposeido = roundNumber((SMetal*secs)+Metal);
  711.         recs[10].innerHTML = recs[10].innerHTML.split(formatNmb(window.Mold)).join(formatNmb(Mposeido));
  712.         window.Mold = Mposeido;
  713.     }
  714.    
  715.     if(Cristal<AlmC) {
  716.         Cposeido = roundNumber((SCristal*secs)+Cristal);
  717.         recs[11].innerHTML = recs[11].innerHTML.split(formatNmb(window.Cold)).join(formatNmb(Cposeido));
  718.         window.Cold = Cposeido;
  719.     }
  720.    
  721.     if(Deut<AlmD){
  722.         Dposeido = roundNumber((SDeut*secs)+Deut);
  723.         recs[12].innerHTML = recs[12].innerHTML.split(formatNmb(window.Dold)).join(formatNmb(Dposeido));
  724.         window.Dold = Dposeido;
  725.     }
  726.  
  727. },250);
  728. }
Advertisement
Add Comment
Please, Sign In to add comment