Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 25.07.2011, 18:07
Новичок на форуме
Отправить личное сообщение для Clockk Посмотреть профиль Найти все сообщения от Clockk
 
Регистрация: 25.07.2011
Сообщений: 3

Автоматическое нажатие кнопки
Помогите пожалйста, ка написать команду в скрипте, чтобы определенная кнопка нажималась автоматически через 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>&nbsp;</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);
  }
}
Изображения:
Тип файла: jpg кнопка.jpg (17.9 Кб, 16 просмотров)

Последний раз редактировалось Clockk, 17.08.2011 в 13:00.
Ответить с цитированием
  #2 (permalink)  
Старый 25.07.2011, 18:10
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[js]
... ваш код...
[/js]


О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.
Ответить с цитированием
  #3 (permalink)  
Старый 17.08.2011, 13:01
Новичок на форуме
Отправить личное сообщение для Clockk Посмотреть профиль Найти все сообщения от Clockk
 
Регистрация: 25.07.2011
Сообщений: 3

Вот так????
Ответить с цитированием
  #4 (permalink)  
Старый 17.08.2011, 13:37
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Вы опубликовали очень много кода.

Пожалуйста, локализуйте проблему!

Выделите фрагмент кода, по которому есть вопрос и опубликуйте его отдельно.

И, по возможности, уберите из кода мусор, чтобы нам легче было сориентироваться и помочь решить вашу проблему.

Спасибо.

P.S. код форматируют специальные теги [ js ] ... [/js], [ html ] ... [/html] и другие аналогичные, сам. http://javascript.ru/formatting
Ответить с цитированием
  #5 (permalink)  
Старый 18.08.2011, 23:46
Новичок на форуме
Отправить личное сообщение для Clockk Посмотреть профиль Найти все сообщения от Clockk
 
Регистрация: 25.07.2011
Сообщений: 3

Вот кусочке кода:

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 сек., как сделать?

Последний раз редактировалось Clockk, 18.08.2011 в 23:52.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Можно ли узнать нажатие кнопки "назад" в браузере ? phenom jQuery 0 03.02.2011 18:07
Нажатие кнопки ОК ushlepok Internet Explorer 2 04.01.2011 19:42
АВТОМАТИЧЕСКОЕ НАЖАТИЕ КНОПКИ niger Общие вопросы Javascript 4 04.03.2010 13:59
Автоматическое нажатие кнопки Sunrise Общие вопросы Javascript 5 16.10.2009 15:42
Как отслеживать нажатие кнопки back Петр Общие вопросы Javascript 4 01.10.2009 16:06