51

(8 ответов, оставленных в Подземелье / Маршруты)

Создай плагин с названием toDungeon.js и забрось это:

function toDungeon(enabled)
{
        toDungeonTimer[mylogin] = setInterval("toDungeonHandler()",36000);
}
function toDungeonHandler()
{
if(room == "Спуск в катакомбы" && top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/Никогда и никому не говорите пароль от своего персонажа/) && top.frames[external.mainFrameIndex].is_accessible)
                    Walk("Спуск в Катакомбы");
}
function Walk(name)
{
    var imgs = top.frames[external.mainFrameIndex].document.images;
    for(i = 0;i<imgs.length;i++)
    {
        if(imgs[i].outerHTML.match(name) && imgs[i].style.visibility != "hidden" && imgs[i].onclick && (imgs[i].height*imgs[i].width)>60)
        {
            external.AddToChat("Иду в " + name);
            imgs[i].click();
            break;
        }
    }
}

По задумке должно проверять каждые 5 минут, если ты не на входе - то будет заходить.

52

(8 ответов, оставленных в Подземелье / Маршруты)

можно плагин написать, там буквально пару строк

53

(18 ответов, оставленных в Флейм)

malrom пишет:

gorlum
ну когда Internal Server Error возникает или Service Temporary Unavailable, как из них бот выходит?

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

54

(18 ответов, оставленных в Флейм)

Каким образом?

Сабж, курс 1 к 70, если забираете все - сбросим до 1 к 75. Предложение актуально до субботы.

56

(18 ответов, оставленных в Флейм)

Не по-этому палят что ты написал) Эта тема уже стара как мир и бота уже давно сделали так, что бы он не делал таких ошибок, как ты написал в личке.

57

(18 ответов, оставленных в Флейм)

мне тоже в личку напиши свои соображения по поводу палева)

58

(54 ответов, оставленных в JavaScript)

А в закладку "Амуниция" заходит?

59

(54 ответов, оставленных в JavaScript)

var min = 1000;
var max = 3000;
var randomValue;
var needToBuy = 10;
var leftToBuy = 0;
var buyingFinished = false;
var room = '';
var streluTimer = {}
var itemName = "Обычные стрелы для арбалета";
 
function strelu(enabled)
{
    if(enabled)
    {
        streluTimer[mylogin] = setInterval("streluHandler()",2000);   
    }
    else
    {
        clearInterval(streluTimer[mylogin]);
    }
}
function streluHandler()
{   
    try
    {
        external.AddToChat(buyingFinished);
        clearInterval(streluTimer[mylogin]);
        randomValue = Math.floor(Math.random()*(max - min) + min);
        streluTimer[mylogin] = setInterval("streluHandler()", randomValue);
 
        if(external.ArrowsEnds)
        {
            leftToBuy = needToBuy;
            return;
        }
 
        if(get_mainframe().document.all[0].innerHTML.match(/Недостаточно места в рюкзаке/) || get_mainframe().document.all[0].innerHTML.match(/Недостаточно денег/))
            buyingFinished = true;
 
        external.SBattleAbovePercent.Text = 101;
        var s = top.frames[external.mainFrameIndex].document.all[0].innerHTML;
        if(room = s.match(/<nobr>([^<]+)<\/nobr>/))
                room = String(room[1]);
        if(!buyingFinished)
        {
            if(room == null)
                {
                    if(s.match(/drwfl\("Бартоломей",/i)) external.ClickLink("подойти к прилавку",2);
                    //тут идут условия для остальных ботов
                }
            else if(room.match(/Зал воинов/i) && 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 == "Центральный Оазис" && 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 == "Бойцовский Клуб" && (external.SCity.Text == "lowcity" || external.SCity.Text == "oldcity" || external.SCity.Text == "dreamcity") && top.frames[external.mainFrameIndex].is_accessible)
                external.ClickLink("Центральная Площадь",3);
            else if (room == "Центральная Площадь" && top.frames[external.mainFrameIndex].is_accessible)
                    if(!external.ClickLink("Магазин",3)) alert("tt");
 
            else if(room == "Магазин")
            {
                external.AddToChat(buyingFinished);
                if(s.match(/Отдел \"Амуниция\"/i) == null) external.ClickLink("Амуниция",2);
                else
                {
                    if(leftToBuy == 0)
                    {
                        buyingFinished = true;
                        return;
                    }
 
                    if(external.level <= 7)
                    {
                        //покупка за зубы. Хз как сделать
                    }
                    else
                    {
                        external.AddToChat(buyingFinished);
                        external.ClickLink(itemName,3);
                        buyingFinished = true;
                        top.frames[external.mainFrameIndex].document.getElementsByName("count")[0].value = needToBuy;
                        top.frames[external.mainFrameIndex].document.forms[0].submit();
                        external.AddToChat(buyingFinished);                       
                    }                   
                }
            }
        }
        else
        {
            if(room == "Магазин" && external.SCity.Text == "sandcity" && top.frames[external.mainFrameIndex].is_accessible)
                external.ClickLink("Лавка Бартоломея",2);
            else if (room == "Лавка Бартоломея")
                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);
                external.ArrowsEnds = true;
                buyingFinished = false;
                external.SBattleAbovePercent.Text = 100;
            }
        }
    }
    catch(err)
    {
        external.AddToChat("err");
    }
}

Запусти этот, в нем баингфиниш показывает свое значение в чат, тогда точно будет понятно, он это или нет.

60

(54 ответов, оставленных в JavaScript)

А если вместо итемнейма вписать bolt_common100 например?

Вот так вот:

function streluzub(enabled)
{
    if(enabled)
    {
        streluzubTimer = setInterval("streluzubHandler()",2000);   
    }
    else
    {
        clearInterval(streluzubTimer);
    }
}
function streluzubHandler()
{
    for(var i=0; i<needToBuy; i++)
    {
        if(get_mainframe().document.all[0].innerHTML.match(/Недостаточно места в рюкзаке/) && get_mainframe().document.all[0].innerHTML.match(/Недостаточно денег/))
        {
            buyingFinished = true;
            return;
        }
        else
        external.ClickLink(bolt_common100,2);
    }
 
 
}

61

(54 ответов, оставленных в JavaScript)

В нубогороде не хочет заходить в магаз почему-то. И почему нельзя сделать покупку за зубы вот так?

function streluzub(enabled)
{
    if(enabled)
    {
        streluzubTimer = setInterval("streluzubHandler()",2000);   
    }
    else
    {
        clearInterval(streluzubTimer);
    }
}
function streluzubHandler()
{
    for(var i=0; i<needToBuy; i++)
    {
        if(get_mainframe().document.all[0].innerHTML.match(/Недостаточно места в рюкзаке/) && get_mainframe().document.all[0].innerHTML.match(/Недостаточно денег/))
        {
            buyingFinished = true;
            return;
        }
        else
        external.ClickLink(itemName,3);
    }
 
 
}
if(external.level <= 7)
      {
          streluzubHandler();
      }

То есть, при нажатой кнопке "Стоп" и тебя чар ходит по подземке?

unnamed пишет:

и всё же, возможно установить условие на *юзалось ли выжить* или  нет?

Можно попросить Анахроника, что бы сделал екстернал для проверки юзанья "выжить")

64

(26 ответов, оставленных в Настройки / Плагины)

Первый приём

if(top.Battle.oBattle.oEnemySlot.oLayer.innerHTML.match(/sword[\d]+.gif/))
        _name = "focus";
    else if(top.Battle.oBattle.oEnemySlot.oLayer.innerHTML.match(/axe[\d]+.gif/))
        _name = "focus";

Второй

if(!top.Battle.oBattle.oEnemySlot.oLayer.innerHTML.match(/knife[\d]+.gif/))||if(!top.Battle.oBattle.oEnemySlot.oLayer.innerHTML.match(/crossbow[\d]+.gif/)){
var target_button = top.Battle.oBattle.arrButtons["focus_target"];
if(target_button.style.visibility != "hidden" && !target_button.bChecked)
target_button.click();
}

if(top.Battle.oBattle.oEnemySlot.oLayer.innerHTML.match(/knife[\d]+.gif/))||if(top.Battle.oBattle.oEnemySlot.oLayer.innerHTML.match(/crossbow[\d]+.gif/)){
var target_button = top.Battle.oBattle.arrButtons["focus_target"];
if(target_button.style.visibility != "hidden" && target_button.bChecked)
target_button.click();
}

Третий.

По идее должно работать.

LurkeR82 пишет:

Добрый день! испытал палагин из первого поста в ангельсе
Задание взял, начал поход и встал на первой клетке данжа.
Выключаешь плагин перезапускаешь бота и все норма бот начинает ходить.
Версия бота 9.1.1

Попробуй так:

var uspeh=false;
var proverkaTimer = {};
var zadanieTimer = {};
var questIsActive = false;
var room ='';
var randomValue;
var min = 360000;
var max = 400000;
 
function zadanie(enabled)
{
    if(enabled)
    {
        proverkaTimer[mylogin] = setInterval("proverkaHandler()",1000);
    }
    else
    {
        if(zadanieTimer[mylogin]) clearInterval(zadanieTimer[mylogin]);
        external.SBattleAbovePercent.Text = 100;
        clearInterval(proverkaTimer[mylogin]);
    }
}
 
function proverkaHandler()
{
    clearInterval(proverkaTimer[mylogin]);
    randomValue = Math.floor(Math.random()*(max - min) + min);
    proverkaTimer[mylogin] = setInterval("proverkaHandler()", randomValue);
    if(top.Battle.bInBattle || top.frames[external.mainFrameIndex].location.toString().match(/dungeon\d+\.pl/i))
    {
        external.SBattleAbovePercent.Text = 100;
        return;
    }
    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";
    if(external.SCity.Text == "sandcity")
        tempstr = "Sandcity</B> - Рыцарь первого круга, 100300 / 24999";
    if(external.SCity.Text == "angelscity")
        tempstr = "Angels city</B> - Рыцарь первого круга, 10000 / 24999";
    if(external.SCity.Text == "demonscity")
        tempstr = "Demons city</B> - Рыцарь первого круга, 24999 / 24999";
    if(external.SCity.Text == "mooncity")
        tempstr = "Mooncity</B> - Рыцарь первого круга, 24999 / 24999";
 
    if(zadanieTimer[mylogin]) clearInterval(zadanieTimer[mylogin]);   
    zadanieTimer[mylogin] = setInterval("zadanieHandler()",3000);
 
    if(temp_inf.indexOf(tempstr) > -1 )
    {
        external.AddToChat("Задания не требуется");
        uspeh = true;
        questIsActive = false;
        return;
    }
    var patt = external.SCity.Text + " - \\d+ (мин|ч.|сек)";
    if(!temp_inf.toLowerCase().match(patt))
    {
        external.AddToChat("Требуется взять задание");
        uspeh = false;
    }
    else
    {
        external.AddToChat("Задания не требуется");
        uspeh = true;
        questIsActive = false;
    }
}
 
function zadanieHandler()
{
    try
    {
        if(top.Battle.bInBattle || top.frames[external.mainFrameIndex].location.toString().match(/dungeon\d+\.pl/i)) return;
        var temp_p = top.frames[external.mainFrameIndex].document.all[0].innerHTML;
        if(room = temp_p.match(/<nobr>([^<]+)<\/nobr>/))
            room = String(room[1])
 
        if(uspeh==false || questIsActive)
        {
            if(room)
            {
                if (room == "Центральная грибница" && top.frames[external.mainFrameIndex].is_accessible)
                    Walk("Грибная лужайка");
                else if(room == "Грибная лужайка" && top.frames[external.mainFrameIndex].is_accessible)
                    Walk("Странное Место");
                else if(room == "Странное Место" && top.frames[external.mainFrameIndex].is_accessible)
                    Walk("Грибная поляна");
                else if(room == "Грибная поляна" && top.frames[external.mainFrameIndex].is_accessible)
                    Walk("Грибница");
                else if(room == "Бойцовский Клуб" && external.SCity.Text == "suncity" && top.frames[external.mainFrameIndex].is_accessible)
                    Walk("Центральная грибница");
                else if(room == "Бойцовский Клуб" && external.SCity.Text == "angelscity" && top.frames[external.mainFrameIndex].is_accessible)
                    Walk("Центральный утес");
                else if(room == "Бойцовский Клуб" && external.SCity.Text == "mooncity" && top.frames[external.mainFrameIndex].is_accessible)
                    Walk("Центр падения");
                else if(room == "Бойцовский Клуб" && external.SCity.Text == "sandcity" && top.frames[external.mainFrameIndex].is_accessible)
                    Walk("Центральный Оазис");
                else if(room == "Бойцовский Клуб" && external.SCity.Text == "demoncity" && top.frames[external.mainFrameIndex].is_accessible)
                    Walk("Центральный Разлом");
                else if(room.match(/Зал воинов/i) && top.frames[external.mainFrameIndex].is_accessible)
                    Walk("\'Бойцовский Клуб\'");
                else if(room == "Центральный утес" && top.frames[external.mainFrameIndex].is_accessible)
                    Walk("Каменно-цветочная гряда");
                else if(room == "Каменно-цветочная гряда" && top.frames[external.mainFrameIndex].is_accessible)
                    Walk("Утес безысходности");
                else if(room == "Утес безысходности" && top.frames[external.mainFrameIndex].is_accessible)
                    Walk("Вход в Заповедник");
                else if(room == "Вход в Заповедник" && top.frames[external.mainFrameIndex].is_accessible)
                    Walk("Спуск в Бездну");
                else if(room == "Центральный Оазис" && top.frames[external.mainFrameIndex].is_accessible)
                    Walk("Цветочный Пустырь");
                else if(room == "Цветочный Пустырь" && top.frames[external.mainFrameIndex].is_accessible)
                    Walk("Последний Привал");
                else if(room == "Последний Привал" && top.frames[external.mainFrameIndex].is_accessible)
                    Walk("Внутренний двор");
                else if(room == "Внутренний двор" && top.frames[external.mainFrameIndex].is_accessible)
                    Walk("Пещеры Мглы");
                else if(room == "Центр падения" && top.frames[external.mainFrameIndex].is_accessible)
                    Walk("Спящая площадь");
                else if(room == "Спящая площадь" && top.frames[external.mainFrameIndex].is_accessible)
                    Walk("Улица Камней");
                else if(room == "Улица Камней" && top.frames[external.mainFrameIndex].is_accessible)
                    Walk("Проклятые Руины");
                else if(room == "Центральный Разлом" && top.frames[external.mainFrameIndex].is_accessible)
                    Walk("Разлом Поклонения");
                else if(room == "Разлом Поклонения" && top.frames[external.mainFrameIndex].is_accessible)
                    Walk("Дорога Храбрости");
                else if(room == "Дорога Храбрости" && top.frames[external.mainFrameIndex].is_accessible)
                    Walk("Спуск в катакомбы");
                else if(room == "Проклятые Руины" && top.frames[external.mainFrameIndex].is_accessible)
                    Walk("Пещера Тысячи проклятий");
                else if(room == "Спуск в катакомбы" && top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/Никогда и никому не говорите пароль от своего персонажа/) && top.frames[external.mainFrameIndex].is_accessible)
                    Walk("Спуск в Катакомбы");
                else if(room == "Пещера Тысячи проклятий" && top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/Никогда и никому не говорите пароль от своего персонажа/) && top.frames[external.mainFrameIndex].is_accessible)
                    Walk("Пещера Тысячи проклятий");
                else if((room == "Спуск в Катакомбы" || room == "Пещера Тысячи проклятий" || room == "Пещеры Мглы" || room == "Грибница" || room == "Спуск в Бездну"))
                {
                    if(uspeh == false && top.frames[external.mainFrameIndex].document.getElementsByName("pass").length > 0)
                    {
                        var btn = top.frames[external.mainFrameIndex].document.getElementsByTagName("INPUT");
                        for(i = 0;i<btn.length;i++)
                        {
                            if(btn[i].outerHTML.match(/Задания/) && btn[i].style.visibility!="hidden")
                            {
                                btn[i].click();
                                break;
                            }
                        }
                    }
                }
            }
            else
            {
                if(top.frames[external.mainFrameIndex].document.getElementsByName("quest_name").length > 0 && uspeh == false)
                {
                    external.AddToChat("Завершаем задание");
                    if(top.frames[external.mainFrameIndex].document.getElementsByName("finishquest").length > 0)
                    {
                        top.frames[external.mainFrameIndex].document.getElementsByName("finishquest")[0].click();
                        uspeh = false;
                        questIsActive = false;
                        external.AddToChat("Завершаем задание");
                    }
                    if(!top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/Репутация в Suncity: 0/))
                    {
                        if(top.frames[external.mainFrameIndex].document.getElementsByName("getquest").length > 0)
                        {
                            top.frames[external.mainFrameIndex].document.getElementsByName("getquest")[0].click();
                            external.AddToChat("Работает взятие задания");
                        }
                        else external.AddToChat("Задание уже есть");
                        uspeh=true;
                        questIsActive = true;
                    }
 
                    if(top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/Вы получили новое задание/))
                    {
                        uspeh=true;
                        questIsActive = true;
                    }
                    else if(top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/Для вас нет заданий/))
                        {
                            uspeh = true;
                            questIsActive = false;
                        }
 
                    if(uspeh == true)
                    {
                        external.AddToChat("Работает выход из комнаты");
                        btn = top.frames[external.mainFrameIndex].document.getElementsByTagName("INPUT");
                        for(i = 0;i<btn.length;i++)
                        {
                            if(btn[i].outerHTML.match(/Вернуться/) && btn[i].style.visibility!="hidden")
                            {
                                btn[i].click();
                                break;
                            }
                        }
                    }           
                }
            }
        }
        if(questIsActive && uspeh)
        {
            if(top.frames[external.mainFrameIndex].document.getElementsByName("pass").length > 0 && (room == "Спуск в Катакомбы" || room == "Пещера Тысячи проклятий" || room == "Пещеры Мглы" || room == "Грибница" || room == "Спуск в Бездну"))
            {
                external.dungeonEnabled = true;
                external.DungeonLoadPath("имя");
                external.SBattleAbovePercent.Text = 100;
            }
        }
        if(!questIsActive && uspeh)
        {
            external.dungeonEnabled = false;
            var loc = '';
            if(external.SCity.Text == "suncity")
                loc = "Грибная поляна";
            if(external.SCity.Text == "sandcity")
                loc = "Внутренний двор";
            if(external.SCity.Text == "angelscity")
                loc = "Вход в Заповедник";
            if(external.SCity.Text == "demonscity")
                loc = "Спуск в катакомбы";
            if(external.SCity.Text == "mooncity")
                loc = "Пещера Тысячи проклятий";
 
            if((room == "Спуск в Катакомбы" || room == "Пещера Тысячи проклятий" || room == "Пещеры Мглы" || room == "Грибница" || room == "Спуск в Бездну") && top.frames[external.mainFrameIndex].document.getElementsByName("pass").length > 0)
            {
                external.SBattleAbovePercent.Text = 101;
                var tmp = top.frames[external.mainFrameIndex].document.anchors;
                for(i = 0;i<tmp.length;i++)
                {
                    if(tmp[i].outerHTML.match(loc) && tmp[i].style.visibility!="hidden" && tmp[i].onclick)
                    {
                        tmp[i].click();
                        break;
                    }
                }
            }
            else if(room == "Грибная поляна" && top.frames[external.mainFrameIndex].is_accessible)
                Walk("Странное Место");
            else if(room == "Спуск в катакомбы" && top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/Никогда и никому не говорите пароль от своего персонажа/) && top.frames[external.mainFrameIndex].is_accessible)
                Walk("Дорога Храбрости");   
            else if(room == "Пещера Тысячи проклятий" && top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/Никогда и никому не говорите пароль от своего персонажа/) && top.frames[external.mainFrameIndex].is_accessible)
                Walk("Проклятые Руины");
            else if(room == "Дорога Храбрости" && top.frames[external.mainFrameIndex].is_accessible)
                Walk("Разлом Поклонения");
            else if(room == "Разлом Поклонения" && top.frames[external.mainFrameIndex].is_accessible)
                Walk("Центральный Разлом");               
            else if(room == "Проклятые Руины" && top.frames[external.mainFrameIndex].is_accessible)
                Walk("Улица Камней");
            else if(room == "Улица Камней" && top.frames[external.mainFrameIndex].is_accessible)
                Walk("Спящая площадь");
            else if(room == "Спящая площадь" && top.frames[external.mainFrameIndex].is_accessible)
                Walk("Центр падения");
            else if(room == "Центр падения" && top.frames[external.mainFrameIndex].is_accessible)
                Walk("Бойцовский Клуб");                 
            else if(room == "Странное Место" && top.frames[external.mainFrameIndex].is_accessible)
                Walk("Грибная лужайка");
            else if(room == "Грибная лужайка" && top.frames[external.mainFrameIndex].is_accessible)
                Walk("Центральная грибница");
            else if(room == "Центральная грибница" && top.frames[external.mainFrameIndex].is_accessible)
                Walk("Бойцовский Клуб");
            else if(room == "Бойцовский Клуб" && top.frames[external.mainFrameIndex].is_accessible)
                Walk("Зал воинов");
            else if(room == "Вход в Заповедник" && top.frames[external.mainFrameIndex].is_accessible)
                Walk("Утес безысходности");
            else if(room == "Утес безысходности" && top.frames[external.mainFrameIndex].is_accessible)
                Walk("Каменно-цветочная гряда");
            else if(room == "Каменно-цветочная гряда" && top.frames[external.mainFrameIndex].is_accessible)
                Walk("Центральный утес");
            else if(room == "Центральный утес" && top.frames[external.mainFrameIndex].is_accessible)
                Walk("Бойцовский Клуб");
            else if(room == "Внутренний двор" && top.frames[external.mainFrameIndex].is_accessible)
                Walk("Последний Привал");
            else if(room == "Последний Привал" && top.frames[external.mainFrameIndex].is_accessible)
                Walk("Цветочный Пустырь");
            else if(room == "Цветочный Пустырь" && top.frames[external.mainFrameIndex].is_accessible)
                Walk("Центральный Оазис");
            else if(room == "Центральный Оазис" && top.frames[external.mainFrameIndex].is_accessible)
                Walk("Бойцовский Клуб");               
            else if(room == "Зал воинов")
                external.SBattleAbovePercent.Text = 100;
        }
    }
    catch(err)
    {
        external.AddToChat("Ошибка!");
    }
}
 
function Walk(name)
{
    var imgs = top.frames[external.mainFrameIndex].document.images;
    for(i = 0;i<imgs.length;i++)
    {
        if(imgs[i].outerHTML.match(name) && imgs[i].style.visibility != "hidden" && imgs[i].onclick && (imgs[i].height*imgs[i].width)>60)
        {
            external.AddToChat("Иду в " + name);
            imgs[i].click();
            break;
        }
    }
}
 
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;
}

В коде найди строку  external.DungeonLoadPath("имя"), и вместо "имя" напиши туда название своего маршрута.

hyppo пишет:
gorlum пишет:

Блин, да вам круто! Если я правильно тебя понял, то ты можешь подойти к банкомату своего банка, засунуть кредитку, и с неё сбросить бабло на кошель ВМ за 1 минуту! Нам о таком и не мечтать(

У меня сейчас фактически MasterCard от СберБанка. Раньше была VISA от Банка Москвы. Я всегда был уверен что это не их изобретения, а принятые во всём мире стандарты roll Почему это у вас иначе? Может ты просто не знаешь? В банкомат любая совместимая карта подойдёт и оплата пройдёт (разница только в том какой процент за перевод снимут). Или у вас какой-то законодательный запрет?

По поводу процента на сколько я понял в Яндекс-деньги с меня процент не берут, а вот обратно если хочешь обналичить, то от 0,5% в наукоградах (Зеленоград, например, это окраина Москвы) до 3,5% через сберкнижку (бабушке в далёкую деревню вебмани к пенсии добавить ))) ). И в последнем случае время перевода по-больше будет, пока бумажки все оформишь.

gorlum пишет:

и с неё сбросить бабло на кошель ВМ за 1 минуту!

Обещают поступление средств в 24 часа. Но реально от минут пяти до часа, видимо зависит от загруженности серверов.

Ну, перевод бабла на ВМ - это покупка титульных знаков. У нас разрешено проводить операции купли-продажи исключительно в гривне. Но всё-равно, я не видел ни одного банкомата или банка, который бы предлагал моментальную покупку вебманей, пускай даже ВМУ.

hyppo пишет:
gorlum пишет:

Проще снять деньги с банкомата и пополнить сразу на кошель Анахронику.

+1
Правда не на всех банкомётах есть функция. У меня зарплатная карта Сбербанка, аппараты у них встречаются старые, там нет перевода на въёб-мани hmm Но у большинства банкомётов функция есть. Самые последние ещё и запоминают последние введённые номера: телефона, кошельков и даже счёт куда за свет и воду плачу. Удобно. Хотя появляется лишнее чувство что за тобой следят smile


Блин, да вам круто! Если я правильно тебя понял, то ты можешь подойти к банкомату своего банка, засунуть кредитку, и с неё сбросить бабло на кошель ВМ за 1 минуту! Нам о таком и не мечтать(

Ага, только сначала получи формальный атестат, потом загрузи доки к ним на сервер, когда они проверят - привязывай кошель к карте, это ещё несколько дней. Проще снять деньги с банкомата и пополнить сразу на кошель Анахронику.

69

(54 ответов, оставленных в JavaScript)

И ещё, вот это

clearInterval(streluTimer[mylogin]);
    randomValue = Math.floor(Math.random()*(max - min) + min);
    streluTimer[mylogin] = setInterval("streluHandler()", randomValue);

идентично функции

function strelu(enabled)
{
    if(enabled)
    {
        streluTimer = setInterval("streluHandler()",2000);   
    }
    else
    {
        clearInterval(streluTimer);
    }

?

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

var min = 1000;
var max = 3000;
var randomValue;
var kol = 2 //количество стрел для покупки
 
 
function strelu(enabled)
{
    if(enabled)
    {
        streluTimer = setInterval("streluHandler()",2000);   
    }
    else
    {
        clearInterval(streluTimer);
    }
}
function streluHandler()
{   
    clearInterval(streluTimer[mylogin]);
    randomValue = Math.floor(Math.random()*(max - min) + min);
    streluTimer[mylogin] = setInterval("streluHandler()", randomValue);
    if(external.ArrowsEnds==false)
    {
    external.SBattleAbovePercent.Text = 101;
 
    if(room.match(/Зал воинов/i) && top.frames[external.mainFrameIndex].is_accessible)
        external.ClickLink("\'Бойцовский Клуб\'",3);
    else if (room.match("\'Бойцовский Клуб\'") && top.frames[external.mainFrameIndex].is_accessible)
        external.ClickLink("Центральная Площадь",3);
    else if (room.match("Центральная Площадь") && top.frames[external.mainFrameIndex].is_accessible)
        external.ClickLink("Магазин",3);
    // Переходы
 
 
    if(get_mainframe().location.toString().match(/shop\.pl/)){
    top.frames[external.mainFrameIndex].location = "http://"+ external.SCity.Text + ".combats.com/shop.pl?otdel6=1&sid=&" + Math.random();
    if(external.level <= "7")
    {
        var needToBuy;
        var leftToBuy;
        leftToBuy = needToBuy;
 
        if(!get_mainframe().document.all[0].innerHTML.match(/Недостаточно места в рюкзаке/) && !get_mainframe().document.all[0].innerHTML.match(/Недостаточно денег/))
        {
            if(leftToBuy <= 0)           
            {
            return;
            }
        var imgs = top.frames[external.mainFrameIndex].document.images;
        for(var i = 0; i<imgs.length;i++)
        {             
            if(imgs[i].onclick && imgs[i].outerHTML.match(/bolt_common100/)&& btn[i].style.visibility!="hidden" && btn[i].length > 0 )
            {
            leftToBuy--;
            imgs[i].click();
            return;
            }
        }
        }
        else
        {
            leftToBuy = 0;
        }
    }
    if(external.level >= "8")
        {
        var imgs = top.frames[external.mainFrameIndex].document.images;
        for(var i = 0; i<imgs.length;i++)
        {
            if(imgs[i].onclick && String(imgs[i].onclick).match(/AddCount/) && imgs[i].outerHTML.match(/bolt_common100/)&& btn[i].style.visibility!="hidden" && btn[i].length > 0)
                {
                imgs[i].click();
                break;
                }
        }
        //тут проверку на видимость плюсика
        top.frames[external.mainFrameIndex].document.getElementsByName("count")[0].value = kol;
        top.frames[external.mainFrameIndex].document.forms[0].submit();   
        }   
 
 
 
        }
        //тут переходы обратно
     }
}

Знаю что в после последней версии нажатия на кнопки работают по другому, ещё не успел до них добраться.

Вот так смотрю - и понимаю, что походу надо делать с нуля, пользуясь новыми екстерналами)

70

(54 ответов, оставленных в JavaScript)

Exile пишет:
gorlum пишет:

Значит мне вообще не надо ставить clearInterval(streluTimer) в тот код, который ты написал выше?

Да, что-то я не подумал. clearInterval там не нужен. Плагин ж будет крутиться нон-стоп проверяя значение в ArrowsEnds

Крутиться он будет постоянно, но вот в цикл покупки за зубы надо ещё добавить задержку на 1-2 сек, значит надо сделать ещё один счётчик времени?

71

(54 ответов, оставленных в JavaScript)

Значит мне вообще не надо ставить clearInterval(streluTimer) в тот код, который ты написал выше?

72

(54 ответов, оставленных в JavaScript)

Стоп, я изначально сделал функцию

function strelu(enabled)
{
    if(enabled)
    {
        streluTimer = setInterval("streluHandler()",2000);   
    }
    else
    {
        clearInterval(streluTimer);
    }

По идее мне вообще не надо ещё что-либо ставить? есть же выставленный интервал, или я туплю?

Exile пишет:
gorlum пишет:
anahronik пишет:

Экстернал рабочий - просто надо маршрут указывать ещё.
Плагины выложить всегда успеешь smile

Так его надо указывать в плагине чтоль?

external.DungeonLoadPath("имя");
вот такой метод есть (по крайней мере был)

Я его видел, вот только не знаю, зачем его включать в плагине, если при запуски модуля подземки - он прекрасно подключает маршрут. Может те, кто тестил - как-то не так, или не те маршруты вставляли?

74

(54 ответов, оставленных в JavaScript)

Да, не понял сразу) Если плагин называется strelu, то переменная должна быть streluHandler, как и название основной функции, правильно же?

75

(54 ответов, оставленных в JavaScript)

Не хочет работать с клиринтервал

if(leftToBuy <= 0)
    {
        clearInterval("на вот этом вот символе видит синтаксическую ошибку"...);
        return;
    }