Запрос ресов для конкретных нужд

Slojka

Элитный кавалерист
Оценка реакций
774
Скрипт работает во вкладке рынка "Запросить ресурсы". При нажатии на скрипт создается список с текущими уровнями зданий в деревне, и необходимыми ресурсами для их улучшения. Так же есть функции запросить ресурсы на монеты или двора, подробнее на скриншотах.

Screenshot_3.png
Screenshot_4.png

Так же, если у вас есть аккаунт менеджер, и шаблон для строительства, в списке будет отмечена постройка надписью "АМ!", которая следующая по шаблону.

Работает следующим образом: нажимаете на скрипт, выбираете из списка на что вам нужны ресурсы, выбираете галочками из каких деревень хотите запросить, выбираете игнорировать ли имеющиеся в деревне ресурсы и игнорировать прибывающие ресурсы, и нажимаете запросить ресурсы.
Скрипт будет обновлять расчеты в зависимости от изменения галочек 100 секунд, дальше если вы не запросили за это время ресурсы, он перестанет реагировать на изменение галочек.
Расчет ресурсов постарался сделать максимально равномерным и пропорциональным по всем дерам, чтоб он оставлял в каждой дере часть ресов, а не брал все из одной. Так же равномерно берет ресурсы из одной деры, если не хватает торговцев или ресурсов в запрашиваемой дере для удовлетворения потребностей.
Важно! Для работы скрипта необходимо в настройках игры поставить галочку "скрыть завершенные постройки".

Скрипт с пастебина(по мере необходимости может обновляться математика расчетов):
javascript:
script = document.createElement('script');
script.type = 'text/javascript';
script.src = 'https://pastebin.com/raw/8GFdXra3';
document.getElementsByTagName("head")[0].appendChild(script);
void( 0 );

Скрипт без пастебина
Код:
javascript:if(-1!=document.URL.search(/screen=market&mode=call/)){UI.SuccessMessage("[USER=33689]@Slok09[/USER]",1e3);var world=TribalWars.getGameData().world.substring(2),vid=TribalWars.getGameData().village.id;rres=document.getElementsByClassName("supply_location");var arri=document.getElementsByClassName("vis overview_table"),arriv=arri[0].children[1].children[0],woodv=[],stonev=[],ironv=[],tradev=[],tradevv=[],woodr=[],stoner=[],ironr=[],woods=0,stones=0,irons=0,tradew=[],trades=[],tradei=[],x=document.createElement("INPUT");x.setAttribute("type","checkbox"),x.innerHTML="<input name='select-all' input id='xcheck' type='checkbox'>",x.innerText="игнор прибывающих",x.id="xcheck",x.checked=!1;var y=document.createElement("INPUT");y.setAttribute("type","checkbox"),y.innerHTML="<input name='select-all' type='checkbox'>",y.innerText="игнор имеющихся",y.id="ycheck",y.checked=!1,$(".vis.overview_table")[0].outerHTML=$(".vis.overview_table")[0].outerHTML+"\n"+x.outerHTML+"Игнорировать прибывающие ресы?<br>",$(".vis.overview_table")[0].outerHTML=$(".vis.overview_table")[0].outerHTML+"\n"+y.outerHTML+"Игнорировать имеющиеся в деревне ресы?\n<br>",$.get("https://ru"+world+".voyna-plemyon.ru/game.php?village="+vid+"&screen=main",(function(text){var div=document.createElement("div");div.innerHTML=text;var build,bbuild=div.getElementsByClassName("vis nowrap")[0].children[0].children,select=document.createElement("select");for(i=1;i<bbuild.length;i++){var opt=document.createElement("option");opt.wood=bbuild[i].children[1].innerText,opt.stone=bbuild[i].children[2].innerText,opt.iron=bbuild[i].children[3].innerText,opt.value="дер"+bbuild[i].children[1].innerText+" глин"+bbuild[i].children[2].innerText+" желез"+bbuild[i].children[3].innerText,opt.innerHTML=bbuild[i].children[0].innerText+" "+bbuild[i].children[1].innerText+" дерева "+bbuild[i].children[2].innerText+" глины "+bbuild[i].children[3].innerText+" железа",select.append(opt)}select.className="Sselect",opt.innerHTML=opt.innerHTML+"<option value='дер 40000 глин 50000 желез 50000'> На двора 40000 дерева 50000 глины 50000 железа </option>",opt.innerHTML=opt.innerHTML+"<option value='дер 28000 глин 30000 желез 25000'> На монету 28000 дерева 30000 глины 25000 железа </option>",$(".vis.overview_table")[0].outerHTML=$(".vis.overview_table")[0].outerHTML+select.outerHTML+"<br>",console.log(hth)})),setTimeout((function(){$.get("https://ru"+world+".voyna-plemyon.ru/game.php?village="+vid+"&screen=main&mode=accountmanager",(function(text){var div2=document.createElement("div");for(div2.innerHTML=text,nextb=div2.getElementsByClassName("vis_item"),nextbb=nextb[5].children[0].innerText,selectt=document.getElementsByClassName("Sselect"),ii=0;ii<selectt[0].length;ii++)selectt[0].children[ii].label[0]==nextbb[0]&selectt[0].children[ii].label[1]==nextbb[1]&&(selectt[0].children[ii].label=selectt[0].children[ii].label+" - AM!")}))}),250);for(var pp=0;pp<100;pp++)!function(pp){setTimeout((function(){for(woods=0,stones=0,irons=0,i=0;i<rres.length;i++)if(rres[i].children[7].children[0].checked){woodv[i]=rres[i].children[2].children[0].innerText.replace(".",""),stonev[i]=rres[i].children[3].children[0].innerText.replace(".",""),ironv[i]=rres[i].children[4].children[0].innerText.replace(".",""),tradev[i]=rres[i].children[6].innerText,tradevv[i]=1e3*tradev[i].slice(0,tradev[i].indexOf("/"));var builddd=document.getElementsByClassName("float_left");buildd=builddd[0].children[1].value,woodid=buildd.indexOf("дер")+4,stoneid=buildd.indexOf("глин"),ironid=buildd.indexOf("жел");var wood=buildd.slice(woodid,stoneid-1),stone=buildd.slice(stoneid+5,ironid-1),iron=buildd.slice(ironid+6,buildd.length);check=document.getElementsByClassName("res_checkbox"),res=document.getElementsByClassName("supply_location"),ress=document.getElementsByClassName("res");var yy=document.getElementById("ycheck"),xx=document.getElementById("xcheck");0==yy.checked&&((wood-=ress[0].innerText)<0&&(wood=0),(stone-=ress[1].innerText)<0&&(stone=0),(iron-=ress[2].innerText)<0&&(iron=0)),0==xx.checked&&((wood-=arriv.children[0].innerText.replace(".",""))<0&&(wood=0),(stone-=arriv.children[1].innerText.replace(".",""))<0&&(stone=0),(iron-=arriv.children[2].innerText.replace(".",""))<0&&(iron=0)),woodr[i]=res[i].children[2].children[1],stoner[i]=res[i].children[3].children[1],ironr[i]=res[i].children[4].children[1],check[0].checked&&(woodr[i].value=wood),check[1].checked&&(stoner[i].value=stone),check[2].checked&&(ironr[i].value=iron),parseInt(woodr[i].value)+parseInt(stoner[i].value)+parseInt(ironr[i].value)>tradevv[i]&&(reskef=Number(check[0].checked)*wood*woodv[i]+Number(check[1].checked)*stone*stonev[i]+Number(check[2].checked)*iron*ironv[i],tradew[i]=Number(check[0].checked)*Math.floor(tradevv[i]*wood*woodv[i]/reskef),trades[i]=Number(check[1].checked)*Math.floor(tradevv[i]*stone*stonev[i]/reskef),tradei[i]=Number(check[2].checked)*Math.floor(tradevv[i]*iron*ironv[i]/reskef),parseInt(woodv[i])>parseInt(tradew[i])&&(woodv[i]=parseInt(tradew[i])),parseInt(stonev[i])>parseInt(trades[i])&&(stonev[i]=parseInt(trades[i])),parseInt(ironv[i])>parseInt(tradei[i])&&(ironv[i]=parseInt(tradei[i]))),woods=woods+parseInt(woodv[i])+1,stones=stones+parseInt(stonev[i])+1,irons=irons+parseInt(ironv[i])+1}for(i=0;i<rres.length;i++)rres[i].children[7].children[0].checked&&(check[0].checked?woodr[i].value=Math.floor(wood*woodv[i]/woods):woodr[i].value=0,check[1].checked?stoner[i].value=Math.floor(stone*stonev[i]/stones):stoner[i].value=0,check[2].checked?ironr[i].value=Math.floor(iron*ironv[i]/irons):ironr[i].value=0,parseInt(woodr[i].value)>woodv[i]&&(woodr[i].value=woodv[i]),parseInt(stoner[i].value)>stonev[i]&&(stoner[i].value=stonev[i]),parseInt(ironr[i].value)>ironv[i]&&(ironr[i].value=ironv[i]))}),1e3*pp)}(pp)}else location.href=location.href.replace(RegExp("screen=.*$"),"screen=market&mode=call");

Хотите запросить ресов на кучу монеток, просто выбираете две галочки: игнорировать прибывающие ресы и игнорировать имеющиеся ресы в деревне, и запрашиваете пока не кончатся ресы в других дерах.[/code][/spoiler]
 
Последнее редактирование модератором:

vorimid

Новичок
Оценка реакций
0
Че то ни с того ни с сего перестал работать(. Строка с постройками не появляется. Попробовал переустановить - не работает. Как бы реанимировать?
 

Slojka

Элитный кавалерист
Оценка реакций
774
Че то ни с того ни с сего перестал работать(. Строка с постройками не появляется. Попробовал переустановить - не работает. Как бы реанимировать?
Попробуй просто сам скрипт отсюда скопировать https://pastebin.com/raw/8GFdXra3
Ну и проверь что в ратуше скрыты уже построенные здания
 

vorimid

Новичок
Оценка реакций
0
Точно. Построенные здания...... невнимательность моя. Сегодня сам их включил. Спасибо.