Автоматическое нажатие кнопки
Вложений: 1
Помогите пожалйста, ка написать команду в скрипте, чтобы определенная кнопка нажималась автоматически через 5 сек несколько раз. Кнопка указана во вложеном файле, а вто и скрипт:
// ==UserScript== // @include http://www.bloodyworld.com/* // ==/UserScript== if(!document.location.href.match("http://www.bloodyworld.com/xfn")) { if (document.location.href.match("http://www.bloodyworld.com/index.php\\?file=menu")) { window.opera.addEventListener('AfterEvent.load',function(e){ if( e.event.target instanceof Document) { kobb = document.getElementById('kob_tbl'); if (!kobb) { /* Create special menu */ var newdiv = document.createElement('div'); newdiv.setAttribute('id','kob_conf'); newdiv.innerHTML = '<hr><table border=1><tr id=kob_tbl><td> </td></tr></table>'; document.body.appendChild(newdiv); kobb = document.getElementById('kob_tbl'); } newtd=document.createElement('td'); newtd.innerHTML = "<input type=checkbox id=kob_autobattle>Auto-battle<br>"+ "<button onclick='top.main.bwab_fight_set();return false;'>Fight</button>"+ "<button onclick='top.main.bwab_def_set();return false;'>Defend</button><br>"+ "MinHP: <input size=4 id=kob_ab_stophp value="+Math.floor(top.main.realLife*0.25)+">"; kobb.appendChild(newtd); } },false); } else { function scan_items() { var db = document.body.innerHTML; var ans = new Object(); var uid = db.match(/showNameBlock\('[^']+','([0-9]+)'/i)[1]; var l = db.match(/var h_[^}]+}";/ig); var re = new RegExp("var h_([a-z0-9]+)"+uid+"=[^}]+'fi':'([0-9]*)'"); for(var i=0;i<l.length;i++) { var rr = l[i].match(re); if (rr) ans[rr[1]] = rr[2]; } return ans; } function bwab_def_set() { var items = (function(){ try { return scan_items(); } catch (error) { return new Object(); } })() var verkart = [10,10,10,10,10]; verkart[0] += Math.max(items["shlem"], items['necklace']); // head verkart[1] += Math.max(items["weapon"], items['ring'], items['ring2']); // right hand verkart[2] += Math.max(items['armours']); // body verkart[3] += Math.max(items["weapon2"], items['ring3'], items['ring4']); // left hand verkart[4] += Math.max(items["boots"], items["belt"]); // legs var vertot = verkart[0] + verkart[1] + verkart[2] + verkart[3] + verkart[4]; var s = 0; for (var i=0; i<5; i++) { s+=verkart[i]; verkart[i] = s*5/vertot; } bDEF = document.getElementsByName('shit[]'); if (bDEF && bDEF.length > 0) { if (TotalDEF!=0) { for (i = 0; i<bDEF.length; i++) { bDEF[i].checked = false; } } set = [0,0,0,0,0]; for (i = 0; i<MaxTotalDEF; i++) { var j = -1; while(j<0 || set[j] == 1) { var k = Math.floor(Math.random()*5); for (j=0; j<4; j++) if (k < verkart[j]) break; j = Math.floor(Math.random()*5); } set[j] = 1; } for (i = 0; i<bDEF.length; i++) { bDEF[i].checked = (set[i]==1); } TotalDEF = MaxTotalDEF; } }; function bwab_fight_set() { if (MaxTotalATK > 1) { bATK = document.getElementsByName('fire[]'); if (bATK && bATK.length > 0) { if (TotalATK!=0) { for (i = 0; i<bATK.length; i++) { bATK[i].checked = false; } } set = [0,0,0,0,0]; for (i = 0; i<MaxTotalATK; i++) { j = Math.floor(Math.random()*5); set[j]++; } c = bATK.length/5; for (i = 0; i<5; i++) { for(j=0; j<set[i]; j++) { bATK[i*c+j].checked = true; } } TotalATK = MaxTotalATK; } } else { bATK = document.getElementsByName('fire'); if (bATK && bATK.length > 0) { j = Math.floor(Math.random()*bATK.length); bATK[j].checked = true; } TotalATK = MaxTotalATK; } }; window.opera.addEventListener('AfterEvent.load',function(e){ if( e.event.target instanceof Document && top.menu.document.getElementById('kob_autobattle').checked ) { bwab_def_set(); bwab_fight_set(); youRL = document.body.innerHTML.match(/realLife = parseInt\('([0-9]+)'\);/)[1]+0; if (youRL <= (top.menu.document.getElementById('kob_ab_stophp').value+0)) { SendSay("Life below auto-minimum!"); } else if ((MaxTotalATK > 0) && (TotalATK == MaxTotalATK) && (MaxTotalDEF > 0) && (TotalDEF == MaxTotalDEF)) { hitin = Math.random()*1000; setTimeout("document.getElementsByName('go')[0].click()", hitin+1000); } } },false); } } |
Пожалуйста, отформатируйте свой код!
Для этого его можно заключить в специальные теги: js/css/html и т.п., например: [js] ... ваш код... [/js] О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting. |
Вот так????
|
Вы опубликовали очень много кода.
Пожалуйста, локализуйте проблему! Выделите фрагмент кода, по которому есть вопрос и опубликуйте его отдельно. И, по возможности, уберите из кода мусор, чтобы нам легче было сориентироваться и помочь решить вашу проблему. Спасибо. P.S. код форматируют специальные теги [ js ] ... [/js], [ html ] ... [/html] и другие аналогичные, сам. http://javascript.ru/formatting |
Вот кусочке кода:
function scan_items() { var db = document.body.innerHTML; var ans = new Object(); var uid = db.match(/showNameBlock\('[^']+','([0-9]+)'/i)[1]; var l = db.match(/var h_[^}]+}";/ig); var re = new RegExp("var h_([a-z0-9]+)"+uid+"=[^}]+'fi':'([0-9]*)'"); for(var i=0;i<l.length;i++) { var rr = l[i].match(re); if (rr) ans[rr[1]] = rr[2]; $('#id').click(); document.getElementById('http://www.bloodyworld.com/index.php?file=battle').click(); } return ans; } нужно нажатие автоматом, таймер на кнопке срабатывает на сайте каждые 4 сек., как сделать? |
Часовой пояс GMT +3, время: 08:49. |