if(((top.Battle.oBattle.oMySlot.nHP * 100 / top.Battle.oBattle.oMySlot.nMaxHP) < 10) && (EnemiesCount < 2))
_name = "block_fullshield";

На счет EnemiesCount не уверен, никогда не пользовался. Но грамматически правильно так.

1 027

(10 ответов, оставленных в Общий)

Там говорят чел с 10го до 11го за месяц дошел  smile
Причем сдали сами же игроки, а не админы вычислили...

Я лично на нём два пузыря выжрал  big_smile
Ты ж его назвал Morkovka.js ?
Только что перепроверил, все работает. Может ты не полностью скопировал? Там вполне реально вконце скобки фигурные пропустить при копировании.

1 029

(33 ответов, оставленных в Качалка)

Вы должны зайти под своим именем, чтобы увидеть скрытый текст.

1 030

(10 ответов, оставленных в Общий)

Люди, помогите настроить пару приемов для подземки:
1) Хочу, чтобы бот не юзал усиленные удары, когда противник мясистый гусениц сворачивается, в остальных случаях чтоб юзал по условию пишу вот так

if((top.Battle.oBattle.sEnemyLogin.indexOf("Мясистый") > -1) && (typeof(top.Battle.oBattle.oEnemySlot.arrEffects["ggsvern"]) != "object") && (top.Battle.oBattle.arrRes["hit"].innerHTML > 4))
_name = "hit_empower";
else
{
if(top.Battle.oBattle.arrRes["hit"].innerHTML > 4)
_name = "hit_empower";
}

Но бот все-равно юзает усиленные, даже когда тот свернут sad Идентификатор посмотрел, нажав на картинку правой кнопкой--свойства.
2) также интересует как работает вот это условие

(top.Battle.oBattle.sEnemyLogin.indexOf("Паразит") > -1)

Он смотрит по именам противников в команде, или по имени противника на против, которому выставляет размен ?
Просто в бою был пылающий паразит и две гусеницы, так он магическую защиту использовал при размене с гусеницей, а не с паразитом.
Вот по этому условию

if((parseInt(top.Battle.oBattle.arrRes["block"].innerHTML) > 4) && (top.Battle.oBattle.sEnemyLogin.indexOf("Паразит") > -1))
_name = "block_magicshield";

Вот, чуть переделал плагин Анахроника (надеюсь он будет не против big_smile )

var healed = false;
 
function Morkovka(enabled)
{
    if(enabled)
    {
        PluginsOnLoad["Morkovka"] = "MorkovkaHandler";
 
    }
    else
    {
        PluginsOnLoad["Morkovka"] = "";
    }
}
 
function MorkovkaHandler(url)
{
    if (external.inBattle)return;
 
    var hpRemain = parseInt(maxHP - tkHP);
    if(window.tkMana)
        var manaRemain = parseInt(maxMana - tkMana);
    else
        var manaRemain = 0;
    var morkovkaName = [];
    healed = false;
 
 
 
    if(manaRemain > 2150){
        morkovkaName[morkovkaName.length]=[];
        morkovkaName[morkovkaName.length-1].push("Склянка Сладковатой жижи");
        morkovkaName[morkovkaName.length-1].push(3);                   //Раздел инвентаря, где лежит элексир. 3- раздел "Элексиры", 4 - "Прочее"
        }   
 
        if(manaRemain > 2000){
        morkovkaName[morkovkaName.length]=[];
        morkovkaName[morkovkaName.length-1].push("Бутылек маны");
        morkovkaName[morkovkaName.length-1].push(3);                   //Раздел инвентаря, где лежит элексир. 3- раздел "Элексиры", 4 - "Прочее"
        }
 
    if(manaRemain > 1500){
        morkovkaName[morkovkaName.length]=[];
        morkovkaName[morkovkaName.length-1].push("Флакончик маны");
        morkovkaName[morkovkaName.length-1].push(3);                   //Раздел инвентаря, где лежит элексир. 3- раздел "Элексиры", 4 - "Прочее"
        }
 
    if(hpRemain > 400){
        morkovkaName[morkovkaName.length]=[];
        morkovkaName[morkovkaName.length-1].push("Настойка на грибах");
        morkovkaName[morkovkaName.length-1].push(4);                   //Раздел инвентаря, где лежит элексир. 3- раздел "Элексиры", 4 - "Прочее"
        }
 
    if(hpRemain > 200){
        morkovkaName[morkovkaName.length]=[];
        morkovkaName[morkovkaName.length-1].push("Заживляющий Эликсир");
        morkovkaName[morkovkaName.length-1].push(3);                   //Раздел инвентаря, где лежит элексир. 3- раздел "Элексиры", 4 - "Прочее"
        }
 
    if(hpRemain > 270){
        morkovkaName[morkovkaName.length]=[];
        morkovkaName[morkovkaName.length-1].push("Сосуд жизненных сил");//Элексир
        morkovkaName[morkovkaName.length-1].push(4);                   //Раздел инвентаря, где лежит элексир. 2- раздел "Элексиры", 3 - "Прочее"
        }
 
    if(hpRemain > 130){
        morkovkaName[morkovkaName.length]=[];
        morkovkaName[morkovkaName.length-1].push("Заживляющая Настойка");
        morkovkaName[morkovkaName.length-1].push(3);                   //Раздел инвентаря, где лежит элексир. 3- раздел "Элексиры", 4 - "Прочее"
        }
 
if(maxHP < 500)
{
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?skmp=" + external.SComplectBattle.Text;
return;
}
 
if(hpRemain < 100)
{
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?skmp=" + external.SComplectHeal.Text;
return;
}
 
 
 
    if(morkovkaName.length > 0)
    for(x=0;x<=(morkovkaName.length-1);x++){
        if(healed==false)
                Morkovka2Handler(morkovkaName[x][0],morkovkaName[x][1]);
    }
}
 
function Morkovka2Handler(elikName,razdel)
{
    //external.AddToChat("4:"+elikName+" Proccess");
    var s = doLoad("http://" + external.SCity.Text + ".combats.com/main.pl?edit="+razdel+"&rnd=" + Math.random());
    if(s.indexOf("Ослабление") < 0)
    {
        var m = elikName + "(\\s\\(x\\d+\\))?','main.pl',\\s'(.+?)',\\s'.*?',\\s(\\d+)";
 
        var found = s.match(m);
        if(found != null)
        {
            //external.AddToChat("Выпиваю эликсир <b>\\\"" + elikName + "\\\"</b>");
            frames[external.mainFrameIndex]
            .location = "http://" + external.SCity.Text + ".combats.com/main.pl?use=" + found[2] + "&n=" + found[3];
            healed=true;
        }
    }
}
 
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;
}

Вот этим заменить обычный плагин морковки (имя плагина менять НЕЛЬЗЯ).
Сейчас работает при условии, что в восстановительном комплекте ХП  меньше 500.
Менять значение вот в этой строчке

if(maxHP < 500)

Для работы: в опциях бота указать свой комплект с максимальным количеством ХП в боевой, и комплект с ХП меньше 500 в восстановительный. Затем включить плагин и зайти в инвентарь.

1 032

(5 ответов, оставленных в Проблемы / Баги / Неполадки)

Винда какая? Может у тебя нет прав доступа администратора ?

1 033

(5 ответов, оставленных в Проблемы / Баги / Неполадки)

Эмм...как бы установить NET Framework 2.0, а лучше установи все по порядку...2.0, 3.0, 3.5, 4.0

Смотри без плагина как можно:
Запоминаешь свой фул комплект и какой нить комплект, в котором мало ХП. Допустим в одном у тебя 1200 хп, в другом 400.
И в боте в настройках в боевой комплект ставишь там где 400, а в востановительный где 1200, и указываешь "одевать боевой комплект при 1150". Затем включаешь плагин морковка. И когда тебе надо выпить все бутылки, просто в опциях ставишь галочку "использовать восстановительный комплект".
P.S: может я зажрался, но я бутылки выкидываю  roll

1 035

(33 ответов, оставленных в Качалка)

Ну так мы не поняли друг друга  smile
Чтоб опыт брать с грибницы, нужно же сначала рыцарем стать. А для этого к королеве идти на хлюпослив, а для этого щупа и грибоножку валить, а это самому сложнова-то.

1 036

(33 ответов, оставленных в Качалка)

Незнаю как у вас получается все так просто, но мы с другом сразу как только грибницу открыли, рванули туда. Он 9ка крито-топор, я был 9ка крито-уворот. Так я еще тогда лучше него выруливал. Потом мы забили на это дело, слишком долго, а вот сейчас я зашел чистым уворотом...так это милое дело...довольно быстро ходит (ито бывает убивают).
Уже чтоб окончательно...Ваганыч, это ты и на королеву топорщиком сам ходил ?

1 037

(33 ответов, оставленных в Качалка)

Кинь мне логи в личку, если не жалко, а то что-то не верится...

1 038

(33 ответов, оставленных в Качалка)

Ну все-равно сперва надо выкопать грибницу, чтобы портом на 3й ходить. А я не раз в чате видел сообщения критов 9к "проведите на хлюпослив". Сам нубо-гос-крит намного хуже уворота ходит по первым 2м этажам.

1 039

(33 ответов, оставленных в Качалка)

Хотелось бы мне посмотреть как крит с топором до третьего этажа сам дойдет  big_smile

1 040

(17 ответов, оставленных в Общий)

Ну я в экономических целях предложил...20 ботов скорее всего не потянет, но потянет явно больше, чем атлон 5000 smile

1 041

(17 ответов, оставленных в Общий)

Лучше собери на интеловской базе. Возьми проц E5200, у него по дефолту два ядра по 2.5Ггц, и на стандартном охлаждении разгонишь его до 3.2, без поднятия напряжения.
Мне кажется более удачное решение, по крайней мере у меня две машины AMD Athlon™ 64 X2 5200+ AM2 и E5200 не разогнанный, так е5200 себя лучше чувствует при иных аналогичных параметрах.

1 042

(18 ответов, оставленных в Общий)

Где доказательства того, что человек палит ботов, а не у тебя к нему личная неприязнь ?

1 043

(5 ответов, оставленных в Качалка)

Ты что, у тебя в каналке в день больше 100 боев будет. А зверь не дает статы, если его не кормить. Ты на еде обанкротишься  smile

xamepa, так ты разобрался в чем ошибка была ? А то интересно же smile
P.S: пишу с опозданием, т.к. только с моря приехал  roll

Выпускать зверя в БК работает также как и прием, и его можно настроить с условием по хп, количеству противников и т.д. Идентификатор для выпуска зверя pet_unleash
Почитай эту тему ()

Ну ты так легко не сдавайся  big_smile
Попробуй вставлять по очереди по одному приему. И напиши сюда, после какого у тебя виснуть бой начинает, и пришли прием сюда именно в том виде, в котором ты вставляешь.
Вот я еще исправил 3й прием, я там вместо 0 духа 10 оставил. Но впринципе должно было работать и с 10ю духа  sad

Ты третье условие заново вставил себе ? Я его исправлял.
Ты ж я надеюсь в разные ячейки для приемов вставляешь, а не в одну все лепишь ? smile
Ну и в приемах ты _name = "ПУТЬ ЩИТА"; и _name = "ГЛУХАЯ"; вот в этих местах заменил на правильные названия приемов из БК ?

anahronik, ты прав. Я блин три раза их пересчитывал, все-равно лохонулся  big_smile
Причем первый раз правильно написал...

()
1й пост...исходя из него можно составить 90% приемов.

Я б на твоем месте сделал приемы такими и именно в таком порядке:
1) Если ХП > 70% юзать путь щита

if((top.Battle.oBattle.oMySlot.nHP * 100 / top.Battle.oBattle.oMySlot.nMaxHP) > 70)
_name = "ПУТЬ ЩИТА";

2) Если ХП < 15% юзать полную защиту

if((top.Battle.oBattle.oMySlot.nHP * 100 / top.Battle.oBattle.oMySlot.nMaxHP) < 15)
_name = "block_fullshield";

3) Если ХП < 70% и духа>0 то юзать глухую

if(((top.Battle.oBattle.oMySlot.nHP * 100 / top.Battle.oBattle.oMySlot.nMaxHP) < 70) && (parseInt(top.Battle.oBattle.arrRes["spirit"].innerHTML) > 0))
_name = "ГЛУХАЯ";

4) Если блоков > 18 юзать полную защиту (при условии, что на глухую надо 15 блоков, я просто давно танком не играл).

if(parseInt(top.Battle.oBattle.arrRes["block"].innerHTML) > 18)
_name = "block_fullshield";

В результате бот вначале боя будет юзать путь щита пока еще много ХП, когда хп станет поменьше, он станет копить на глухую, но при этом, если он ее использовал, а тактик блока уже более чем достаточно на глухую, он будет юзать полную защиту. Ну и если ХП уже совсем мало, то нет смысла ждать глухую, нужно юзать то, что есть, т.е. полную.
Идентификаторы глухой и пути щита не помню, сам посмотришь и поменяешь в приемах. Процентные доли ХП для приемов приведены примерно, и не являются идеальными. Там уже сам посмотришь где добавить, где убавить smile

Update: подправил 3е условие на грамматические ошибки