var phrasesAng = ["[(?:"|<b>|\")]*Литейщик","[(?:"|<b>|\")]*(?:Рубак[ау]|Надзирател[ейьяи]*|Служител[ейьяи]*) [Гг]лубин","[(?:"|<b>|\")]*Служител[ейьяи]* [Бб]ездны","[(?:"|<b>|\")]*Бур","выполняете зачистку [(?:"|<b>|\")]*Бездны","не один труп в [(?:"|<b>|\")]*Бездн","в захвате [(?:"|<b>|\")]*Бездн","[(?:"|<b>|\")]*Тряпье необходимо нашим работницам","монстров в [(?:"|<b>|\")]*Бездн","[(?:"|<b>|\")]*Брага - продукт этой примитивной","их у монстров в [(?:"|<b>|\")]*Бездн","Ну, не знаю, [(?:"|<b>|\")]*Клыки, например","квадратный сантиметр [(?:"|<b>|\")]*Бездн","в [(?:"|<b>|\")]*Бездне, необходимы [(?:"|<b>|\")]*Аутсвайс","Из [(?:"|<b>|\")]*Подгорных Эдельвейсов, растущих исключительно в [(?:"|<b>|\")]*Бездне","один темный угол в [(?:"|<b>|\")]*Бездн","срочно необходим [(?:"|<b>|\")]*Драконий камень","придется отправиться в [(?:"|<b>|\")]*Бездн","всеми красками, нам необходим [(?:"|<b>|\")]*Гранит","Ах, [(?:"|<b>|\")]*Хрусталь - это так прекрасно","множество углов в [(?:"|<b>|\")]*Бездн","Хоть и гадость этот [(?:"|<b>|\")]*[Пп]ещерный [Мм]ох","один десяток монстров в Бездн"];
var phrasesMoon = ["[(?:"|<b>|\")]*Пустынник[ова]* (?:[Аа]таман|[Мм]аньяк|[Уу]бийц)","[(?:"|<b>|\")]*Дарьян[ау] [Кк]орт","[(?:"|<b>|\")]*Маула? [Сс]частливчик","[(?:"|<b>|\")]*Стража? [Кк]рантон","[(?:"|<b>|\")]*Изгнанника? [Мм]глы","[(?:"|<b>|\")]*Древнее [Пп]роклят[иь]е [Гг]лубин","[(?:"|<b>|\")]*Дух[ов]*-Хранител","[(?:"|<b>|\")]*Заблудш[аяихе]* [Дд]уш","[(?:"|<b>|\")]*Механически[хей]* (?:[Оо]хранник|[Гг]олем|[Уу]бийц)","[(?:"|<b>|\")]*Механик","[(?:"|<b>|\")]*Мастера? [Гг]рит","[(?:"|<b>|\")]*Стража? [Сс]окровищ","[(?:"|<b>|\")]*Каменны[йхе] [Сс]траж","квадратный сантиметр [(?:"|<b>|\")]*Пещер[ае] Тысячи Проклятий","один темный угол в [(?:"|<b>|\")]*Пещер[ае] Тысячи Проклятий","придется отправиться в [(?:"|<b>|\")]*Пещер[ае] Тысячи Проклятий","порыскать в [(?:"|<b>|\")]*Пещер[ае] Тысячи Проклятий","Поищите их в [(?:"|<b>|\")]*Пещер[ае] Тысячи Проклятий","обыскать все уголки в [(?:"|<b>|\")]*Пещер[ае] Тысячи Проклятий","[(?:"|<b>|\")]*Инструменты","[(?:"|<b>|\")]*Череп путешественника","не один труп в [(?:"|<b>|\")]*Пещер[ае] Тысячи Проклятий","у монстров в [(?:"|<b>|\")]*Пещер[ае] Тысячи Проклятий"," в захвате [(?:"|<b>|\")]*Пещер[ае] Тысячи Проклятий","смерть монстрам из [(?:"|<b>|\")]*Пещер[ае] Тысячи Проклятий","один десяток монстров в [(?:"|<b>|\")]*Пещер[ае] Тысячи Проклятий","[(?:"|<b>|\")]*Зель[ея] Пустынник","[(?:"|<b>|\")]*Механическ[аяуюие]* [Рр]ук","[(?:"|<b>|\")]*Запчасти","[(?:"|<b>|\")]*Призрачн[аяую]* [Пп]ыл","[(?:"|<b>|\")]*Серд[цае]* [Гг]олем","с множеством монстров в [(?:"|<b>|\")]*Пещер[ае] Тысячи Проклятий","побродить по [(?:"|<b>|\")]*Пещер[ае] Тысячи Проклятий","(?:отыскать|поискать|(?:найти)|(?:должны доставить)|принести) [(?:"|<b>|\")]*(?:(?:Драконий [Кк]амень)|Гранит|(?:Подгорный [Ээ]дейльвейс)|Тряпье|(?:Пещерный [Мм]ох)|Хрусталь(?:Амулет [Пп]устынника))"];
var phrasesSand = ["[(?:"|<b>|\")]*(?:Рабочи[йех]|Сторож[ейа]*|Смотрител[ейь]*) [Мм]глы","[(?:"|<b>|\")]*Шахтерски[хйе] [Кк]рюк|[Оо]г[оньяъ]*","один десяток монстров в [(?:"|<b>|\")]*Пещер[еы] Мглы","в захвате [(?:"|<b>|\")]*Пещер[еы] Мглы","один труп в [(?:"|<b>|\")]*Пещер[еы] Мглы","квадратный сантиметр [(?:"|<b>|\")]*Пещер[еы] Мглы","один темный угол в [(?:"|<b>|\")]*Пещер[еы] Мглы","в захвате [(?:"|<b>|\")]*Пещер[еы] Мглы","отправиться в [(?:"|<b>|\")]*Пещер[ые] Мглы","лежащие глыбы [(?:"|<b>|\")]*[Гг]ранита","богаты [(?:"|<b>|\")]*[Дд]раконьим [Кк]амнем","Из [(?:"|<b>|\")]*[Пп]ещерного [Мм]ха, что растет в [(?:"|<b>|\")]*[Пп]ещерах [Мм]глы","так называемые [(?:"|<b>|\")]*[Пп]одгорные [Ээ]дельвейсы","городу нужен [(?:"|<b>|\")]*[Хх]русталь","оторые они называют [(?:"|<b>|\")]*[Аа]утсвайс","что [(?:"|<b>|\")]*[Кк]лыки [Пп]роклятья [Гг]лубин","наши стражники с [(?:"|<b>|\")]*[Кк]остями","[(?:"|<b>|\")]*Тряпье - совершенно бесполезная вещь"];
var phrasesDem = ["[(?:"|<b>|\")]*Слизь","[(?:"|<b>|\")]*Пожирател[ьейми]* [Пп]адал","[(?:"|<b>|\")]*(?:Окоченелы[ехй]|Каменны[ехй]|Зубасты[ехй]|Голодны[ехй]|Древни[ехй]|Загадочны[ехй]) [Зз]омб","[(?:"|<b>|\")]*Древни[хей] [Сс]траж","[(?:"|<b>|\")]*Прокляты[йех] (?:[Пп]ламенос|[Уу]бийц|[Сс]траж|[Оо]руженос|[Зз]ащитник|[Сс]китал)","[(?:"|<b>|\")]*Берсерк","[(?:"|<b>|\")]*Офицер[аов]* [Гг]лубин","[(?:"|<b>|\")]*(?:Зубаст[ыхуюаяе]*|Хищн[ыхуюаяе]*) [Сс]лиз","[(?:"|<b>|\")]*Чернокнижник","[(?:"|<b>|\")]*Епископ","[(?:"|<b>|\")]*Шута? [Пп]овелителя","[(?:"|<b>|\")]*Трупожор","[(?:"|<b>|\")]*Проклят[ыхей]* [Пп]ленник","[(?:"|<b>|\")]*Повелитель?","дин десяток монстров в [(?:"|<b>|\")]*Катакомб","хорошо поработать, чтобы достать [(?:"|<b>|\")]*[Кк]ости","остараться, чтобы найти [(?:"|<b>|\")]*[Аа]мулет [Пп]устынника","попал в эти места [(?:"|<b>|\")]*[Аа]мулет [Пп]устынника","они гонят [(?:"|<b>|\")]*[Бб]рагу из","от вас - это несколько [(?:"|<b>|\")]*[Кк]остей"];
var phrasesSun = ["[(?:"|<b>|\")]*(?:Искрящи[йехм]ся|Пылающи[ехмй]) [Пп]аразит","[(?:"|<b>|\")]*Скользки[йхем] [Рр]огонос","[(?:"|<b>|\")]*Усохши[хийм] [Пп]алочник","[(?:"|<b>|\")]*Мясисты[хйым] [Гг]усениц","[(?:"|<b>|\")]*Яростн[аяыхме]* [Мм]окриц","[(?:"|<b>|\")]*Брата? Скорпиончика","[(?:"|<b>|\")]*Скорпиончик","[(?:"|<b>|\")]*Трут[еньйя]*","[(?:"|<b>|\")]*Королев[еау] [Гг]рибницы","[(?:"|<b>|\")]*Сторожев[уюая]* [Гг]рибоножк[уа]","[(?:"|<b>|\")]*Грибков[уюая]* [Мм]оль","[(?:"|<b>|\")]*Кольчат[ыйхе]* [Сс]трахочерв[ьией]*","[(?:"|<b>|\")]*Жвала","[(?:"|<b>|\")]*Куск[иов]* [Хх]итина","[(?:"|<b>|\")]*Усик[ови]* [Нн]асекомых","[(?:"|<b>|\")]*Крупицы? [Мм]еталла","[(?:"|<b>|\")]*Мембрана? [Тт]рутня","[(?:"|<b>|\")]*Остры[йех]* [Кк]ог[тейяьо]*","[(?:"|<b>|\")]*Кус[коваи]* [Пп]анциря","оно вскоре покрывается [(?:"|<b>|\")]*слизью","[(?:"|<b>|\")]*Грибн[уюаяых]* (?:[Шш]ляпк|[Нн]ожк|[Гг]усениц)","[(?:"|<b>|\")]*Глазик","[(?:"|<b>|\")]*Потерявши[хйе]ся [Гг]усениц","[(?:"|<b>|\")]*Улит[аоки]*","[(?:"|<b>|\")]*Слизняк","[(?:"|<b>|\")]*Отрост[кови]* [Гг]рибницы","[(?:"|<b>|\")]*Кореш[окви]*","[(?:"|<b>|\")]*Мелки[хе] [Хх]люп","[(?:"|<b>|\")]*Сем[яена]*","[(?:"|<b>|\")]*[Пп]уст[ыхуюе]* бутыл[ейьи]* из под"];
var allQuests = [];
allQuests.push(phrasesAng);
allQuests.push(phrasesMoon);
allQuests.push(phrasesSand);
allQuests.push(phrasesDem);
allQuests.push(phrasesSun);
var proverkaTimer = {};
var zadanieTimer = {};
var sellTimer = {};
var currentQuestChecked = false; //показывает, выполнялась ли проверка на задание
var questIsActive = false; //показывает, имеется ли задание
var needToFinish = false; //показывает, нужно ли завершить задание
var pathAngels = ""; //имя файла маршрута бездны
var pathDemons = ""; //имя файла маршрута кат
var pathSun = ""; //имя файла маршрута грибов
var pathSand = ""; //имя файла маршрута мглы
var pathMoon = ""; //имя файла маршрута птп
var room ='';
var randomValue;
var min = 360000;
var max = 400000;
var dungMode = false;
var questName = "";
var questID = "";
var needToDo = -1;
var hasBeenDone = -1;
var needToFinish = false;
var dungStarted = false;
var enableSellInShop = false; // режим продажи пуршмота в гос
var beenInShop = true;
var itemsToSell = [];
itemsToSell.push("Обычные стрелы для арбалета");
function zadanie(enabled)
{
if(enabled)
{
if(external.dungeonEnabled) dungMode = true;
proverkaTimer[mylogin] = setInterval("proverkaHandler()",2000);
sellTimer[mylogin] = setInterval("SellAction()", 1000);
}
else
{
if(zadanieTimer[mylogin]) clearInterval(zadanieTimer[mylogin]);
external.SBattleAbovePercent.Text = 100;
clearInterval(proverkaTimer[mylogin]);
clearInterval(sellTimer[mylogin]);
}
}
Array.prototype.inArray = function(item)
{
for (var i in this)
if (item.indexOf(this[i]) > -1)
return true;
return false;
}
function SellAction()
{
try
{
if(!external.Started()) return;
if(top.Battle.bInBattle || top.frames[external.mainFrameIndex].location.toString().match(/dungeon\d+\.pl/i))
{
beenInShop = false;
return;
}
var s = top.frames[external.mainFrameIndex].document.all[0].innerHTML;
if(room = temp_p.match(/<nobr>([^<]+)<\/nobr>/))
room = String(room[1]);
else if(top.frames[external.mainFrameIndex].document.getElementsByName("quest_name").length > 0)
room = "inQuestWindow";
else
room = "inDialog";
if(!enableSellInShop) return;
if(!beenInShop)
{
if(room != "Магазин")
MoveToShop();
else
{
if(!s.match(/Отдел \"Скупка\"/i))
external.ClickLink("Продать вещи",4);
else
{
var items = s.match(/<a\shref="shop\.pl\?sl=[^"]*">продать за .*? кр.<\/a><\/td>[\s\n\r]*<td[^>]*><a [^>]*>[^&<]*/ig);
if(items != null)
for(var i = 0; i < items.length; i++)
{
items[i] = items[i].match(/<a\shref="(shop\.pl\?sl=[^"]*)">продать за .*? кр.<\/a><\/td>[\s\n\r]*<td[^>]*><a [^>]*>([^&<]*)/i);
items[i][1] = items[i][1].replace(/&/g, '&');
if(itemsToSell.inArray(items[i][2]))
{
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/" + items[i][1];
return;
}
}
beenInShop = true;
}
}
}
else
MoveFromShopToDung();
}
catch(err)
{
external.AddToChat("error");
}
}
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;
dungStarted = false;
}
if(!dungMode)
external.SBattleAbovePercent.Text = 101;
var tempstr = '';
var temp_inf = doLoad("http://" + external.SCity.Text + ".combats.com/main.pl?skills=1&rand=" + Math.random());
if(external.SCity.Text == "suncity")
tempstr = "Suncity</B> - Рыцарь первого круга, 24999 / 24999";
else if(external.SCity.Text == "sandcity")
tempstr = "Sandcity</B> - Рыцарь первого круга, 10000 / 24999";
else if(external.SCity.Text == "angelscity")
tempstr = "Angels city</B> - Рыцарь первого круга, 10000 / 24999";
else if(external.SCity.Text == "demonscity")
tempstr = "Demons city</B> - Рыцарь первого круга, 24999 / 24999";
else if(external.SCity.Text == "mooncity")
tempstr = "Mooncity</B> - Рыцарь первого круга, 24999 / 24999";
if(zadanieTimer[mylogin]) clearInterval(zadanieTimer[mylogin]);
zadanieTimer[mylogin] = setInterval("zadanieHandler()",2000);
if(temp_inf.match(tempstr))
{
external.AddToChat("Задания не требуется");
currentQuestChecked = true;
questIsActive = false;
return;
}
var patt = external.SCity.Text + " - \\d+ (мин|ч.|сек)";
if(temp_inf.match(/Время до подземелья/))
{
currentQuestChecked = true;
questIsActive = false;
external.AddToChat("Задержка на поход в пещеру");
return;
}
if(GetQuestFromInfo(temp_inf))
{
external.AddToChat("Задание:");
top.Chat.Self.AddMessage(questName + " " + hasBeenDone + "/" + needToDo);
currentQuestChecked = true;
questIsActive = true;
if(!isPickingQuest() && hasBeenDone >= needToDo) needToFinish = true;
}
else if(!temp_inf.toLowerCase().match(patt))
{
external.AddToChat("Требуется взять задание");
currentQuestChecked = false;
questIsActive = false;
}
else
{
external.AddToChat("Задержка на взятие задания");
currentQuestChecked = true;
questIsActive = false;
}
}
catch(err)
{
external.AddToChat("error");
}
}
function zadanieHandler()
{
try
{
if(dungStarted || top.Battle.bInBattle || top.frames[external.mainFrameIndex].location.toString().match(/dungeon\d+\.pl/i) || !external.Started()) return;
if(enableSellInShop && !beenInShop) return;
if(!room.match(/(Спуск в Катакомбы)|(Пещера Тысячи проклятий)|(Пещеры Мглы)|inQuestWindow|Грибница|(Спуск в Бездну)/))
if(dungMode || (!(!questIsActive && currentQuestChecked) && !dungMode))
{
MoveToDung();
return;
}
if(questIsActive && currentQuestChecked && !needToFinish)
{
if(room == "inQuestWindow" && top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/Для вас нет заданий/))
{
questIsActive = false;
external.ClickLink("Вернуться",4);
return;
}
if(room == "inQuestWindow" && GetQuestFromInfo(top.frames[external.mainFrameIndex].document.all[0].innerHTML))
{
external.AddToChat("Задание:");
top.Chat.Self.AddMessage(questName + " " + hasBeenDone + "/" + needToDo);
}
if(room == "inQuestWindow" && top.frames[external.mainFrameIndex].document.getElementsByName("quest_name").length > 0)
external.ClickLink("Вернуться",4);
else if(room != "inQuestWindow" && room.match(/(Спуск в Катакомбы)|(Пещера Тысячи проклятий)|(Пещеры Мглы)|Грибница|(Спуск в Бездну)/) && top.frames[external.mainFrameIndex].document.getElementsByName("quest_name").length == 0)
{
var fp = GetPathFileName();
if(fp == "")
{
external.AddToChat("неверный файл");
return;
}
if(!dungMode)
{
external.DungeonLoadPath(fp);
external.dungeonEnabled = true;
external.SBattleAbovePercent.Text = 100;
}
dungStarted = true;
}
}
else if(!currentQuestChecked || needToFinish)
{
if(room.match(/(Спуск в Катакомбы)|(Пещера Тысячи проклятий)|(Пещеры Мглы)|Грибница|(Спуск в Бездну)/) && (!currentQuestChecked || needToFinish))
external.ClickLink("Задания",4);
else if(room.match(/inQuestWindow/) && top.frames[external.mainFrameIndex].document.getElementsByName("quest_name").length > 0 && (!currentQuestChecked || needToFinish))
{
var btns = top.frames[external.mainFrameIndex].document.getElementsByName("finishquest");
if(questID != "" && needToFinish && btns)
{
if(dungMode && isPickingQuest() && (hasBeenDone < (Math.floor(needToDo/4) + needToDo)))
{
currentQuestChecked = true;
questIsActive = true;
return;
}
for(var i = 0; i < btns.length; i++)
if(btns[i].onclick && String(btns[i].onclick).match(questID) && btns[i].style.visibility != "hidden")
{
currentQuestChecked = false;
questIsActive = false;
needToFinish = false;
questName = "";
questID = "";
needToDo = -1;
hasBeenDone = -1;
external.AddToChat("Завершаем задание");
btns[i].click();
return;
}
}
var gotRep = top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/Вы получили \d* награды за выполнение задания/);
if(gotRep) external.AddToChat(gotRep);
if(!top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/Репутация в Suncity: 0/))
{
currentQuestChecked=true;
questIsActive = true;
if(external.ClickLink("Получить задание",4))
external.AddToChat("Работает взятие задания");
else
external.AddToChat("Задание уже есть");
}
}
}
else if(!questIsActive && currentQuestChecked)
{
if(dungMode)
{
if(!room.match(/(Спуск в Катакомбы)|(Пещера Тысячи проклятий)|(Пещеры Мглы)|Грибница|(Спуск в Бездну)/))
MoveToDung();
return;
}
external.dungeonEnabled = false;
if(room != "Зал воинов")
MoveFromDung(room);
else
external.SBattleAbovePercent.Text = 100;
}
}
catch(err)
{
external.AddToChat("Ошибка!");
}
}
function doLoad(url)
{
if (window.XMLHttpRequest)
req = new XMLHttpRequest();
else
req = new ActiveXObject("Microsoft.XMLHTTP");
req.open("GET", url, false); // задать параметры методу open
req.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT"); //чтоб не кэшировались GET запросы
req.send(null); // отправить запрос
return req.responseText;
}
function CheckForQuestInInv(inf)
{
var index = -1;
switch (external.SCity.Text)
{
case "suncity":
index = 4;
break
case "sandcity":
index = 2;
break
case "angelscity":
index = 0;
break
case "demonscity":
index = 3;
break
case "mooncity":
index = 1;
break
default:
external.AddToChat("err");
}
var res = "";
for(var i = 0; i < allQuests[index].length; i++)
if(res = inf.match(allQuests[index][i]))
return res;
return "";
}
function GetPathFileName()
{
if(external.SCity.Text == "suncity")
return pathSun;
else if(external.SCity.Text == "sandcity")
return pathSand;
else if(external.SCity.Text == "angelscity")
return pathAngels;
else if(external.SCity.Text == "demonscity")
return pathDemons;
else if(external.SCity.Text == "mooncity")
return pathMoon;
return "";
}
function MoveTo()
{
switch (external.SCity.Text)
{
case "suncity":
return "Грибная поляна"
case "sandcity":
return "Внутренний двор"
case "angelscity":
return "Вход в Заповедник"
case "demonscity":
return "Спуск в катакомбы"
case "mooncity":
return "Пещера Тысячи проклятий"
default:
return null
}
}
function GetQuestFromInfo(inf)
{
try
{
var flds = inf.match(/<fieldset>\s+<legend>\sТекущие (?:квесты|задания)[^@]*<\/fieldset>/i);
var res = flds[0].match(/<img[^>]*>[^(?:span)]*<span [^>]*>\d*\/\d*<\/span>/ig);
if(!res) return false;
for(var i = 0; i < res.length; i++)
{
var tmp = res[i].match(/<img[^}]*[^(?:quest_name)]*quest_name=([^&]*)[^>]*>([^(?:span]*)<span[^>]*>(\d*)\/(\d*)<\/span>/i);
if(CheckForQuestInInv(tmp[2]))
{
// 0 == all
// 1 == quest id
// 2 == quest name
// 3 == left to do
// 4 == need to do
questID = tmp[1];
questName = tmp[2];
needToDo = tmp[4];
hasBeenDone = tmp[3];
return true;
}
}
return false;
}
catch(err)
{
external.AddToChat("wtf");
}
}
function isPickingQuest()
{
if(external.SCity.Text == "suncity")
{
if(questName.match(/[(?:"|<b>|\")]*(?:Грибн[аяыеух]* (?:[Шш]ляп[као]*|[Нн]ож[каеи]*))|[(?:"|<b>|\")]*Глазик|[(?:"|<b>|\")]*(?:Грибн[аяыеух]* [Гг]усениц)|[(?:"|<b>|\")]*(?:Потерявш[ихсяйме]* [Гг]усениц)|[(?:"|<b>|\")]*Улит[окаи]*|[(?:"|<b>|\")]*Слизняк|[(?:"|<b>|\")]*Кореш[окив]*|[(?:"|<b>|\")]*(?:Отрост[кови]* [Гг]рибницы)|[(?:"|<b>|\")]*Сем[еная]*|[(?:"|<b>|\")]*(?:Мелки[ехйм]* [Хх]люп)|[(?:"|<b>|\")]*(?:Пуст[аяуюие]* бутыл)/))
return true;
}
else if(external.SCity.Text == "sandcity" || external.SCity.Text == "angelscity")
{
if(questName.match(/[(?:"|<b>|\")]*Хрустал[яь]|[(?:"|<b>|\")]*(?:Дракон[ьегоий]* [Кк]ам[еньяй]*)|[(?:"|<b>|\")]*Гранит|[(?:"|<b>|\")]*(?:Пещерн[ыйого]* [Мм][оха]*)|[(?:"|<b>|\")]*(?:Подгорн[ыхйе]* [Ээ]дельвейс)/))
return true;
}
else if(external.SCity.Text == "mooncity")
{
if(questName.match(/[(?:"|<b>|\")]*Хрустал[яь]|[(?:"|<b>|\")]*(?:Дракон[ьегоий]* [Кк]ам[еньяй]*)|[(?:"|<b>|\")]*Гранит|[(?:"|<b>|\")]*(?:Пещерн[ыйого]* [Мм][оха]*)|[(?:"|<b>|\")]*(?:Подгорн[ыхйе]* [Ээ]дельвейс)|[(?:"|<b>|\")]*Инструмент|[(?:"|<b>|\")]*(?:Череп[аов]* [пП]утешественн)/))
return true;
}
return false;
}
function MoveToDung()
{
if (room == "Центральная грибница" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Грибная лужайка",3);
else if(room == "Грибная лужайка" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Странное Место",3);
else if(room == "Странное Место" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Грибная поляна",3);
else if(room == "Грибная поляна" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Грибница",3);
else if(room == "Бойцовский Клуб" && external.SCity.Text == "suncity" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Центральная грибница",3);
else if(room == "Бойцовский Клуб" && external.SCity.Text == "angelscity" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Центральный утес",3);
else if(room == "Бойцовский Клуб" && external.SCity.Text == "mooncity" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Центр падения",3);
else if(room == "Бойцовский Клуб" && external.SCity.Text == "sandcity" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Центральный Оазис",3);
else if(room == "Бойцовский Клуб" && external.SCity.Text == "demoncity" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Центральный Разлом",3);
else if(room.match(/Зал воинов/i) && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("\'Бойцовский Клуб\'",3);
else if(room == "Центральный утес" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Каменно-цветочная гряда",3);
else if(room == "Каменно-цветочная гряда" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Утес безысходности",3);
else if(room == "Утес безысходности" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Вход в Заповедник",3);
else if(room == "Вход в Заповедник" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Спуск в Бездну",3);
else if(room == "Центральный Оазис" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Цветочный Пустырь",3);
else if(room == "Цветочный Пустырь" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Последний Привал",3);
else if(room == "Последний Привал" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Внутренний двор",3);
else if(room == "Внутренний двор" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Пещеры Мглы",3);
else if(room == "Центр падения" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Спящая площадь",3);
else if(room == "Спящая площадь" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Улица Камней",3);
else if(room == "Улица Камней" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Проклятые Руины",3);
else if(room == "Центральный Разлом" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Разлом Поклонения",3);
else if(room == "Разлом Поклонения" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Дорога Храбрости",3);
else if(room == "Дорога Храбрости" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Спуск в катакомбы",3);
else if(room == "Проклятые Руины" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Пещера Тысячи проклятий",3);
else if(room == "Спуск в катакомбы" && top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/Никогда и никому не говорите пароль от своего персонажа/) && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Спуск в Катакомбы",3);
else if(room == "Пещера Тысячи проклятий" && top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/Никогда и никому не говорите пароль от своего персонажа/) && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Пещера Тысячи проклятий",3);
}
function MoveFromDung()
{
if(room.match(/(Спуск в Катакомбы)|(Пещера Тысячи проклятий)|(Пещеры Мглы)|Грибница|(Спуск в Бездну)/))
external.ClickLink(MoveTo(),2);
else if(room == "Грибная поляна" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Странное Место",3);
else if(room == "Спуск в катакомбы" && top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/Никогда и никому не говорите пароль от своего персонажа/) && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Дорога Храбрости",3);
else if(room == "Пещера Тысячи проклятий" && top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/Никогда и никому не говорите пароль от своего персонажа/) && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Проклятые Руины",3);
else if(room == "Дорога Храбрости" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Разлом Поклонения",3);
else if(room == "Разлом Поклонения" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Центральный Разлом",3);
else if(room == "Проклятые Руины" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Улица Камней",3);
else if(room == "Улица Камней" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Спящая площадь",3);
else if(room == "Спящая площадь" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Центр падения",3);
else if(room == "Центр падения" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Бойцовский Клуб",3);
else if(room == "Странное Место" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Грибная лужайка",3);
else if(room == "Грибная лужайка" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Центральная грибница",3);
else if(room == "Центральная грибница" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Бойцовский Клуб",3);
else if(room == "Бойцовский Клуб" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Зал воинов",3);
else if(room == "Вход в Заповедник" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Утес безысходности",3);
else if(room == "Утес безысходности" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Каменно-цветочная гряда",3);
else if(room == "Каменно-цветочная гряда" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Центральный утес",3);
else if(room == "Центральный утес" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Бойцовский Клуб",3);
else if(room == "Внутренний двор" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Последний Привал",3);
else if(room == "Последний Привал" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Цветочный Пустырь",3);
else if(room == "Цветочный Пустырь" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Центральный Оазис",3);
else if(room == "Центральный Оазис" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Бойцовский Клуб",3);
}
function MoveToShop()
{
if(room == "inDialog" && (s.match(/drwfl\("Илена",/i) || s.match(/drwfl\("Бартоломей",/i)))
external.ClickLink("подойти к прилавку",2);
else if (room == "Центральная грибница" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Прилавки с товарами",3);
else if (room == "Грибница" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Грибная поляна",2);
else if (room == "Грибная поляна" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Странное Место",3);
else if (room == "Странное Место" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Грибная лужайка",3);
else if (room == "Грибная лужайка" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Центральная грибница",3);
else if (room == "Прилавки с товарами")
external.ClickLink("Илена",3);
else if (room == "Пещеры Мглы" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Внутренний двор",2);
else if (room == "Внутренний двор" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Последний Привал",3);
else if (room == "Последний Привал" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Цветочный Пустырь",3);
else if (room == "Цветочный Пустырь" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Центральный Оазис",3);
else if (room == "Центральный Оазис" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Базар",3);
else if (room == "Базар" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Лавка Бартоломея",3);
else if (room == "Лавка Бартоломея")
external.ClickLink("Бартоломей",3);
}
function MoveFromShopToDung()
{
if (room == "Магазин" && top.frames[external.mainFrameIndex].is_accessible)
{
if(s.match(/Лавка Бартоломея/)) external.ClickLink("Лавка Бартоломея",2);
if(s.match(/Прилавки с товарами/)) external.ClickLink("Прилавки с товарами",2);
}
else if (room == "Лавка Бартоломея" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Базар",3);
else if (room == "Базар" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Центральный Оазис",3);
else if (room == "Центральный Оазис" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Цветочный Пустырь",3);
else if (room == "Цветочный Пустырь" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Последний Привал",3);
else if (room == "Последний Привал" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Внутренний двор",3);
else if (room == "Внутренний двор" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Пещеры Мглы",3);
else if (room == "Прилавки с товарами" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Центральная грибница",3);
else if (room == "Центральная грибница" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Грибная лужайка",3);
else if (room == "Грибная лужайка" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Странное Место",3);
else if (room == "Странное Место" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Грибная поляна",3);
else if (room == "Грибная поляна" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Грибница",3);
}
Добавил режим продажи пуршмота в гос.
включается вот сдесь: