Массовый набор javascript

DeletedUser

Гость
Посмотрел по нашему форуму и не нашел скрипта для массового набора войск во всех деревнях. Тогда обратился к нашим иностранным братьям по оружию =))

Скрипт взят и переведен для нашей версии с http://forum.tribalwars.net/showthread.php?t=78631

Теперь о самом скрипте

Данный скрипт вводит нужное количество войск на странице массового найма, войны нанимаются пропорциональна.

Примечание: Убедитесь, что у Вас включен JavaScript.
Также обратите внимание: этот скрипт не работает в Internet Explorer.

Попробуйте Firefox или Opera.


Инструкции:

Поместите данный код в панель быстрого доступа в качестве "Целевой ссылке"

Код:
javascript:var%20configuration=[0,0,0,0,0,0,0,0,0,0];var%20archers=true;var%20units;var%20unitsNET;var%20costs;function%20arrayMin(array){var%20value=array[0];for%20(var%20t=1;t<array.length;t++){if%20(array[t]<value){value=array[t];}}return%20value;}function%20linearDivideArray(array1,%20array2){var%20value=[];if%20(array1.length==array2.length){for%20(var%20t=0;t<array1.length;t++){if%20(array2[t]!=0){value[t]=array1[t]*1.0/array2[t];}else{value[t]=0;}}}return%20value;}function%20linearAddArray(array1,array2){var%20value=[];if%20(array1.length==array2.length){for%20(var%20t=0;t<array1.length;t++){value[t]=array1[t]+array2[t];}}%20return%20value;}function%20getUnitId(unit){for%20(var%20t=0;t<units.length;t++){if%20(unit%20==%20unitsNET[t]){return%20t;}}return%20-1;}function%20getTagsSubset(tagname,classname){var%20subset_t=document.getElementsByTagName(tagname);var%20subset_c=[];var%20u=0;for%20(var%20t=0;t<subset_t.length;t++){if%20(subset_t[t].className==classname){subset_c[u++]=subset_t[t];}}return%20subset_c;}function%20getTable(){var%20candidates=getTagsSubset('table',%20'vis');%20var%20t;%20for%20(t=0;t<candidates.length;t++){try%20{if%20(candidates[t].rows[0].cells[0].innerHTML=='Деревня'){break;}}catch%20(e){}}return%20candidates[t];}function%20getQueue(record){var%20value=[0,0,0,0,0,0,0,0,0,0];for%20(var%20u=3;u<record.cells.length;u++){try{value[u%20-%203]=parseInt(record.cells[u].childNodes[1].childNodes[1].firstChild.title,10);}catch%20(e){}if%20(isNaN(value[u%20-%203])){value[u%20-%203]=0;}}return%20value;}function%20getResources(record){var%20value=[0,0,0,0];var%20res=record.cells[1].textContent.split("\n");var%20farm=record.cells[2].innerHTML.split('/');value[0]=parseInt(res[1].replace(".",""),10);value[1]=parseInt(res[2].replace(".",""),10);value[2]=parseInt(res[3].replace(".",""),10);value[3]=farm[1]-farm[0];return%20value;}function%20getProduced(record){var%20value=[0,0,0,0,0,0,0,0,0,0];for%20(var%20u=3;u<record.cells.length;u++){try{value[u%20-%203]=parseInt(record.cells[u].childNodes[1].textContent.split("\n")[2],10);}catch%20(e){}if%20(isNaN(value[u%20-%203])){value[u%20-%203]=0;}}return%20value;}function%20submitForm(){var%20candidates=document.getElementsByTagName("input");var%20t;for%20(t=0;t<candidates.length;t++){if%20(candidates[t].type=="submit"){break;}}candidates[t].click();}if%20(document.URL.match('screen=train')&&document.URL.match('mode=mass')){var%20records=getTable().rows;if%20(archers){units=['spear','sword','axe','archer','spy','light','marcher','heavy','ram','catapult'];unitsNET=['копейщик','мечник','топорник','лучник','лазутчик','лёгкий%20кавалерист','конный%20лучник',%20'тяжёлый%20кавалерист','таран','катапульта'];costs=[[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],%20[300,200,200,5],[320,400,100,8]];}else{units=['spear','sword','axe','spy','light','heavy','ram','catapult'];unitsNET=['копейщик','мечник','топорник','лучник','лазутчик','лёгкий%20кавалерист','конный%20лучник','тяжёлый%20кавалерист','таран','катапульта'];%20costs=[[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]];}for%20(r=1;r<records.length;r++){var%20subconf=[];var%20total_costs=[0,0,0,0];var%20i;var%20resources=getResources(records[r]);var%20queue=getQueue(records[r]);var%20produced=getProduced(records[r]);for%20(i=0;i<units.length;i++){subconf[i]=configuration[i]-(queue[i]+produced[i]);if%20(subconf[i]<0){subconf[i]=0;}for%20(var%20j=0;j<4;j++){total_costs[j]+=costs[i][j]*subconf[i];}};var%20factor=arrayMin(linearDivideArray(resources,total_costs));if%20(factor>1.0){factor=1.0;}for%20(i=0;i<units.length;i++){var%20number=subconf[i]*factor;if%20(number<0){number=0;}if%20(number!=0){if%20(records[r].cells[3%20+%20i].childNodes[3]){var%20ibox=records[r].cells[3%20+%20i].childNodes[3];try{ibox.defaultValue=parseInt(number,10);}catch%20(e){}}}}}stop();}else{alert('Script%20будет%20работать%20только%20на%20странице%20Массовый%20набор');}

Если вы играете в мире с лучниками то измените значение "var%20archers=false" на "var%20archers=true"

Затем вставьте нужное количество войск которое вы хотите видеть при Усадьбе 30 уровня

Сначала он выглядит так: [0,0,0,0,0,0,0,0,0,0,0,0,0]

Например:

Для полной дефф деревни (мир без луков)...

[10500,10500,0,0,0,0,0,0,0,0]

Или такой вариант (мир с луками)

[4000,4000,0,8000,500,0,0,0,0,0]

Первый вариант дает возможность нанимать 10.5к копий и мечей...
Второй вариант дает возможность нанимать 4к копий и мечей 8к лучников и 500 лазутчиков

Для полной офф деревни можно поставить
(мир без лучников)
[0,0,7000,0,3000,0,300,0,0,0]

(мир с лучниками)
[0,0,0,7000,0,2000,1000,0,275,0]

Первый дает 7K топоров, 3k ЛК и 300 таранов.
Вторй дает 7K топоров, 2k ЛК, 1k КЛ и 275 баранов.

Что бы не было проблем сгруппируйте свои деревни на "Офф" и "Деф" и не забывайте переключаться между ними на странице массового найма.

Удачной игры.
 
Последнее редактирование модератором:

DeletedUser19318

Гость
извините, но скрипт в том виде как он выложен, не работает (( и значение лучников меняла и оставляла без изменений = никакого толку...
другие скрипы в разных вариантах работают.
 

DeletedUser

Гость
Вроде бы все подробно написано. Проверьте у себя наличие премиум акаунта %)
 

DeletedUser

Гость
а есть такой же скрипт,только чтоб без премиума работал?
 

DeletedUser

Гость
играю в 7 мире!
рекрутинг дефф работает, а вот рекрутинг офф не работает и пишет постоянно: Не хватает сырьевой базы или населения.

подскажите что мне нужно сделать чтобы скрипт работал?

спасибо!
 
Последнее редактирование модератором:

DeletedUser8396

Гость
а ты правильное кол-во войск то вбил там?
может и вправду ресов не хватает :d
 

DeletedUser

Гость
Должно работать, у меня все работало и деффом и с оффом. Надо проверять синтаксис и правильность скрипта. Выкладывай сюда сюда, а мы посмотрим
 

DeletedUser8396

Гость
Должно работать, у меня все работало и деффом и с оффом. Надо проверять синтаксис и правильность скрипта. Выкладывай сюда сюда, а мы посмотрим

там я заметил когда к примеру КД остается 150 единиц свободного места,
войска не добавляются иногда...
видимо процентное соотношение не сходится...
так как в остальном скрипт работает без нареканий :)
 

DeletedUser12618

Гость
Жаль у нас никто не может/не умеет/не хочет перевести скрипты немцев и английчан. Много полезных вещей есть. Пробовал поставишь на ру серв скрипт но увы он тока на немецких/английских сервах работает.
А вы тут старый скрипт по набору еще юзать не научились
 
Верх