OGame: Cargos necessary

OGame: Number of cargos necessary to transport all resources

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。

您需要先安装用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name OGame: Cargos necessary
// @namespace https://greasyfork.org/users/4668-black-cat
// @description OGame: Number of cargos necessary to transport all resources
// @version 5.4
// @creator Black Cat
// @include http://*.ogame.gameforge.com/game/index.php?page=fleet1*
// ==/UserScript==

(function(){

	function addDots(nb) {
		nb = nb + "";
		while (/\d{4}/.test(nb)) {
			nb = nb.replace(/(\d+)(\d{3})/,"$1.$2");
		}
		return nb;
	}

	function hasClass (element, className) {
		return ( (" " + element.className + " ").replace(/[\n\t]/g, " ").indexOf(" " + className + " ") > -1);
	}

	var language = document.querySelector("meta[name=ogame-language]").getAttribute("content");
	var strSc, strLc, strTitleSc, strTitleLc;
	switch (language) {
		case "fr":
			strSc = "PT";
			strLc = "GT";
			strTitleSc = "Petits transporteurs nécessaires pour vider la colonie";
			strTitleLc = "Grands transporteurs nécessaires pour vider la colonie";
			break;
		default:
			strSc = "SC";
			strLc = "LC";
			strTitleSc = "Small cargos necessary to empty the colony";
			strTitleLc = "Large cargos necessary to empty the colony";
			break;
	}

	var metal = document.getElementById("resources_metal").innerHTML;
	metal = parseInt(metal.replace(/\D/g, ''));

	var cristal = document.getElementById("resources_crystal").innerHTML;
	cristal = parseInt(cristal.replace(/\D/g, ''));

	var deuterium = document.getElementById("resources_deuterium").innerHTML;
	deuterium = parseInt(deuterium.replace(/\D/g, ''));
	
	var total = metal + cristal + deuterium;

	var sc = Math.ceil(total/5000);
	var lc = Math.ceil(total/25000);

	var max_sc = 0;
	var button202 = document.getElementById("button202");
	if (button202 && hasClass(button202, "on")) {
		max_sc = parseInt(button202.getElementsByClassName("level")[0].innerHTML.replace(/<span[^<]*<\/span>/g,""));
	}

	var max_lc = 0;
	var button203 = document.getElementById("button203");
	if (button203 && hasClass(button203, "on")) {
		max_lc = parseInt(button203.getElementsByClassName("level")[0].innerHTML.replace(/<span[^<]*<\/span>/g,""));
	}

	var childs = document.getElementById("planet").childNodes;
	var nb_divs = 0;
	for (var i = 0; i < childs.length; i++) {
		if (childs[i].nodeName.toLowerCase() == "div") nb_divs++;
	}

	var div_parent = document.createElement("div");
	div_parent.className = "slot";
/*	#planet .slot {
		background:url(../img/layout/slots-bg.gif) no-repeat 0px 0px; 
		height:25px;
		font-size:11px;
		line-height:25px;
		text-align:center;
		text-decoration:none;
		overflow:hidden;
		padding:0px;
		position:absolute;
		width:231px;
		z-index:10;
	}*/
	div_parent.style.right = "3px";
	div_parent.style.bottom = (9 + 27*nb_divs) + "px";
	document.getElementById("planet").appendChild(div_parent);

	var div1 = document.createElement("div");
	div1.className = "fleft";
//	.fleft {    float:left;}
	div1.style.paddingLeft = "7px";
	div1.innerHTML = 
		"<a class='tooltip js_hideTipOnMobile' " +
		"title='" + strTitleSc + "'" +
		"href='javascript:void(0);'" +
		"onclick='toggleMaxShips(\"#shipsChosen\",202," + (sc>max_sc?max_sc:sc) + "); checkShips(\"shipsChosen\"); return false;'>" +
		addDots(sc) + " " + strSc + "</a>";
	div_parent.appendChild(div1);

	var div2 = document.createElement("div");
	div2.className = "fright";
//	.fright {   float:right;}
	div2.style.paddingRight = "21px";
	div2.innerHTML = 
		"<a class='tooltip js_hideTipOnMobile' " +
		"title='" + strTitleLc + "'" +
		"href='javascript:void(0);'" +
		"onclick='toggleMaxShips(\"#shipsChosen\",203," + (lc>max_lc?max_lc:lc) + "); checkShips(\"shipsChosen\"); return false;'>" +
		addDots(lc) + " " + strLc + "</a>";
	div_parent.appendChild(div2);

	var script = document.createElement("script");
	script.setAttribute("type","text/javascript");
	script.text = 
	'$(document).ready(function() {' +
		'$("#planet .slot").unbind("mouseenter mouseleave").hover(function(){$(this).addClass("slot-hover")},function(){$(this).removeClass("slot-hover")});' +
	'});';
	div_parent.appendChild(script);
})();