/ ‘grepolis.user.js’

This commit is contained in:
Jan Bader 2014-06-04 15:38:28 +02:00
parent 0b459dcdd7
commit 72983e71d0

View File

@ -10,7 +10,7 @@
// //
// @match http://*.grepolis.com/game/* // @match http://*.grepolis.com/game/*
// //
// @version 1.0.37 // @version 1.0.38
// @updateURL http://git.javil.eu/jan/userscripts/raw/master/grepolis.user.js // @updateURL http://git.javil.eu/jan/userscripts/raw/master/grepolis.user.js
// ==/UserScript== // ==/UserScript==
@ -45,66 +45,69 @@
setTimeout(getWaresTick, 5000); setTimeout(getWaresTick, 5000);
function getWaresTick(xFarmId) { function getWaresTick(xFarmId) {
return function() { return function() {
var d = new Date(); var timeout = 60000;
var dformat = "[" + [d.getUTCHours(), d.getUTCMinutes(), d.getUTCSeconds()].join(':') + "]"; try {
$('.town_name').text(dformat); var d = new Date();
console.log($.map($(".indicator .amount"),function(v){return $(v).text()}).join(", ")); var dformat = "[" + [d.getUTCHours(), d.getUTCMinutes(), d.getUTCSeconds()].join(':') + "]";
$('.town_name').text(dformat);
console.log($.map($(".indicator .amount"),function(v){return $(v).text()}).join(", "));
var windowId = windows[xFarmId]; var windowId = windows[xFarmId];
if(windowId == undefined){ if(windowId == undefined){
console.log("Opening new Window"); console.log("Opening new Window");
var wnd = GPWindowMgr.Create( var wnd = GPWindowMgr.Create(
GPWindowMgr.TYPE_FARM_TOWN, GPWindowMgr.TYPE_FARM_TOWN,
'', '',
{'action': "claim_info"}, {'action': "claim_info"},
xFarmId); xFarmId);
windows[xFarmId] = wnd.getID(); windows[xFarmId] = wnd.getID();
setTimeout(getWaresTick(xFarmId), 500); timeout = 500;
return;
}
var wnd = GPWindowMgr.getWindowById(windowId);
if(wnd == undefined){
windows[xFarmId] = undefined;
console.log("Window not open any more");
setTimeout(getWaresTick(xFarmId), 50);
return;
}
var wndElement = wnd.getElement();
if(wndElement == undefined){
windows[xFarmId] = undefined;
console.log("Window not reachable any more");
try {
wnd.close();
} catch(e) {
console.warn("Could not close Window");
}
setTimeout(getWaresTick(xFarmId), 50);
return;
}
var btn = $(wndElement).find(".farm_claim_box .farm_claim_res0 + div + a");
var mood = parseFloat($(wndElement).find('#mood1').siblings().last().text());
if(btn.hasClass("farm_claim_button_inactive")) {
var ts = $(wndElement).find(".farm_next_claim_time").text();
if(ts != "bereit") {
var minutes = ts.substring(2,4);
var seconds = minutes * 60 + ts.substring(5,7) * 1;
$('.town_name').text(dformat + " +" + ts);
console.log("btn is inactive, trying again in " + ts);
wnd.close();
setTimeout(getWaresTick(xFarmId), seconds * 1000 + 1000);
return; return;
} }
}
getWaresFromFarm(btn[0], mood, xFarmId); var wnd = GPWindowMgr.getWindowById(windowId);
setTimeout(getWaresTick(xFarmId), 60 * 1000); if(wnd == undefined){
windows[xFarmId] = undefined;
console.log("Window not open any more");
timeout = 50;
return;
}
var wndElement = wnd.getElement();
if(wndElement == undefined){
windows[xFarmId] = undefined;
console.log("Window not reachable any more");
try {
wnd.close();
} catch(e) {
console.warn("Could not close Window");
}
timeout = 50;
return;
}
var btn = $(wndElement).find(".farm_claim_box .farm_claim_res0 + div + a");
var mood = parseFloat($(wndElement).find('#mood1').siblings().last().text());
if(btn.hasClass("farm_claim_button_inactive")) {
var ts = $(wndElement).find(".farm_next_claim_time").text();
if(ts != "bereit") {
var minutes = ts.substring(2,4);
var seconds = minutes * 60 + ts.substring(5,7) * 1;
$('.town_name').text(dformat + " +" + ts);
console.log("btn is inactive, trying again in " + ts);
wnd.close();
timeout = seconds * 1000 + 1000;
return;
}
}
getWaresFromFarm(btn[0], mood, xFarmId);
} finally {
setTimeout(getWaresTick(xFarmId), timeout);
}
} }
} }