/ ‘grepolis.user.js’

This commit is contained in:
2014-06-04 15:15:39 +02:00
parent a0c6a30225
commit bca213845f

View File

@ -10,7 +10,7 @@
// //
// @match http://*.grepolis.com/game/* // @match http://*.grepolis.com/game/*
// //
// @version 1.0.29 // @version 1.0.30
// @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==
@ -35,54 +35,65 @@
}; };
console.log("Initializing..."); console.log("Initializing...");
windows = {};
farm_ids = [1225, 1226, 1229, 1230, 1231]; farm_ids = [1225, 1226, 1229, 1230, 1231];
console.log("Setting timer to 5s"); farm_ids.forEach(function(xFarmId) {
console.log("Setting timer to 5s for Farm " + xFarmId);
setTimeout(getWaresTick(xFarmId), 5000);
});
setTimeout(getWaresTick, 5000); setTimeout(getWaresTick, 5000);
function getWaresTick() { function getWaresTick(xFarmId) {
var d = new Date(); return function() {
var dformat = "[" + [d.getUTCHours(), d.getUTCMinutes(), d.getUTCSeconds()].join(':') + "]"; var d = new Date();
$('.town_name').text(dformat); var dformat = "[" + [d.getUTCHours(), d.getUTCMinutes(), d.getUTCSeconds()].join(':') + "]";
console.log($.map($(".indicator .amount"),function(v){return $(v).text()}).join(", ")); $('.town_name').text(dformat);
mood = 0; console.log($.map($(".indicator .amount"),function(v){return $(v).text()}).join(", "));
if(!buttonIsInitialized() || w(btn[0]) == null) {
console.log("Need to get btn again"); var windowId = windows[xFarmId];
if(GPWindowMgr.is_open(GPWindowMgr.TYPE_FARM_TOWN) < 1) { if(windowId == undefined){
console.log("Opening new Window"); console.log("Opening new Window");
getWaresWindow = GPWindowMgr.Create( var wnd = GPWindowMgr.Create(
GPWindowMgr.TYPE_FARM_TOWN, GPWindowMgr.TYPE_FARM_TOWN,
'', '',
{'action': "claim_info"}, {'action': "claim_info"},
1225); xFarmId);
setTimeout(getWaresTick, 500); windows[xFarmId] = wnd.getID();
setTimeout(getWaresTick(xFarmId), 500);
return; return;
} }
btn = $(".farm_claim_box .farm_claim_res0 + div + a");
mood = parseFloat($('#mood1').siblings().last().text());
}
if(btn.hasClass("farm_claim_button_inactive")) {
var ts = $(".farm_next_claim_time").text();
var minutes = ts.substring(2,4);
var seconds = minutes * 60 + ts.substring(5,7) * 1;
setTimeout(getWaresTick, seconds * 1000 + 1000);
$('.town_name').text(dformat + " +" + seconds + "s"); var wnd = GPWindowMgr.getWindowById(windowId);
console.log("btn is inactive, trying again in " + seconds + " seconds"); if(windowId == undefined){
if(getWaresWindow != null) { console.log("Window not open any more");
getWaresWindow.close(); setTimeout(getWaresTick(xFarmId), 50);
getWaresWindow = null; return;
} }
return; var wndElemend = wnd.getElement();
} var btn = $(wndElement).find(".farm_claim_box .farm_claim_res0 + div + a");
var mood = parseFloat($(wndElement).find('#mood1').siblings().last().text());
getWares(btn[0], mood); if(btn.hasClass("farm_claim_button_inactive")) {
setTimeout(getWaresTick, 60 * 1000); var ts = $(".farm_next_claim_time").text();
}
if(ts != "bereit") {
function getWares(xGetWaresButton, xMood) { var minutes = ts.substring(2,4);
farm_ids.forEach(function(xFarmId) { var seconds = minutes * 60 + ts.substring(5,7) * 1;
getWaresFromFarm(xGetWaresButton, xMood, xFarmId);
});
$('.town_name').text(dformat + " +" + seconds + "s");
console.log("btn is inactive, trying again in " + seconds + " seconds");
wnd.close();
setTimeout(getWaresTick(xFarmId), seconds * 1000 + 1000);
return;
}
}
getWaresFromFarm(btn[0], mood, xFarmId);
setTimeout(getWaresTick(xFarmId), 60 * 1000);
}
} }
function getWaresFromFarm(xGetWaresButton, xMood, xFarmId) { function getWaresFromFarm(xGetWaresButton, xMood, xFarmId) {