Обновление времени прибытия, таймер

DeletedUser

Гость
обновлено.

что можно настроить под себя:
fixtime=1000; - корректировка времени, в миллисекундах
увеличить, если атака опаздывает от плана
dtime=100; - период обновления таймера, в миллисекундах

usepctime=0; - время отсчитывается от времени сервера внизу страницы.
результат +-500мс

usepctime=1; - время отсчитывается от времени вашего компа.
результат намного точнее, но есть некоторые сложности и нужно ещё оттестировать.
буду благодарен, если кто-нибудь хочет помочь.
(скайп ahamoth )

как это работает в итоге:
на странице атаки 1й клик - добавляется табличка с временем, полями и таймером.
забиваем нужное время, и второй клик отправляет атаку, если таймер близок к нулю или меньше нуля.
(т.е. чтобы отправить точнее - по приближении к нулю начинаем активно кликать и в нужный момент клик сработает)


Код:
javascript: var fixtime=1000;var dtime=100;var usepctime=0;var table_ind=findattacktableindex();var durtr_num=finddurrownum(table_ind);if (!table_ind.getElementsByTagName('tr')[durtr_num+5]) {  var planrow_num=findlastrownum(table_ind)+1;  var timer;  var dur_arr=[];  var dur_ms=getdurbyserv(table_ind,durtr_num);  var server_time=new Date();  var last_servertime_sec=-1;  getservertime(0,dtime);  var landing_time=new Date();  var fixtimezone=getfixtimezone();  getlandingtime(dur_ms,fixtime,fixtimezone);  var planned_time=new Date();  addnewrows(table_ind,durtr_num,dur_arr);  var back_timer;  refresh();  }else {    var backtr_num=findlastrownum(table_ind);  if (table_ind.getElementsByTagName('tr')[backtr_num].getElementsByTagName('td')[1].textContent)    var r_back_timer=table_ind.getElementsByTagName('tr')[backtr_num].getElementsByTagName('td')[1].textContent;  else     var r_back_timer=table_ind.getElementsByTagName('tr')[backtr_num].getElementsByTagName('td')[1].innerText;   if ((-r_back_timer)>(-dtime/1000)) document.forms[0].submit.click();  }function refresh() {  planned_time=new Date(table_ind.getElementsByTagName('input')[5].value, table_ind.getElementsByTagName('input')[4].value-1, table_ind.getElementsByTagName('input')[3].value, table_ind.getElementsByTagName('input')[6].value, table_ind.getElementsByTagName('input')[7].value, table_ind.getElementsByTagName('input')[8].value);  getservertime(server_time.getMilliseconds(),dtime);  getlandingtime(dur_ms,fixtime,fixtimezone);  back_timer=""+(planned_time-landing_time)/1000;    table_ind.getElementsByTagName('tr')[planrow_num+1].getElementsByTagName('td')[1].innerHTML=landing_time.toLocaleString()+"<font color=gray size=&quot;-1&quot;>"+(((landing_time.getMilliseconds()/1000)+"00.000").match(/\.\d\d\d/))+"</font>";  if(back_timer<60) {    table_ind.getElementsByTagName('tr')[planrow_num+3].getElementsByTagName('td')[1].innerHTML="<font color=red><b>"+(back_timer.match(/-?\d+/))+"</b></font><font color=gray size=&quot;-1&quot;>"+((back_timer+"00.000").match(/\.\d\d\d/))+"</font>";    }  else {    table_ind.getElementsByTagName('tr')[planrow_num+3].getElementsByTagName('td')[1].innerHTML=(back_timer.match(/-?\d+/))+"<font color=gray size=&quot;-1&quot;>"+((back_timer+"00.000").match(/\.\d\d\d/))+"</font>";    }  timer = setTimeout("refresh()",dtime);  }function findattacktableindex() {  for (var f=10;f<=50;f++) {    if (document.getElementsByTagName('tbody')[f])if ( (document.getElementsByTagName('tbody')[f].innerHTML).match(/id="date_arrival"/g) ) var f_table_num=f;    }  var f_table_ind=document.getElementsByTagName('tbody')[f_table_num];  return f_table_ind;  }function finddurrownum(f_table_ind) {  var f_durtr_num=3;  for (f=1;f<=4;f++) {    if (f_table_ind.getElementsByTagName('tr')[f].getElementsByTagName('td')[1].id=='date_arrival') f_durtr_num=f-1;    }  return f_durtr_num;  }function findlastrownum(f_table_ind) {  var f_planrow_num=f_table_ind.getElementsByTagName('tr').length;  return f_planrow_num-1;  }function getdurbyserv(f_table_ind,f_durtr_num) {  var f_dur_txt=f_table_ind.getElementsByTagName('tr')[f_durtr_num].getElementsByTagName('td')[1].innerHTML;  var f_dur_arr=f_dur_txt.match(/\d+/g);  var f_dur_ms=-(-(f_dur_arr[0]*3600)-(f_dur_arr[1]*60)-f_dur_arr[2])*1000;  return f_dur_ms;  }function getservertime(f_last_ms, f_dtime) {  var f_servertime_arr=(document.getElementById('serverTime').innerHTML).match(/\d+/g);  var f_serverdate_arr=(document.getElementById('serverDate').innerHTML).match(/\d+/g);  if ((-last_servertime_sec)>(-f_servertime_arr[2]))    var f_server_time_ms=0;  else    var f_server_time_ms=f_last_ms+f_dtime;  last_servertime_sec=f_servertime_arr[2];  server_time=new Date(f_serverdate_arr[2], f_serverdate_arr[1]-1, f_serverdate_arr[0], f_servertime_arr[0], f_servertime_arr[1], f_servertime_arr[2]);  server_time.setMilliseconds(f_server_time_ms);  }function getfixtimezone() {  if (usepctime==1) {    getservertime(0,dtime);    var f_fixtimezone=1800000*Math.round((new Date()-server_time)/1800000);    }  else    var f_fixtimezone=0;  return f_fixtimezone;  }function getlandingtime(f_dur_ms,f_fixtime,f_fixtimezone) {  if (usepctime==1)    landing_time=new Date();  else {    landing_time=new Date(server_time);    landing_time.setMilliseconds(server_time.getMilliseconds());}  landing_time.setMilliseconds(landing_time.getMilliseconds()+f_dur_ms+f_fixtime-f_fixtimezone);  }function addnewrows(f_table_ind,f_durtr_num,f_dur_arr) {  if (!f_table_ind.getElementsByTagName('tr')[f_durtr_num+5]) {    var planned_time=new Date(landing_time);    planned_time.setMinutes(planned_time.getMinutes()+2);    var f_planned_arr=[planned_time.getDate(),planned_time.getMonth(),planned_time.getFullYear(),planned_time.getHours(),planned_time.getMinutes(),planned_time.getSeconds()];    f_table_ind.innerHTML=f_table_ind.innerHTML+"<tr><th colspan=2>Plan</th></tr><tr><td>Landing Time</td><td>"+landing_time.toLocaleString()+"</td></tr><tr><td>Planned Time</td><td><input value="+f_planned_arr[0]+" size=2; type=&quot;text&quot;>/<input value="+(f_planned_arr[1]+1)+" size=2; type=&quot;text&quot;>/<input value="+(f_planned_arr[2])+" size=4; type=&quot;text&quot;><br><input value="+f_planned_arr[3]+" size=2; type=&quot;text&quot;>:<input value="+f_planned_arr[4]+" size=2; type=&quot;text&quot;>:<input value="+f_planned_arr[5]+" size=2; type=&quot;text&quot;></td></tr><tr><td>Timer</td><td>-</td></tr>";    }  }
 

DeletedUser8396

Гость
Вот как это выглядит под управлением OPERA 10.70:
defaultrl.jpg
 

DeletedUser

Гость
проверил на Мозиллке - норм работает.
Респект
 

DeletedUser

Гость
по просьбам трудящихся - добавлены миллисекунды и настройки можно менять на ходу.

Код:
javascript: var fixtime=1000;var dtime=100;var usepctime=0;var table_ind=findattacktableindex();var durtr_num=finddurrownum(table_ind);if (!table_ind.getElementsByTagName('tr')[durtr_num+5]) {  var planrow_num=findlastrownum(table_ind)+1;  var timer;  var dur_arr=[];  var dur_ms=getdurbyserv(table_ind,durtr_num);  var server_time=new Date();  var last_servertime_sec=-1;  var pagetimefix=0;  getservertime();  var landing_time=new Date();  var fixtimezone=getfixtimezone();  getlandingtime(dur_ms,fixtime,fixtimezone);  var planned_time=new Date();  var inputs_ind=[];  addnewrows(table_ind,durtr_num);  var back_timer;  refresh();  }else {    if ((-readbacktimer())>(-dtime/1000)) document.forms[0].submit.click();  }function refresh() {  fixtime=-(-inputs_ind[3].value);  dtime=-(-inputs_ind[4].value);  usepctime=inputs_ind[5].checked;  planned_time=new Date(inputs_ind[8].value, inputs_ind[7].value-1, inputs_ind[6].value, inputs_ind[9].value, inputs_ind[10].value, inputs_ind[11].value);  planned_time.setMilliseconds(inputs_ind[12].value);  getservertime();  getlandingtime(dur_ms,fixtime,fixtimezone);  back_timer=""+(planned_time-landing_time)/1000;    table_ind.getElementsByTagName('tr')[planrow_num+2].getElementsByTagName('td')[1].innerHTML=landing_time.toLocaleString()+"<font color=gray size=&quot;-1&quot;>"+(((landing_time.getMilliseconds()/1000)+"00.000").match(/\.\d\d\d/))+"</font>";  if(back_timer<60) {    table_ind.getElementsByTagName('tr')[planrow_num+4].getElementsByTagName('td')[1].innerHTML="<font color=red><b>"+(back_timer.match(/-?\d+/))+"</b></font><font color=gray size=&quot;-1&quot;>"+((back_timer+"00.000").match(/\.\d\d\d/))+"</font>";    }  else {    table_ind.getElementsByTagName('tr')[planrow_num+4].getElementsByTagName('td')[1].innerHTML=(back_timer.match(/-?\d+/))+"<font color=gray size=&quot;-1&quot;>"+((back_timer+"00.000").match(/\.\d\d\d/))+"</font>";    }  timer = setTimeout("refresh()",dtime);  }function findattacktableindex() {  for (var f=10;f<=50;f++) {    if (document.getElementsByTagName('tbody')[f])if ( (document.getElementsByTagName('tbody')[f].innerHTML).match(/id="date_arrival"/g) ) var f_table_num=f;    }  var f_table_ind=document.getElementsByTagName('tbody')[f_table_num];  return f_table_ind;  }function finddurrownum(f_table_ind) {  var f_durtr_num=3;  for (f=1;f<=4;f++) {    if (f_table_ind.getElementsByTagName('tr')[f].getElementsByTagName('td')[1].id=='date_arrival') f_durtr_num=f-1;    }  return f_durtr_num;  }function findlastrownum(f_table_ind) {  var f_planrow_num=f_table_ind.getElementsByTagName('tr').length;  return f_planrow_num-1;  }function getdurbyserv(f_table_ind,f_durtr_num) {  var f_dur_txt=f_table_ind.getElementsByTagName('tr')[f_durtr_num].getElementsByTagName('td')[1].innerHTML;  var f_dur_arr=f_dur_txt.match(/\d+/g);  var f_dur_ms=-(-(f_dur_arr[0]*3600)-(f_dur_arr[1]*60)-f_dur_arr[2])*1000;  return f_dur_ms;  }function getservertime() {  server_time=new Date();  if (usepctime==0) {    var f_servertime_arr=(document.getElementById('serverTime').innerHTML).match(/\d+/g);    if ((-last_servertime_sec)!=(-f_servertime_arr[2])) {      last_servertime_sec=f_servertime_arr[2];      var f_serverdate_arr=(document.getElementById('serverDate').innerHTML).match(/\d+/g);      var page_time=new Date(f_serverdate_arr[2], f_serverdate_arr[1]-1, f_serverdate_arr[0], f_servertime_arr[0], f_servertime_arr[1], f_servertime_arr[2]);      pagetimefix=page_time-server_time;      }    server_time.setMilliseconds(server_time.getMilliseconds()+pagetimefix);    }  }function getfixtimezone() {  if (usepctime==1) {    getservertime();    var f_fixtimezone=1800000*Math.round((new Date()-server_time)/1800000);    }  else    var f_fixtimezone=0;  return f_fixtimezone;  }function getlandingtime(f_dur_ms,f_fixtime,f_fixtimezone) {  landing_time=new Date(server_time);  landing_time.setMilliseconds(server_time.getMilliseconds());  landing_time.setMilliseconds(landing_time.getMilliseconds()+f_dur_ms-(-f_fixtime)-f_fixtimezone);  }function readbacktimer() {  var backtr_num=findlastrownum(table_ind);  if (table_ind.getElementsByTagName('tr')[backtr_num].getElementsByTagName('td')[1].textContent)    var f_back_timer=table_ind.getElementsByTagName('tr')[backtr_num].getElementsByTagName('td')[1].textContent;  else     var f_back_timer=table_ind.getElementsByTagName('tr')[backtr_num].getElementsByTagName('td')[1].innerText;  return f_back_timer;  }function addnewrows(f_table_ind,f_durtr_num) {  if (!f_table_ind.getElementsByTagName('tr')[f_durtr_num+5]) {    var planned_time=new Date(landing_time);    planned_time.setMinutes(planned_time.getMinutes()+2);    f_table_ind.innerHTML=f_table_ind.innerHTML+"<tr><th colspan=2>Plan</th></tr><tr><td colspan=2>fixtime<input type=text value="+fixtime+" size=3> dtime<input type=text value="+dtime+" size=3> usepctime<input type=checkbox name=planpctime value=1></td></tr><tr><td>Landing Time</td><td>"+landing_time.toLocaleString()+"</td></tr><tr><td>Planned Time</td><td><input type=text value="+planned_time.getDate()+" size=2>/<input type=text value="+(planned_time.getMonth()+1)+" size=2>/<input type=text value="+planned_time.getFullYear()+" size=4><br><input type=text value="+planned_time.getHours()+" size=2>:<input type=text value="+planned_time.getMinutes()+" size=2>:<input type=text value="+planned_time.getSeconds()+" size=2>.<input type=text value="+planned_time.getMilliseconds()+" size=3></td></tr><tr><td>Timer</td><td>-</td></tr>";    }  inputs_ind=table_ind.getElementsByTagName('input');  if (usepctime==1) inputs_ind[5].checked=1;  }
 

DeletedUser

Гость
Спасибо ,Вам ребята, отличное приспособление!
 

DeletedUser

Гость
Если бы он еще сам ОК нажимал, ваще цены не было )
 

DeletedUser

Гость
если бы ок нажимал то вы сразу же в бан улетели :)
 

DeletedUser

Гость
немного изменился внешний вид, добавлено время отправки, когда нужно вернуться к компу и жать ок

Код:
javascript: var fixtime=1000; var dtime=100; var usepctime=0; var table_ind=findattacktableindex(); var durtr_num=finddurrownum(table_ind); if (!table_ind.getElementsByTagName('tr')[durtr_num+5]) {   var planrow_num=findlastrownum(table_ind)+1;   var timer;   var dur_arr=[];   var dur_ms=getdurbyserv(table_ind,durtr_num);   var server_time=new Date();   var last_servertime_sec=-1;   var pagetimefix=0;   getservertime();   var landing_time=new Date();   var launch_time=new Date();   var fixtimezone=getfixtimezone();   getlandingtime(dur_ms,fixtime,fixtimezone);   var planned_time=new Date();   getlaunchtime(dur_ms);   var inputs_ind=[];   addnewrows(table_ind,durtr_num);   var back_timer;   refresh();   } else {     if ((-readbacktimer())>(-dtime/1000)) document.forms[0].submit.click();   }  function refresh() {   fixtime=-(-inputs_ind[3].value);   dtime=-(-inputs_ind[4].value);   usepctime=inputs_ind[5].checked;   planned_time=new Date(inputs_ind[8].value, inputs_ind[7].value-1, inputs_ind[6].value, inputs_ind[9].value, inputs_ind[10].value, inputs_ind[11].value);   planned_time.setMilliseconds(inputs_ind[12].value);   getservertime();   getlandingtime(dur_ms,fixtime,fixtimezone);   getlaunchtime(dur_ms);   back_timer=""+(planned_time-landing_time)/1000;      table_ind.getElementsByTagName('tr')[planrow_num+3].getElementsByTagName('td')[1].innerHTML=launch_time.toLocaleString()+"<font color=gray size=&quot;-1&quot;>"+(((launch_time.getMilliseconds()/1000)+"00.000").match(/\.\d\d\d/))+"</font>";   table_ind.getElementsByTagName('tr')[planrow_num+4].getElementsByTagName('td')[1].innerHTML=landing_time.toLocaleString()+"<font color=gray size=&quot;-1&quot;>"+(((landing_time.getMilliseconds()/1000)+"00.000").match(/\.\d\d\d/))+"</font>";   if(back_timer<60) {     table_ind.getElementsByTagName('tr')[planrow_num+5].getElementsByTagName('td')[1].innerHTML="<font color=red><b>"+(back_timer.match(/-?\d+/))+"</b></font><font color=gray size=&quot;-1&quot;>"+((back_timer+"00.000").match(/\.\d\d\d/))+"</font>";     }   else {     table_ind.getElementsByTagName('tr')[planrow_num+5].getElementsByTagName('td')[1].innerHTML=(back_timer.match(/-?\d+/))+"<font color=gray size=&quot;-1&quot;>"+((back_timer+"00.000").match(/\.\d\d\d/))+"</font>";     }   timer = setTimeout("refresh()",dtime);   } function findattacktableindex() {   for (var f=10;f<=50;f++) {     if (document.getElementsByTagName('tbody')[f])if ( (document.getElementsByTagName('tbody')[f].innerHTML).match(/id="date_arrival"/g) ) var f_table_num=f;     }   var f_table_ind=document.getElementsByTagName('tbody')[f_table_num];   return f_table_ind;   } function finddurrownum(f_table_ind) {   var f_durtr_num=3;   for (f=1;f<=4;f++) {     if (f_table_ind.getElementsByTagName('tr')[f].getElementsByTagName('td')[1].id=='date_arrival') f_durtr_num=f-1;     }   return f_durtr_num;   } function findlastrownum(f_table_ind) {   var f_planrow_num=f_table_ind.getElementsByTagName('tr').length;   return f_planrow_num-1;   } function getdurbyserv(f_table_ind,f_durtr_num) {   var f_dur_txt=f_table_ind.getElementsByTagName('tr')[f_durtr_num].getElementsByTagName('td')[1].innerHTML;   var f_dur_arr=f_dur_txt.match(/\d+/g);   var f_dur_ms=-(-(f_dur_arr[0]*3600)-(f_dur_arr[1]*60)-f_dur_arr[2])*1000;   return f_dur_ms;   } function getservertime() {   server_time=new Date();   if (usepctime==0) {     var f_servertime_arr=(document.getElementById('serverTime').innerHTML).match(/\d+/g);     if ((-last_servertime_sec)!=(-f_servertime_arr[2])) {       last_servertime_sec=f_servertime_arr[2];       var f_serverdate_arr=(document.getElementById('serverDate').innerHTML).match(/\d+/g);       var page_time=new Date(f_serverdate_arr[2], f_serverdate_arr[1]-1, f_serverdate_arr[0], f_servertime_arr[0], f_servertime_arr[1], f_servertime_arr[2]);       pagetimefix=page_time-server_time;       }     server_time.setMilliseconds(server_time.getMilliseconds()+pagetimefix);     }   } function getfixtimezone() {   if (usepctime==1) {     getservertime();     var f_fixtimezone=1800000*Math.round((new Date()-server_time)/1800000);     }   else     var f_fixtimezone=0;   return f_fixtimezone;   } function getlandingtime(f_dur_ms,f_fixtime,f_fixtimezone) {   landing_time=new Date(server_time);   landing_time.setMilliseconds(server_time.getMilliseconds());   landing_time.setMilliseconds(landing_time.getMilliseconds()+f_dur_ms-(-f_fixtime)-f_fixtimezone);   } function getlaunchtime(f_dur_ms) {   launch_time=new Date(planned_time);   launch_time.setMilliseconds(planned_time.getMilliseconds());   launch_time.setMilliseconds(launch_time.getMilliseconds()-f_dur_ms);   } function readbacktimer() {   var backtr_num=findlastrownum(table_ind);   if (table_ind.getElementsByTagName('tr')[backtr_num].getElementsByTagName('td')[1].textContent)     var f_back_timer=table_ind.getElementsByTagName('tr')[backtr_num].getElementsByTagName('td')[1].textContent;   else      var f_back_timer=table_ind.getElementsByTagName('tr')[backtr_num].getElementsByTagName('td')[1].innerText;   return f_back_timer;   } function addnewrows(f_table_ind,f_durtr_num) {   if (!f_table_ind.getElementsByTagName('tr')[f_durtr_num+5]) {     var planned_time=new Date(landing_time);     planned_time.setMinutes(planned_time.getMinutes()+2);     f_table_ind.innerHTML=f_table_ind.innerHTML+"<tr><th colspan=2>Plan</th></tr><tr><td colspan=2>fixtime<input type=text value="+fixtime+" size=3> dtime<input type=text value="+dtime+" size=3> usepctime<input type=checkbox name=planpctime value=1></td></tr><tr><td>Planned Time</td><td><input type=text value="+planned_time.getDate()+" size=2>/<input type=text value="+(planned_time.getMonth()+1)+" size=2>/<input type=text value="+planned_time.getFullYear()+" size=4><br><input type=text value="+planned_time.getHours()+" size=2>:<input type=text value="+planned_time.getMinutes()+" size=2>:<input type=text value="+planned_time.getSeconds()+" size=2>.<input type=text value="+planned_time.getMilliseconds()+" size=3></td></tr><tr><td>Launch Time</td><td>"+launch_time.toLocaleString()+"</td></tr><tr><td>Landing Time</td><td>"+landing_time.toLocaleString()+"</td></tr><tr><td>Timer</td><td>-</td></tr>";     }   inputs_ind=table_ind.getElementsByTagName('input');   if (usepctime==1) inputs_ind[5].checked=1;   }
 
Верх