UserScript name Bot fighter2222 version description Мочит нужных Подде

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
// ==UserScript==
// @name Bot fighter2222
// @version 0.0.2
// @description Мочит нужных=
// Поддерживает регулярные выражения, можно перечислять варианты через | (pipe)
// подробнее тут: https://developer.mozilla.org/ru/docs/Web/JavaScript/..
// @include http://wapheroes.ru/index.php?action=map&*
// @include http://wapheroes.ru/index.php?a&action=auto_battle&*
// @author notexist
// ==/UserScript==
(function()
{
console.log('______________________________________________________________________');
// mean is 1500 ms, min = 1000 ms, max = 2000 ms.
var mu = 1000;
var sigma = 1000;
var wanted = 'Духи Древних|Древнее Воинство 3'; // Мобы, который ебем, между ними знак |
var location_name = 'Последний Предел'; // Локация в которую должен передидывать
var get_text1 = 'Взять|Принять'; // Кнопка для квестов
var attack_text = 'Автоматический'; // Тип боя
var wanted_found = false;
var wanted_urls = [];
var get_link = '';
var location_url = '';
var attack_url = '';
var reg_exp_for_mobs = new RegExp('index\\.php\\?action=map&l=\\d+&e=\\d+');
var mob_urls = [];
find_all_links();
action();
// Возвращает случайное значение между 0 и 1,
// примерная картина для norm_coefficient = 3: imgur.com/X4bg25a
function get_random_norm(norm_coefficient)
{
var random_sum = 0
for (var i = 0; i < norm_coefficient; i++)
{
random_sum += Math.random();
}
return random_sum / norm_coefficient;
}
function find_all_links()
{
if (document.links.length == 0)
{
setInterval(function(){location.reload()}, mu + get_random_norm(3) * sigma);
}
console.log('document.links.length = ' + document.links.length);
for (var i = 0; i < document.links.length; i++)
{
console.log('\n\nLink text: ' + document.links[i].text);
console.log(document.links[i].href + '\n');
if (document.links[i].text.match(attack_text))
{
attack_url = document.links[i].href;
console.log('\n\nfound attack\n\n');
}
else if (document.links[i].text.match(get_text1))
{
get_link = document.links[i].href;
console.log('\n\nfound Get smth\n\n');
}
else if (document.links[i].text.match(wanted))
{
wanted_found = true;
wanted_urls.push(document.links[i].href);
console.log('\n\nfound wanted mob\n\n');
}
else if (document.links[i].text.match(location_name))
{
location_url = document.links[i].href;
console.log('\n\nfound location name\n\n');
}
else if (document.links[i].href.match(reg_exp_for_mobs))
{
mob_urls.push(document.links[i].href);
console.log('\n\nfound and added mob link\n\n');
}
}
}
function action()
{
if (attack_url !== '')
{
console.log('\ngo ATTACK\n');
setInterval(function(){location.href = attack_url}, mu + get_random_norm(3) * sigma);
return;
}
if (get_link !== '')
{
console.log('\ngo GET\n');
setInterval(function(){location.href = get_link}, mu + get_random_norm(3) * sigma);
return;
}
if (wanted_found)
{
// Выбираем случайного из тех, что хочется убить первыми
console.log('\ngo WANTED\n');
setInterval(function()
{
location.href = wanted_urls[Math.floor(get_random_norm(3) * wanted_urls.length)]
}, mu + get_random_norm(3) * sigma);
return;
}
// if (document.evaluate("//div[contains(.,'Ваш герой устал, отдохните')]", document, null, 9, null).singleNodeValue)
// {
// // Слишком рано атаковали, обновим страницу
// console.log('\ngo REFRESH\n');
// setInterval(function(){location.reload(true)}, mu + get_random_norm(3) * sigma);
// return;
// }
if (location_url !== '')
{
// Вернёмся в локацию
console.log('\ngo to LOCATION\n');
setInterval(function(){location.href = location_url}, mu + get_random_norm(3) * sigma);
return;
}
if (mob_urls.length > 0)
{
// Если нашли мобов, атакуем рандомного
console.log('\ngo RANDOM mob\n');
setInterval(function()
{
location.href = mob_urls[Math.floor(get_random_norm(3) * mob_urls.length)]
}, mu + get_random_norm(3) * sigma);
return;
}
}
})();