Фарм отчет

DeletedUser

Гость
Рад представить русскому сообществу войны племен фарм отчет v1.1.
Идея взята с английского форума (co.uk): cheesasaurus.
Реализация для русского сервера (скрипт был написан с нуля): GORZZ.

Внимание!
Скрипт работает ТОЛЬКО в мирах БЕЗ луков и БЕЗ паладина (ru7, ru11 и другие).
Скорость выполнения скрипта зависит от скорости вашего интернета. Не рекомендуется к использованию с ограниченным трафиком.


resourceColumn.png
Код:
javascript: function ress(vil, t, id, i) {
$.get('/game.php', {'village': vil, 'screen': 'info_command', 't': t, 'id': id, 'type': 'own'}, function(data) {
 var n_div = document.createElement('div');
    n_div.id='bbb'+i;
    n_div.style.display = 'none';
    document.getElementById('ds_body').appendChild(n_div);
 iner1 = data.split('content_value');
 iner = iner1[1].split('</td></tr></tbody></table></td></tr></tbody></table></td></tr></tbody></table>');
 n_div.innerHTML=iner[0];
 nd = document.getElementById('bbb'+i);
 vis = nd.getElementsByClassName('vis');
 td = vis[2].getElementsByTagName('td');
 if (td[1].innerHTML!=='') {
 img = td[1].getElementsByTagName('img');
  for (b=0; b<3; b++)  {
 img[0].parentNode.removeChild(img[0]);  }
 span = td[1].getElementsByTagName('span');
  for (b=0; b<span.length; b++)  {
 span[0].parentNode.removeChild(span[0]);  }
 res = td[1].innerHTML.split(' ');
 for (b=0; b<3; b++)  {
 inn = res[b];
 ntd = document.createElement('td');
    ntd.innerHTML = inn;
    tr[i].appendChild(ntd);}
 r = [];
 for (d=0; d<3; d++)  {
 tdl = document.getElementById('all_res').getElementsByTagName('td');
 ln = tdl.length;
 r[d] = tdl[ln-3+d].innerHTML;}
  res = td[1].innerHTML.split(' ');
  for (d=0; d<3; d++)  {
 document.getElementById('all_res').getElementsByTagName('td')[ln-3+d].innerHTML = r[d]*1+res[d]*1;}
  }
 });  }
function trof() {
div = document.getElementById('commands_table');
tr = div.getElementsByTagName('tr');
td = tr[0].getElementsByTagName('th');
ntr = document.createElement('tr');
for (b=0; b<td.length+3; b++) {
ntd=document.createElement('td');
ntr.appendChild(ntd); }
ntr.id='all_res';
div.getElementsByTagName('tbody')[0].appendChild(ntr);
ln=td.length-1;
document.getElementById('all_res').getElementsByTagName('td')[ln].innerHTML = 'Всего:';
ntd = document.createElement('th');
img = document.createElement('img');
img.src = 'graphic/holz.png?1';
ntd.appendChild(img);
tr[0].appendChild(ntd);
ntd = document.createElement('th');
img = document.createElement('img');
img.src = 'graphic/lehm.png?1';
ntd.appendChild(img);
tr[0].appendChild(ntd);
ntd = document.createElement('th');
img = document.createElement('img');
img.src = 'graphic/eisen.png?1';
ntd.appendChild(img);
tr[0].appendChild(ntd);
for (i=1; i<tr.length-1; i++) {
 a = tr[i].getElementsByTagName('a')[0].href;
 sp = a.split('village=');
 vil = sp[1].split('&');
 sp = a.split('t=');
 t = sp[1].split('&');
 sp = a.split('id=');
 id = sp[1].split('&');
 ress (vil[0], t[0], id[0], i);}
} trof();

v1.1
  1. Исправлен баг с атаками, в которых возвращается меньше 1000 ресурсов

v2.0 (в планах)
  1. Отображение время выволнения скрипта.
  2. Отображение среднего количества ресурсов за атаку.
  3. Отображение количества ресурсов в каждой атаке.
  4. Отображение значка полного\неполного количества украденных ресурсов.
  5. Исправить несколько незначительных багов, увеличивающих время выполнения скрипта.
  6. Реализация скрипта на JQuery, в следствии чего уменьшение времени работы.
  7. Адаптировать под остальные миры.



PS. Все пожелания, ошибки и сообщения благодарности оставлять в этой теме.
 
Последнее редактирование модератором:

DeletedUser

Гость
При нажатии на скрипт в "приказы" генерируются пиктограммы ресурсов но сами данные не заполняются. Браузер Opera
 

DeletedUser

Гость
Не плохо бы написать, зачем этот скрипт вообще нужен.
 

DeletedUser

Гость
Скрипт нужен для красоты, Ну некоторые исчо анализируют :-[
 

DeletedUser16559

Гость
На Хроме не фурычит,иконки есть
ресов нету =(
 

DeletedUser

Гость
Код:
javascript: farm=[25, 15, 10, 0, 80, 50, 0, 0, 100, 0]; z = 0; time = (new Date()).getTime(); function ress(vil, id, i) {
$.get('/game.php', {'village': vil, 'screen': 'info_command', 'id': id, 'type': 'own'}, function(data) {
 z++;
 var n_div = document.createElement('div');
    n_div.id='bbb'+i;
    n_div.style.display = 'none';
    n_div.innerHTML = data;
    document.getElementById('ds_body').appendChild(n_div);
    nd = document.getElementById('bbb'+i);
 vis = nd.getElementsByClassName('vis');
 td = vis[2].getElementsByTagName('td');
 if (td[1].innerHTML!=='') {
 img = td[1].getElementsByTagName('img');
  for (b=0; b<3; b++)  {
 img[0].parentNode.removeChild(img[0]);  }
 span = td[1].getElementsByTagName('span');
  for (b=0; b<span.length; b++)  {
 span[0].parentNode.removeChild(span[0]);  }
 res = td[1].innerHTML.split(' ');
 for (b=0; b<3; b++)  {
 inn = res[b];
 ntd = document.createElement('td');
    ntd.innerHTML = inn;
    tr[i].appendChild(ntd);}
 r = [];
 for (d=0; d<3; d++)  {
 tdl = document.getElementById('all_res').getElementsByTagName('td');
 ln = tdl.length;
 r[d] = tdl[ln-3+d].innerHTML;}
  res = td[1].innerHTML.split(' ');
  sp1 = vis[1].getElementsByTagName('span');
   for (d=0; d<sp1.length; d++)  {
    sp1[0].parentNode.removeChild(sp1[0]);
    }
 td1 = vis[1].getElementsByTagName('td');
  for (d=0; d<3; d++)  {
 document.getElementById('all_res').getElementsByTagName('td')[ln-3+d].innerHTML = r[d]*1+res[d]*1;}
  }
  max = [];
  for (d=0; d<td1.length; d++)  {
    max = max*1 + td1[d].innerHTML*farm[d];
  }
  ntd = document.createElement('td');
  allres = [];
  allres[i] = res[0]*1 + res[1]*1 + res[2]*1;
    if (allres[i]==max) {
    span1 = document.createElement('span');
    span1.className = 'warn';
    span1.innerHTML = allres[i]+'/'+max;
    ntd.appendChild(span1);
     } else {
    ntd.innerHTML = allres[i]+'/'+max; }
    tr[i].appendChild(ntd);
 nd.parentNode.removeChild(nd);
 if (z>=tr.length-2) {
 end = (new Date()).getTime();
    alert ('Выполнено за '+(end-time)+'ms');
  }
} ); }
function trof() {
div = document.getElementById('commands_table');
tr = div.getElementsByTagName('tr');
td = tr[0].getElementsByTagName('th');
ntr = document.createElement('tr');
for (b=0; b<td.length+3; b++) {
ntd=document.createElement('td');
ntr.appendChild(ntd); }
ntr.id='all_res';
div.getElementsByTagName('tbody')[0].appendChild(ntr);
ln=td.length-1;
document.getElementById('all_res').getElementsByTagName('td')[ln].innerHTML = 'Всего:';
ntd = document.createElement('th');
img = document.createElement('img');
img.src = 'graphic/holz.png?1';
ntd.appendChild(img);
tr[0].appendChild(ntd);
ntd = document.createElement('th');
img = document.createElement('img');
img.src = 'graphic/lehm.png?1';
ntd.appendChild(img);
tr[0].appendChild(ntd);
ntd = document.createElement('th');
img = document.createElement('img');
img.src = 'graphic/eisen.png?1';
ntd.appendChild(img);
tr[0].appendChild(ntd);
ntd = document.createElement('th');
img = document.createElement('span');
img.className = 'icon header ressources';
ntd.appendChild(img);
tr[0].appendChild(ntd);
for (i=1; i<tr.length-1; i++) {
 a = tr[i].getElementsByTagName('a')[0].href;
 sp = a.split('village=');
 vil = sp[1].split('&');
 sp = a.split('id=');
 id = sp[1].split('&');
 ress (vil[0], id[0], i);}
}  trof();




farm=[25, 15, 10, 0, 80, 50, 0, 0, 100, 0] в первой строчке скрипта, изменяем для своего мира (луки\палы)
Данный скрипт работает в мирах без луков и Но с палом.

farm=[25, 15, 10, 10, 0, 80, 50, 50, 0, 0, 100, 0] - со всеми войсками
 
Верх