var phrasesAng = ["Литейщик","Рубака Глубин","Надзиратель Глубин","Служитель Глубин","Служитель Бездны","Для достижения цели придется поучаствовать в захвате \"Бездн","\"Бур\"","обыскать не один труп в \"Бездн","Придется отнять их у монстров в \"Бездн","обшаря каждый квадратный сантиметр \"Бездн","не один темный угол в \"Бездн","Вам придется отправиться в \"Бездн","обыскать множество углов в \"Бездн"];
var phrasesMoon = ["Пустынник Атаман","Пустынник Маньяк","Пустынник Убийца","Дарьяна Корт","Маул Счастливчик","Страж Крантон","Изгнанник Мглы","Древнее Проклятье Глубин","Дух-Хранитель","Заблудшая Душа","Механический Охранник","Механический Голем","Механический Убийца","Механик","Мастер Грит","Страж Сокровищ","Каменный Страж","Глубин\", спустившись в \"Пещера Тысячи\"","\"Зелье Пустынника\"","их у монстров в \"Пещера Тысячи Проклятий","\"Механическая рука\"","\"Сердце голема\"","\"Призрачная пыль\"","\"Запчасти\"","придется поучаствовать в захвате \"Пещера Тысячи","их у монстров в \"Пещера Тысячи","квадратный сантиметр \"Пещера Тысячи","один темный угол в \"Пещера Тысячи","Вам придется отправиться в \"Пещера Тысячи","\"Инструменты\"","\"Череп Путешественников\""];
var phrasesSand = ["Рабочий Мглы","Сторож Мглы","Смотритель Мглы","Рабочий Мглы","Проклятье Глубин\", спустившись в \"Пещеры Мглы","Шахтерский Крюк","Шахтерский огонь","один десяток монстров в \"Пещеры Мглы","поучаствовать в захвате \"Пещеры Мглы","один труп в \"Пещеры Мглы","квадратный сантиметр \"Пещеры Мглы","темный угол в \"Пещеры Мглы","Вам придется отправиться в \"Пещеры Мглы"];
var phrasesDem = ["Слизь","Пожиратель Падали","Зомби","Древний Страж","\"Проклятый","Берсерк","Офицер Глубин","Зубастая Слизь","Хищная Слизь","Чернокнижник","Епископ","Шут Повелителя","Трупожор","Проклятый Пленник","Повелитель","один десяток монстров в \"Катакомбы","неся смерть монстрам из \"Катакомбы","чтобы найти \"Амулет Пустынника"];
var phrasesSun = ["Искрящийся Паразит","Пылающий Паразит","Скользкий Рогоносец","Усохший Палочник","Мясистый Гусениц","Яростная Мокрица","Брат Скорпиончика","Скорпиончик","Трутень","Королева Грибницы","Сторожевая Грибоножка","Грибковая моль","Кольчатый Страхочервь","Жвала","Куски Хитина","Усики Насекомых","Крупицы металла","Мембрана Трутня","Острый коготь","Кусок панциря","о оно вскоре покрывается слизью","Грибная шляпка","Грибная ножка","Глазик","Грибная гусеница","Потерявшийся гусениц","Улитка","Слизняк","Отросток Грибницы","Корешок","Мелкий Хлюп","Семена","Пустая бутыль из под"];
var allQuests = [];
allQuests.push(phrasesAng);
allQuests.push(phrasesMoon);
allQuests.push(phrasesSand);
allQuests.push(phrasesDem);
allQuests.push(phrasesSun);
var proverkaTimer = {};
var zadanieTimer = {};
var currentQuestChecked=false; //показывает, выполнялась ли проверка на задание
var questIsActive = false; //показывает, имеется ли задание
var pathAngels = ""; //имя файла маршрута бездны
var pathDemons = ""; //имя файла маршрута кат
var pathSun = ""; //имя файла маршрута грибов
var pathSand = ""; //имя файла маршрута мглы
var pathMoon = ""; //имя файла маршрута птп
var room ='';
var randomValue;
var min = 360000;
var max = 400000;
function zadanie(enabled)
{
if(enabled)
{
proverkaTimer[mylogin] = setInterval("proverkaHandler()",1000);
}
else
{
if(zadanieTimer[mylogin]) clearInterval(zadanieTimer[mylogin]);
external.SBattleAbovePercent.Text = 100;
clearInterval(proverkaTimer[mylogin]);
}
}
function proverkaHandler()
{
clearInterval(proverkaTimer[mylogin]);
randomValue = Math.floor(Math.random()*(max - min) + min);
proverkaTimer[mylogin] = setInterval("proverkaHandler()", randomValue);
if(top.Battle.bInBattle || top.frames[external.mainFrameIndex].location.toString().match(/dungeon\d+\.pl/i))
{
external.SBattleAbovePercent.Text = 100;
return;
}
external.SBattleAbovePercent.Text = 101;
var tempstr = '';
var temp_inf = doLoad("http://" + external.SCity.Text + ".combats.com/main.pl?skills=1&rand=" + Math.random());
if(external.SCity.Text == "suncity")
tempstr = "Suncity</B> - Рыцарь первого круга, 24999 / 24999";
else if(external.SCity.Text == "sandcity")
tempstr = "Sandcity</B> - Рыцарь первого круга, 10000 / 24999";
else if(external.SCity.Text == "angelscity")
tempstr = "Angels city</B> - Рыцарь первого круга, 10000 / 24999";
else if(external.SCity.Text == "demonscity")
tempstr = "Demons city</B> - Рыцарь первого круга, 24999 / 24999";
else if(external.SCity.Text == "mooncity")
tempstr = "Mooncity</B> - Рыцарь первого круга, 24999 / 24999";
if(zadanieTimer[mylogin]) clearInterval(zadanieTimer[mylogin]);
zadanieTimer[mylogin] = setInterval("zadanieHandler()",3000);
if(temp_inf.indexOf(tempstr) > -1 )
{
external.AddToChat("Задания не требуется");
currentQuestChecked = true;
questIsActive = false;
return;
}
var patt = external.SCity.Text + " - \\d+ (мин|ч.|сек)";
if(CheckForQuestInInv(temp_inf))
{
external.AddToChat("Задание уже есть");
currentQuestChecked = true;
questIsActive = true;
}
else if(!temp_inf.toLowerCase().match(patt))
{
external.AddToChat("Требуется взять задание");
currentQuestChecked = false;
}
else
{
external.AddToChat("Задержка на взятие задания");
currentQuestChecked = true;
questIsActive = false;
}
}
function zadanieHandler()
{
try
{
if(top.Battle.bInBattle || top.frames[external.mainFrameIndex].location.toString().match(/dungeon\d+\.pl/i)) return;
var temp_p = top.frames[external.mainFrameIndex].document.all[0].innerHTML;
if(room = temp_p.match(/<nobr>([^<]+)<\/nobr>/))
room = String(room[1]);
if(questIsActive && currentQuestChecked)
{
if(temp_p.match(/Для вас нет заданий/))
{
questIsActive = false;
external.ClickLink("Вернуться",4);
return;
}
if(top.frames[external.mainFrameIndex].document.getElementsByName("quest_name").length > 0)
external.ClickLink("Вернуться",4);
else if((room == "Спуск в Катакомбы" || room == "Пещера Тысячи проклятий" || room == "Пещеры Мглы" || room == "Грибница" || room == "Спуск в Бездну") && top.frames[external.mainFrameIndex].document.getElementsByName("quest_name").length == 0)
{
var fp = GetPathFileName();
if(fp == "")
{
external.AddToChat("неверный файл");
return;
}
external.DungeonLoadPath(fp);
external.dungeonEnabled = true;
external.SBattleAbovePercent.Text = 100;
}
}
else if(!currentQuestChecked || questIsActive)
{
if(room)
{
if (room == "Центральная грибница" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Грибная лужайка",3);
else if(room == "Грибная лужайка" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Странное Место",3);
else if(room == "Странное Место" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Грибная поляна",3);
else if(room == "Грибная поляна" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Грибница",3);
else if(room == "Бойцовский Клуб" && external.SCity.Text == "suncity" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Центральная грибница",3);
else if(room == "Бойцовский Клуб" && external.SCity.Text == "angelscity" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Центральный утес",3);
else if(room == "Бойцовский Клуб" && external.SCity.Text == "mooncity" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Центр падения",3);
else if(room == "Бойцовский Клуб" && external.SCity.Text == "sandcity" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Центральный Оазис",3);
else if(room == "Бойцовский Клуб" && external.SCity.Text == "demoncity" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Центральный Разлом",3);
else if(room.match(/Зал воинов/i) && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("\'Бойцовский Клуб\'",3);
else if(room == "Центральный утес" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Каменно-цветочная гряда",3);
else if(room == "Каменно-цветочная гряда" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Утес безысходности",3);
else if(room == "Утес безысходности" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Вход в Заповедник",3);
else if(room == "Вход в Заповедник" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Спуск в Бездну",3);
else if(room == "Центральный Оазис" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Цветочный Пустырь",3);
else if(room == "Цветочный Пустырь" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Последний Привал",3);
else if(room == "Последний Привал" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Внутренний двор",3);
else if(room == "Внутренний двор" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Пещеры Мглы",3);
else if(room == "Центр падения" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Спящая площадь",3);
else if(room == "Спящая площадь" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Улица Камней",3);
else if(room == "Улица Камней" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Проклятые Руины",3);
else if(room == "Центральный Разлом" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Разлом Поклонения",3);
else if(room == "Разлом Поклонения" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Дорога Храбрости",3);
else if(room == "Дорога Храбрости" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Спуск в катакомбы",3);
else if(room == "Проклятые Руины" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Пещера Тысячи проклятий",3);
else if(room == "Спуск в катакомбы" && top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/Никогда и никому не говорите пароль от своего персонажа/) && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Спуск в Катакомбы",3);
else if(room == "Пещера Тысячи проклятий" && top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/Никогда и никому не говорите пароль от своего персонажа/) && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Пещера Тысячи проклятий",3);
else if((room == "Спуск в Катакомбы" || room == "Пещера Тысячи проклятий" || room == "Пещеры Мглы" || room == "Грибница" || room == "Спуск в Бездну") && !currentQuestChecked)
external.ClickLink("Задания",4);
}
else if(top.frames[external.mainFrameIndex].document.getElementsByName("quest_name").length > 0 && !currentQuestChecked)
{
while(external.ClickLink("Завершить задание",4))
{
currentQuestChecked = false;
questIsActive = false;
external.AddToChat("Завершаем задание");
return;
}
if(!top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/Репутация в Suncity: 0/))
{
if(external.ClickLink("Получить задание",4))
external.AddToChat("Работает взятие задания");
else
external.AddToChat("Задание уже есть");
currentQuestChecked=true;
questIsActive = true;
}
}
}
else if(!questIsActive && currentQuestChecked)
{
external.dungeonEnabled = false;
if(room == "Спуск в Катакомбы" || room == "Пещера Тысячи проклятий" || room == "Пещеры Мглы" || room == "Грибница" || room == "Спуск в Бездну")
{
switch (external.SCity.Text)
{
case "suncity":
external.ClickLink("Грибная поляна",2)
break
case "sandcity":
external.ClickLink("Внутренний двор",2)
break
case "angelscity":
external.ClickLink("Вход в Заповедник",2)
break
case "demonscity":
external.ClickLink("Спуск в катакомбы",2)
break
case "mooncity":
external.ClickLink("Пещера Тысячи проклятий",2)
break
default:
external.AddToChat("err");
}
}
else if(room == "Грибная поляна" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Странное Место",3);
else if(room == "Спуск в катакомбы" && top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/Никогда и никому не говорите пароль от своего персонажа/) && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Дорога Храбрости",3);
else if(room == "Пещера Тысячи проклятий" && top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/Никогда и никому не говорите пароль от своего персонажа/) && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Проклятые Руины",3);
else if(room == "Дорога Храбрости" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Разлом Поклонения",3);
else if(room == "Разлом Поклонения" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Центральный Разлом",3);
else if(room == "Проклятые Руины" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Улица Камней",3);
else if(room == "Улица Камней" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Спящая площадь",3);
else if(room == "Спящая площадь" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Центр падения",3);
else if(room == "Центр падения" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Бойцовский Клуб",3);
else if(room == "Странное Место" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Грибная лужайка",3);
else if(room == "Грибная лужайка" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Центральная грибница",3);
else if(room == "Центральная грибница" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Бойцовский Клуб",3);
else if(room == "Бойцовский Клуб" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Зал воинов",3);
else if(room == "Вход в Заповедник" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Утес безысходности",3);
else if(room == "Утес безысходности" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Каменно-цветочная гряда",3);
else if(room == "Каменно-цветочная гряда" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Центральный утес",3);
else if(room == "Центральный утес" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Бойцовский Клуб",3);
else if(room == "Внутренний двор" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Последний Привал",3);
else if(room == "Последний Привал" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Цветочный Пустырь",3);
else if(room == "Цветочный Пустырь" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Центральный Оазис",3);
else if(room == "Центральный Оазис" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Бойцовский Клуб",3);
else if(room == "Зал воинов")
external.SBattleAbovePercent.Text = 100;
}
}
catch(err)
{
external.AddToChat("Ошибка!");
}
}
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;
}
function CheckForQuestInInv(inf)
{
var index = -1;
switch (external.SCity.Text)
{
case "suncity":
index = 4;
break
case "sandcity":
index = 2;
break
case "angelscity":
index = 0;
break
case "demonscity":
index = 3;
break
case "mooncity":
index = 1;
break
default:
external.AddToChat("err");
}
for(var i = 0; i < allQuests[index].length; i++)
if(inf.match(allQuests[index][i]))
return true;
return false;
}
function GetPathFileName()
{
if(external.SCity.Text == "suncity")
return pathSun;
else if(external.SCity.Text == "sandcity")
return pathSand;
else if(external.SCity.Text == "angelscity")
return pathAngels;
else if(external.SCity.Text == "demonscity")
return pathDemons;
else if(external.SCity.Text == "mooncity")
return pathMoon;
return "";
}