Скрипт массового набора

Akkela

Кавалерист
Член команды
Модератор
Оценка реакций
55
Скрипт массового набора
Описание:Скрипт для массового рекрутирования войск.
Вставляйте номер выбранной группы в выпадающее окошко и рекрутирование пройдет по описанной в скрипте форме. Группы и соотношение войск легко меняются в самом скрипте.
Код:
javascript: var n = prompt("
                           1.insert  your name
                           2.insert your name
                           3.insert your name
                           4.insert your  name
                           5.insert your name
                           6.insert your name
", "0");n = parseInt(n);
if (n == 1) {
    var units = [0, 200, 0, 0, 15, 0, 0, 2191, 0, 100];
} else if (n == 2) {
    var units = [0, 0, 0, 0, 15, 30, 0, 0, 0, 0];
} else if (n == 3) {
    var units = [0, 0, 0, 0, 15, 0, 0, 0, 0, 40];
} else if (n == 4) {
    var units = [0, 400, 0, 0, 15, 0, 0, 2191, 0, 100];
} else if (n == 5) {
    var units = [0, 0, 0, 0, 15, 0, 0, 0, 0, 0];
} else if (n == 6) {
    var units = [0, 8, 0, 7, 0, 0, 0, 0, 0, 100];
} else {
    var units = [0, 0, 0, 0, 0, 0, 0, 0];
}
var farm = 200;
var res = [0, 0, 0];
if (game_data.mode != 'mass') $(location).attr('href', game_data.link_base_pure + 'train&mode=mass');

function D(a, b) {
    v = [];
    if (a.length == b.length) {
        for (t = 0; t < a.length; t++) {
            if (b[t] != 0) {
                v[t] = a[t] * 1.0 / b[t]
            } else {
                v[t] = 0
            }
        }
    }
    return v
}
function Q(r) {
    v = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
    for (u = 3; u < r.cells.length; u++) {
        try {
            v[u - 3] = parseInt(r.cells[u].childNodes[1].childNodes[1].firstChild.title, 10)
        } catch (e) {}
        if (isNaN(v[u - 3])) {
            v[u - 3] = 0
        }
    }
    return v
}
function R(r) {
    v = [0, 0, 0, 0];
    var s = r.cells[1].textContent.split("\n");
    var f = r.cells[2].innerHTML.split("/");
    v[0] = parseInt(s[1].replace(".", ""), 10) - res[0];
    v[1] = parseInt(s[2].replace(".", ""), 10) - res[1];
    v[2] = parseInt(s[3].replace(".", ""), 10) - res[2];
    v[3] = f[1] - f[0] - farm;
    return v
}
function P(r) {
    v = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
    for (u = 3; u < r.cells.length; u++) {
        try {
            v[u - 3] = parseInt(r.cells[u].childNodes[1].textContent.split("\n")[2], 10)
        } catch (e) {}
        if (isNaN(v[u - 3])) {
            v[u - 3] = 0
        }
    }
    return v
}
c = $("table.vis");c = c[2].rows;
if ($("#mass_train_table  [src*=unit_archer]").length == 0) {
    f = ["spear", "sword", "axe", "spy", "light", "heavy", "ram", "catapult"];
    s = [[50, 30, 10, 1], [30, 30, 70, 1], [60, 30, 40, 1], [50, 50, 20, 2], 
		[125, 100, 250, 4], [200, 150, 600, 6], [300, 200, 200, 5], [320, 400, 100, 8]]
} else {
    f = ["spear", "sword", "axe", "archer", "spy", "light", "marcher", "heavy", "ram", "catapult"];
    s = [[50, 30, 10, 1], [30, 30, 70, 1], [60, 30, 40, 1], [100, 30, 60, 1], [50, 50, 20, 2], 
		[125, 100, 250, 4], [250, 100, 150, 5], [200, 150, 600, 6], [300, 200, 200, 5], [320, 400, 100, 8]]
}
for (r = 1; r < c.length; r++) {
    b = [];
    z = [0, 0, 0, 0];
    for (i = 0; i < f.length; i++) {
        b[i] = units[i] - (Q(c[r])[i] + P(c[r])[i]);
        if (b[i] < 0) {
            b[i] = 0
        }
        for (j = 0; j < 4; j++) {
            z[j] += s[i][j] * b[i]
        }
    };
    a = D(R(c[r]), z), h = a[0];
    for (t = 1; t < a.length; t++) {
        if (a[t] < h) {
            h = a[t]
        }
    }
    if (h > 1.0) {
        h = 1.0
    }
    for (i = 0; i < f.length; i++) {
        n = b[i] * h;
        if (n < 0) {
            n = 0
        }
        if (n > 1) {
            if (c[r].cells[3 + i].childNodes[3]) {
                x = c[r].cells[3 + i].childNodes[3];
                x.value = parseInt(n, 10)
            }
        }
    }
}
end()
Пример настройки скрипта

1. Впишите ваши группы для рекрутирования в скрипт. Тут важно потом не попутать номер группы

2. Номера n==x соответствуют номеру группы. Количество войск задаем в последующем блоке.

Если нужно больше групп - множим нужную информацию и подстраиваем наши данные.

javascript: var n = prompt("
1.insert your name
2.insert your name
3.insert your name
4.insert your name
5.insert your name
6.insert your name
6.insert your name

", "0");n = parseInt(n);
if (n == 1) {
var units = [0, 200, 0, 0, 15, 0, 0, 2191, 0, 100];
} else if (n == 2) {
var units = [0, 0, 0, 0, 15, 30, 0, 0, 0, 0];
} else if (n == 3) {
var units = [0, 0, 0, 0, 15, 0, 0, 0, 0, 40];
} else if (n == 4) {
var units = [0, 400, 0, 0, 15, 0, 0, 2191, 0, 100];
} else if (n == 5) {
var units = [0, 0, 0, 0, 15, 0, 0, 0, 0, 0];
} else if(n == 6) {
var units = [0, 8, 0, 7, 0, 0, 0, 0, 0, 100];
} else if (n == 6) {
var units = [0, 8, 0, 7, 0, 0, 0, 0, 0, 100];

} else {
var units = [0, 0, 0, 0, 0, 0, 0, 0];
}
 

Pagan child

Гость
Помоему надобность в таких скриптах отпала, когда в вп сделали встроенный масс набор)
 

Akkela

Кавалерист
Член команды
Модератор
Оценка реакций
55
Помоему надобность в таких скриптах отпала, когда в вп сделали встроенный масс набор)
полностью согласен, хотя многие опираются что им так быстрее и т.д.
тему создал потому что перевожу разрешенные скрипты с американки и там он есть. не каждый с разгону поймет что как настроить.
 

DeletedUser29874

Гость
нужный скрипт. по мне лучше таким набирать, чем новым масс-набором.
 
Последнее редактирование модератором:

DeletedUser38163

Гость
Он не работает..
Выходит окошечко,я нажимаю на группу,и ничего не происходит. В формочки я всё вписал...
 

Akkela

Кавалерист
Член команды
Модератор
Оценка реакций
55
Он не работает..
Выходит окошечко,я нажимаю на группу,и ничего не происходит. В формочки я всё вписал...
говорю же он не работает!
в Firefox и Chrome прекрасно работает, только что проверил. судя по построению скриупта - должен в Опере тоже работать.
на кортинке вижу:
- свои группы не подписал(не так важно, но указывает что ты возможно там ничего не настраивал)
- в это окошко задаёш номер группы
 

DeletedUser38163

Гость
короче удобнее встроенным работать.
 

Akkela

Кавалерист
Член команды
Модератор
Оценка реакций
55
естественно. для этого его и встроили ;)
 

Akkela

Кавалерист
Член команды
Модератор
Оценка реакций
55
Доброго времени суток,

скрипт уже давно не актуален и тема будет перенесена в архив в течении суток.

С ув., Евгений