Мля, теперь мне нифига не понятно) Надо что бы кто-то потестил, есть желающие?
126 2011-06-28 23:50:56
Re: Плагин взятия задания, все города, нужно протестить. От Gorlum (248 ответов, оставленных в JavaScript)
127 2011-06-28 22:24:52
Re: Плагин взятия задания, все города, нужно протестить. От Gorlum (248 ответов, оставленных в JavaScript)
хотя последний кусок кода, который я написал - рабочий.
Я его и тестил. Он рабочий до тех пор, пока бот нормально обновляет external.room_name
Нашел у тебя недочет:
ты ставишь обновление страницы скилов раз в 6 мин. только вот страница эта у тебя обновляется каждые 5сек из zadanieHandler().
Может быть потому что эта фунция вызывается zadanieHandler()-м, где уже прописан интервал в 5 сек?
128 2011-06-28 21:36:43
Re: Плагин взятия задания, все города, нужно протестить. От Gorlum (248 ответов, оставленных в JavaScript)
Про кнопку вродь понял, в массив buttnos забрасываются все кнопки на странице, циклом идет их перебор, и если кнопка имеет текст "Задание", и она не скрыта - то эта кнопка жмётся.
А вот метод парсинга не понял, сбрось пожалуйста ссылку на весь плагин, буду разбираться.
ЗЫ: хотя последний кусок кода, который я написал - рабочий.
129 2011-06-28 21:06:45
Re: Плагин взятия задания, все города, нужно протестить. От Gorlum (248 ответов, оставленных в JavaScript)
Сделал вот так, думаю должно работать в всех подземках
else if(external.room_name == "Грибница" && uspeh==false){
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/dungeon.pl?ql=" + Math.random();
if(!get_mainframe().document.all[0].innerHTML.match(/Задания отсюда недоступны/) && get_mainframe().document.all[0].innerHTML.match(/Репутация в/)&& !get_mainframe().document.all[0].innerHTML.match(/24999/))
{
get_mainframe().document.getElementsByName("getquest")[0].click();
top.Chat.Self.AddMessage("Работает взятие задания");
}
proverkaHandler(uspeh);
if(get_mainframe().document.all[0].innerHTML.match(/Для вас нет заданий в этом подземелье.../)||get_mainframe().document.all[0].innerHTML.match(/Время до смены задания:/)||get_mainframe().document.all[0].innerHTML.match(/Задания отсюда недоступны/))
{
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/dungeon.pl?" + Math.random();
top.Chat.Self.AddMessage("Работает выход из комнаты");
}
}
Вот только позже надо будет переделать это в функцию.
Кстати, в яваскрипте, функция может вызывать функию? В С++ такого точно нельзя, а тут как с этим?
130 2011-06-28 20:57:17
Re: Плагин взятия задания, все города, нужно протестить. От Gorlum (248 ответов, оставленных в JavaScript)
где-то ошибка, не хочет в на кнопку "Задания" нажимать
131 2011-06-28 20:51:10
Re: Плагин взятия задания, все города, нужно протестить. От Gorlum (248 ответов, оставленных в JavaScript)
else if(external.room_name == "Грибница" && uspeh==false)
{
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/dungeon.pl?ql=" + Math.random();
if(get_mainframe().document.all[0].innerHTML.match(/Репутация в Suncity/) && !get_mainframe().document.all[0].innerHTML.match(/24999/))
{
get_mainframe().document.getElementsByName("getquest")[0].click();
uspeh=true;
top.Chat.Self.AddMessage("Работает взятие задания");
}
if(get_mainframe().document.all[0].innerHTML.match(/Вы получили новое задание/)) uspeh=true;
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/dungeon.pl?" + Math.random();
top.Chat.Self.AddMessage("Работает выход из комнаты");
Да, так наверное лучше всего)
132 2011-06-28 20:47:48
Re: Плагин взятия задания, все города, нужно протестить. От Gorlum (248 ответов, оставленных в JavaScript)
Так наверное даже лучше
else if(external.room_name == "Грибница" && uspeh==false){
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/dungeon.pl?ql=" + Math.random();
if(!get_mainframe().document.all[0].innerHTML.match(/Задания отсюда недоступны/) && get_mainframe().document.all[0].innerHTML.match(/Репутация в Suncity/))
{
get_mainframe().document.getElementsByName("getquest")[0].click();
top.Chat.Self.AddMessage("Работает взятие задания");
}
proverkaHandler(uspeh);
if(get_mainframe().document.all[0].innerHTML.match(/Для вас нет заданий в этом подземелье.../))
//Для вас нет заданий в этом подземелье...Задания отсюда недоступны///// пока что поставил 1-й вариант, чтобы проверить работоспособность
{
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/dungeon.pl?" + Math.random();
top.Chat.Self.AddMessage("Работает выход из комнаты");
}
}
При
function proverkaHandler()
{
var temp_inf = doLoad("http://" + external.SCity.Text + ".combats.com/main.pl?skills=1&rand=" + Math.random());
if(!temp_inf.match(/Время до смены задания:/)) uspeh=false;
else
uspeh=true;
top.Chat.Self.AddMessage("Проверяю наличие задания");
}
133 2011-06-28 20:38:22
Re: Плагин взятия задания, все города, нужно протестить. От Gorlum (248 ответов, оставленных в JavaScript)
Значит должно быть как-то так:
else if(external.room_name == "Грибница" && uspeh==false){
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/dungeon.pl?ql=" + Math.random();
if(!get_mainframe().document.all[0].innerHTML.match(/Задания отсюда недоступны/) && get_mainframe().document.all[0].innerHTML.match(/Репутация в Suncity/))
{
get_mainframe().document.getElementsByName("getquest")[0].click();
top.Chat.Self.AddMessage("Работает взятие задания");
}
var temp_inf = doLoad("http://" + external.SCity.Text + ".combats.com/main.pl?skills=1&rand=" + Math.random());
if(temp_inf.match(/Время до смены задания:/))
uspeh=true;
top.Chat.Self.AddMessage("Проверяю наличие задания");
if(get_mainframe().document.all[0].innerHTML.match(/Для вас нет заданий в этом подземелье.../))
//Для вас нет заданий в этом подземелье...Задания отсюда недоступны///// пока что поставил 1-й вариант, чтобы проверить работоспособность
{
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/dungeon.pl?" + Math.random();
top.Chat.Self.AddMessage("Работает выход из комнаты");
}
}
Добавил ещё одну проверку, именно после клацанья на получение. Правда протестить не могу, нету чаров с возможностью взятия задания в сане.
134 2011-06-28 17:58:11
Re: Плагин взятия задания, все города, нужно протестить. От Gorlum (248 ответов, оставленных в JavaScript)
Вставил это
else if(external.room_name == "Грибница" && uspeh==false){
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/dungeon.pl?ql=" + Math.random();
if(!get_mainframe().document.all[0].innerHTML.match(/Задания отсюда недоступны/) && get_mainframe().document.all[0].innerHTML.match(/Репутация в Suncity/))
{
get_mainframe().document.getElementsByName("getquest")[0].click();
top.Chat.Self.AddMessage("Работает взятие задания");
}
if(get_mainframe().document.all[0].innerHTML.match(/Для вас нет заданий в этом подземелье.../))
//Для вас нет заданий в этом подземелье...Задания отсюда недоступны///// пока что поставил 1-й вариант, чтобы проверить работоспособность
{
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/dungeon.pl?" + Math.random();
uspeh=true;
top.Chat.Self.AddMessage("Работает выход из комнаты");
}
}
но теперь в грибнице после взятия задания не меняет успех в тру, то есть не идёт обратно.
135 2011-06-28 17:52:11
Re: Плагин взятия задания, все города, нужно протестить. От Gorlum (248 ответов, оставленных в JavaScript)
if(!temp_inf.match(external.SCity.Text + /" - [0-9] ч. [0-9] мин."/||external.SCity.Text + /" - [0-9] мин."/||external.SCity.Text + /" - [0-9] сек."/)) uspeh=false;
Вот так?
136 2011-06-28 17:44:52
Re: Плагин взятия задания, все города, нужно протестить. От Gorlum (248 ответов, оставленных в JavaScript)
Да, и кста, что делает
function doLoad(url)
{
if (window.XMLHttpRequest)
req = new XMLHttpRequest();
else
req = new ActiveXObject("Microsoft.XMLHTTP");
req.open("GET", url, false); // задать параметры методу open
req.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT"); //чтоб не кэшировались GET запросы
req.send(null); // отправить запрос
return req.responseText;
}
?
Я её не первый раз вижу в плагинах, но не могу понять для чего она.
137 2011-06-28 17:40:06
Re: Плагин взятия задания, все города, нужно протестить. От Gorlum (248 ответов, оставленных в JavaScript)
если uspeh==false, то выполняется строка
else if(external.room_name == "Грибница" && uspeh==false){
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/dungeon.pl?ql=" + Math.random();
if(!get_mainframe().document.all[0].innerHTML.match(/Задания отсюда недоступны/) && get_mainframe().document.all[0].innerHTML.match(/Репутация в Suncity/))
{
get_mainframe().document.getElementsByName("getquest")[0].click();
top.Chat.Self.AddMessage("Работает взятие задания");
}
if(get_mainframe().document.all[0].innerHTML.match(/Для вас нет заданий в этом подземелье.../))
//Для вас нет заданий в этом подземелье...Задания отсюда недоступны///// пока что поставил 1-й вариант, чтобы проверить работоспособность
{
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/dungeon.pl?" + Math.random();
uspeh=true;
top.Chat.Self.AddMessage("Работает выход из комнаты");
}
}
Где она берет задание. Если успех==тру, то выполняется возврат в зв1.
external.battleWeared не даёт боту ломится в бои при выполнении плагина, но она не работает, думал вернуться к ней позже.
138 2011-06-28 16:58:01
Re: Combots 9.1.2 (48 ответов, оставленных в Общий)
Ребят, лучник не использует приемы "Занять позицию от защиты", "Занять позицию от атаки". Проблема только у меня или есть ещё?
_name = "defence_bestposition_blk";
это от защиты,
_name = "defence_bestposition_hit";
это от атаки.
139 2011-06-28 16:55:03
Re: Плагин взятия задания, все города, нужно протестить. От Gorlum (248 ответов, оставленных в JavaScript)
var uspeh=false;
function zadanie(enabled)
{
if(enabled)
{
zadanieTimer = setInterval("zadanieHandler()",5000);// тут ставил разный интервал что бы проверить, 5-10 секунд
}
else
{
clearInterval(zadanieTimer);
}
}
function proverka(enabled)
{
if(enabled)
{
zadanieTimer = setTimeout("proverkaHandler()",360000);
}
else
{
clearTimeout(proverkaTimer);
}
}
function proverkaHandler(uspeh)
{
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?skills=1&rand=" + Math.random();
if(!get_mainframe().document.all[0].innerHTML.match(/Время до смены задания:/))
top.Chat.Self.AddMessage("Проверяю наличие задания");
uspeh=false;
return uspeh;
}
function zadanieHandler()
{
external.battleWeared = false;
top.Chat.Self.AddMessage(external.room_name);
proverkaHandler(uspeh);
if(uspeh==false){
if (external.room_name == "Центральная грибница" && top.frames[external.mainFrameIndex].is_accessible)
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o8&rnd=" + Math.random();
//top.Chat.Self.AddMessage("Иду на грибную лужайку");
else if(external.room_name == "Грибная лужайка" && top.frames[external.mainFrameIndex].is_accessible)
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o7&rnd=" + Math.random();
//top.Chat.Self.AddMessage("Иду в странное место");
else if(external.room_name == "Странное Место" && top.frames[external.mainFrameIndex].is_accessible)
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o0&rnd=" + Math.random();
//top.Chat.Self.AddMessage("Иду в грибную поляну");
else if(external.room_name == "Грибная поляна" && top.frames[external.mainFrameIndex].is_accessible)
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o1&rnd=" + Math.random();
//top.Chat.Self.AddMessage("Иду в грибницу");
else if(external.room_name == "Бойцовский Клуб" && top.frames[external.mainFrameIndex].is_accessible)
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o6&rnd=" + Math.random();
//top.Chat.Self.AddMessage("Иду на ЦП");
else if(external.room_name == "Зал воинов" && top.frames[external.mainFrameIndex].is_accessible)
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o7&rnd=" + Math.random();
//top.Chat.Self.AddMessage("Иду в БК");
else if(external.room_name == "Зал воинов 2" && top.frames[external.mainFrameIndex].is_accessible)
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o7&rnd=" + Math.random();
//top.Chat.Self.AddMessage("Иду в БК");
else if(external.room_name == "Зал воинов 3" && top.frames[external.mainFrameIndex].is_accessible)
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o7&rnd=" + Math.random();
//top.Chat.Self.AddMessage("Иду в БК");
else if(external.room_name == "Этаж 2" && top.frames[external.mainFrameIndex].is_accessible)
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o4&rnd=" + Math.random();
//top.Chat.Self.AddMessage("Иду в БК");
else if(external.room_name == "Башня рыцарей-магов" && top.frames[external.mainFrameIndex].is_accessible)
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o2&rnd=" + Math.random();
//top.Chat.Self.AddMessage("Иду в Рыцарский зал");
else if(external.room_name == "Рыцарский зал" && top.frames[external.mainFrameIndex].is_accessible)
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o7&rnd=" + Math.random();
//top.Chat.Self.AddMessage("Иду в Этаж 2");
else if(external.room_name == "Торговый Зал" && top.frames[external.mainFrameIndex].is_accessible)
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o7&rnd=" + Math.random();
//top.Chat.Self.AddMessage("Иду в Этаж 2");
else if(external.room_name == "Грибница" && uspeh==false){
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/dungeon.pl?ql=" + Math.random();
if(!get_mainframe().document.all[0].innerHTML.match(/Задания отсюда недоступны/) && get_mainframe().document.all[0].innerHTML.match(/Репутация в Suncity/))
{
get_mainframe().document.getElementsByName("getquest")[0].click();
top.Chat.Self.AddMessage("Работает взятие задания");
}
if(get_mainframe().document.all[0].innerHTML.match(/Для вас нет заданий в этом подземелье.../))
//Для вас нет заданий в этом подземелье...Задания отсюда недоступны///// пока что поставил 1-й вариант, чтобы проверить работоспособность
{
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/dungeon.pl?" + Math.random();
uspeh=true;
top.Chat.Self.AddMessage("Работает выход из комнаты");
}
}
}
//Возврат в зв1
if(uspeh==true)
{
if(external.room_name == "Грибница" && top.frames[external.mainFrameIndex].is_accessible)
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/dungeon.pl?rnd=" + Math.random()+"&path=1.108.1";
else if(external.room_name == "Грибная поляна" && top.frames[external.mainFrameIndex].is_accessible)
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o2&rnd=" + Math.random();
else if(external.room_name == "Странное Место" && top.frames[external.mainFrameIndex].is_accessible)
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o1&rnd=" + Math.random();
else if(external.room_name == "Грибная лужайка" && top.frames[external.mainFrameIndex].is_accessible)
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o6&rnd=" + Math.random();
else if(external.room_name == "Центральная грибница" && top.frames[external.mainFrameIndex].is_accessible)
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o0&rnd=" + Math.random();
else if(external.room_name == "Бойцовский Клуб" && top.frames[external.mainFrameIndex].is_accessible)
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o1&rnd" + Math.random();
}
//external.AddToChat("Взял задание");
}
Сделал функцию по проверке наличия задания, которая возвращает "uspeh", поставил интервал работы в 5 минут "setTimeout", я так понял что это оно. Но после запуска плагина бот постоянно проверяет наличие задания, значит он постоянно лезет в функцию "function proverkaHandler(uspeh)", и дальше не идёт.
140 2011-06-28 16:08:20
Re: Плагин взятия задания, все города, нужно протестить. От Gorlum (248 ответов, оставленных в JavaScript)
А, понял, придёт Анахроник - скажет)
141 2011-06-28 16:01:07
Re: Плагин взятия задания, все города, нужно протестить. От Gorlum (248 ответов, оставленных в JavaScript)
gorlum пишет:Как-то так?
тут запуск этой функции каждые полчаса
if(!get_mainframe().document.all[0].innerHTML.match(/Время до смены задания: /))
uspeh=true;Да, только вот в регулярке убери последний пробел после двоеточия. А то реагирует неправильно.
Кстати, вручную можно включить режим данжа?
Это как "вручную"?
142 2011-06-28 15:46:13
Re: Плагин взятия задания, все города, нужно протестить. От Gorlum (248 ответов, оставленных в JavaScript)
Как-то так?
тут запуск этой функции каждые полчаса
if(!get_mainframe().document.all[0].innerHTML.match(/Время до смены задания: /))
uspeh=true;
143 2011-06-28 15:43:33
Re: Плагин взятия задания, все города, нужно протестить. От Gorlum (248 ответов, оставленных в JavaScript)
gorlum пишет:Посмотрел через дебагбар закладку "Репутация", у неё есть id, которые равно L6, значит её можно нажать как-то так?
get_mainframe().document.getElementsById("L6")[0].click();Зачем её нажимать?
Это лишь закладка цельной страницы, которая уже подгружена в documents.all[0]
То есть, можно сразу искать фразу "Время до смены задания: ", и по ней уже ориентироваться?
144 2011-06-28 15:42:10
Re: Плагин взятия задания, все города, нужно протестить. От Gorlum (248 ответов, оставленных в JavaScript)
И привязать бота, если в "Репутации" нету теста "Время до смены задания: " - то uspeh=false. И сделать эту проверку каждые полчаса.
145 2011-06-28 15:34:45
Re: Плагин взятия задания, все города, нужно протестить. От Gorlum (248 ответов, оставленных в JavaScript)
Посмотрел через дебагбар закладку "Репутация", у неё есть id, которые равно L6, значит её можно нажать как-то так?
get_mainframe().document.getElementsById("L6")[0].click();
146 2011-06-28 15:30:41
Re: Плагин взятия задания, все города, нужно протестить. От Gorlum (248 ответов, оставленных в JavaScript)
hyppo пишет:ZhEkA_BK не хочется упускать возможность брать задание через 23 часа, а не через 24
Поэтому раз в сутки по планировщику не катит. Делать так уж со всеми выкрутасами
Ну это уже из 86400000мс нужно час убавить... т.е. 86400000-360000мс=86040000мс (если я конечно не ошибаюсь)
Нет, на самом деле - делать по таймеру - плохая идея. Видимо только один я гружу комп раз в неделю)
147 2011-06-28 14:36:27
Re: Плагин взятия задания, все города, нужно протестить. От Gorlum (248 ответов, оставленных в JavaScript)
Нужно ж еще условие if(uspeh=true) добавить к функции возврата. Плюс как-то закрутить это все дело не только для хаотов, но и для подземки
Ну и раз уже используешь top.frames[external.mainFrameIndex].is_accessible, то можно делать плагин не по работе счетчика по времени, а по обновлению верхнего фрейма.
Теоретически, если сделать запуск плагина по времени - то ему вродь как должно быть пофиг где ты находишься, в хаотах или подземке, можно ещё придумать нажатие кнопки выход, если в походе, но не думаю что людям это понравиться)
Тут ещё надо подумать, как сделать так, чтобы через 24 часа успех снова становился фолсом.
148 2011-06-28 14:19:54
Re: Плагин взятия задания, все города, нужно протестить. От Gorlum (248 ответов, оставленных в JavaScript)
uspeh=true; надо писать уже когда взято задание...т.е. когда появится строчка Задания отсюда недоступны
Т.е. в том месте, где стоит условие на выход из комнаты:if(get_mainframe().document.all[0].innerHTML.match(/Задания отсюда недоступны/))
ссылка на выход с комнаты
uspeh=true;
top.Chat.Self.AddMessage("Работает выход из комнаты");А ты пытался вставить в строку с условием типа "если нет строки Задания отсюда недоступны". Там у тебя воскл знак вначале стоит перед гетмаинфрейм.
Т.е. сперва у тебя должно стоять условие взятия задания, потом в условии перехода обратно в комнату в конце вставить успех=тру.
По поводу последнего поста вот правильная ссылка на возврат из заданияtop.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/dungeon.pl?" + Math.random();
Проблема была не в выходе из заданий, а в выходе на грибную поляну из грибницы. Та ссылка работает, спасибо, но нужна другая) Да и таймер изначально я хотел поставить не на действие бота, а что бы он каждые 86400000 млсек запускался (то есть ровно через сутки).
149 2011-06-28 02:59:38
Re: Плагин взятия задания, все города, нужно протестить. От Gorlum (248 ответов, оставленных в JavaScript)
Ещё, ссылка на возврат на на грибную поляну имеет вид
http://suncity.combats.com/dungeon.pl?rnd=0.881243425895349&path=1.108.1
в плагине для выхода из грибницы написал
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/dungeon.pl?rnd=" + Math.random() + "&path=" + Math.random();
но говорит что перехода не существует. Пробовал тупо перейти на лужайку и скопировать ссылку через свойства, но она вида
http://suncity.combats.com/main.pl?top=72.4959358513555
и это вродь не подходит. Пробовал через дебагбар найти кнопку по названию, но его нету(
150 2011-06-28 02:55:26
Re: Плагин взятия задания, все города, нужно протестить. От Gorlum (248 ответов, оставленных в JavaScript)
var uspeh=false;
function zadanie(enabled)
{
if(enabled)
{
zadanieTimer = setInterval("zadanieHandler()",5000);// тут ставил разный интервал что бы проверить, 5-10 секунд
}
else
{
clearInterval(zadanieTimer);
}
}
function zadanieHandler()
{
external.battleWeared = false;
top.Chat.Self.AddMessage(external.room_name);
if (external.room_name == "Центральная грибница" && top.frames[external.mainFrameIndex].is_accessible)
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o8&rnd=" + Math.random();
//top.Chat.Self.AddMessage("Иду на грибную лужайку");
else if(external.room_name == "Грибная лужайка" && top.frames[external.mainFrameIndex].is_accessible)
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o7&rnd=" + Math.random();
//top.Chat.Self.AddMessage("Иду в странное место");
else if(external.room_name == "Странное Место" && top.frames[external.mainFrameIndex].is_accessible)
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o0&rnd=" + Math.random();
//top.Chat.Self.AddMessage("Иду в грибную поляну");
else if(external.room_name == "Грибная поляна" && top.frames[external.mainFrameIndex].is_accessible)
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o1&rnd=" + Math.random();
//top.Chat.Self.AddMessage("Иду в грибницу");
else if(external.room_name == "Бойцовский Клуб" && top.frames[external.mainFrameIndex].is_accessible)
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o6&rnd=" + Math.random();
//top.Chat.Self.AddMessage("Иду на ЦП");
else if(external.room_name == "Зал воинов" && top.frames[external.mainFrameIndex].is_accessible)
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o7&rnd=" + Math.random();
//top.Chat.Self.AddMessage("Иду в БК");
else if(external.room_name == "Зал воинов 2" && top.frames[external.mainFrameIndex].is_accessible)
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o7&rnd=" + Math.random();
//top.Chat.Self.AddMessage("Иду в БК");
else if(external.room_name == "Зал воинов 3" && top.frames[external.mainFrameIndex].is_accessible)
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o7&rnd=" + Math.random();
//top.Chat.Self.AddMessage("Иду в БК");
else if(external.room_name == "Этаж 2" && top.frames[external.mainFrameIndex].is_accessible)
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o4&rnd=" + Math.random();
//top.Chat.Self.AddMessage("Иду в БК");
else if(external.room_name == "Башня рыцарей-магов" && top.frames[external.mainFrameIndex].is_accessible)
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o2&rnd=" + Math.random();
//top.Chat.Self.AddMessage("Иду в Рыцарский зал");
else if(external.room_name == "Рыцарский зал" && top.frames[external.mainFrameIndex].is_accessible)
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o7&rnd=" + Math.random();
//top.Chat.Self.AddMessage("Иду в Этаж 2");
else if(external.room_name == "Торговый Зал" && top.frames[external.mainFrameIndex].is_accessible)
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o7&rnd=" + Math.random();
//top.Chat.Self.AddMessage("Иду в Этаж 2");
else if(external.room_name == "Грибница" && uspeh==false)
{
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/dungeon.pl?ql=" + Math.random();
if(!get_mainframe().document.all[0].innerHTML.match(/Задания отсюда недоступны/) && get_mainframe().document.all[0].innerHTML.match(/Репутация в Suncity/))
get_mainframe().document.getElementsByName("getquest")[0].click();
top.Chat.Self.AddMessage("Работает взятие задания");
}
if(get_mainframe().document.all[0].innerHTML.match(/Для вас нет заданий в этом подземелье.../))
{ //Для вас нет заданий в этом подземелье...Задания отсюда недоступны///// пока что поставил 1-й вариант, чтобы проверить работоспособность
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/dungeon.pl?" + Math.random();
top.Chat.Self.AddMessage("Работает выход из комнаты");
}
//Возврат в зв1
else if(external.room_name == "Грибница" && top.frames[external.mainFrameIndex].is_accessible)
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?top=" + Math.random();
else if(external.room_name == "Грибная поляна" && top.frames[external.mainFrameIndex].is_accessible)
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o2&rnd=" + Math.random();
else if(external.room_name == "Странное Место" && top.frames[external.mainFrameIndex].is_accessible)
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o1&rnd=" + Math.random();
else if(external.room_name == "Грибная лужайка" && top.frames[external.mainFrameIndex].is_accessible)
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o6&rnd=" + Math.random();
else if(external.room_name == "Центральная грибница" && top.frames[external.mainFrameIndex].is_accessible)
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o0&rnd=" + Math.random();
else if(external.room_name == "Бойцовский Клуб" && top.frames[external.mainFrameIndex].is_accessible)
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o1&rnd" + Math.random();
//external.AddToChat("Взял задание");
}
Никак не могу понять, куда вписать
uspeh=true;
чтобы бот шел обратно. Вставляю сюда
if(!get_mainframe().document.all[0].innerHTML.match(/Задания отсюда недоступны/) && get_mainframe().document.all[0].innerHTML.match(/Репутация в Suncity/))
get_mainframe().document.getElementsByName("getquest")[0].click();
uspeh=true;
top.Chat.Self.AddMessage("Работает взятие задания");
и после этого кнопка "Получить задание" не жмётся. Пробовал тыкать этот uspeh=true; уже куда угодно, но нажатие не пашет(