Помогите адаптировать скрипт

  • Автор темы DeletedUser4867
  • Дата начала

DeletedUser4867

Гость
В 38 английском мире мне показали такой скрипт


javascript:function V(){return 1;}window.onerror=V;function Z(){a=1;b=1;c='{unit} ({coords}) {player} F{distance} {sent}'; p=['Scout','LC','HC','Axe','Sword','Ram','***Noble***'];d=document;function J(e){return/\s\(((\d+)\|(\d+))\)\sK/i.exec(e);}function K(e){f=parseInt(e,10);return(f>9?f:'0'+f);}function L(g,e){return g.getElementsByTagName(e);}function N(g){return g.innerHTML;}function M(g){return N(L(g,'a')[0]);}function O(){return k.insertRow(E++);}function W(f){return B.insertCell(f);}function P(g,e){g.innerHTML=e;return g;}function X(e){C=B.appendChild(d.createElement('th'));return P(C,e);}function Y(f){return K(f/U)+':'+K(f%(U)/T )+':'+K(f%T);}U=3600;T=60;R='table';S='width';s=L(document,R);for(j=0;j<s.length;j++){s[j].removeAttribute(S);if(s[j].className=='main'){s=L(L(s[j],'tbody')[0],R);break;}}D=0;for(j=0;j<s.length;j++){s[j].removeAttribute(S);if(s[j].className='vis'){k=s[j];if(t=k.rows)D=t.length;break;}}for(E=0;E<D;E++){l=t[E];m=(u=l.cells)?u.length:0;if(m){u[m-1].colSpan=5-m;if(N(u[0])=='Arrival:')Q=new Date(N(u[1]).replace(/<.*/i,''));else{if(N(u[0])=='Arrival in:')v=N(u[1]).match(/\d+/ig);}if(E==1)G=M(u[2]);if(E==2)w=J(M(u[1]));if(E==4)x=J(M(u[1]));}}y=v[0]*U+v[1]*T+v[2]*1;n=w[2]-x[2];o=w[3]-x[3];F=Math.sqrt(n*n+o*o);H=F.toFixed(2);E=D-2;s=L(k,'input');i=s[1];h=s[0];h.size=T;B=O();P(W(0),'Distance:').colSpan=2;P(W(1),H+' Fields').colSpan=2;B=O();X('Unit');X('Sent');X('Duration');X('Name to');c=c.replace(/\{coords\}/i,w[1]).replace(/\{distance\}/i,H).replace(/\{player\}/i,G);for(j in p){z=Math.round([9,10,11,18,22,30,35][j]*T*F/a/b);A=z-y;if(A>0){I=Y(z);B=O();P(W(0),p[j]);P(W(1),A<T&&'just now'||A<U&&Math.floor(A/T)+' mins ago'||Y(A)+' ago');P(W(2),I);C=W(3);q=C.appendChild(i.cloneNode(1));r=C.appendChild(h.cloneNode(1));r.id='I'+j;r.value=c.replace(/\{duration\}/i,I).replace(/\{sent\}/i,new Date(Q-z*1000).toLocaleString().replace(/.\d{4}/i,'').replace(/(\w{3})\w*/i,'$1')).replace(/\{unit\}/i,p[j]);q.onmousedown=new Function('h.value=d.getElementById(\'I'+j+'\').value;');}}}Z();

Но что-то в русском мире он не работает.
Что нужно заменить?
 

DeletedUser

Гость
Для начала: где его использовать и что он должен делать?
 

DeletedUser4867

Гость
Размечает входящие.

В этом окне

Attack on <001>
Command Rename
Origin Player: Izulle
Village: Chernobil (381|338) K33
Destination Player: Izulle
Village: <001> (372|345) K33
Duration: 1:42:37
Arrival: Jul 09, 2009 01:30:51:003
Arrival in: 1:42:21
» cancel
» Rally point

После применения бут


Attack on <001>
Command Rename
Origin Player: Izulle
Village: Chernobil (381|338) K33
Destination Player: Izulle
Village: <001> (372|345) K33
Duration: 1:42:37
Arrival: Jul 09, 2009 01:30:51:003
Arrival in: 1:41:55
Distance: 11.40 Fields
Unit Sent Duration Name to
Scout just now 01:42:37 **** тут кнопочка ****
LC 11 mins ago 01:54:01 **** тут кнопочка ****
HC 23 mins ago 02:05:25 **** тут кнопочка ****
Axe 01:43:10 ago 03:25:14 **** тут кнопочка ****
Sword 02:28:46 ago 04:10:50 **** тут кнопочка ****
Ram 03:59:59 ago 05:42:03 **** тут кнопочка ****
***Noble*** 04:57:00 ago 06:39:04 **** тут кнопочка ***
» cancel
» Rally point



А потом атака будет размечена так


Incoming troops arrival time Arrival in
Scout (381|338) Izulle F11.40 8 Июль г. 23:48:14 Rename tomorrow at 01:30 1:41:20
 

DeletedUser4867

Гость
Я пробовала заменить "Аrrive" на "Прибытие" и "Arrive in" на "До прибытия", но все одно не пашет. Мб там еще где-то регексп но я его не вижу.
 

DeletedUser

Гость
Размечает входящие.

В этом окне

Attack on <001>
Command Rename
Origin Player: Izulle
Village: Chernobil (381|338) K33
Destination Player: Izulle
Village: <001> (372|345) K33
Duration: 1:42:37
Arrival: Jul 09, 2009 01:30:51:003
Arrival in: 1:42:21
» cancel
» Rally point

Это на исходящую похоже больше, особенно с кнопкой "cancel/отменить" :) Хотелось бы так входящие поотменять)

Подкрепление деревни 02. Testing...
Приказ переименовать
Происхождение Игрок: SoulArhiMaster
Деревня: 01. Testing... (506|507) К55
Пункт назначения Игрок: SoulArhiMaster
Деревня: 02. Testing... (503|502) К55
Продолжительность: 0:52:29
Прибытие: 09.07.09 02:49:14:845
До прибытия: 0:47:29
» отменить
» Площадь
 

DeletedUser4867

Гость
Просто мне для теста пришлось атачить саму себя. Поэтому и доп. инфа видна. Но скрипт работает и в этом случае. Кстати после кнопочек еще поля ввода, хотя я бы и без них обошлась.
 

DeletedUser

Гость
по скрипту, со своей лисой пока выяснил следующее

missing ; before statement
(?)()game.php...&type=own (line 220)
[Break on this error] seInt(e,10);return(f>9?f:'0'+f);}functio(тут пробел)....insertCell(f);}function P(g,e){g.innerH

v is not defined
Z()javascri...);}}}Z(); (line 1)
javascript()javascri...);}}}Z(); (line 1)
[Break on this error] javascript:function%20V(){return%201;}wi...mentById(\'I'+j+'\').val%20ue;');}}}Z();
javascri...);}}}Z(); (line 1)


uncaught exception: [Exception... "" nsresult: "0x805e000a (<unknown>)" location: "JS frame :: http://ru8.voyna-plemyon.ru/staemme.php?village=10&screen=overview :: reload :: line 16" data: no]
 

DeletedUser4867

Гость
Как это V не определено ?
Там же в начале

javascript:function V(){return 1;}

А что до пробелов то возможно были потери при копи-пасте.
Вот еще одна попытка:

javascript:function V(){return 1;}window.onerror=V;function Z(){a=1;b=1;c='{unit} ({coords}) {player} F{distance} {sent}'; p=['Scout','LC','HC','Axe','Sword','Ram','***Noble***'];d=document;function J(e){return/\s\(((\d+)\|(\d+))\)\sK/i.exec(e);}function K(e){f=parseInt(e,10);return(f>9?f:'0'+f);}function L(g,e){return g.getElementsByTagName(e);}function N(g){return g.innerHTML;}function M(g){return N(L(g,'a')[0]);}function O(){return k.insertRow(E++);}function W(f){return B.insertCell(f);}function P(g,e){g.innerHTML=e;return g;}function X(e){C=B.appendChild(d.createElement('th'));return P(C,e);}function Y(f){return K(f/U)+':'+K(f%(U)/T )+':'+K(f%T);}U=3600;T=60;R='table';S='width';s=L(document,R);for(j=0;j<s.length;j++){s[j].removeAttribute(S);if(s[j].className=='main'){s=L(L(s[j],'tbody')[0],R);break;}}D=0;for(j=0;j<s.length;j++){s[j].removeAttribute(S);if(s[j].className='vis'){k=s[j];if(t=k.rows)D=t.length;break;}}for(E=0;E<D;E++){l=t[E];m=(u=l.cells)?u.length:0;if(m){u[m-1].colSpan=5-m;if(N(u[0])=='Arrival:')Q=new Date(N(u[1]).replace(/<.*/i,''));else{if(N(u[0])=='Arrival in:')v=N(u[1]).match(/\d+/ig);}if(E==1)G=M(u[2]);if(E==2)w=J(M(u[1]));if(E==4)x=J(M(u[1]));}}y=v[0]*U+v[1]*T+v[2]*1;n=w[2]-x[2];o=w[3]-x[3];F=Math.sqrt(n*n+o*o);H=F.toFixed(2);E=D-2;s=L(k,'input');i=s[1];h=s[0];h.size=T;B=O();P(W(0),'Distance:').colSpan=2;P(W(1),H+' Fields').colSpan=2;B=O();X('Unit');X('Sent');X('Duration');X('Name to');c=c.replace(/\{coords\}/i,w[1]).replace(/\{distance\}/i,H).replace(/\{player\}/i,G);for(j in p){z=Math.round([9,10,11,18,22,30,35][j]*T*F/a/b);A=z-y;if(A>0){I=Y(z);B=O();P(W(0),p[j]);P(W(1),A<T&&'just now'||A<U&&Math.floor(A/T)+' mins ago'||Y(A)+' ago');P(W(2),I);C=W(3);q=C.appendChild(i.cloneNode(1));r=C.appendChild(h.cloneNode(1));r.id='I'+j;r.value=c.replace(/\{duration\}/i,I).replace(/\{sent\}/i,new Date(Q-z*1000).toLocaleString().replace(/.\d{4}/i,'').replace(/(\w{3})\w*/i,'$1')).replace(/\{unit\}/i,p[j]);q.onmousedown=new Function('h.value=d.getElementById(\'I'+j+'\').value;');}}}Z();


А как ты его дебажишь? У мя тоже файрфокс.
 

DeletedUser

Гость
"val ue;');}}}Z();" в самом конце сразу еще нашел

В скайп стукнись
 

DeletedUser4867

Гость
Дык я не знаю твоего ника.
А пробелы чета лезут когда я копипастю видимо. Там еще "functio n" в конце 3ей строки.
 
Последнее редактирование модератором:
Верх