Тема: Не могу запустить бота ходить
Подскажите плиз что делать уже все нервы порвал.....Бот не ходит по маршрутам....Сейчас нахожусь в грибнице..Статус Поздемелье- это так в клиенте прописано...))
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Страницы 1
Чтобы отправить ответ, вы должны вход или регистрация
Подскажите плиз что делать уже все нервы порвал.....Бот не ходит по маршрутам....Сейчас нахожусь в грибнице..Статус Поздемелье- это так в клиенте прописано...))
новый маршрут надо написать.не нервничай
У меня ходит, щас проверяю, по 1-2 этажам один маршрут и щас проверю через 10 мин по 3 этажу
новый маршрут надо написать.не нервничай
В смысле новый? опять чтото переделали? а то у меня тупо стоит и клацает по грибам, хотя фразы от Петро уже вставил
Скиньте кто нибудь содержимое файла дангеон чтоб сверить, может чтото не так сделал.
Да маршрут который был видемо опять сбился третьего этажа, не ходит там) Буду писать теперь )
Да маршрут который был видемо опять сбился третьего этажа, не ходит там) Буду писать теперь )
На какой стадии завершения маршрут? и какой он будет 1-2-3 этажи? Надеюсь без безконечных общений с грибами?
Значит не туда вставил, если клацает всё время...
Там несколько кусков с
s.indexOf()
Найди в dungeon.js у себя:
function UseObjects()
{
if(!IsWallPresent())
{
try
{
if(top.frames[external.mainFrameIndex].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)
usedObjects["\"" + _object.id + "\""] = true;
for(var i=0; i<top.frames[external.mainFrameIndex].arrLayers[1][0]["l"].arrObjects.length; i++)
{
_object = top.frames[external.mainFrameIndex].arrLayers[1][0]["l"].arrObjects[i];
if(!usedObjects["\"" + _object.id + "\""])
{
external.SetStatusLabel("Копаюсь в хламе...");
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/" + dungName + "?useobj=" + _object.id;
breakAction = true;
return;
}
}
}
}
catch(err)
{
}
}
}
Отредактировано Петро (2010-04-15 13:01:36)
Содержимое файла дангеон, что тут не так?
var s = "";
var dungName = "";
var dungeonCoords = "";
var dungeonDirection = 0;
var dungeonPosition = "";
var dungeonLastPosition = "";
var dungeonStartTime = 0;
var breakAction = false;
var _id = "";
var _object = null;
function DungeonMain()
{
s = top.frames[external.mainFrameIndex].document.all[0].innerHTML;
if(IsMapVisible())
{
dungName = top.frames[external.mainFrameIndex].location.href.match(/combats.com\/(.+?)\?/)[1];
var date = new Date();
var currentTime = parseInt(String(date.getTime()).substring(0,10));
if((external.SDungeonExitTime.Text != "0") && ((currentTime - dungeonStartTime)/60 >= parseInt(external.SDungeonExitTime.Text)))
{
top.frames[external.mainFrameIndex].location = top.frames[external.mainFrameIndex].document.links[0].href;
return;
}
external.SetStatusLabel("Подземелье");
dungeonCoords = s.match(/arrMap = (\[\[.+?\]\])/)[1];
dungeonDirection = top.frames[external.mainFrameIndex].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;
}
if(external.SDungeonPickUpObjects.Checked)
{
var drop = s.match(/\?get=(\d+)/g);
if(drop != null)
{
if(s.indexOf("слишком много") > 0 || s.indexOf("У вас уже есть один такой предмет") > 0)
usedObjects[_id] = true;
for(i = 0; i < drop.length; i++)
{
_id = drop[i].match(/\d+/);
if(!usedObjects[_id])
{
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/" + dungName + drop[i];
return;
}
}
}
}
if(s.indexOf("'rollconfirm")>0)
{
var drop = s.match(/'rollconfirm\(.+?,.+?,\"\d+\"\)/g);
if(drop != null)
{
if(s.indexOf("слишком много") > 0 || s.indexOf("У вас уже есть один такой предмет") > 0 || (s.indexOf("Вы уже сделали свой бросок") > 0 && !external.SDungeonPickUpObjects.Checked))
usedObjects[_id] = true;
for(i = 0; i < drop.length; i++)
{
_id = drop[i].match(/\"(\d+)\"/)[1];
if(!usedObjects[_id])
{
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/" + dungName + "?get=" + _id + (external.SDungeonPickUpObjects.Checked ? "&tmpname423=Да": "&pass=Нет");
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[3].navigate("http://"+external.SCity.Text+".combats.com/main.pl?move_dialog=0"+"&"+Math.random());
}
else
{
external.SetStatusLabel("Не видно карты, не в подземелье, или еще не истекла задержка");
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/dungeon.pl";
}
}
}
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[external.mainFrameIndex].document.all.mut_noblock.checked = true;
top.frames[external.mainFrameIndex].document.forms[top.frames[external.mainFrameIndex].document.forms.length-1].pass.value = randomString();
top.frames[external.mainFrameIndex].document.all.open.click();
}
function StartKanalZayavka()
{
usedObjects = [];
dungeonMovementCount = [];
dungeonCoords = "";
dungeonDirection = 0;
var date = new Date();
dungeonStartTime = parseInt(String(date.getTime()).substring(0,10));
top.frames[external.mainFrameIndex].document.all.start.click();
}
function IsMapVisible()
{
if(top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/arrMap =/) != null)
return true;
else
return false;
}
function IsWallPresent()
{
var elements = top.frames[external.mainFrameIndex].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[external.mainFrameIndex].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("С Вашего счета списано 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) usedObjects["\"" + _object.id + "\""] = true;
for(var i=0; i<top.frames[external.mainFrameIndex].arrLayers[1][0]["l"].arrObjects.length; i++)
{
_object = top.frames[external.mainFrameIndex].arrLayers[1][0]["l"].arrObjects[i];
if(!usedObjects["\"" + _object.id + "\""])
{
external.SetStatusLabel("Копаюсь в хламе...");
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/" + dungName + "?useobj=" + _object.id;
breakAction = true;
return;
}
}
}
}
catch(err)
{
}
}
}
function AttackMobs()
{
if(!IsWallPresent())
{
try
{
if(top.frames[external.mainFrameIndex].arrLayers[1][0]["l"].arrUnits[0])
{
if(top.frames[external.mainFrameIndex].arrLayers[1][0]["l"].arrUnits[0].action != "")
{
var attack = tkHP >= (maxHP * (parseInt(external.SDungeonAttackHP.Text) / 100));
if(external.SCharType.SelectedIndex == 1)
attack = attack && tkMana >= (maxMana * (parseInt(external.SDungeonAttackMana.Text) / 100));
if(attack)
{
external.SetStatusLabel("Нападаю на мобов");
if(external.SDungeonAttackMobs.Checked)
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text +".combats.com/" + dungName + "?attack=1&use=" + top.frames[external.mainFrameIndex].arrLayers[1][0]["l"].arrUnits[0].id;
}
breakAction = true;
return;
}
}
}
catch(err)
{
}
}
}
function Exit()
{
if(breakAction)
return;
top.frames[external.mainFrameIndex].location = top.frames[external.mainFrameIndex].document.links[0].href;
}
function Walk(step)
{
if(breakAction)
return;
if(step == "rl" || step == "rr")
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/" + dungName + "?rnd=" + Math.random() + "&path=" + step;
else
{
if(top.frames[external.mainFrameIndex].is_accessible)
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/" + dungName + "?rnd=" + Math.random() + "&path=" + step;
}
}
нашел решение просблемы с копанием в кучах, но какое то оно геморное(
надо на каждую фразу прописыва s.indexOf("фраза")>0
написал до ниже приведенного, надоело) никак нельзя попроще сделать?
s.indexOf("Чем-то напоминает водоросли.. Мохнатые зеленые водоросли.")>0 || s.indexOf("По корням ползают отвратительные мелкие насекомые.")>0 || s.indexOf("Яйца, яйца.. ими все любуюца.. Яйца, яйца.. из них выходит курица")>0 || s.indexOf("Если ЭТО потрогать - руки вовек не отмыть")>0 || s.indexOf("Вид уныл, запах паскуден, а на вкус так вообще пробовать не хочется!")>0 ||
Rapidshe
Ты, конечно, молодец, что нашёл решение данной проблемы, но это решение давно уже найдено, а списки фраз составлены.
Отредактировано Петро (2010-04-15 20:46:01)
чего язвить то сразу)
тему ту читал,не заметил)
Это я не язвлю)) Если бы ты прочитал сообщение до редактирования, написанное сгоряча - наверное обиделся бы
я его прочитал) и ответ был на него)))
а вообще все понятно)) когда постят подобные сообщения на форуме, где я завсегдатый и в теме рулю, те же эмоции))
Страницы 1
Чтобы отправить ответ, вы должны вход или регистрация