🏠 返回首頁 

Greasy Fork is available in English.

FourmizzzHelp

Petit Script D'aide Fourmizzz


Installer ce script?
// ==UserScript==
// @name         FourmizzzHelp
// @namespace    http://tampermonkey.net/
// @version      1.3
// @description  Petit Script D'aide Fourmizzz
// @author       Askidox
// @match        http://*.fourmizzz.fr/*
// @grant        none
// ==/UserScript==
//------------------------------------------------------------
// Function
//------------------------------------------------------------
//Permet de savoir si l'attaque précédante était une attaque réduite ou non.
var lastAttaque = false;
if (getCookie("FH_lastAttaque") != ""){
lastAttaque = JSON.parse(getCookie("FH_lastAttaque"));
} else {
setCookie("FH_lastAttaque", false, 1);
}
//Calcule la prise optimal en fonction des deux TM
function CalcTMPris(Vtm, Ctm) {
if (lastAttaque === false) {
var Prise = parseInt(Ctm * 0.2 + 0.5);
if (liminf(Vtm + Prise) >= Ctm - Prise) {
while (liminf(Vtm + Prise) >= Ctm - Prise) {
Prise -= (Prise / 1000000);
}
Prise = parseInt(Prise - 2);
lastAttaque = true;
setCookie("FH_lastAttaque", true, 1);
return Prise;
} else {
return Prise;
}
} else if (lastAttaque === true) {
lastAttaque = false;
setCookie("FH_lastAttaque", false, 1);
return Prise = parseInt(Ctm * 0.2 + 0.5);
}
}
function liminf(tm) {
return parseInt((tm / 2));
}
function limsup(tm) {
return parseInt((tm * 3));
}
//------------------------------------------------------------
// Fontion Nombre
//------------------------------------------------------------
//Rajoute des espaces dans un nombre
function NB_ES(nb) {
if (nb === "") {
return "";
}
function test(e) {
if (e === undefined) {
return "";
} else {
return e;
}
}
//Si sans virgule
if (parseInt(nb) === nb) {
var nbtext = String(nb);
var nbtextfinal = "";
var i = 0;
while (i < parseInt(nbtext.length / 3) + 1) {
nbtextfinal = test(nbtext[nbtext.length - 1 - (i * 3)]) + nbtextfinal;
nbtextfinal = test(nbtext[nbtext.length - 2 - (i * 3)]) + nbtextfinal;
nbtextfinal = test(nbtext[nbtext.length - 3 - (i * 3)]) + nbtextfinal;
if (i < parseInt((nbtext.length - 1) / 3)) {
nbtextfinal = " " + nbtextfinal;
}
i += 1;
}
return nbtextfinal;
} else {
var int = parseInt(nb);
var float = nb - parseInt(nb);
float = parseInt(float * Math.pow(10, String(nb).length - String(int).length - 1));
//Partie avant la virgule
var inttext = String(int);
var inttextfinal = "";
var i = 0;
while (i < parseInt(inttext.length / 3) + 1) {
inttextfinal = test(inttext[inttext.length - 1 - (i * 3)]) + inttextfinal;
inttextfinal = test(inttext[inttext.length - 2 - (i * 3)]) + inttextfinal;
inttextfinal = test(inttext[inttext.length - 3 - (i * 3)]) + inttextfinal;
if (i < parseInt((inttext.length - 1) / 3)) {
inttextfinal = " " + inttextfinal;
}
i += 1;
}
inttextfinal = inttextfinal.replace(/ $/, "");
//Partie après virgule
var floattext = String(float);
var floattextfinal = "";
var i = 0;
while (i < parseInt(floattext.length / 3) + 1) {
floattextfinal = floattextfinal + test(floattext[(i * 3)]);
floattextfinal = floattextfinal + test(floattext[(i * 3) + 1]);
floattextfinal = floattextfinal + test(floattext[(i * 3) + 2]);
if (i < parseInt((floattext.length - 1) / 3)) {
floattextfinal = floattextfinal + " ";
}
i += 1;
}
floattextfinal = floattextfinal.replace(/ $/, "");
floattextfinal = floattextfinal.replace(/^ /, "");
//return nb final
return inttextfinal+"."+floattextfinal;
}
}
//Transforme un nombre littéraire en nombre décimal
function TX_NB(nb) {
if (nb === "") {
return "";
}
nb = nb.replace(/k/ig, "000");
nb = nb.replace(/m/ig, "000000");
nb = nb.replace(/g/ig, "000000000");
nb = nb.replace(/t/ig, "000000000000");
nb = nb.replace(/\D/ig, "");
return parseInt(nb);
}
//Transforme un nombre décimal en nombre littéraire
function NB_TX(nb) {
if (nb === "") {
return "";
}
var nbtext = String(parseInt(nb));
if (nb >= 1000000000000) {
return parseInt(nb / 10000000000) / 100 + "T";
} else if (nb >= 1000000000 && nb < 1000000000000) {
return parseInt(nb / 10000000) / 100 + "G";
} else if (nb >= 1000000 && nb < 1000000000) {
return parseInt(nb / 10000) / 100 + "M";
} else if (nb >= 1000 && nb < 1000000) {
return parseInt(nb / 10) / 100 + "K";
} else {
return nb;
}
}
//------------------------------------------------------------
// COOKIE
//------------------------------------------------------------
function setCookie(cname, cvalue, exdays) {
var d = new Date();
d.setTime(d.getTime() + (exdays*24*60*60*1000));
var expires = "expires="+ d.toUTCString();
document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
}
function getCookie(cname) {
var name = cname + "=";
var decodedCookie = decodeURIComponent(document.cookie);
var ca = decodedCookie.split(';');
for(var i = 0; i <ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == ' ') {
c = c.substring(1);
}
if (c.indexOf(name) == 0) {
return c.substring(name.length, c.length);
}
}
return "";
}
//------------------------------------------------------------
// SCRIPT
//------------------------------------------------------------
function script(){
//------------------------------------------------------------
// VAR
//------------------------------------------------------------
//Get Pseudo
var Pseudo = document.getElementById("pseudo").textContent;
//------------------------------------------------------------
// FHDIV
//------------------------------------------------------------
/*var version = "1.0";
var FH_DIV = document.getElementById("boiteComptePlus");
document.querySelectorAll(".titre_colonne_cliquable").forEach(function(aze){
aze.style.position = "none";
})
document.querySelector(".contenu_boite_compte_plus").style.position = "none";
var divTitre = document.createElement("div");
divTitre.className = "titre_colonne_cliquable";
var aTitre = document.createElement("a");
aTitre.href = "javascript:void()";
aTitre.textContent = "FH v"+version;
divTitre.appendChild(aTitre);
FH_DIV.appendChild(divTitre);*/
//------------------------------------------------------------
// Code Par Page
//------------------------------------------------------------
if (/Membre\.php\?Pseudo=/.test(document.URL)){
//------------------------------------------------------------
// Page Profils de Joueur
//------------------------------------------------------------
console.log("Page: Profils de Joueur");
if (document.querySelectorAll(".tableau_score").length === 2){
var TMCible = document.querySelectorAll(".tableau_score tr")[1].children[1].textContent.replace(/ /g, "");
var MFAuto = document.createElement("li");
var Lien = document.createElement("a");
Lien.textContent = "MultiFlood";
Lien.href = document.querySelectorAll(".tableau_score")[1].children[1].querySelector("li a").href;
Lien.addEventListener("click", function(){
setCookie("FH_MF", true, 1);
setCookie("FH_MF_TDCMOI", parseInt(document.getElementById("quantite_tdc").textContent));
setCookie("FH_MF_TDCCIBLE", TMCible, 1);
});
MFAuto.appendChild(Lien);
document.querySelectorAll(".tableau_score")[1].children[1].appendChild(MFAuto);
}
} else if (/ennemie\.php\?Attaquer=/.test(document.URL)) {
//------------------------------------------------------------
// Page Lancement Attaque
//------------------------------------------------------------
console.log("Page: Lancement Attaque");
if (getCookie("FH_MF")){
var tdcJ = parseInt(getCookie("FH_MF_TDCMOI"));
var tdcE = parseInt(getCookie("FH_MF_TDCCIBLE"));
if (tdcE > liminf(tdcJ) && tdcE < limsup(tdcE)){
var Armee = [];
var TroupeAttaque = [];
for (var i = 1; i <= 14; i++){
var inputTroupe = document.getElementById("unite"+i);
if (inputTroupe != null){
Armee.push(parseInt(inputTroupe.value.replace(/ /g, "")));
} else {
Armee.push(0);
}
TroupeAttaque.push(0);
}
var Prise = CalcTMPris(tdcJ, tdcE);
var futurTdcE = tdcE - Prise;
var futurTdcJ = tdcJ + Prise;
for (var a = 0; a < 14; a++){
if (Prise <= Armee[a]){
TroupeAttaque[a] += Prise;
a = 14;
} else {
TroupeAttaque[a] += Armee[a];
Prise -= Armee[a];
}
}
console.log(Prise);
$.ajax({
dataType: "html",
type: 'POST',
async: false,
url: document.getElementById("formulaireChoixArmee").action,
data: {
unite1: TroupeAttaque[0],
unite2: TroupeAttaque[1],
unite3: TroupeAttaque[2],
unite4: TroupeAttaque[3],
unite5: TroupeAttaque[4],
unite6: TroupeAttaque[5],
unite7: TroupeAttaque[6],
unite8: TroupeAttaque[7],
unite9: TroupeAttaque[8],
unite10: TroupeAttaque[9],
unite11: TroupeAttaque[10],
unite12: TroupeAttaque[11],
unite13: TroupeAttaque[12],
unite14: TroupeAttaque[13],
t: document.querySelector("input#t").value,
pseudoCible: document.querySelector("[name=pseudoCible]").value,
ChoixArmee: "Attaquer "+document.querySelector("[name=pseudoCible]").value+" !"
},
contentType: "application/x-www-form-urlencoded; charset=utf-8",
success: function (data) {
console.log("Flood Lance Succes");
setCookie("FH_MF_TDCMOI", futurTdcJ, 1);
setCookie("FH_MF_TDCCIBLE", futurTdcE, 1);
location.reload();
}
});
} else {
alert("Attaques Lancées ! \nLa cible aura "+NB_ES(parseInt(getCookie("FH_MF_TDCCIBLE")))+" tdc à la fin des floods.");
document.querySelector("#centre center").innerHTML += "<br><strong>TDC de la cible: "+NB_ES(parseInt(getCookie("FH_MF_TDCCIBLE")))+"<strong>";
setCookie("FH_MF_TDCCIBLE", "", -1);
setCookie("FH_MF", "", -1);
setCookie("FH_MF_TDCMOI", "", -1);
setCookie("FH_lastAttaque", "", -1);
}
}
} else if (/alliance\.php\?Membres/.test(document.URL)){
//------------------------------------------------------------
// Page Membre Alliance
//------------------------------------------------------------
console.log("Page: Membre Alliance");
//Coloration Ligne Joueur
var trJoueur = document.querySelector("[href=\"Membre.php?Pseudo="+Pseudo+"\"]").parentElement.parentElement;
trJoueur.style.backgroundColor = "white";
//Si attaquable ou non
var tableauHTML = document.getElementById("tabMembresAlliance").lastChild.children;
var tableau = [];
for (var i = 1; i < tableauHTML.length; i++){
tableau.push(tableauHTML[i]);
}
var tdcJoueur = parseInt(document.getElementById("quantite_tdc").textContent);
tableau.forEach(function(trJoueurActu){
var tdcJA = parseInt(trJoueurActu.children[5].textContent.replace(/ /g, ""));
if (tdcJA<tdcJoueur*3 && tdcJA>tdcJoueur/2){
trJoueurActu.children[5].style.color = "red";
trJoueurActu.children[5].setAttribute("alt", "Attaquable");
}
});
}
}
setTimeout(script, 1000);