Тема: Что не правильно?
Может кто помочь найти ошибку в коде?
var s = "";
var dungName = "";
var dungeonCoords = "";
var dungeonDirection = 0;
var dungeonPosition = "";
var dungeonLastPosition = "";
var breakAction = false;
var _object = null;
function DungeonMain()
{
s = top.frames[7].document.all[0].innerHTML;
dungName = top.frames[7].location.href.match(/combats.com\/(.+?)\?/)[1];
if(IsMapVisible())
{
external.SetStatusLabel("Поздемелье");
dungeonCoords = s.match(/arrMap = (\[\[.+?\]\])/)[1];
dungeonDirection = top.frames[7].nMyDirection;
dungeonPosition = external.MD5Hash(dungeonCoords + "," + dungeonDirection);
if(dungeonMovementCount[dungeonPosition] == undefined)
dungeonMovementCount[dungeonPosition] = 0;
if(dungeonPosition != dungeonLastPosition)
{
if(dungeonMovementCount[dungeonLastPosition] != undefined)
dungeonMovementCount[dungeonLastPosition]++;
else
dungeonMovementCount[dungeonLastPosition] = 1;
dungeonLastPosition = dungeonPosition;
}
var CurrentDrop = IsDropPresent();
if(CurrentDrop > 0)
{
if(CurrentDrop == 1 && external.SDungeonPickUpObjects.Checked)
{
for(i = 0; i < top.frames[7].document.links.length; i++)
{
var _link = top.frames[7].document.links[i];
if(_link.href.match(/\?get=\d+$/) != null)
{
external.SetStatusLabel("Подбираю вещи...");
_link.click();
return;
}
}
}
else if(CurrentDrop == 2)
{
/* СТАРЫЙ КОД (РАБОЧИЙ) */
var KanalStatLink = s.substring(s.indexOf("'rollconfirm")+14,s.indexOf("'rollconfirm")+74);
KanalStatLink = KanalStatLink.substring(KanalStatLink.indexOf(")'"),KanalStatLink.indexOf(")'")-10);
KanalStatLink = KanalStatLink.substring(KanalStatLink.indexOf(","),10-KanalStatLink.indexOf(",")+1);
KanalStatLink = KanalStatLink.replace(/\,/g, "");
KanalStatLink = KanalStatLink.replace(/\"/g, "");
if(external.SDungeonPickUpObjects.Checked)
KanalStatLink = "?get="+KanalStatLink+"&tmpname423=Да";
else
KanalStatLink = "?get="+KanalStatLink+"&pass=Нет";
top.frames[7].location = "http://" + external.SCity.Text + ".combats.com/" + dungName + KanalStatLink;
return;
/* КОНЕЦ СТАРОГО КОДА */
}
}
breakAction = false;
eval(external.DungeonGetCodeForLocation(dungeonPosition));
}
else
{
if(s.indexOf("Создать группу") > 0)
{
external.SetStatusLabel("Создаю заявку");
PutKanalZayavka();
}
else if(s.indexOf("Начать") > 0)
{
external.SetStatusLabel("Начинаю поход");
StartKanalZayavka();
}
else if(s.indexOf("Наковальня")>0)
{
top.frames[7].navigate("http://"+external.SCity.Text+".combats.com/main.pl?move_dialog=0"+"&"+Math.random());
}
else
external.SetStatusLabel("Не видно карты, не в подземелье, или еще не истекла задержка");
}
}
function randomString()
{
var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";
var string_length = 8;
var randomstring = '';
for (var i=0; i<string_length; i++)
{
var rnum = Math.floor(Math.random() * chars.length);
randomstring += chars.substring(rnum,rnum+1);
}
return randomstring;
}
function PutKanalZayavka()
{
top.frames[7].document.all.mut_noblock.checked = true;
top.frames[7].document.forms[top.frames[7].document.forms.length-1].pass.value = randomString();
top.frames[7].document.all.open.click();
}
function StartKanalZayavka()
{
usedObjects = [];
dungeonMovementCount = [];
dungeonCoords = "";
dungeonDirection = 0;
top.frames[7].document.all.start.click();
}
function IsMapVisible()
{
if(s.match(/arrMap =/) != null)
return true;
else
return false;
}
function IsDropPresent()
{
var r = 0;
if(s.indexOf("?get") > 0 && s.indexOf("слишком много")<1 && s.indexOf("mater247")<1)
r = 1;
if(s.indexOf("'rollconfirm")>0)
r = 2;
return r;
}
function IsWallPresent()
{
var elements = top.frames[7].document.getElementsByTagName("*");
for(var i = 0;i < elements.length;i++)
if(elements[i].className == "LeftFront0_0")
return true;
return false;
}
function UseObjects()
{
if(!IsWallPresent())
{
try
{
if(top.frames[7].arrLayers[1][0]["l"].arrObjects[0])
{
if(s.indexOf("получили")>0 ||
s.indexOf("А что - неплохая мазь от комаров!")>0 || s.indexOf("По форме и цвету свисающих сверху соплей, становится понятно, что лучше туда не соваться.")>0 || s.indexOf("Тяжелые капли уныло вылетают из дырки и шлепаются о землю.")>0 || s.indexOf("Админы ВЦ!")>0 || s.indexOf("А вам было бы приятно, если бы ваше яйцо трогали чужие люди?")>0 || s.indexOf("Интересно, ЧТО там внутри?..")>0 || s.indexOf("Вы подозрительно посмотрели на яйцо. Яйцо подозрительно посмотрело на вас.")>0 || s.indexOf("Вы почесали яйцо.")>0 || s.indexOf("Мертвая вода.")>0 || s.indexOf("Как бы не подскользнуться.. ")>0 || s.indexOf("Выпей отсюда - и ни один доктор тебя не спасет!")>0 || s.indexOf("На поверхности плавает радужная пенка...")>0 || s.indexOf("Омерзительная слизь гнойного цвета.")>0 || s.indexOf("С потолка свисают осклизлые корни")>0 || s.indexOf("С потолка на вас капнуло немного слизи.")>0 || s.indexOf("Напоминает сопли.")>0 || s.indexOf("Что было вначале - курица или яйцо?")>0 || s.indexOf("Того и гляди лопнут ядовитыми спорами...")>0 || s.indexOf("Большие яйца - большая яичница!")>0 || s.indexOf("Большие яйца - большая яичница!")>0 || s.indexOf("Старый и твердый гриб. Он пугает своей неподвижностью")>0 || s.indexOf("Из него получился бы неплохой доспех, только вот оторвать его от стены трудновато.")>0 || s.indexOf("Уродливый нарост.")>0 || s.indexOf("Ваши попытки заговорить с грибом успехом не увенчались.")>0 || s.indexOf("Мягенький...но скверно пахнет.")>0 || s.indexOf("Опасный мох. Сунешь палец - останешься без руки.")>0 || s.indexOf("Похож на чей-то старый парик.")>0 || s.indexOf("Вы потрогали мох. Непонятно, правда, зачем.")>0 || s.indexOf("Из дыры раздаются чавкающие звуки.")>0 || s.indexOf("А вдруг там что-то ценное?")>0 || s.indexOf("Наверняка там живет кто-то страшный..")>0 || s.indexOf("На вид не очень глубокая.")>0 || s.indexOf("Поганки - поганочки!")>0 || s.indexOf("Какие огромные грибы..")>0 || s.indexOf("Шел медведь по лесу, видит - машина горит. Сел в нее и сгорел.")>0 || s.indexOf("Хватит в меня тыкать!")>0 || s.indexOf("Выпученное моргало на ложноножке.. неприятное зрелище.")>0 || s.indexOf("Хватит всякую гадость трогать!")>0 || s.indexOf("По корням ползают отвратительные мелкие насекомые.")>0 || s.indexOf("Там внутри что-то шевелится..")>0 || s.indexOf("Странное, неизвестное биологам растение.")>0 || s.indexOf("Вы почесали глаз.")>0 || s.indexOf("Выглядят вполне съедобно...даже аппетитно!")>0 || s.indexOf("У тебя два, у меня один.")>0 || s.indexOf("Какой пристальный взгляд...")>0 || s.indexOf("не произошло")>0 || s.indexOf("нет необходимых ингредиентов")>0|| s.indexOf("У вас слишком много таких объектов")>0 ||
s.indexOf("По корням ползают отвратительные мелкие насекомые")>0 || s.indexOf("Странное, неизвестное биологам растение")>0
|| s.indexOf("Хватит всякую гадость трогать")>0 || s.indexOf("Из них получился бы отменный яд")>0
|| s.indexOf("Там внутри что-то шевелится")>0 || s.indexOf("Чем-то напоминает водоросли")>0
|| s.indexOf("Набрать бы целый мешок - да продать")>0 || s.indexOf("Среди слизи явно виден разъем для какого-то ключа")>0
|| s.indexOf("Поганки - поганочки!")>0
|| s.indexOf("С Вашего счета списано 10.00 кр. за назойливость. Желаем удачной игры!")>0
|| s.indexOf("Из них получился бы неплохой суп или каша!")>0 || s.indexOf("Говорят, отвар из поганок лечит диарею..")>0
|| s.indexOf("Выглядят вполне съедобно...даже аппетитно!")>0 || s.indexOf("Какие огромные грибы..")>0
|| s.indexOf("Набрать бы целый мешок - да продать.. Вот только трогать страшно")>0
|| s.indexOf("С потолка свисают осклизлые корни")>0
|| s.indexOf("Вид уныл, запах паскуден, а на вкус так вообще пробовать не хочется!")>0
||s.indexOf("Есл ЭТО потрогать - руки вовек не отмыть")>0 || s.indexOf("Омерзительная слизь гнойного цвета.")>0
|| s.indexOf("Напоминает сопли.")>0 || s.indexOf("Нет никакой надежды увидеть через него дневной свет...")>0
|| s.indexOf("Вас снимает скрытая камера!")>0
|| s.indexOf("Смотрит печально на странника око.. Очень без друга ему одиноко..")>0 || s.indexOf("ПО наблюдает за тобой.")>0 || s.indexOf("Какой пристальный взгляд...")>0 || s.indexOf("Выпученное моргало на ложноножке.. неприятное зрелище.")>0
|| s.indexOf("Вы чувствуете странную тоску, глядя на него..")>0 || s.indexOf("У тебя два, у меня один.")>0
|| s.indexOf("Хватит в меня тыкать!")>0
|| s.indexOf("Вам хочется покормить его, но Вы не знаете, в какое отверстие вставлять еду.")>0
|| s.indexOf("Выпученное моргало на ложноножке.. неприятное зрелище.")>0
|| s.indexOf("Бабушка, бабушка, а почему у тебя такие большие глаза?")>0
|| s.indexOf("Вы потрогали мох. Непонятно, правда, зачем.")>0
||s.indexOf("Излучает странное, непонятное сияние. Лучше рядом с ним долго не стоять")>0
|| s.indexOf("Опасный мох. Сунешь палец - останешься без руки.")>0 || s.indexOf("Мягенький...но скверно пахнет.")>0
|| s.indexOf("Уютный, мягкий мох. Рос бы на полу - можно было бы на нем выспаться.")>0
|| s.indexOf("Попробовав кусочек, вы ощущаете странную горечь во рту.")>0
|| s.indexOf("Конечно, можно стоять и в мох тыкать - но монстры от этого сами собой не умрут!")>0 ||
s.indexOf("Уродливый нарост.")>0 ||
s.indexOf("Из него получился бы неплохой доспех, только вот оторвать его от стены трудновато.")>0 ||
s.indexOf("Безразличный ко всему происходящему гриб, растет здесь уже тысячу лет.")>0 ||
s.indexOf("Несмотря на старость, гриб по-прежнему крепок.")>0 ||
s.indexOf("Ваши попытки заговорить с грибом успехом не увенчались.")>0 ||
s.indexOf("Битые и загрязненные яйца следует использовать только в тесто.")>0 ||
s.indexOf("Киндер-Сюрприз!")>0 ||
s.indexOf("Что было вначале - курица или яйцо?")>0 ||
s.indexOf("Ловля светлячков очень успокаивает. Особенно в сумрачном подземелье наполненном монстрами.")>0 ||
s.indexOf("яйца следует использовать только в тесто.")>0 ||
s.indexOf("Нельзя заглянуть в нишу, пока кто-то из монстров ошивается поблизости.")>0 ||
s.indexOf("Попахивает")>0 || s.indexOf("Ничего не произошло")>0 || s.indexOf("нет необходимых ингредиентов")>0)
usedObjects["\"" + _object.id + "\""] = true;
for(var i=0; i<top.frames[7].arrLayers[1][0]["l"].arrObjects.length; i++)
{
_object = top.frames[7].arrLayers[1][0]["l"].arrObjects[i];
if(!usedObjects["\"" + _object.id + "\""])
{
external.SetStatusLabel("Копаюсь в хламе...");
top.frames[7].location = "http://" + external.SCity.Text + ".combats.com/" + dungName + "?useobj=" + _object.id;
breakAction = true;
return;
}
}
}
}
catch(err)
{
}
}
}
function AttackMobs()
{
if(!IsWallPresent())
{
try
{
if(top.frames[7].arrLayers[1][0]["l"].arrUnits[0])
{
if(top.frames[7].arrLayers[1][0]["l"].arrUnits[0].action != "")
{
if(tkHP >= maxHP * 0.9)
{
external.SetStatusLabel("Нападаю на мобов");
if(external.SDungeonAttackMobs.Checked)
top.frames[7].location = "http://" + external.SCity.Text +".combats.com/" + dungName + "?attack=1&use=" + top.frames[7].arrLayers[1][0]["l"].arrUnits[0].id;
}
breakAction = true;
return;
}
}
}
catch(err)
{
}
}
}
function Exit()
{
if(breakAction)
return;
top.frames[7].location = top.frames[7].document.links[0].href;
}
function Walk(step)
{
if(breakAction)
return;
if(step == "rl" || step == "rr")
top.frames[7].location = "http://" + external.SCity.Text + ".combats.com/" + dungName + "?rnd=" + Math.random() + "&path=" + step;
else
{
if(top.frames[7].is_accessible)
top.frames[7].location = "http://" + external.SCity.Text + ".combats.com/" + dungName + "?rnd=" + Math.random() + "&path=" + step;
}
}