1

Тема: Не могу запустить бота ходить

Подскажите плиз что делать уже все нервы порвал.....Бот не ходит по маршрутам....Сейчас нахожусь в грибнице..Статус Поздемелье- это так в клиенте прописано...))

Re: Не могу запустить бота ходить

новый маршрут надо написать.не нервничай

!!!!!!!

3

Re: Не могу запустить бота ходить

У меня ходит, щас проверяю, по 1-2 этажам один маршрут и щас проверю через 10 мин по 3 этажу

Не делай овно другим, тебе прилетит в тройне...

Re: Не могу запустить бота ходить

Евгений Ваганович пишет:

новый маршрут надо написать.не нервничай

В смысле новый? опять чтото переделали? а то у меня тупо стоит и клацает по грибам, хотя фразы от Петро уже вставил

Re: Не могу запустить бота ходить

Скиньте кто нибудь содержимое файла дангеон чтоб сверить, может чтото не так сделал.

6

Re: Не могу запустить бота ходить

Да маршрут который был видемо опять сбился третьего этажа, не ходит там) Буду писать теперь )

Не делай овно другим, тебе прилетит в тройне...

Re: Не могу запустить бота ходить

hydralysk пишет:

Да маршрут который был видемо опять сбился третьего этажа, не ходит там) Буду писать теперь )

На какой стадии завершения маршрут? и какой он будет 1-2-3 этажи? Надеюсь без безконечных общений с грибами?  smile

8

Re: Не могу запустить бота ходить

Значит не туда вставил, если клацает всё время...
Там несколько кусков с

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)

Ответы на большинство вопросов связанных с ботом, вы найдёте здесь: (Please log in or register to see this URL)
(Please log in or register to see this URL) - проверил лично! Подробнее (Please log in or register to see this URL)

Re: Не могу запустить бота ходить

Содержимое файла дангеон, что тут не так?

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;
    }
}

10

Re: Не могу запустить бота ходить

нашел решение просблемы с копанием в кучах, но какое то оно геморное(
надо на каждую фразу прописыва s.indexOf("фраза")>0
написал до ниже приведенного, надоело) никак нельзя попроще сделать?

s.indexOf("Чем-то напоминает водоросли.. Мохнатые зеленые водоросли.")>0 || s.indexOf("По корням ползают отвратительные мелкие насекомые.")>0 || s.indexOf("Яйца, яйца.. ими все любуюца.. Яйца, яйца.. из них выходит курица")>0 || s.indexOf("Если ЭТО потрогать - руки вовек не отмыть")>0 || s.indexOf("Вид уныл, запах паскуден, а на вкус так вообще пробовать не хочется!")>0 ||

11

Re: Не могу запустить бота ходить

Rapidshe
Ты, конечно, молодец, что нашёл решение данной проблемы, но это решение давно уже найдено, а списки фраз составлены.

Отредактировано Петро (2010-04-15 20:46:01)

Ответы на большинство вопросов связанных с ботом, вы найдёте здесь: (Please log in or register to see this URL)
(Please log in or register to see this URL) - проверил лично! Подробнее (Please log in or register to see this URL)

12

Re: Не могу запустить бота ходить

чего язвить то сразу)
тему ту читал,не заметил)

13

Re: Не могу запустить бота ходить

Это я не язвлю)) Если бы ты прочитал сообщение до редактирования, написанное сгоряча - наверное обиделся бы hmm

Ответы на большинство вопросов связанных с ботом, вы найдёте здесь: (Please log in or register to see this URL)
(Please log in or register to see this URL) - проверил лично! Подробнее (Please log in or register to see this URL)

14

Re: Не могу запустить бота ходить

я его прочитал) и ответ был на него)))
а вообще все понятно)) когда постят подобные сообщения на форуме, где я завсегдатый и в теме рулю, те же эмоции))