Lien-Marchands&Somme

script to provide links for merchants in Travian Game

当前为 2018-01-10 提交的版本,查看 最新版本

// ==UserScript==
// @name         Lien-Marchands&Somme
// @namespace    http://tampermonkey.net/
// @version      0.2
// @require      https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js
// @author       azro
// @include     *://*.travian.*/*
// @include     *://*.travian.*/*
// @include     *://*.travian.*.*/*
// @include     *://travian.*/index.php*
// @exclude     *://*.travian*.*/support.php*
// @exclude     *://help.travian*.*
//@grant  GM_addStyle
// @description script to provide links for merchants in Travian Game
// ==/UserScript==

(function() {
    'use strict';

    // 1 pour activer et 0 pour d�sactiver
    let activerLienMarchands = 1;         // barre de lien rapide sur la droite

    let activerSomme = 1;                 // somme des ress sur la page des champs

    let activerRepartitionMarche = 1;     // r�partition rapide dans le march� (en x3)
    let repartitionRessources = [1,1,1,0]; // [b,t,f,c] choix des ressources sur lesquelles r�partir : [1,0,1,0] = bois et fer uniquement

    // /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\
    // -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --NE RIEN MODIFIER SOUS CETTE LIGNE -- -- -- -- -- -- -- -- -- -- -- -- - -- -- -- -- -- --
    // /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\


    let $$ = jQuery.noConflict();
    if(activerLienMarchands === 1){
        lienEnvoiMarchands();
    }
    if(activerSomme === 1){
        if (window.location.href.indexOf("dorf1.php") > -1) {
            sommeRessoures();
        }
    }
    if(activerRepartitionMarche === 1){
        if ($$("#build").hasClass( "gid17" )) {
            remplirRessourcesMarcheBIS(repartitionRessources[0],repartitionRessources[1],repartitionRessources[2],repartitionRessources[3]);
        }
    }


})();
//------------------------------------------------------------------------------
function sommeRessoures() {
    let $$ = jQuery.noConflict();

    $$("script").each(function () {
        if ($$(this).html().indexOf("resources.production") > -1) {
            eval($$(this).html().match(/resources.production\s=[\s\S]+};/));
        }
    });

    let prodBois = resources.production.l1;
    let prodArgile = resources.production.l2;
    let prodFer = resources.production.l3;
    let prodCereale = resources.production.l4;
    let prodTotal = parseInt(prodBois) + parseInt(prodArgile) + parseInt(prodFer) + parseInt(prodCereale);

    $$('#production').find('tbody').find('tr:last').after("<tr ><td><strong>&sum;</strong></td><td><strong>Somme</strong></td><td class=\"num\"><strong>" + prodTotal + "</strong></td></tr>");

    //--------------

}

function lienEnvoiMarchands() {
    let $$ = jQuery.noConflict();

    let cadre ='<div id="sideBarmarchands" class="sidebarBox"><div class="sidebarBoxBaseBox"><div class="baseBox baseBoxTop"><div class="baseBox baseBoxBottom"><div class="baseBox baseBoxCenter"></div></div></div></div>';
    let tete = "<div class=' sidebarBoxInnerBox '><div class=\"innerBox header \"><div class=\"expansionSlotInfo\"><div class=\"boxTitle\">Marchands vers :</div></div></div><div class='innerBox content'>";
    let liste = "<ul id='lienMarchands'></ul>";
    let pied = "</div><div class=\"innerBox footer\"></div></div></div>";

    $$('#sidebarAfterContent').append(cadre+tete + liste + pied);

    $$('#sidebarBoxVillagelist').find('ul').find('li').each(function () {

        let nom = $$(this).find('.name').text();
        let x = $$(this).find('.coordinateX').text().replace(/[^\x00-\x7F]/g, "").slice(1);
        let y = $$(this).find('.coordinateY').text().replace(/[^\x00-\x7F]/g, "").slice(0, -1);
        let idCase = 401 + parseInt(x) + 801 * (400 - parseInt(y));
        let url = "/build.php?z=" + idCase + "&gid=17&t=5";
        url = "<li><a href=" + url + " class=\"\"><i class=\"fa fa-shopping-cart\" aria-hidden=\"true\">" + nom + "</i></a></li>";

        $$("#lienMarchands").append(url);

    });
    $$("#lienMarchands").find("li").css('padding-left','0px');

    $$("#sideBarmarchands").css('position','absolute');
    $$("#sideBarmarchands").css('top','155px');
    $$("#sideBarmarchands").css('right','-220px');
    $$("#sideBarmarchands").css('width','200px');
    $$("#background").css('min-height','0');
}

function remplirRessourcesMarche(b,t,f,c){
    let $$ = jQuery.noConflict();
    let stock = $$(".middle .value").map(function () {
        return $$(this).text().replace(".", "");
    }).get();

    let stockBois = parseInt(stock[0].replace(" ",""));
    let stockArgile = parseInt(stock[1].replace(" ",""));
    let stockFer = parseInt(stock[2].replace(" ",""));
    let stockCereale = parseInt(stock[3].replace(" ",""));
    let stockConso = parseInt(stock[4].replace(" ",""));


    let element = '<button id="remplirRess" class="green prepare"><div class="button-container addHoverClick"><div class="button-background"><div class="buttonStart"><div class="buttonEnd"><div class="buttonMiddle"></div></div></div></div><div class="button-content">R�partir</div></div></button>';
    $$("#button").append(element);
    // $$("#remplirRess").css('margin-right','20px');


    $$("#remplirRess").click(function(){
        let capa = parseInt($$("#merchantCapacityValue").text());
        let reparti = capa/(b + t + f + c);
        if(b===1)
            $$("#r1").val(Math.min(reparti,stockBois));
        if(t===1)
            $$("#r2").val(Math.min(reparti,stockArgile));
        if(f===1)
            $$("#r3").val(Math.min(reparti,stockFer));
        if(c===1)
            $$("#r4").val(Math.min(reparti,stockCereale));
        $$("#x2").val(3);
    });
}

function remplirRessourcesMarcheBIS(b,t,f,c){
    let $$ = jQuery.noConflict();
    let stock = $$(".middle .value").map(function () {
        return $$(this).text().replace(".", "");
    }).get();

    let stockBois = parseInt(stock[0].replace(" ",""));
    let stockArgile = parseInt(stock[1].replace(" ",""));
    let stockFer = parseInt(stock[2].replace(" ",""));
    let stockCereale = parseInt(stock[3].replace(" ",""));
    let stockConso = parseInt(stock[4].replace(" ",""));


    let element = '<button id="remplirRess" class="green prepare"><div class="button-container addHoverClick"><div class="button-background"><div class="buttonStart"><div class="buttonEnd"><div class="buttonMiddle"></div></div></div></div><div class="button-content">R�partir</div></div></button>';
    $$("#button").append(element);
    $$("#remplirRess").css('margin-top','5px');
    $$("#remplirRess").css('width','85px');


    $$("#remplirRess").click(function(){
        let capa = parseInt($$("#merchantCapacityValue").text());
        let envoi = parseInt($$("#sumResources").text());
        let protection = 30;
        while((envoi<capa) && (protection-- > 0)){

            if(b===1)
                marketPlace.addRessources(1);
            if(t===1)
                marketPlace.addRessources(2);
            if(f===1)
                marketPlace.addRessources(3);
            if(c===1)
                marketPlace.addRessources(4);

            capa = parseInt($$("#merchantCapacityValue").text());
            envoi = parseInt($$("#sumResources").text());
        }


        $$("#x2").val(3);
    });
}