Hoy os traigo una nueva versión de OGStats, versión en la que por fin se hace público el famoso script de “automatización” entre otras cosas.
- Agregado código de identificación de cuenta: en esta versión se han creado unos strings de identificación única para cada una de las cuentas que se vayan creando; este va a ser un elemento crucial a la hora de configurar el script de actualización automática.
- Creado el script de identificación: al final de este artículo se explicará como configurar el script para un correcto funcionamiento.
- Mejorado el formulario de búsqueda: ya que en esta actualización permite el uso de más de un idioma, se ha hecho una selección por ajax de los universos según el dominio seleccionado.
- Mejorado el formulario de creación de cuenta: por las mismas razones que el apartado anterior.
- Borradas columnas innecesarias de la base de datos.
- Añadido un gestor de idiomas: en esta versión ya se permite el uso de OGStats en inglés además de español.
- Corregido un error leve en las búsquedas.
Antes de nada, para ejecutar correctamente el javascript necesitarás tener instalado el plugin de greasemonkey, una vez instalado, tendrás que copiar el código javascript que encontrarás a continuación en un archivo que ha de llamarse ogstats.user.js
[javascript]// ==UserScript==
// @name OGStats
// @author Alejandro Escario
// @date 20-11-2008
// @version 1.0
// @namespace OGStats
// @description OGStats
// @include *{{universe}}.ogame.org*page=overview*
// ==/UserScript==
_code = ‘{{code}}’;
_url = ‘http://ogstats.bitnbyte.org/’;
_version = ‘xvfcuj’;
_timeOffset = +0;
begin();
function begin(){
if(readCookie() == "OGStats") return;
var obj = document.getElementById(‘playerName’);
obj.innerHTML += ‘ <span id="OGStats"> <input type="button" value="OGStats" onclick="prototype.click = process" id="btnOGStats" /></span>’;
document.getElementById(‘btnOGStats’).addEventListener(‘click’, process, false); //necesario para ejecutar el onclick desde greasemonkey
}
function process(){
var content = document.getElementById(’scoreContentField’).innerHTML;
if(content == ”){
alert(‘Hasta que no aparezca la posición no se podrán enviar los datos…’);
reurn;
}
content = content.replace(/<a([^>]+)>|<\/a>/gi,"");
btn2img(content);
}
function btn2img(content){
makeCookie();
var obj = document.getElementById(‘OGStats’);
var img = _url + "send.php";
img += "?code=" + _code + "&text=" + content + "&version=" + _version;
obj.innerHTML = "<img src=’" + img + "’ />";
}
function getTTE(){
var hoy = new Date();
_timeOffset *= -60;
var gmtServerTime = (hoy.getHours() * 60 * 60 + hoy.getMinutes() * 60 + hoy.getSeconds()) + (hoy.getTimezoneOffset()*60) – (_timeOffset * 60);
var TTE = (24*60*60) – gmtServerTime;
TTE *= 1000;
hoy.setTime(hoy.getTime() + TTE);
return hoy.toGMTString();
}
function makeCookie () {
var expiresIn = getTTE();
var _value = "OGStats";
var _name = "OGStats";
document.cookie = _name + "=" + escape(_value) + "; expires=" + expiresIn + "; path=/";
}
function readCookieValue(_index) {
var _cookie = document.cookie
var endString = _cookie.indexOf(";", _index)
if (endString == -1)
endString = _cookie.length
return unescape(_cookie.substring(_index, endString))
}
function readCookie() {
var _name = "OGStats";
var _cookie = document.cookie
var arg = _name + "="
var alen = arg.length
var glen = _cookie.length
var i = 0
while (i < glen) {
var j = i + alen
if (_cookie.substring(i, j) == arg)
return readCookieValue(j)
i = _cookie.indexOf(" ", i) + 1
if (i == 0)
break
}
return null
}[/javascript]
ahora vamos a configurarlo:
- Sustituir {{universe}} por el servidor en el que juegas.
- Sustituir {{code}} por el código de cuenta (por el momento para adquirirlo, deberás de pedírmelo).
Una vez hecho todo esto hemos de guardar el archivo en el ordenador e introducirlo en el greasemonkey (Archivo>Abrir archivo…).
Una vez instalado el script cuando entres a OGame verás un botón (sólo aparece una vez al día) en la parte superior de la página, tras apretarlo este desaparecerá y en su lugar veremos una imagen:
- Roja: se produjo un error al actualizar la cuenta.
- Verde: todo fue bien.
- Amarillo: ya se ha introducido un registro hoy.
- Azul: la versión del script no es correcta.
NOTA*: El script está programado para la nueva versión de OGame.
NOTA**: Por el momento cuando se envian datos con el plugin la firma no se actualiza (aun no lo he conseguido), por lo que he puesto un boton para actualizarla en cada cuenta.

















