NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript==
// @name Fleet Management
// @namespace http://tampermonkey.net/
// @version 0.4.4
// @description Automate management of your ogame fleets
// @author Piotr Yordanov
// @grant none
// @require https://raw.githubusercontent.com/caolan/async/master/dist/async.min.js
// @require https://raw.githubusercontent.com/piotryordanov/ogame/master/sendFleet.js
// @include *.ogame*gameforge.com/game/index.php*
// @exclude http://127.0.0.1:3000/
// ==/UserScript==
(function() {
'use strict';
// Use this to make it automatic to attack spied Resources
function waitForElementToDisplay(selector, time) {
if(document.querySelector(selector)!=null) {
// Create space for the last Icon
$($(".spyTableIcon").parent()[1]).width(110);
var spiedTargets = $(".spyTableIcon").parent()
var addButton = function(target, cb) {
var href = $($(target).children()[4]).attr('href');
$(target).append('<a href=' + href + ' class="spyTableIcon autoAttackIcon">A</a>')
cb()
}
async.eachSeries(spiedTargets, addButton, function(err, result){
$( ".autoAttackIcon" ).click(function(event) {
event.preventDefault();
$("#fleetManagementBox").show()
var href = $(this).attr('href');
var originalCoords = href.split("fleet1")[1];
var sendingFleet = {
"sendFleetData": [{
"url": "https://s127-fr.ogame.gameforge.com/game/index.php?page=fleet1",
"data": ""
}, {
"url": "https://s127-fr.ogame.gameforge.com/game/index.php?page=fleet2",
"data": "&am203=929&am204=&am205=&am206=&am207=&am208=&am209=&am210=&am211=&am213=&mission=1&speed=10&type=1" + originalCoords
}, {
"url": "https://s127-fr.ogame.gameforge.com/game/index.php?page=fleet3",
"data": "acsValues=-&mission=1&speed=10&type=1&union=0" + originalCoords
}, {
"url": "https://s127-fr.ogame.gameforge.com/game/index.php?page=movement",
"data": "acsValues=-&expeditiontime=1&holdingOrExpTime=0&holdingtime=1&mission=1&prioCrystal=2&prioDeuterium=3&prioMetal=1&speed=10&token=10b3c1cf0bb6b890e6aa57c3043ef788&type=1&union2=0" + originalCoords
}
]};
sendingFleet.step = 1;
var element = $(this).parent()
nextDispatchCb = function() {
$("#fleetManagementBox").hide()
$($(element).children()[4]).addClass('attacking');
};
$("#fleetManagementBox").text("Dispatching the Attack...")
var XMLcallback = function(response) {
SendFleet(response, sendingFleet)
}
PostXMLHttpRequest(sendingFleet.sendFleetData[0].url,sendingFleet.sendFleetData[0].data,XMLcallback);
});
});
return;
}
else {
setTimeout(function() {
waitForElementToDisplay(selector, time);
}, time);
}
}
waitForElementToDisplay("#agoSpyReportOverview")
// Bouton options
var aff_option = '<span class="menu_icon"></span><a id="turgon" class="menubutton "';
aff_option += 'href="#" accesskey="" target="_self">';
aff_option += '<span class="textlabel">Send Resources</span></a>';
var tableau = document.createElement("li");
tableau.innerHTML = aff_option;
tableau.id = 'optionTopRaider';
document.getElementById('menuTableTools').appendChild(tableau);//,
/* Dialog Box Showing the progress of each dispatch */
var aff2 = '<div id="fleetManagementBox" style="padding:10px;z-index: 10000;width:410px;position: fixed; bottom: 40%; left: 40%; border-radius: 5px; background-color: rgba(0,0,0,0.01); background-repeat: repeat-x; background-position: 0 -225px; border-right: 1px solid #000; border-left: 1px solid #000; height: 7px;">Sending Resources<center></center></div>';
var newElement3 = document.createElement("div"); // On crée un nouvelle élément div
newElement3.innerHTML = aff2;
if (document.getElementById('boxBG')) {
document.getElementById('boxBG').appendChild(newElement3);
} else {
document.getElementById('empire').appendChild(newElement3);
}
$("#fleetManagementBox").css('background-image', 'url(http://gf3.geo.gfsrv.net/cdne1/d03835718066a5a592a6426736e019.png)');
$("#fleetManagementBox").hide()
document.getElementById('turgon').addEventListener("click", function (event) {
$("#fleetManagementBox").show()
var koord = $($('.planet-koords')[0]).text();
var system = koord.split(":")[1];
var position = koord.split(":")[2].split("]")[0];
var galaxy = koord.split(":")[0].split("[")[1];
var sendingFleet = {};
var planets = $(".smallplanet");
planets.splice(0,1);
curr = 1
var total = planets.length
var dispatchResources = function(planet, callback) {
$("#fleetManagementBox").text("Sending Resources: " + curr + "/" + total + ". Do NOT refresh the page!")
var id = $(planet).attr('id').split("-")[1];
var url = "https://s127-fr.ogame.gameforge.com/game/index.php?page=overview&cp=" + id
PostXMLHttpRequest(url,[],function(response){
var crystal = parseFloat($(response).find('#resources_crystal').text().replace(/\./g, ''))
var metal = parseFloat($(response).find('#resources_metal').text().replace(/\./g, ''))
var deut = parseFloat($(response).find('#resources_deuterium').text().replace(/\./g, ''))
var reqTranspo = Math.ceil((crystal + metal + deut) / 25000)
sendingFleet = {
"sendFleetData": [{
"url": "https://s127-fr.ogame.gameforge.com/game/index.php?page=fleet1&cp=" + id,
"data": ""
}, {
"url": "https://s127-fr.ogame.gameforge.com/game/index.php?page=fleet2",
"data": "am202=&am203=929&am204=&am205=&am206=&am207=&am208=&am209=&am210=&am211=&am213=&galaxy=" + galaxy + "&mission=3&position=" + position + "&speed=10&system=" + system + "&type=1"
}, {
"url": "https://s127-fr.ogame.gameforge.com/game/index.php?page=fleet3",
"data": "acsValues=-&am203=929&galaxy=" + galaxy + "&mission=3&position=" + position + "&speed=10&system=" + system + "&type=1&union=0"
}, {
"url": "https://s127-fr.ogame.gameforge.com/game/index.php?page=movement",
"data": "acsValues=-&am203=" + reqTranspo + "&crystal=" + crystal + "&deuterium=" + deut + "&expeditiontime=1&galaxy=" + galaxy + "&holdingOrExpTime=0&holdingtime=1&metal=" + metal + "&mission=3&position=" + position + "&prioCrystal=2&prioDeuterium=3&prioMetal=1&speed=10&system=" + system + "&token=10b3c1cf0bb6b890e6aa57c3043ef788&type=1&union2=0"
}
]};
sendingFleet.step = 1;
nextDispatchCb = callback;
var XMLcallback = function(response) {
SendFleet(response, sendingFleet)
}
PostXMLHttpRequest(sendingFleet.sendFleetData[0].url,sendingFleet.sendFleetData[0].data,XMLcallback);
});
};
async.eachSeries(planets, dispatchResources, function(err, result){
location.reload()
});
}, true);
})();