[Engedélyezett] Termelés számláló

öreg

Well-Known Member
A reakció pontszáma
1.707
A script áttekintés/termelés nézetben működik. Futtatás után összeszámolja, hogy mennyit termelnek a bányáink összesen.
Természetesen csak azokat a falvakat fogja figyelembe venni, amelyek az éppen aktuális csoportban vannak, illetve az egy oldalon megjelenő falvak számát is érdemes maximumra állítani(1000), mert csak ezekkel számol. Hogy ne terhelje annyira a szervert, egy falu 0.5 mp-et vesz igénybe, tehát nagyobb fióknál akár percekig is eltarthat a művelet.
Ötletgazda: @Close Your Eyes

Kód beillesztése:
javascript:
var fa = 0,
    agyag = 0,
    vas = 0,
    sitter = "";
if (game_data.player.sitter != "0") {
    sitter = "t=" + game_data.player.id + "&";
}
function createHead() {
    $("#production_table").find("tr:eq(0)").append("<th>Fa</th>");
    $("#production_table").find("tr:eq(0)").append("<th>Agyag</th>");
    $("#production_table").find("tr:eq(0)").append("<th>Vas</th>");
}

createHead();
var link = "https://" + window.location.host + "/game.php?" + sitter + "village=";
function getPage(id, pages) {
    if (id < pages) {
        var url = link + $(`#production_table .quickedit-vn:eq(${id})`).attr("data-id");
        $.ajax({
            type: 'GET',
            url: url,
            dataType: "html",
            success: function(data) {
                $("#show_prod strong", data).each(function(k,v) {
                    if (k == 0) {
                        classname = "fa";
                    } else if (k == 1) {
                        classname = "agyag";
                    } else {
                        classname = "vas";
                    }
                    $("#production_table").find(`tr:eq(${id+1})`).append(`<td class=${classname}>` + $(this).html() + `</td>`);
                });
                setTimeout(function() {
                    getPage(id + 1, pages);
                }, 500);
            }
        });
    } else {
        sum()
    }
}

getPage(0, totalPages());


function totalPages() {
    return parseInt($("#production_table").find("th:eq(1)").text().match(/\d+/)[0]);
}

function numberWithCommas(x) {
    var parts = x.toString().split(".");
    parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ".");
    return parts.join(".");
}

function sum() {
    $(".fa").each(function(key,value) {
        fa += parseInt($(value).text().replace(".",""));
    });
    $(".agyag").each(function(key,value) {
        agyag += parseInt($(value).text().replace(".",""));
    });
    $(".vas").each(function(key,value) {
        vas += parseInt($(value).text().replace(".",""));
    });
    console.log(fa, agyag, vas);

var prod = {
        text: [`Összesen`,
               `<br/>`,
               `<br/>`,
               `Fa: ${numberWithCommas(fa) + ", napi termelés: " + numberWithCommas(24 * fa)}`,
               `<br/>`,
               `Agyag: ${numberWithCommas(agyag) + ", napi termelés: " + numberWithCommas(24 * agyag)}`,
               `<br/>`,
               `Vas: ${numberWithCommas(vas) + ", napi termelés: " + numberWithCommas(24 * vas)}`].join('')
};
    UI.SuccessMessage(prod.text,20000);
}
void(0);

öreg
 
Utoljára egy moderátor szerkesztette:

Fragile Reality

53 41 59 20 48 49
A reakció pontszáma
17.083
var prod = { text: [`Összesen`, `<br/>`, `<br/>`, `Fa: ${numberWithCommas(fa)}`, `<br/>`, `Agyag: ${numberWithCommas(agyag)}`, `<br/>`, `Vas: ${numberWithCommas(vas)}`].join('') };

Ezt a részt minimálisan átírtam, így a végén kiírja, mennyi egy nap alatt a termelésünk:

JavaScript:
var prod = {
        text: [`Összesen`,
               `<br/>`,
               `<br/>`,
               `Fa: ${numberWithCommas(fa) + ", napi termelés: " + numberWithCommas(24 * fa)}`,
               `<br/>`,
               `Agyag: ${numberWithCommas(agyag) + ", napi termelés: " + numberWithCommas(24 * agyag)}`,
               `<br/>`,
               `Vas: ${numberWithCommas(vas) + ", napi termelés: " + numberWithCommas(24 * vas)}`].join('')
};

STmROGa.png
 
Fent