NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript==
// @name Update Oprojekt with Infocompte
// @namespace https://openuserjs.org/scripts/Choubakawa/Update_Oprojekt_with_Infocompte
// @version 1.0.0.1
// @description Update mines of Oprojekt with the export of mines of Infocompte
// @author Choubakawa (Ogame.fr uni Fornax)
// @include https://*.oprojekt.net/mines/?id=*
// @supportURL https://github.com/Choubakawa/Update-Oprojekt-with-Infocompte
// @require https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js
// @updateURL https://openuserjs.org/meta/Choubakawa/Update_Oprojekt_with_Infocompte.meta.js
// @downloadURL https://openuserjs.org/install/Choubakawa/Update_Oprojekt_with_Infocompte.user.js
// @license MIT
// ==/UserScript==
var addPlanetRow = window.unsafeWindow.addPlanetRow;
var title = document.getElementsByClassName("cont_bg4 box")[0].getElementsByTagName("h3")[0];
var mines = [];
var plasma;
var sizeRowInPage = $('#planetTable tbody tr').length;
var maxPlanetInOprojekt = 15;
var language = {
title: "Infocompte:",
buttonLabel: $("button[class='bigbutton button default'][name='mines_submit']").text()
};
/*
* GENERATE FORM
*/
function createForm() {
$(`
<h3>` + language.title + `</h3>
<table width="100%" align="center">
<tr>
<td style='width:75%; height:100%' align="center">
<textarea id='infoCompte' style='width:100%; resize:vertical'></textarea>
</td>
<td style='width:25%; vertical-align:middle;' align="center">
<button id='update'>` + language.buttonLabel + `</button>
</td>
</tr>
</table>
`).insertAfter(title);
}
/*
* GET VALUE FROM THE EXPORT
*/
function getValue(arrayValues) {
for (let i = 2; i < arrayValues.length - 14; i++) {
let line = arrayValues[i].split(" ");
let planet = {
name: line[0] + " " + line[1],
metal: line[4],
cristal: line[7],
deut: line[10],
temp: line[12].replace("°C", "")
};
mines.push(planet);
}
plasma = arrayValues[arrayValues.length - 9].split(" ")[3];
}
/*
* CALL THE METHOD addPlanetRow OF OPROJEKT SITE
*/
function callAddPlanetRow() {
return addPlanetRow();
}
/*
* ADD IF NEEDED A NEW ROW IN OPROJEKT TABLE
*/
function addRowInOproket() {
if (mines.length > sizeRowInPage) {
while (maxPlanetInOprojekt > sizeRowInPage && mines.length > sizeRowInPage) {
callAddPlanetRow();
sizeRowInPage = $('#planetTable tbody tr').length;
}
}
}
/*
* UPDATE TABLE
*/
function updateOprojekt() {
$("tr[id^='planet'],tr[id^='newPlanet']").each(function (i) {
$("td", this).each(function (j) {
if (i < mines.length) {
switch (j) {
case 0:
$("input", this).val(mines[i].name);
break;
case 1:
$("input", this).val(mines[i].metal);
break;
case 2:
$("input", this).val(mines[i].cristal);
break;
case 3:
$("input", this).val(mines[i].deut);
break;
case 5:
$("input", this).val(mines[i].temp);
break;
default:
break;
}
}
});
});
$("input[name='plasmaSt']").val(plasma);
}
createForm();
/*
* LISTENER
*/
$("#update").click(function () {
let exportVal = $("textarea").val();
if (exportVal.length > 0 && exportVal !== 'undefined' && exportVal.indexOf("\n") != -1) {
getValue(exportVal.split("\n"));
addRowInOproket();
updateOprojekt();
}
});