Скрипт на равномерное распределение войск в сборе ресурсов

Slojka

Элитный кавалерист
Оценка реакций
966
Скрипт распределяет войска так, чтобы время на сбор ресурсов по всем открытым сборам было одинаковым, войска со сборов возвращаются в одно и то же время (+- минута).

Для чего:
1) Равномерное распределение по всем открытым сборам принесет больше ресурсов, чем если бы вы кидали все войска на последний открытый сбор.
(Исключение: когда очень мало войск (первый день мира или только взяли деру) выгоднее отправлять на последний открытый сбор)
2) При равномерном распределении войска уходят из деревни на меньшее время, чем при отправке всего на один сбор.

Как работает:
1) Заходите на площадь - сбор ресурсов.
2) Открываете 2 и больше сборов.
3) Вводите все войска, которые хотите отправить на сборы.
(Можно либо в ручную вводить каждого юнита, либо нажать на кнопку "Все войска". Паладина можно не убирать, даже если вы его введете, по скрипту он не отправится на сбор).
4) Нажимаете на скрипт, потом обновляете страницу.
Готово, вы восхитительны!
После использования скрипта появляется надпись с моим логином в телеграме, где вы можете задать вопросы по скрипту.

Скрипт работает в мобильной версии браузера (спасибо за это игроку @Treonar), нужны некоторые тесты чтоб проверить работу скрипта в мобильной версии браузера, если игрок на присмотре (когда мне уже кто нибудь соблаговолит дать присмотр).

Сам скрипт
или
javascript:
script = document.createElement('script');
script.type = 'text/javascript';
script.src = 'https://pastebin.com/raw/WY7E3wUF';
document.getElementsByTagName("head")[0].appendChild(script);
void( 0 );

//Аккела
Если скрипт не работает, проверьте не заблокирован ли сервис pastebin.com.
Если да, скопируйте скрипт отсюда, но помните что в таком варианте он обновляться не будет.
Код:
javascript:
if (document.URL.search('mode=scavenge') != -1)
{
var sendd = '';
var sum = [0,0,0,0,0];
var sum1 = 0;
var j=0;
var k = [0,0,0,0,0]; var m = [0,0,0,0,0]; var t = [0,0,0,0,0]; var l = [0,0,0,0,0]; var lk = [0,0,0,0,0]; var kl = [0,0,0,0,0]; var tk = [0,0,0,0,0]; var pal = [0,0,0,0,0];
var vid = '';
var elements = document.getElementsByClassName('footer-link');
length = elements.length-2;
var hh = String(elements[length]);
var prism = '';
if (hh.indexOf("?t=") != -1)
{
var npr = hh.indexOf("?t=")+3;
var nprend = hh.indexOf("&vill");
for (i=npr; i<nprend; i++)
{
prism = prism + hh
}
}
ru = hh.indexOf(".voyna");
/*var world = hh[ru-2]+hh[ru-1];*/
var world = TribalWars.getGameData().world.substring(2);
num = hh.indexOf("h=");
/*h= hh[num+2]+hh[num+3]+hh[num+4]+hh[num+5]+hh[num+6]+hh[num+7]+hh[num+8]+hh[num+9];*/
h = TribalWars.getGameData().csrf;
var nvid = hh.indexOf("age=")+4;
var nvidend = hh.indexOf("&scr");
/*
for (i=nvid; i<nvidend; i++)
{
vid = vid + hh
}
*/
vid = TribalWars.getGameData().village.id;
sid = ['1','2','3','4'];
var units = document.getElementsByClassName('unitsInput');
if (units.length == 8) {
k[0] = units[0].value;
m[0] = units[1].value;
t[0] = units[2].value;
l[0] = units[3].value;
lk[0] = units[4].value;
kl[0] = units[5].value;
tk[0] = units[6].value;}
else
{
k[0] = units[0].value;
m[0] = units[1].value;
t[0] = units[2].value;
l[0] = 0;
lk[0] = units[3].value;
kl[0] = 0;
tk[0] = units[4].value;
}
if (k[0] < 1 && m[0] < 1 && t[0] < 1 && l[0] < 1 && lk[0] < 1 && kl[0] < 1 && tk[0] < 1)
{
UI.ErrorMessage('Введите юнитов, которых хотите отправить на поиск, и заново нажмите на скрипт',10000);
breack;
}
var access = document.getElementsByClassName('status-specific');
if (access[0].lastChild.className == 'inactive-view')
{
n=1;
}
if (access[1].lastChild.className == 'inactive-view')
{
n=2;
}
if (access[2].lastChild.className == 'inactive-view')
{
n=3;
}
if (access[3].lastChild.className == 'inactive-view')
{
n=4;
}
sum[0] = k[0]*25 + m[0]*15 + t[0]*10 + l[0]*10 + lk[0]*80 + kl[0]*50 + tk[0]*50;
if (n==2)
{
sum[1] = sum[0]*5/7;
sum[2] = sum[0]*2/7;
}
if (n==3)
{
sum[1] = sum[0]*5/8;
sum[2] = sum[0]*2/8;
sum[3] = sum[0]*1/8;
}
if (n==4)
{
sum[1] = sum[0]*15/26;
sum[2] = sum[0]*6/26;
sum[3] = sum[0]*3/26;
sum[4] = sum[0]*2/26;
}
for (i=1; i<=n; i++)
{
console.log(sum);
console.log(sum1);
while (((sum1+40)<sum) && (lk<lk[0]))
{
lk=lk+1;
sum1 =  lk*80;
}
sum = sum - sum1;
sum1 = 0;
for (;sum1<sum && k<k[0];)
{
k=k+1;
sum1 =  k*25;
}
sum = sum - sum1;
sum1 = 0;
while ((sum1<sum) && (m<m[0]))
{
m++;
sum1 =  m*15;
}
sum = sum - sum1;
sum1 = 0;
while ((sum1<sum) && (t<t[0]))
{
t++;
sum1 =  t*10;
}
sum = sum - sum1;
sum1 = 0;
while ((sum1<sum) && (l<l[0]))
{
l++;
sum1 = l*10;
}
sum = sum - sum1;
sum1 = 0;
while ((sum1<sum) && (kl<kl[0]))
{
kl++;
sum1 =  kl*50;
}
sum = sum - sum1;
sum1 = 0;
while ((sum1<sum) && (tk<tk[0]))
{
tk++;
sum1 =  tk*50;
}
sum1 = 0;



sum = k*25 + m*15 + t*10 + l*10 + lk*80 + kl*50 + tk*50;
console.log(units.length);
k[0]=k[0]-k;
m[0]=m[0]-m;
t[0]=t[0]-t;
l[0]=l[0]-l;
lk[0]=lk[0]-lk;
kl[0]=kl[0]-kl;
tk[0]=tk[0]-tk;
if (units.length == 8)
{
sendd = sendd+'squad_requests%5B'+j+'%5D%5Bvillage_id%5D='+vid+'&squad_requests%5B'+j+'%5D%5Bcandidate_squad%5D%5Bunit_counts%5D%5Bspear%5D='+k+'&squad_requests%5B'+j+'%5D%5Bcandidate_squad%5D%5Bunit_counts%5D%5Bsword%5D='+m+'&squad_requests%5B'+j+'%5D%5Bcandidate_squad%5D%5Bunit_counts%5D%5Baxe%5D='+t+'&squad_requests%5B'+j+'%5D%5Bcandidate_squad%5D%5Bunit_counts%5D%5Barcher%5D='+l+'&squad_requests%5B'+j+'%5D%5Bcandidate_squad%5D%5Bunit_counts%5D%5Blight%5D='+lk+'&squad_requests%5B'+j+'%5D%5Bcandidate_squad%5D%5Bunit_counts%5D%5Bmarcher%5D='+kl+'&squad_requests%5B'+j+'%5D%5Bcandidate_squad%5D%5Bunit_counts%5D%5Bheavy%5D='+tk+'&squad_requests%5B'+j+'%5D%5Bcandidate_squad%5D%5Bcarry_max%5D='+sum+'&squad_requests%5B'+j+'%5D%5Boption_id%5D='+sid[i-1]+'&squad_requests%5B'+j+'%5D%5Buse_premium%5D=false&';
}
else
{
sendd = sendd+'squad_requests%5B'+j+'%5D%5Bvillage_id%5D='+vid+'&squad_requests%5B'+j+'%5D%5Bcandidate_squad%5D%5Bunit_counts%5D%5Bspear%5D='+k+'&squad_requests%5B'+j+'%5D%5Bcandidate_squad%5D%5Bunit_counts%5D%5Bsword%5D='+m+'&squad_requests%5B'+j+'%5D%5Bcandidate_squad%5D%5Bunit_counts%5D%5Baxe%5D='+t+'&squad_requests%5B'+j+'%5D%5Bcandidate_squad%5D%5Bunit_counts%5D%5Blight%5D='+lk+'&squad_requests%5B'+j+'%5D%5Bcandidate_squad%5D%5Bunit_counts%5D%5Bheavy%5D='+tk+'&squad_requests%5B'+j+'%5D%5Bcandidate_squad%5D%5Bcarry_max%5D='+sum+'&squad_requests%5B'+j+'%5D%5Boption_id%5D='+sid[i-1]+'&squad_requests%5B'+j+'%5D%5Buse_premium%5D=false&';
}
j=j+1;
};


var xhr = new XMLHttpRequest();
xhr.open("POST", 'https://ru'+world+'.voyna-plemyon.ru/game.php?village='+vid+'&screen=scavenge_api&ajaxaction=send_squads&t='+prism, true);
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xhr.send(sendd+'h='+h);




UI.SuccessMessage ("[USER=33689]@Slok09[/USER]",1500);
}
else
{
UI.ErrorMessage('Перейдите в поиск ресурсов',10000);
}
void( 0 );

P.S.1. Данная версия немного отличается от той, которой сейчас пользуется большинство, по моему мнению эта версия более близка к правилам использования скриптов.

P.S.2. Заметил что у некоторых знакомых может быть заблокирован сервис Pastebin, на котором лежит скрипт, для этого попросите тех, у кого открывается pastebin скопировать вам код, и вставьте его в закладки.
 
Последнее редактирование модератором:

sleep

Аккаунт заблокирован
Аккаунт заблокирован
Оценка реакций
29
Не работает ничего, в придачу и старый скрипт перестал работать.... Зачем было что-то менять всех устраивал старый скрипт.
 

Slojka

Элитный кавалерист
Оценка реакций
966
Не работает ничего, в придачу и старый скрипт перестал работать.... Зачем было что-то менять всех устраивал старый скрипт.
Менять надо было для того, чтоб подходил под правила игры, а не работает потому что не работает сайт (пастебин) на котором оба скрипта лежат
 

Brameow

Конный лучник
Член команды
TWM 2015
Модератор
Оценка реакций
130
прошлый тоже подходил. 1 клик - 1 действие
 

Askr306

Топорник
Оценка реакций
3
А были еще более старые чем те о которых говорится в этой теме?
 

Brameow

Конный лучник
Член команды
TWM 2015
Модератор
Оценка реакций
130
Никто ж не запрещает использовать прошлый на свой страх и риск)

проверил я новый скрипт. Забавно наблюдать сообщение про страх и риск смотря на то, как 1 действие = 4м кликам, что противоречет правилам ВП.
Так что думаю мы скоро увидем кучу новых банов)
 

Slojka

Элитный кавалерист
Оценка реакций
966
проверил я новый скрипт. Забавно наблюдать сообщение про страх и риск смотря на то, как 1 действие = 4м кликам, что противоречет правилам ВП.
Так что думаю мы скоро увидем кучу новых банов)
Да что ж в этой теме самые умные люди то собрались, которые все знают?) я же говорю что переписал скрипт, там 1 действие это 1 запрос, и с 1 запроса посылается 4 поиска. И тема эта в одобренных скриптах, наверно я сразу её в этом разделе создал в обход админов)
 
Верх