226

Re: Плагин взятия задания, все города, нужно протестить. От Gorlum

Exile пишет:

Блеааааа...
убейте меня
я запутался в строках своего говнокода(

Я уже давно потерял нить) Мне надо наверное целый день что бы всё понять) Попробую как-то выделить) Спасибо что поддерживаешь и развиваешь этот плагин)

227

Re: Плагин взятия задания, все города, нужно протестить. От Gorlum

LurkeR82 пишет:

Leprekon812
Плагин автопродажи у меня отдельный стоит, поэтому и нужен отдельный плагин взятия задания, тем более хождение в гос мне нужно не каждый раз, а раз в сутки ток.

Одновременная работа двух плагинов, в которых задействованы переходы по локациям, чревата багами.
Но если так уж очень нужно хождение раз в сутки - вечером скину нужный тебе вариант плагина

Оставь надежду всяк сюда входящий ©

228

Re: Плагин взятия задания, все города, нужно протестить. От Gorlum

Exile пишет:
LurkeR82 пишет:

Leprekon812
Плагин автопродажи у меня отдельный стоит, поэтому и нужен отдельный плагин взятия задания, тем более хождение в гос мне нужно не каждый раз, а раз в сутки ток.

Одновременная работа двух плагинов, в которых задействованы переходы по локациям, чревата багами.
Но если так уж очень нужно хождение раз в сутки - вечером скину нужный тебе вариант плагина

Вот именно из-за конфликтов 2-х плагинов я прошу лайт версию....  только проверку/взятие /завершение задания.
Буду очень благодарен, если получится такую состряпать...

Погода так и шепчет! Займи и выпей!

229

Re: Плагин взятия задания, все города, нужно протестить. От Gorlum

zadanieLight, т.е. без режима продажи в гос
(Please log in or register to see this URL)
zadanieLurker, т.е. с походом в гос раз в сутки
(Please log in or register to see this URL)
Второй вариант с режимом похода в гос раз в сутки. ( срабатывает после завершения задания). Вроде правильно сделал.

Отредактировано Exile (2011-08-30 21:57:42)

Оставь надежду всяк сюда входящий ©

230

Re: Плагин взятия задания, все города, нужно протестить. От Gorlum

Скажите, у всех ли корректно работают плагины?
Почему-то у меня когда плагин включен и бот копает,  постоянно выскакивают надписи в чате "Ошибка" или "Задержка на поход в пещеру", если выйти из мещеры, то бот задание не берет и пытается начать хаотичные бои.

Погода так и шепчет! Займи и выпей!

231

Re: Плагин взятия задания, все города, нужно протестить. От Gorlum

LurkeR82 пишет:

Скажите, у всех ли корректно работают плагины?
Почему-то у меня когда плагин включен и бот копает,  постоянно выскакивают надписи в чате "Ошибка" или "Задержка на поход в пещеру", если выйти из мещеры, то бот задание не берет и пытается начать хаотичные бои.

автостарт данжа запущен?

Оставь надежду всяк сюда входящий ©

232

Re: Плагин взятия задания, все города, нужно протестить. От Gorlum

автостарт данжа запущен?

Да конечно запущен, еще там есть строки

if(!dungMode)
                        external.SBattleAbovePercent.Text = 101;

мне кажется это лишнее, потому что иначе бот стоит и восстанавливает хп типа

Погода так и шепчет! Займи и выпей!

233

Re: Плагин взятия задания, все города, нужно протестить. От Gorlum

возможно криво срабатывает включение режима
дома проверю

Оставь надежду всяк сюда входящий ©

234

Re: Плагин взятия задания, все города, нужно протестить. От Gorlum

Exile
Не удалось посмотреть?

Погода так и шепчет! Займи и выпей!

235

Re: Плагин взятия задания, все города, нужно протестить. От Gorlum

LurkeR82 пишет:

Exile
Не удалось посмотреть?

поздно прихожу домой. м.б. сегодня-завтра

Оставь надежду всяк сюда входящий ©

236

Re: Плагин взятия задания, все города, нужно протестить. От Gorlum

дебажить времени не будет
переделаю, чтобы режим работы задавался вручную

Оставь надежду всяк сюда входящий ©

237

Re: Плагин взятия задания, все города, нужно протестить. От Gorlum

Режим dungMode задается вручную.
Убрал вывод мессаг о задании когда чар в подземке

zadanieLurker
(Please log in or register to see this URL)
zadanieLight
(Please log in or register to see this URL)
zadanie
(Please log in or register to see this URL)

Оставь надежду всяк сюда входящий ©

238

Re: Плагин взятия задания, все города, нужно протестить. От Gorlum

скажите, если у меня уже больше нету заданий в даной пещере, то плагин продажи шмота в гос будет работать или нет? ( ну который встроеный в полной версии)

239

Re: Плагин взятия задания, все города, нужно протестить. От Gorlum

drsn пишет:

скажите, если у меня уже больше нету заданий в даной пещере, то плагин продажи шмота в гос будет работать или нет? ( ну который встроеный в полной версии)

Теоретически, должен работать.

Оставь надежду всяк сюда входящий ©

240

Re: Плагин взятия задания, все города, нужно протестить. От Gorlum

Exile

Может плагин, взятия задания тоже подправишь под новые экстерналы. Было бы здорово!

Погода так и шепчет! Займи и выпей!

241

Re: Плагин взятия задания, все города, нужно протестить. От Gorlum

LurkeR82 пишет:

Exile

Может плагин, взятия задания тоже подправишь под новые экстерналы. Было бы здорово!

В процессе.
Пытаюсь вспомнить, как оно работает(

Оставь надежду всяк сюда входящий ©

242

Re: Плагин взятия задания, все города, нужно протестить. От Gorlum

hyppo пишет:

А что значат эти параметры?

var min = 360000;
var max = 400000;

нижняя и верхняя граница таймера.

clearInterval(proverkaTimer[mylogin]);
    randomValue = Math.floor(Math.random()*(max - min) + min);
    proverkaTimer[mylogin] = setInterval("proverkaHandler()", randomValue);
Оставь надежду всяк сюда входящий ©

243

Re: Плагин взятия задания, все города, нужно протестить. От Gorlum

Exile Спасибо. Понял сразу как только написал smile
У меня проблемы с интернетом. Медленное соединение. Пытаюсь настроить плагин чтобы он не мешал и без того длинным таймерам действий бота. Пока получается не очень sad И нет уверенности что это поможет )))

(Please log in or register to see this URL)

244

Re: Плагин взятия задания, все города, нужно протестить. От Gorlum

Привет. А реально сделать чтобы только брал задание и когда задание полНастю выполнена, сдавал его. А также теперь есть свиток чтобы убирать задержку на задание, если реально, его полизывать.

245

Re: Плагин взятия задания, все города, нужно протестить. От Gorlum

дайте плиз кто нибудь рабочий плагин. нужно брать задания и после полного прохода пещеры продавать вещи в гос

246

Re: Плагин взятия задания, все города, нужно протестить. От Gorlum

неужели ни кто не может скинуть рабочий плагин?

247

Re: Плагин взятия задания, все города, нужно протестить. От Gorlum

Скорее всего его нет!!! Или есть но в новой версии о не работает

248

Re: Плагин взятия задания, все города, нужно протестить. От Gorlum

Вот почти рабочий (в санде не работает).
Создай файл с названием zadanye.js и копируй содержимое ниже.

var phrasesAng = ["[(?:&quot;|<b>|\")]*Литейщик","[(?:&quot;|<b>|\")]*(?:Рубак[ауи]|Надзирател[ейьяи]*|Служител[ейьяи]*) [Гг]лубин","[(?:&quot;|<b>|\")]*Служител[ейьяи]* [Бб]ездны","[(?:&quot;|<b>|\")]*Бур","выполняете зачистку [(?:&quot;|<b>|\")]*Бездны","не один труп в [(?:&quot;|<b>|\")]*Бездн","в захвате [(?:&quot;|<b>|\")]*Бездн","[(?:&quot;|<b>|\")]*Тряпье необходимо нашим работницам","монстров в [(?:&quot;|<b>|\")]*Бездн","[(?:&quot;|<b>|\")]*Брага - продукт этой примитивной","их у монстров в [(?:&quot;|<b>|\")]*Бездн","Ну, не знаю, [(?:&quot;|<b>|\")]*Клыки, например","квадратный сантиметр [(?:&quot;|<b>|\")]*Бездн","в [(?:&quot;|<b>|\")]*Бездне, необходимы [(?:&quot;|<b>|\")]*Аутсвайс","Из [(?:&quot;|<b>|\")]*Подгорных Эдельвейсов, растущих исключительно в [(?:&quot;|<b>|\")]*Бездне","один темный угол в [(?:&quot;|<b>|\")]*Бездн","срочно необходим [(?:&quot;|<b>|\")]*Драконий камень","придется отправиться в [(?:&quot;|<b>|\")]*Бездн","всеми красками, нам необходим [(?:&quot;|<b>|\")]*Гранит","Ах, [(?:&quot;|<b>|\")]*Хрусталь - это так прекрасно","множество углов в [(?:&quot;|<b>|\")]*Бездн","Хоть и гадость этот [(?:&quot;|<b>|\")]*[Пп]ещерный [Мм]ох","один десяток монстров в Бездн"];
var phrasesMoon = ["[(?:&quot;|<b>|\")]*Пустынник[ова]* (?:[Аа]таман|[Мм]аньяк|[Уу]бийц)","[(?:&quot;|<b>|\")]*Дарьян[ау] [Кк]орт","[(?:&quot;|<b>|\")]*Маула? [Сс]частливчик","[(?:&quot;|<b>|\")]*Стража? [Кк]рантон","[(?:&quot;|<b>|\")]*Изгнанника? [Мм]глы","[(?:&quot;|<b>|\")]*Древнее [Пп]роклят[иь]е [Гг]лубин","[(?:&quot;|<b>|\")]*Дух[ов]*-Хранител","[(?:&quot;|<b>|\")]*Заблудш[аяихе]* [Дд]уш","[(?:&quot;|<b>|\")]*Механически[хей]* (?:[Оо]хранник|[Гг]олем|[Уу]бийц)","[(?:&quot;|<b>|\")]*Механик","[(?:&quot;|<b>|\")]*Мастера? [Гг]рит","[(?:&quot;|<b>|\")]*Стража? [Сс]окровищ","[(?:&quot;|<b>|\")]*Каменны[йхе] [Сс]траж","квадратный сантиметр [(?:&quot;|<b>|\")]*Пещер[ае] Тысячи Проклятий","один темный угол в [(?:&quot;|<b>|\")]*Пещер[ае] Тысячи Проклятий","придется отправиться в [(?:&quot;|<b>|\")]*Пещер[ае] Тысячи Проклятий","порыскать в [(?:&quot;|<b>|\")]*Пещер[ае] Тысячи Проклятий","Поищите их в [(?:&quot;|<b>|\")]*Пещер[ае] Тысячи Проклятий","обыскать все уголки в [(?:&quot;|<b>|\")]*Пещер[ае] Тысячи Проклятий","[(?:&quot;|<b>|\")]*Инструменты","[(?:&quot;|<b>|\")]*Череп путешественника","не один труп в [(?:&quot;|<b>|\")]*Пещер[ае] Тысячи Проклятий","у монстров в [(?:&quot;|<b>|\")]*Пещер[ае] Тысячи Проклятий"," в захвате [(?:&quot;|<b>|\")]*Пещер[ае] Тысячи Проклятий","смерть монстрам из [(?:&quot;|<b>|\")]*Пещер[ае] Тысячи Проклятий","один десяток монстров в [(?:&quot;|<b>|\")]*Пещер[ае] Тысячи Проклятий","[(?:&quot;|<b>|\")]*Зель[ея] Пустынник","[(?:&quot;|<b>|\")]*Механическ[аяуюие]* [Рр]ук","[(?:&quot;|<b>|\")]*Запчасти","[(?:&quot;|<b>|\")]*Призрачн[аяую]* [Пп]ыл","[(?:&quot;|<b>|\")]*Серд[цае]* [Гг]олем","с множеством монстров в [(?:&quot;|<b>|\")]*Пещер[ае] Тысячи Проклятий","побродить по [(?:&quot;|<b>|\")]*Пещер[ае] Тысячи Проклятий","(?:отыскать|поискать|(?:найти)|(?:должны доставить)|принести) [(?:&quot;|<b>|\")]*(?:(?:Драконий [Кк]амень)|Гранит|(?:Подгорный [Ээ]дейльвейс)|Тряпье|(?:Пещерный [Мм]ох)|Хрусталь(?:Амулет [Пп]устынника))"];
var phrasesSand = ["[(?:&quot;|<b>|\")]*(?:Рабочи[йех]|Сторож[ейа]*|Смотрител[ейь]*) [Мм]глы","[(?:&quot;|<b>|\")]*Шахтерски[хйе] [Кк]рюк|[Оо]г[оньяъ]*","один десяток монстров в [(?:&quot;|<b>|\")]*Пещер[еы] Мглы","в захвате [(?:&quot;|<b>|\")]*Пещер[еы] Мглы","один труп в [(?:&quot;|<b>|\")]*Пещер[еы] Мглы","квадратный сантиметр [(?:&quot;|<b>|\")]*Пещер[еы] Мглы","один темный угол в [(?:&quot;|<b>|\")]*Пещер[еы] Мглы","в захвате [(?:&quot;|<b>|\")]*Пещер[еы] Мглы","отправиться в [(?:&quot;|<b>|\")]*Пещер[ые] Мглы","лежащие глыбы [(?:&quot;|<b>|\")]*[Гг]ранита","богаты [(?:&quot;|<b>|\")]*[Дд]раконьим [Кк]амнем","Из [(?:&quot;|<b>|\")]*[Пп]ещерного [Мм]ха, что растет в [(?:&quot;|<b>|\")]*[Пп]ещерах [Мм]глы","так называемые [(?:&quot;|<b>|\")]*[Пп]одгорные [Ээ]дельвейсы","городу нужен [(?:&quot;|<b>|\")]*[Хх]русталь","оторые они называют [(?:&quot;|<b>|\")]*[Аа]утсвайс","что [(?:&quot;|<b>|\")]*[Кк]лыки [Пп]роклятья [Гг]лубин","наши стражники с [(?:&quot;|<b>|\")]*[Кк]остями","[(?:&quot;|<b>|\")]*Тряпье - совершенно бесполезная вещь"];
var phrasesDem = ["[(?:&quot;|<b>|\")]*Слизь","[(?:&quot;|<b>|\")]*Пожирател[ьейми]* [Пп]адал","[(?:&quot;|<b>|\")]*(?:Окоченелы[ехй]|Каменны[ехй]|Зубасты[ехй]|Голодны[ехй]|Древни[ехй]|Загадочны[ехй]) [Зз]омб","[(?:&quot;|<b>|\")]*Древни[хей] [Сс]траж","[(?:&quot;|<b>|\")]*Прокляты[йех] (?:[Пп]ламенос|[Уу]бийц|[Сс]траж|[Оо]руженос|[Зз]ащитник|[Сс]китал)","[(?:&quot;|<b>|\")]*Берсерк","[(?:&quot;|<b>|\")]*Офицер[аов]* [Гг]лубин","[(?:&quot;|<b>|\")]*(?:Зубаст[ыхуюаяе]*|Хищн[ыхуюаяе]*) [Сс]лиз","[(?:&quot;|<b>|\")]*Чернокнижник","[(?:&quot;|<b>|\")]*Епископ","[(?:&quot;|<b>|\")]*Шута? [Пп]овелителя","[(?:&quot;|<b>|\")]*Трупожор","[(?:&quot;|<b>|\")]*Проклят[ыхей]* [Пп]ленник","[(?:&quot;|<b>|\")]*Повелитель?","дин десяток монстров в [(?:&quot;|<b>|\")]*Катакомб","хорошо поработать, чтобы достать [(?:&quot;|<b>|\")]*[Кк]ости","остараться, чтобы найти [(?:&quot;|<b>|\")]*[Аа]мулет [Пп]устынника","попал в эти места [(?:&quot;|<b>|\")]*[Аа]мулет [Пп]устынника","они гонят [(?:&quot;|<b>|\")]*[Бб]рагу из","от вас - это несколько [(?:&quot;|<b>|\")]*[Кк]остей"];
var phrasesSun = ["[(?:&quot;|<b>|\")]*(?:Искрящи[йехм]ся|Пылающи[ехмй]) [Пп]аразит","[(?:&quot;|<b>|\")]*Скользки[йхем] [Рр]огонос","[(?:&quot;|<b>|\")]*Усохши[хийм] [Пп]алочник","[(?:&quot;|<b>|\")]*Мясисты[хйым] [Гг]усениц","[(?:&quot;|<b>|\")]*Яростн[аяыхме]* [Мм]окриц","[(?:&quot;|<b>|\")]*Брата? Скорпиончика","[(?:&quot;|<b>|\")]*Скорпиончик","[(?:&quot;|<b>|\")]*Трут[еньйя]*","[(?:&quot;|<b>|\")]*Королев[еау] [Гг]рибницы","[(?:&quot;|<b>|\")]*Сторожев[уюая]* [Гг]рибоножк[уа]","[(?:&quot;|<b>|\")]*Грибков[уюая]* [Мм]оль","[(?:&quot;|<b>|\")]*Кольчат[ыйхе]* [Сс]трахочерв[ьией]*","[(?:&quot;|<b>|\")]*Жвала","[(?:&quot;|<b>|\")]*Куск[иов]* [Хх]итина","[(?:&quot;|<b>|\")]*Усик[ови]* [Нн]асекомых","[(?:&quot;|<b>|\")]*Крупицы? [Мм]еталла","[(?:&quot;|<b>|\")]*Мембрана? [Тт]рутня","[(?:&quot;|<b>|\")]*Остры[йех]* [Кк]ог[тейяьо]*","[(?:&quot;|<b>|\")]*Кус[коваи]* [Пп]анциря","оно вскоре покрывается [(?:&quot;|<b>|\")]*слизью","[(?:&quot;|<b>|\")]*Грибн[уюаяых]* (?:[Шш]ляпк|[Нн]ожк|[Гг]усениц)","[(?:&quot;|<b>|\")]*Глазик","[(?:&quot;|<b>|\")]*Потерявши[хйе]ся [Гг]усениц","[(?:&quot;|<b>|\")]*Улит[аоки]*","[(?:&quot;|<b>|\")]*Слизняк","[(?:&quot;|<b>|\")]*Отрост[кови]* [Гг]рибницы","[(?:&quot;|<b>|\")]*Кореш[окви]*","[(?:&quot;|<b>|\")]*Мелки[хе] [Хх]люп","[(?:&quot;|<b>|\")]*Сем[яена]*","[(?:&quot;|<b>|\")]*[Пп]уст[ыхуюе]* бутыл[ейьи]* из под"];
var allQuests = [];
allQuests.push(phrasesAng);
allQuests.push(phrasesMoon);
allQuests.push(phrasesSand);
allQuests.push(phrasesDem);
allQuests.push(phrasesSun);
var proverkaTimer = {};
var roomNameUpdTimer = {};
var zadanieTimer = {};
var sellTimer = {};
var questIsActive = false;
var needToFinish = false;
var pathAngels = "Все маршруты"; //имя файла маршрута бездны
var pathDemons = "Все маршруты"; //имя файла маршрута кат
var pathSun = "Все маршруты"; //имя файла маршрута грибов
var pathSand = "Все маршруты"; //имя файла маршрута мглы
var pathMoon = "Все маршруты"; //имя файла маршрута птп
var enableSellInShop = true; // режим продажи пуршмота в гос
var dungMode = true; //режим подземки
var currentRoom ='';
var randomValue;
var min = 360000;
var max = 400000;
var questName = "";
var questID = "";
var needToDo = -1;
var hasBeenDone = -1;
var needToFinish = false;
var needToTake = false;
var dungeonLocked = false;
var beenInShop = true;
var itemsToSell = [];
itemsToSell.push("item");
itemsToSell.push("Кольцо старого безумца");
itemsToSell.push("Ожерелье жестокого разбойника");
itemsToSell.push("Порченный ремень свирепого варвара");
itemsToSell.push("Затасканное кольцо жестокого старца");
itemsToSell.push("Потертый пояс неумолимого садиста");
itemsToSell.push("Пояс зоркого путешественника");
itemsToSell.push("Ботинки странного грабителя");
itemsToSell.push("Перстень забытого безумца");
itemsToSell.push("Истертые ботинки уставшего старца");
itemsToSell.push("Ветхое острие бессердечного лазутчика");
itemsToSell.push("Жилет старого предка");
itemsToSell.push("Истертый пояс властного путешественника");
itemsToSell.push("Старинная броня высокомерного странника");
itemsToSell.push("Секира мрачного гладиатора");
itemsToSell.push("Подержанные ботинки беспощадного демона");
itemsToSell.push("Истертое ожерелье опытного аристократа");
itemsToSell.push("Устаревший покров бессмертного предка");
itemsToSell.push("Подержанный амулет загубленного предателя");
itemsToSell.push("Грубые сапоги старого клятвоотступника");
itemsToSell.push("Ветхое жало странного бойца");
itemsToSell.push("Старинная кираса властного отшельника");
itemsToSell.push("Наручи старого предка");
itemsToSell.push("Грубые ботинки вечного снайпера");
itemsToSell.push("Перчатки вечного лесничего");
itemsToSell.push("Наколенники странного проходимца");
itemsToSell.push("Перчатки мифического лесничего");
itemsToSell.push("Порченный меч бывалого вождя");
itemsToSell.push("Бесполезный пояс мудрого проходимца");
itemsToSell.push("Топор безрассудного отшельника");
itemsToSell.push("Истертые сапоги странного духа");
itemsToSell.push("Грубый доспех мифического разбойника");
itemsToSell.push("Кольцо благородного проходимца");
itemsToSell.push("Баллиста алчного клятвоотступника");
itemsToSell.push("Кольцо стойкого легионера");
itemsToSell.push("Серьги неистового вождя");
itemsToSell.push("Неряшливые серьги известного героя");
itemsToSell.push("Ископаемый арбалет доблестного призрака");
itemsToSell.push("Грубые наручи злопамятного искателя");
itemsToSell.push("Грубые перчатки бодрого отшельника");
itemsToSell.push("Выбрать Кольцо стойкого легионера");
itemsToSell.push("Молот лютого военачальника");
itemsToSell.push("Неряшливый кулон бессмертного охотника");
itemsToSell.push("Устаревший лук мрачного мертвеца");
itemsToSell.push("Перстень неистового обитателя подземелий");
itemsToSell.push("Грубые наручи злопамятного искателя");
itemsToSell.push("Старинные наручи властного предка");
itemsToSell.push("Перстень злопамятного зверолова");
itemsToSell.push("Затасканные перчатки безвольного изувера");
itemsToSell.push("Разваливающиеся серьги вечного палача");
itemsToSell.push("Перчатки мертвого следопыта");
itemsToSell.push("Ветхое кольцо вечного разбойника");
itemsToSell.push("Наручи неистового героя");
itemsToSell.push("Наручи прославленного головореза");
itemsToSell.push("Старинная броня высокомерного странника");
itemsToSell.push("Ветхие латы непобедимого путешественника");
itemsToSell.push("Бесполезное ожерелье забытого духа");
itemsToSell.push("Перчатки странного гладиатора");
itemsToSell.push("Серьги странного клятвоотступника");
itemsToSell.push("Перчатки ловкого предателя");
itemsToSell.push("Порченные наручи бесчестного клятвоотступника");
itemsToSell.push("Потертые сапоги загубленного следопыта");
itemsToSell.push("Потертые наручи безвольного варвара");
itemsToSell.push("item");
itemsToSell.push("Неряшливый лук мудрого стрелка");
itemsToSell.push("Бесполезное жало бессмертного варвара");
itemsToSell.push("Потертый меч беспощадного изверга");
itemsToSell.push("Наручи безвольного духа");
itemsToSell.push("Секира кровожадного солдата");
itemsToSell.push("Булава известного безумца");
itemsToSell.push("Безобразный шлем бесчестного воителя");
itemsToSell.push("Острие кровожадного воителя");
itemsToSell.push("Разваливающийся меч кровожадного грабителя");
itemsToSell.push("Грубые наколенники опытного варвара");
itemsToSell.push("Шапка опытного предка");
itemsToSell.push("Ветхие штаны чуткого странника");
itemsToSell.push("Затасканные рукавицы бывалого клятвоотступника");
itemsToSell.push("Ветхие наручи умелого пилигрима");
itemsToSell.push("Устаревший топор непобедимого аристократа");
itemsToSell.push("Порченный меч лютого героя");
itemsToSell.push("Острие кровожадного воителя");
itemsToSell.push("Ветхое кольцо высокомерного бойца");
itemsToSell.push("Разваливающиеся перчатки странного разбойника");
itemsToSell.push("Серьги важного охотника");
itemsToSell.push("Серьги опытного акробата");
itemsToSell.push("Потрепанное кольцо благородного солдата");
itemsToSell.push("Безобразное кольцо лютого воителя");
itemsToSell.push("Бесполезное кольцо щедрого убийцы");
itemsToSell.push("Рукавицы безвольного клятвоотступника");
itemsToSell.push("Старые ботинки Охранницы");
itemsToSell.push("Штатный шлем Охранницы");
itemsToSell.push("Серьги Охранницы");
itemsToSell.push("Гнилая роба Служителей");
itemsToSell.push("Вспомогательный топорик Охранницы");
itemsToSell.push("Наручи Служителя");
itemsToSell.push("Магический шлем Служителя");
itemsToSell.push("Вонючие ботинки Охранницы");
itemsToSell.push("Штатная броня охранницы");
itemsToSell.push("Ржавый меч Охранницы");
itemsToSell.push("Разваливающийся пояс Охранницы");
itemsToSell.push("Рваные одеяния Охранницы");
itemsToSell.push("Тусклое кольцо Охранницы");
itemsToSell.push("Затхлое одеяние Служителей");
itemsToSell.push("Прогнившие наручи Служителя");
itemsToSell.push("Гнилая роба Служителей");
itemsToSell.push("Поножи Служителя");
itemsToSell.push("Боевые перчатки Охранницы");
itemsToSell.push("Легкие сапоги Охранницы");
itemsToSell.push("Могучие серьги Служителя");
itemsToSell.push("Тапочки Служителя");
itemsToSell.push("Амулет Служителя");
itemsToSell.push("Старые перчатки Охранниц");
itemsToSell.push("Старый нож Охранницы");
itemsToSell.push("Ржавое кольцо Служителя");
itemsToSell.push("Дрянные серьги Охранницы");
itemsToSell.push("Надежный посох Служителя");
itemsToSell.push("Штатные поножи Охранницы");
itemsToSell.push("Амулет Охранницы");
itemsToSell.push("Старые браслеты Охранницы");
itemsToSell.push("Кольцо Охранниц");
itemsToSell.push("Старая шапка опытного духа");
itemsToSell.push("Подержанные наручи известного призрака");
itemsToSell.push("Штаны властного скитальца");
itemsToSell.push("Испорченные серьги Служителя");
itemsToSell.push("Нож Охранницы");
itemsToSell.push("Шлем Служителя");
itemsToSell.push("Удобные наручи Служителя");
itemsToSell.push("Надежный амулет Служителя");
itemsToSell.push("Кольцо Служителя");
itemsToSell.push("Гнилая дубина Охранниц");
itemsToSell.push("Жалкий шлем Охранницы");
itemsToSell.push("Изящные перчатки Служителей");
itemsToSell.push("Усиленные наручи Охранницы");
itemsToSell.push("Ржавый топорик Охранницы");
itemsToSell.push("Тяжелый посох Служителя");
itemsToSell.push("Неудобный шлем Служителя");
itemsToSell.push("Кривой посох Служителя");
itemsToSell.push("Непробиваемая туника Охранницы");
itemsToSell.push("Дырявые поножи Охранницы");
itemsToSell.push("Сношенные сандали Служителя");
itemsToSell.push("Гнилые поножи Служителей");
itemsToSell.push("Ветхий шлем Служителя");
itemsToSell.push("Старый амулет Служителя");
itemsToSell.push("Мантия Служителя");
itemsToSell.push("Перчатки Служителей");
itemsToSell.push("Боевой топорик Охранницы");
itemsToSell.push("Удобные ботинки Служителя");
itemsToSell.push("Наручи Охранницы");
itemsToSell.push("Боевой шлем Охранницы");
itemsToSell.push("Порванные ботинки Служителя");
itemsToSell.push("Посох Служителя");
itemsToSell.push("Крепкий посох Служителя");
itemsToSell.push("Гнилые перчатки Служителей");
itemsToSell.push("Разломанные браслеты Охранницы");
itemsToSell.push("Обычное одеяние Служителя");
itemsToSell.push("Крепкая роба Служителя");
itemsToSell.push("Приличный пояс Охранницы");
itemsToSell.push("Браслеты охранницы");
itemsToSell.push("Туника Охранницы");
itemsToSell.push("Утяжеленные наручи Охранницы");
itemsToSell.push("Сандали успешных Служителей");
itemsToSell.push("Острый меч Охранницы");
itemsToSell.push("Рваная туника Охранницы");
itemsToSell.push("Неплохой шлем Охранницы");
itemsToSell.push("Надежный шлем Охранницы");
itemsToSell.push("Дрянной амулет Охранницы");
itemsToSell.push("Прекрасный амулет Охранницы");
itemsToSell.push("Порванный пояс Служителя");
itemsToSell.push("Штатный меч Охранницы");
itemsToSell.push("Ветхие наручи Служителя");
itemsToSell.push("Блестящее кольцо Охранницы");
itemsToSell.push("Мощная броня Охранницы");
itemsToSell.push("Отличные наручи Служителя");
itemsToSell.push("Удивительный шлем Служителя");
itemsToSell.push("Ремень Служителей");
itemsToSell.push("Отличные поножи Служителей");
itemsToSell.push("Ритуальные поножи Охранницы");
itemsToSell.push("Укрепленная дубинка Охранницы");
itemsToSell.push("Пояс Охранницы");
itemsToSell.push("Серьги Служителя");
itemsToSell.push("Хороший шлем Служителя");
itemsToSell.push("Парадные серьги Охранницы");
itemsToSell.push("Сандали Служителя");
itemsToSell.push("Дубинка Охранницы");
itemsToSell.push("Отличный пояс Служителя");
itemsToSell.push("Облегченные ботинки Охранницы");
itemsToSell.push("Блестящий перстень Служителей");
itemsToSell.push("Хорошая мантия Служителя");
itemsToSell.push("Штатные сандали Охранницы");
itemsToSell.push("Треснувший шлем Охранницы");
itemsToSell.push("Утяжеленные сапоги Охранницы");
itemsToSell.push("Крепкие наручи Служителей");
//7 бездна
itemsToSell.push("Каска мудрого злодея");
itemsToSell.push("Перчатки бывалого гладиатора");
itemsToSell.push("Старый капюшон высокомерного стрелка");
itemsToSell.push("Дубина забытого духа");
itemsToSell.push("Порченный меч лютого героя");
itemsToSell.push("Серьги яростного гладиатора");
itemsToSell.push("Наколенники лютого разведчика");
itemsToSell.push("Затасканная секира мертвого аристократа");
itemsToSell.push("Серьги алчного путешественника");
itemsToSell.push("Кинжал опытного путешественника");
itemsToSell.push("Шапка уставшего путешественника");
itemsToSell.push("Серьги аккуратного безумца");
itemsToSell.push("Перчатки забывчивого обитателя подземелий");
itemsToSell.push("Безобразные брюки забытого предателя");
//8 бездна
itemsToSell.push("Грубые наколенники опытного варвара");
itemsToSell.push("Устаревший топор непобедимого аристократа");
itemsToSell.push("Булава известного безумца");
itemsToSell.push("Разваливающиеся перчатки странного разбойника");
itemsToSell.push("Грубые серьги алчного старца");
itemsToSell.push("Безобразный шлем бесчестного воителя");
itemsToSell.push("Шапка опытного предка");
itemsToSell.push("Разваливающийся меч кровожадного грабителя");
itemsToSell.push("Ветхие штаны чуткого странника");
itemsToSell.push("Острие кровожадного воителя");
itemsToSell.push("Старая шапка алчного мага");
itemsToSell.push("Серьги мудрого обитателя подземелий");
itemsToSell.push("Затасканные перчатки мифического старца");
itemsToSell.push("Ископаемые штаны алчного предсказателя");
//9 бездна
itemsToSell.push("Потертые штаны вечного стража");
itemsToSell.push("Молот бессмертного предка");
itemsToSell.push("Меч мифического отшельника");
itemsToSell.push("Потрепанные серьги алчного предка");
itemsToSell.push("Разваливающиеся поножи жестокого варвара");
itemsToSell.push("Острие властного военачальника");
itemsToSell.push("Топор жестокого разбойника");
itemsToSell.push("Потрепанные перчатки бдительного стрелка");
itemsToSell.push("Рукавицы мертвого путешественника");
itemsToSell.push("Разваливающийся шлем бессмертного героя");
itemsToSell.push("Капюшон мудрого старца");
itemsToSell.push("Неряшливые серьги аккуратного мудреца");
itemsToSell.push("Старые перчатки забывчивого старца");
itemsToSell.push("Потрепанные кальсоны известного пророка");
//8 каты
itemsToSell.push("Старое кольцо алчного проходимца");
itemsToSell.push("Старинные перчатки педантичного призрака");
itemsToSell.push("Наручи безвольного духа");
itemsToSell.push("Затасканные рукавицы бывалого клятвоотступника");
itemsToSell.push("Неряшливый лук мудрого стрелка");
itemsToSell.push("Серьги амбициозного мистика");
itemsToSell.push("Ветхие наручи умелого пилигрима");
itemsToSell.push("Серьги важного охотника");
itemsToSell.push("Серьги опытного акробата");
itemsToSell.push("Бесполезное кольцо щедрого убийцы");
itemsToSell.push("Неряшливый лук мудрого стрелка");
//9 каты
itemsToSell.push("Перчатки странного гладиатора");
itemsToSell.push("Баллиста алчного клятвоотступника");
itemsToSell.push("Неряшливые серьги известного героя");
itemsToSell.push("Ископаемые серьги щепетильного старца")
//11 каты
itemsToSell.push("Ископаемый арбалет доблестного призрака");
itemsToSell.push("Разваливающиеся серьги вечного палача");
itemsToSell.push("Серьги странного клятвоотступника");
itemsToSell.push("Серьги хитроумного обитателя подземелий");
//7-9 Пещера мглы
itemsToSell.push("Перстень лютого воина");
itemsToSell.push("Безобразное кольцо лютого воителя");
itemsToSell.push("Грубый доспех мифического разбойника");
itemsToSell.push("Безобразный клинок мудрого солдата");
itemsToSell.push("Кинжал дерзкого клятвоотступника");
itemsToSell.push("Грубые сапоги старого клятвоотступника");
itemsToSell.push("Безобразные сапоги неукротимого предателя");
itemsToSell.push("Балахон высокомерного духа");
itemsToSell.push("Секира мрачного гладиатора");
itemsToSell.push("Секира кровожадного солдата");
itemsToSell.push("Башмаки неумолимого предка");
itemsToSell.push("Сапоги высокомерного предка");
itemsToSell.push("Перстень забытого безумца");
itemsToSell.push("Перстень бессмертного странника");
itemsToSell.push("Перстень амбициозного пророка");
itemsToSell.push("Бесполезный пояс мудрого проходимца");
itemsToSell.push("Ремень высокомерного старца");
itemsToSell.push("Бесполезный амулет зоркого демона");
itemsToSell.push("Разваливающийся пояс щепетильного предателя");
itemsToSell.push("Ожерелье опытного старца");
itemsToSell.push("Старинная броня высокомерного странника");
itemsToSell.push("Ожерелье жестокого разбойника");
itemsToSell.push("Бесполезные ботинки странного путешественника");
itemsToSell.push("Истертый пояс властного путешественника");
itemsToSell.push("Старинная кираса властного отшельника");
itemsToSell.push("Пояс умелого обитателя подземелий");
itemsToSell.push("Пояс мертвого пророка");
itemsToSell.push("Пояс забывчивого аристократа");
itemsToSell.push("Истертый покров бессмертного странника");
itemsToSell.push("Неряшливый кулон бессмертного охотника");
itemsToSell.push("Истертый доспех неусыпного духа");
itemsToSell.push("Потрепанные ботинки амбициозного мага");
itemsToSell.push("Потертый меч беспощадного изверга");
itemsToSell.push("Грубая булава опытного гиганта");
itemsToSell.push("Истертые ботинки уставшего старца");
itemsToSell.push("Истертое ожерелье опытного аристократа");
itemsToSell.push("Ископаемый кулон алчного клятвоотступника");
itemsToSell.push("Ветхое кольцо высокомерного бойца");
itemsToSell.push("Бесполезное ожерелье яростного варвара");
itemsToSell.push("Посох щепетильного путешественника");
itemsToSell.push("Порченный ремень свирепого варвара");
itemsToSell.push("Ветхое жало странного бойца");
itemsToSell.push("Порченный меч бывалого вождя");
itemsToSell.push("Топор безрассудного отшельника");
itemsToSell.push("Ветхий посох педантичного пророка");
itemsToSell.push("Старинный посох странствующего путешественника");
itemsToSell.push("Амулет опытного путешественника");
itemsToSell.push("Старинный пояс непобедимого гиганта");
itemsToSell.push("Покров неумолимого путешественника");
itemsToSell.push("Покров ворчливого неофита");
itemsToSell.push("Бесполезное жало бессмертного варвара");
itemsToSell.push("Затасканное кольцо жестокого старца");
itemsToSell.push("Молот странного вождя");
itemsToSell.push("Молот лютого военачальника");
itemsToSell.push("Подержанные ботинки беспощадного демона");
itemsToSell.push("Жилет старого предка");
itemsToSell.push("Безобразные башмаки высокомерного духа");
itemsToSell.push("Кольцо странного обитателя подземелий");
itemsToSell.push("Старое кольцо известного демона");
itemsToSell.push("Кольцо старого безумца");
 
itemsToSell.push("Пустая бутыль");
 
function zadanie(enabled)
{
    if(enabled)
    {
        roomNameUpdTimer[mylogin] = setInterval("GetRoomName()", 500);
        if(enableSellInShop) sellTimer[mylogin] = setInterval("SellAction()", 1500);
        if(dungMode && !external.dungeonEnabled) external.dungeonEnabled = true;
        proverkaTimer[mylogin] = setInterval("proverkaHandler()",2000);       
    }
    else
    {
        if(zadanieTimer[mylogin]) clearInterval(zadanieTimer[mylogin]);
        external.SBattleAbovePercent.Text = 100;
        if(sellTimer[mylogin]) clearInterval(sellTimer[mylogin]);
        clearInterval(proverkaTimer[mylogin]);
        clearInterval(roomNameUpdTimer[mylogin]);       
    }
}
 
Array.prototype.inArray = function(item)
{
    for (var i in this)
        if (item.indexOf(this[i]) > -1)
            return true;
    return false;
}
 
function GetRoomName()
{
    try
    {
        if(top.Battle.bInBattle || !external.Started()) return;
        if(top.frames[external.mainFrameIndex].location.toString().match(/dungeon\d+\.pl/i))
        {
            external.SBattleAbovePercent.Text = 100;
            return;
        }
        var pageSource = top.frames[external.mainFrameIndex].document.all[0].innerHTML;
 
        if(currentRoom = pageSource.match(/<nobr>([^<]+)<\/nobr>/))currentRoom = String(currentRoom[1]);
        else if(top.frames[external.mainFrameIndex].document.getElementsByName("quest_name").length > 0) currentRoom = "inQuestWindow";
        else currentRoom = "inDialog";
        if(currentRoom == "inDialog") external.ClickLink("Вернуться",4);
    }
    catch(err)
    {
        external.AddToChat("Error in GetRoomName function");
    }
}
 
function proverkaHandler()
{
    try
    {
        clearInterval(proverkaTimer[mylogin]);
        randomValue = Math.floor(Math.random()*(max - min) + min);
        proverkaTimer[mylogin] = setInterval("proverkaHandler()", randomValue);
 
        if(top.Battle.bInBattle || !external.Started())
        {
            external.SBattleAbovePercent.Text = 100;
            return;
        }
 
        if(top.frames[external.mainFrameIndex].location.toString().match(/dungeon\d+\.pl/i)) external.SBattleAbovePercent.Text = 100;       
        else 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]) zadanieTimer[mylogin] = setInterval("zadanieHandler()",3000);       
 
        if(temp_inf.match(tempstr))
        {
            external.AddToChat("Задания не требуется");
            questIsActive = false;
            needToTake = false;
            return;
        }
 
        var patt = external.SCity.Text + " - \\d+ (мин|ч|сек)";
 
        if(temp_inf.match(/Время до подземелья/)) dungeonLocked = true;
        else dungeonLocked = false;           
 
        if(GetQuestFromInfo(temp_inf))
        {
            external.AddToChat("Задание:");
            top.Chat.Self.AddMessage(questName + " " + hasBeenDone + "/" + needToDo);
            questIsActive = true;
            needToTake = false;
            var pickingQuest = isPickingQuest();
            if((!pickingQuest && hasBeenDone == needToDo) || (pickingQuest && (hasBeenDone == (Math.floor(needToDo/4) + needToDo)))) needToFinish = true;
            if(needToFinish) external.AddToChat("Нужно завершить задание");
        }       
        else
        {
            if(!temp_inf.toLowerCase().match(patt))
            {
                external.AddToChat("Требуется взять задание");
                needToTake = true;
                questIsActive = false;
            }
            else
            {
                external.AddToChat("Задержка на взятие задания");
                needToTake = false;
                questIsActive = false;
            }
        }
    }
    catch(err)
    {
        external.SBattleAbovePercent.Text = 100;
        external.AddToChat("Error in proverkaHandler function");
    }
}
 
function zadanieHandler()
{
    try
    {
        if(top.Battle.bInBattle || top.frames[external.mainFrameIndex].location.toString().match(/dungeon\d+\.pl/i) || !external.Started()) return;
 
        if(enableSellInShop && !beenInShop) return;
 
        var pgSource = top.frames[external.mainFrameIndex].document.all[0].innerHTML;
 
        if(dungMode || (!dungMode && !dungeonLocked && (needToTake || questIsActive)))
        {
            if(!currentRoom.match(/Спуск в Катакомбы|inQuestWindow|Пещеры Мглы|Пещера Тысячи проклятий|Грибница|Спуск в Бездну/) || (currentRoom.match(/Пещера Тысячи проклятий/) && pgSource.match(/Никогда и никому не говорите пароль от своего персонажа/)))
            {
                MoveToDung();
                return;
            }           
        }
 
        if(!questIsActive && !needToTake && !dungMode)
        {
            if(currentRoom == "inQuestWindow") external.ClickLink("Вернуться",4);
            if(external.dungeonEnabled) external.dungeonEnabled = false;
            if(!currentRoom.match(/Зал воинов/))
                MoveFromDung();
            else
                external.SBattleAbovePercent.Text = 100;
            return;
        }
 
        if(needToTake || needToFinish)
        {
            if(currentRoom != "inQuestWindow") external.ClickLink("Задания",4);
            else
            {
                if(pgSource.match(/Для вас нет заданий/))
                {
                    needToTake  = false;
                    questIsActive = false;
                    needToFinish = false;
                    return;
                }
                var gotRep = pgSource.match(/Вы получили \d* награды за выполнение задания/);
                if(gotRep) external.AddToChat(gotRep);
 
                var btns = top.frames[external.mainFrameIndex].document.getElementsByName("finishquest");
                if(questID != "" && needToFinish && btns)
                {           
                    for(var i = 0; i < btns.length; i++)
                        if(btns[i].onclick && String(btns[i].onclick).match(questID) && btns[i].style.visibility != "hidden")
                        {
                            needToTake  = true;
                            questIsActive = false;
                            needToFinish = false;
                            questName = "";
                            questID = "";
                            needToDo = -1;
                            hasBeenDone = -1;
                            btns[i].click();
                            return;
                        }
                    external.AddToChat("Не нашел кнопки завершения задания");   
                }           
 
                if(external.SCity.Text == "suncity" && pgSource.match(/Репутация в Suncity: 0/))
                {
                    needToTake  = false;
                    questIsActive = false;
                    return;
                }
 
                needToTake  = false;
                questIsActive = true;
                if(external.ClickLink("Получить задание",4)) external.AddToChat("Работает взятие задания");
                else external.AddToChat("Задание уже есть");               
            }
        }
        else if(questIsActive || !needToTake)
        {
            if(currentRoom == "inQuestWindow" && pgSource.match(/Для вас нет заданий/))
            {
                questIsActive = false;
                needToTake = false;
                external.ClickLink("Вернуться",4);
                return;
            }
 
            if(currentRoom == "inQuestWindow") external.ClickLink("Вернуться",4);
 
            if(currentRoom != "inQuestWindow" && currentRoom.match(/Спуск в Катакомбы|Пещера Тысячи проклятий|Пещеры Мглы|Грибница|Спуск в Бездну/))
            {
                var fp = GetPathFileName();
                if(fp == "")
                {
                    questIsActive = false;
                    needToTake = false;
                    external.AddToChat("Файл маршрута не найден");
                    return;
                }
 
                if(!dungMode)
                {
                    external.DungeonLoadPath(fp);
                    external.dungeonEnabled = true;
                    external.SBattleAbovePercent.Text = 100;
                }               
            }
        }
    }
    catch(err)
    {
        external.AddToChat("Error in zadanieHandler function");
    }
}
 
function SellAction()
{
    try
    {
        if(!external.Started() || top.Battle.bInBattle) return;
        if(get_mainframe().DungMap)
        {
            beenInShop = false;
            return;
        }       
        if(beenInShop) return;   
 
        var sellTmp = top.frames[external.mainFrameIndex].document.all[0].innerHTML;
        if(currentRoom != "Магазин" || sellTmp.indexOf("dem_newbot_magaz") > -1) MoveFromDung();
        else
        {
            if(!sellTmp.match(/Отдел \"Скупка\"/i)) external.ClickLink("Продать вещи",4);
            else
            {
                var items = sellTmp.match(/<a\s(?:onclick="[^"]*"\s)?href="shop\.pl\?sl=[^"]*">продать за .*? кр.<\/a><\/td>[\s\n\r]*<td[^>]*><a [^>]*>[^&<]*/ig);
                if(!items)
                {
                    beenInShop = true;
                    return;
                }
                for(var i = 0; i < items.length; i++)
                {
                    items[i] = items[i].match(/<a\s(?:onclick="[^"]*"\s)?href="(shop\.pl\?sl=[^"]*)">продать за .*? кр.<\/a><\/td>[\s\n\r]*<td[^>]*><a [^>]*>([^&<]*)/i);
                    if(!items[i]) continue;
                    items[i][1] = items[i][1].replace(/&amp;/g, '&');
                    if(!items[i][1]) continue;
                    if(itemsToSell.inArray(items[i][2]))
                    {
                        top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/" + items[i][1];
                        return;
                    }
                }
                beenInShop = true;
            }
        }
    }
    catch(err)
    {
        external.AddToChat("Error in SellAction function");
    }
}
 
function GetQuestFromInfo(inf)
{
    try
    {
        var flds = inf.match(/<fieldset>[^<]*<legend>\s?Текущие (?:квесты|задания)[^@]*<\/fieldset>/i);
        if(!flds) return false;
        flds = flds[0].match(/<img[^>]*>[^@]*<span [^>]*>\d*\/\d*<\/span>/ig);
        if(!flds) return false;
         for(var i = 0; i < flds.length; i++)
        {
            var tmp = flds[i].match(/<img[^@]*quest_name=([^(?:&|")]*)[^>]*>([^@]*)<span[^>]*>([^<]*)<\/span>/i);
            if(!tmp) return false;
            if(CheckForQuestInInv(tmp[2]))
            {           
                questID = tmp[1];                                                         // 1 == идентификатор квеста
                questName = tmp[2];                                                     // 2 == текст квеста
                hasBeenDone = parseInt(tmp[3].match(/[^\d]*(\d*)[^\/]*/)[1].toString());// 3 == сделано
                needToDo = parseInt(tmp[3].match(/[^\/]*\/(\d*)/)[1].toString());         // 4 == надо сделать                   
                return true;   
            }
        }
        return false;
    }
    catch(err)
    {
        external.AddToChat("Error in GetQuestFromInfo function");
    }
}
 
function CheckForQuestInInv(inf)
{
    try
    {
        var indexArray = -1;
        if(external.SCity.Text == "suncity") indexArray = 4;
        else if(external.SCity.Text == "sandcity") indexArray = 2;
        else if(external.SCity.Text == "angelscity") indexArray = 0;
        else if(external.SCity.Text == "demonscity") indexArray = 3;
        else if(external.SCity.Text == "mooncity") indexArray = 1;
        if(indexArray == -1) return false;
 
        for(var i = 0; i < allQuests[indexArray].length; i++)
            if(inf.match(allQuests[indexArray][i]))
                return true;
        return false;
    }
    catch(err)
    {
        external.AddToChat("Error in CheckForQuestInInv function");
    }
}
 
function isPickingQuest()
{
    try
    {
        if(external.SCity.Text == "suncity" && questName.match(/[(?:&quot;|<b>|\")]*(?:Грибн[аяыеух]* (?:[Шш]ляп[као]*|[Нн]ож[каеи]*))|[(?:&quot;|<b>|\")]*Глазик|[(?:&quot;|<b>|\")]*(?:Грибн[аяыеух]* [Гг]усениц)|[(?:&quot;|<b>|\")]*(?:Потерявш[ихсяйме]* [Гг]усениц)|[(?:&quot;|<b>|\")]*Улит[окаи]*|[(?:&quot;|<b>|\")]*Слизняк|[(?:&quot;|<b>|\")]*Кореш[окив]*|[(?:&quot;|<b>|\")]*(?:Отрост[кови]* [Гг]рибницы)|[(?:&quot;|<b>|\")]*Сем[еная]*|[(?:&quot;|<b>|\")]*(?:Мелки[ехйм]* [Хх]люп)|[(?:&quot;|<b>|\")]*(?:Пуст[аяуюие]* бутыл)/))
                return true;
        else if(external.SCity.Text.match(/sandcity|angelscity/) && questName.match(/[(?:&quot;|<b>|\")]*Хрустал[яь]|[(?:&quot;|<b>|\")]*(?:Дракон[ьегоий]* [Кк]ам[еньяй]*)|[(?:&quot;|<b>|\")]*Гранит|[(?:&quot;|<b>|\")]*(?:Пещерн[ыйого]* [Мм][оха]*)|[(?:&quot;|<b>|\")]*(?:Подгорн[ыхйе]* [Ээ]дельвейс)/))
                return true;
        else if(external.SCity.Text == "mooncity" && questName.match(/[(?:&quot;|<b>|\")]*Хрустал[яь]|[(?:&quot;|<b>|\")]*(?:Дракон[ьегоий]* [Кк]ам[еньяй]*)|[(?:&quot;|<b>|\")]*Гранит|[(?:&quot;|<b>|\")]*(?:Пещерн[ыйого]* [Мм][оха]*)|[(?:&quot;|<b>|\")]*(?:Подгорн[ыхйе]* [Ээ]дельвейс)|[(?:&quot;|<b>|\")]*Инструмент|[(?:&quot;|<b>|\")]*(?:Череп[аов]* [пП]утешественн)/))
                return true;
        return false;
    }
    catch(err)
    {
        external.AddToChat("Error in isPickingQuest function");
    }
}
 
function MoveToDung()
{
    try
    {
        if(top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/drwfl\("(?:Геммайя|Мухатор|Юверриат|Фелико)",\d*/) && top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/завершить разговор|уйти/))
        {   
            external.AddToChat("Завис у диалогового бота");
            external.ClickLink(top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/завершить разговор|уйти/)[0],2);           
        }
        else if(currentRoom == "Магазин" && top.frames[external.mainFrameIndex].check_access())
        {
            if(external.SCity.Text == "sandcity") external.ClickLink("Лавка Бартоломея",2);
            else if(external.SCity.Text.match(/suncity|angelscity|mooncity/)) external.ClickLink("Прилавки с товарами",2);
            else if(external.SCity.Text == "demonscity") external.ClickLink("Торговый Разлом",2);
        }
        else if (currentRoom == "Прилавки с товарами")
        {
            if(external.SCity.Text == "suncity") external.ClickLink("Центральная грибница",1);
            if(external.SCity.Text == "angelscity") external.ClickLink("Торговые скалы",1);
            if(external.SCity.Text == "mooncity") external.ClickLink("Рыночная площадь",1);
        }
        else if(currentRoom == "Бойцовский Клуб")
        {
            if(external.SCity.Text == "sandcity") external.ClickLink("Центральный Оазис",1);
            else if(external.SCity.Text == "angelscity") external.ClickLink("Центральный утес",1);
            else if(external.SCity.Text == "suncity") external.ClickLink("Центральная грибница",1);
            else if(external.SCity.Text == "mooncity") external.ClickLink("Центр падения",1);
            else if(external.SCity.Text == "demoncity") external.ClickLink("Центральный Разлом",1);
        }
        else if(currentRoom.match(/Зал воинов/))
            external.ClickLink("Бойцовский Клуб",1);
        else if (currentRoom == "Центральная грибница") //sun
            external.ClickLink("Грибная лужайка",1);
        else if(currentRoom == "Грибная лужайка")
            external.ClickLink("Странное Место",1);
        else if(currentRoom == "Странное Место")
            external.ClickLink("Грибная поляна",1);
        else if(currentRoom == "Грибная поляна")
            external.ClickLink("Грибница",1);            //end sun
        else if (currentRoom == "Лавка Бартоломея")        //sand
            external.ClickLink("Базар",1);
        else if (currentRoom == "Базар")
            external.ClickLink("Центральный Оазис",1);
        else if(currentRoom == "Центральный Оазис")
            external.ClickLink("Цветочный Пустырь",1);
        else if(currentRoom == "Цветочный Пустырь")
            external.ClickLink("Последний Привал",1);
        else if(currentRoom == "Последний Привал")
            external.ClickLink("Внутренний двор",1);
        else if(currentRoom == "Внутренний двор")   
            external.ClickLink("Пещеры Мглы",1);        //end sand
        else if (currentRoom == "Торговые скалы")         //angels
            external.ClickLink("Центральный утес",1);
        else if(currentRoom == "Центральный утес")
            external.ClickLink("Каменно-цветочная гряда",1);
        else if(currentRoom == "Каменно-цветочная гряда")
            external.ClickLink("Утес безысходности",1);
        else if(currentRoom == "Утес безысходности")
            external.ClickLink("Вход в Заповедник",1);
        else if(currentRoom == "Вход в Заповедник")       
            external.ClickLink("Спуск в Бездну",1);        //end angels
        else if(currentRoom == "Торговый Разлом")        //demons
            external.ClickLink("Разлом Великолепия",1);
        else if(currentRoom == "Разлом Великолепия")
            external.ClickLink("Центральный Разлом",1);
        else if(currentRoom == "Центральный Разлом")
            external.ClickLink("Разлом Поклонения",1);
        else if(currentRoom == "Разлом Поклонения")
            external.ClickLink("Дорога Храбрости",1);
        else if(currentRoom == "Дорога Храбрости")
            external.ClickLink("Спуск в катакомбы",1);
        else if(currentRoom == "Спуск в катакомбы" && top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/Никогда и никому не говорите пароль от своего персонажа/))
            external.ClickLink("Спуск в Катакомбы",1); //end demons
        else if (currentRoom == "Рыночная площадь")        //moon
            external.ClickLink("Центр падения",1);
        else if (currentRoom == "Центр падения")
            external.ClickLink("Спящая площадь",1);
        else if (currentRoom == "Спящая площадь")
            external.ClickLink("Улица Камней",1);
        else if (currentRoom == "Улица Камней")
            external.ClickLink("Проклятые руины",1);
        else if (currentRoom == "Проклятые руины")
            external.ClickLink("Пещера тысячи проклятий",1);
        else if(currentRoom == "Пещера Тысячи проклятий" && top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/Никогда и никому не говорите пароль от своего персонажа/))
            external.ClickLink("Пещера Тысячи проклятий",1);  //end moon
    }
    catch(err)
    {
        external.AddToChat("Error in MoveToDung function");
    }
}
 
function MoveFromDung()
{   
    try
    {
        if(currentRoom == "Пещера Тысячи проклятий" && top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/Никогда и никому не говорите пароль от своего персонажа/))
            external.ClickLink("Проклятые Руины",1);
        else if(currentRoom.match(/Спуск в Катакомбы|Пещеры Мглы|Пещера Тысячи проклятий|Грибница|Спуск в Бездну/))
        {
            if(external.SCity.Text == "suncity") external.ClickLink("Грибная поляна",2);
            else if(external.SCity.Text == "sandcity") external.ClickLink("Внутренний двор",2);
            else if(external.SCity.Text == "angelscity") external.ClickLink("Вход в Заповедник",2);
            else if(external.SCity.Text == "demonscity") external.ClickLink("Спуск в катакомбы",2);
            else if(external.SCity.Text == "mooncity") external.ClickLink("Пещера Тысячи проклятий",2);
        }
        else if(currentRoom == "Бойцовский Клуб")
            external.ClickLink("Зал воинов",1);
        else if(currentRoom == "Грибная поляна")            //sun
            external.ClickLink("Странное Место",1);
        else if(currentRoom == "Странное Место")
            external.ClickLink("Грибная лужайка",1);
        else if(currentRoom == "Грибная лужайка")
            external.ClickLink("Центральная грибница",1);     //end sun
        else if(currentRoom == "Спуск в катакомбы" && top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/Никогда и никому не говорите пароль от своего персонажа/))
            external.ClickLink("Дорога Храбрости",1);
        else if(currentRoom == "Дорога Храбрости")
            external.ClickLink("Разлом Поклонения",1);
        else if(currentRoom == "Разлом Поклонения")
            external.ClickLink("Центральный Разлом",1);
        else if(currentRoom == "Разлом Великолепия")
            external.ClickLink("Торговый Разлом",1);
        else if(currentRoom == "Торговый Разлом")
            external.ClickLink("Магазин",1);                //end dem         
        else if(currentRoom == "Проклятые Руины")            //moon
            external.ClickLink("Улица Камней",1);
        else if(currentRoom == "Улица Камней")
            external.ClickLink("Спящая площадь",1);
        else if(currentRoom == "Спящая площадь")
            external.ClickLink("Центр падения",1);          //end moon   
        else if(currentRoom == "Вход в Заповедник")            //ang
            external.ClickLink("Утес безысходности",1);
        else if(currentRoom == "Утес безысходности")
            external.ClickLink("Каменно-цветочная гряда",1);
        else if(currentRoom == "Каменно-цветочная гряда")
            external.ClickLink("Центральный утес",1);         //end ang
        else if(currentRoom == "Внутренний двор")            //sand
            external.ClickLink("Последний Привал",1);
        else if(currentRoom == "Последний Привал")
            external.ClickLink("Цветочный Пустырь",1);
        else if(currentRoom == "Цветочный Пустырь")
            external.ClickLink("Центральный Оазис",1);        //end sand
        else if(currentRoom == "Магазин" && external.SCity.Text == "demonscity" && top.frames[external.mainFrameIndex].document.all[0].innerHTML.indexOf("dem_newbot_magaz") > 0)
            external.ClickLink("dem_newbot_magaz",3);
        else if(top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/drwfl\("(?:Илена|Мафи|Бартоломей|Амарл)",\d*/) && top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/подойти к прилавк[аму]*|пройти к прилавк[аум]*/))
            external.ClickLink(top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/подойти к прилавк[аму]*|пройти к прилавк[аум]*/)[0],2);
        else if (currentRoom.match(/Центральная грибница|Торговые скалы/))
            external.ClickLink("Прилавки с товарами",1);
        else if (currentRoom == "Прилавки с товарами" && top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/Илена|Мафи/))
            external.ClickLink(top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/Илена|Мафи/)[0],3);
        else if (currentRoom == "Базар")
            external.ClickLink("Лавка Бартоломея",1);
        else if (currentRoom == "Лавка Бартоломея")
            external.ClickLink("Бартоломей",3);
        else if (currentRoom.match(/Центральный Оазис|Центральный утес|Центральная грибница|Центр падения|Центральный Разлом/))
        {
            if(!enableSellInShop && !dungMode) external.ClickLink("Бойцовский Клуб",1);
            if(!beenInShop && enableSellInShop)
            {
                if(currentRoom == "Центральный Разлом")
                    external.ClickLink("Разлом Великолепия",1);
                else if (currentRoom == "Центральный утес")
                    external.ClickLink("Торговые скалы",1);
                else if (currentRoom == "Центральный Оазис")
                    external.ClickLink("Базар",1);
                else if (currentRoom == "Центральная грибница")
                    external.ClickLink("Прилавки с товарами",1);
                else if (currentRoom == "Центр падения")
                    external.ClickLink("Рыночная площадь",1);   
            }
        }
    }
    catch(err)
    {
        external.AddToChat("Error in MoveFromDung function");
    }
}
 
function doLoad(url)
{
    try
    {
        if (window.XMLHttpRequest) req = new XMLHttpRequest();
        else req = new ActiveXObject("Microsoft.XMLHTTP");     
        req.open("GET", url, false);
        req.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT");
        req.send(null);
        return req.responseText;
    }
    catch(err)
    {
        external.AddToChat("Error in doLoad function");
    }
}
 
function GetPathFileName()
{
    try
    {
        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 "";
    }
    catch(err)
    {
        external.AddToChat("Error in GetPathFileName function");
    }
}
Selfie сейчас популярен!

249

Re: Плагин взятия задания, все города, нужно протестить. От Gorlum

что то не работает)))