151

Re: Плагин автоматического взятия задания в данже

Так как при включенных плагинах авто продажи пура в гос и задания, работает только плагин "задание", я скопировал перечень вещей из одного плагина в другой (из автопродажи в задание), но что-то не пойму насколько правильно он работает. Дело в том что без моего участия бот зашел в магазин и тут же выскочил из него, пошел в пещеру копать дальше(а ведь загружен пуром по горло), но когда я зашел сам и нажал на вкладку продажи, то тут же начался прирост кредитов, причем очень-очень быстро на верху где обчно отображалось действие, например:"проданы перчатки за 0,70кр", сейчас пусто. Продал около 20вещей меньше чем за 10секунд, при этом интервал вне боя 7000-9000, в подземелье 2000-5000, в бою 1000-3000. Могут ли они оба работать коректно? Один исключительно для заданий. а второй на  автопродажу. Или же как объеденить правильно?

Selfie сейчас популярен!

152

Re: Плагин автоматического взятия задания в данже

Вот как я его объеденил

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 = false; // режим продажи пуршмота в гос
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()) return;
        if(top.frames[external.mainFrameIndex].location.toString().match(/dungeon\d+\.pl/i))
        {
            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");
    }
}

Что не так?

Отредактировано Nikita_KrM (2014-12-30 00:40:12)

Selfie сейчас популярен!

153

Re: Плагин автоматического взятия задания в данже

Посмотрел я объединенный и не увидел, как бот мог уйти обратно в данж...а при ручном переключении на продажу корректно отработать.
Т.е. тут указано прямое условие:

if(!sellTmp.match(/Отдел \"Скупка\"/i))external.ClickLink("Продать вещи",4);

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

*два плагина в том виде, как они на форуме опубликованы, действительно одновременно не могут работать.
*ваше объединения, на первый взгляд, должно работать...особенно с учетом, что до магазина и обратно бот доходит...и если вручную на нужную страницу продажи перейти - так ещё и продаёт.

Software is like sex: it's better when it's free! © LinusTorvalds

154

Re: Плагин автоматического взятия задания в данже

hmm  и как тогад сделать что бы брал задания (и сдавал их) и вещи рюкзак не захломляли (как в плагине авто продажи) ?

Selfie сейчас популярен!

155

Re: Плагин автоматического взятия задания в данже

Nikita_KrM,
давай по твоему плагину попробуем разобраться.
Ты включил только его, он:
1) прокопал пещеру
2) Дошел до магазина
3) Должен был перейти в раздел скупки, но пропустил этот шаг
4) Вернулся обратно копать пещеру

И при этом же включенном плагине когда ты довёл его в магазин в раздел скупки он всё продал корректно?

Сидеть и с 0 придумывать всё я честно сейчас не в состоянии, а вот попытаться найти и устранить проблему в существующем - это совсем другое дело smile

Software is like sex: it's better when it's free! © LinusTorvalds

156

Re: Плагин автоматического взятия задания в данже

Я сейчас в муне, а тут  не работает автопродажа, а потому и zadanie пока не тестирую. Попаду в другой город обязательно опишу всё в детальных подробностях. Хотя в муне при включенном плагине zadanie  бот пишет в чате что необходимо взять задание, тут же становится в очередь и спускается в пещеры, так и не взяв задание ( и не проверяет инвентарь). Потому при спуске в данж сразу отключаю плагин, а то мало ли - выйдет что б задание проверить.

Selfie сейчас популярен!

157

Re: Плагин автоматического взятия задания в данже

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

Software is like sex: it's better when it's free! © LinusTorvalds

158

Re: Плагин автоматического взятия задания в данже

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

159

Re: Плагин автоматического взятия задания в данже

Странно работает zadanie в Mooncity иногда за два дня 2 раза взял сам, а в остальное время, только в чате пишет мол необходимо здать задание (свитком забытых пользуюсь). Причем я как то даже и не понял когда он его взял( пропустил этот момент )

Selfie сейчас популярен!

160

Re: Плагин автоматического взятия задания в данже

anahronik пишет:

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

А твой подправленный можно в студию?  big_smile

Selfie сейчас популярен!

161

Re: Плагин автоматического взятия задания в данже

да и мне пожалуйста )

162

Re: Плагин автоматического взятия задания в данже

Вот в таком виде в сане и ангеле работает

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");
    }
}
Software is like sex: it's better when it's free! © LinusTorvalds

163

Re: Плагин автоматического взятия задания в данже

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

Отредактировано Nikita_KrM (2015-01-18 14:43:24)

Selfie сейчас популярен!

164

Re: Плагин автоматического взятия задания в данже

Да..есть такое дело...Сообщу Анахронику.

Вранье.Вранье.Вранье.Правда.(с)Rand

165

Re: Плагин автоматического взятия задания в данже

Если нету задержки на задание, бот постоянно пишет "нужно взять задание", хоть даже если он его выполнил. Можно как-то подправить?

166

Re: Плагин автоматического взятия задания в данже

Desire пишет:

Если нету задержки на задание, бот постоянно пишет "нужно взять задание", хоть даже если он его выполнил. Можно как-то подправить?

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

"Необычные" маршруты от меня  >>>>            (Please log in or register to see this URL)

167

Re: Плагин автоматического взятия задания в данже

Limbach пишет:
Desire пишет:

Если нету задержки на задание, бот постоянно пишет "нужно взять задание", хоть даже если он его выполнил. Можно как-то подправить?

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

Так вроде рабочий вариант от Анахроника взял, вещи вроде нормально толкает в магаз, а вот с заданиями лажа какая-то.

168

Re: Плагин автоматического взятия задания в данже

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

169

Re: Плагин автоматического взятия задания в данже

del

Отредактировано unnamed (2015-06-17 10:00:39)

170

Re: Плагин автоматического взятия задания в данже

После введения чекбоксов для выделения вещей плагин перестал сдавать шмот sad

Отредактировано unnamed (2015-08-03 00:39:52)

171

Re: Плагин автоматического взятия задания в данже

ап, никто плагин не юзает что ли? есть решение?

172

Re: Плагин автоматического взятия задания в данже

unnamed пишет:

После введения чекбоксов для выделения вещей плагин перестал сдавать шмот sad

Куки и временные файлы почисти - будет работать

Йа нуб!!!

Шарите в js? Уверены?) Тогда загляните (Please log in or register to see this URL), может вы ошибаетесь в своих силах smile