Тема: Сборка использования магии

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

http://img.combats.ru/i/items/invoke_ppk_scr_heal.gif  Свиток Исцеления  F

SPOILER Show

if(
    ((top.Battle.oBattle.sEnemyLogin.indexOf("Король Валлуар") > -1) ||
    (top.Battle.oBattle.sEnemyLogin.indexOf("Валлуар Великий") > -1)) &&
    (top.Battle.oBattle.oMySlot.nHP * 100 / top.Battle.oBattle.oMySlot.nMaxHP) < 70
    )
{for(key=0;key<10;key++){
                if(top.Battle.oBattle.arrScrolls[key].innerHTML.match(/invoke_ppk_scr_heal/)){
                        top.Battle.oBattle.arrScrolls[key].click();
                        var key=top.document.all[0].getElementsByTagName('TBODY').length-1;
                        top.document.all[0].getElementsByTagName('TBODY')[key].getElementsByTagName('BUTTON')[0].click();
                        break;
                }
        }
};
// _name="Свиток Исцеления";

http://img.combats.ru/i/items/invoke_tn_scr_dispell_magic.gif  Свиток рассеивания магии  F

SPOILER Show

if(typeof(top.Battle.oBattle.oMySlot.arrEffects["ppk_eye_ghost_lowatt"]) == "object"){
        for(key=0;key<10;key++){
                if(top.Battle.oBattle.arrScrolls[key].innerHTML.match(/invoke_tn_scr_dispell_magic/)){
                        top.Battle.oBattle.arrScrolls[key].click();
                        var key=top.document.all[0].getElementsByTagName('TBODY').length-1;
                        top.document.all[0].getElementsByTagName('TBODY')[key].getElementsByTagName('BUTTON')[0].click();
                        break;
                }
        }
};
// _name="Свиток рассеивания магии";

http://img.combats.ru/i/items/invoke_ppk_scr_suddendeath.gif  Свиток Внезапной смерти  F

SPOILER Show

if(top.Battle.oBattle.sEnemyLogin.indexOf("Страж Реальности") > -1)
{for(key=0;key<10;key++){
                if(top.Battle.oBattle.arrScrolls[key].innerHTML.match(/invoke_ppk_scr_suddendeath/)){
                        top.Battle.oBattle.arrScrolls[key].click();
                        var key=top.document.all[0].getElementsByTagName('TBODY').length-1;
                        top.document.all[0].getElementsByTagName('TBODY')[key].getElementsByTagName('BUTTON')[0].click();
                        break;
                }
        }
};
// _name="Свиток Внезапной смерти";

http://img.combats.ru/i/items/sp_tacpts_HIT1_1.gif+http://img.combats.ru/i/items/sp_tacpts_PRY1_1.gif+http://img.combats.ru/i/items/sp_tacpts_BLK1_1.gif+http://img.combats.ru/i/items/sp_tacpts_KRT1_1.gif+http://img.combats.ru/i/items/sp_tacpts_CNTR1_1.gif+http://img.combats.ru/i/items/sp_tacpts_HIT2_1.gif+http://img.combats.ru/i/items/sp_tacpts_PRY2_1.gif+http://img.combats.ru/i/items/sp_tacpts_BLK2_1.gif+http://img.combats.ru/i/items/sp_tacpts_KRT2_1.gif+http://img.combats.ru/i/items/sp_tacpts_CNTR2_1.gifИспользование тактик 1,2 с юзами 1-5

SPOILER Show

{
        for(key=0;key<10;key++){
                if(
                (top.Battle.oBattle.arrScrolls[key].innerHTML.match(/sp_tacpts_HIT1_1/)) ||
                (top.Battle.oBattle.arrScrolls[key].innerHTML.match(/sp_tacpts_HIT1_2/)) ||
                (top.Battle.oBattle.arrScrolls[key].innerHTML.match(/sp_tacpts_HIT1_3/)) ||
                (top.Battle.oBattle.arrScrolls[key].innerHTML.match(/sp_tacpts_HIT1_4/)) ||
                (top.Battle.oBattle.arrScrolls[key].innerHTML.match(/sp_tacpts_HIT1_5/)) ||
                (top.Battle.oBattle.arrScrolls[key].innerHTML.match(/sp_tacpts_HIT2_1/)) ||
                (top.Battle.oBattle.arrScrolls[key].innerHTML.match(/sp_tacpts_HIT2_2/)) ||
                (top.Battle.oBattle.arrScrolls[key].innerHTML.match(/sp_tacpts_HIT2_3/)) ||
                (top.Battle.oBattle.arrScrolls[key].innerHTML.match(/sp_tacpts_HIT2_4/)) ||
                (top.Battle.oBattle.arrScrolls[key].innerHTML.match(/sp_tacpts_HIT2_5/)) ||
                (top.Battle.oBattle.arrScrolls[key].innerHTML.match(/sp_tacpts_PRY1_1/)) ||
                (top.Battle.oBattle.arrScrolls[key].innerHTML.match(/sp_tacpts_PRY1_2/)) ||
                (top.Battle.oBattle.arrScrolls[key].innerHTML.match(/sp_tacpts_PRY1_3/)) ||
                (top.Battle.oBattle.arrScrolls[key].innerHTML.match(/sp_tacpts_PRY1_4/)) ||
                (top.Battle.oBattle.arrScrolls[key].innerHTML.match(/sp_tacpts_PRY1_5/)) ||
                (top.Battle.oBattle.arrScrolls[key].innerHTML.match(/sp_tacpts_PRY2_1/)) ||
                (top.Battle.oBattle.arrScrolls[key].innerHTML.match(/sp_tacpts_PRY2_2/)) ||
                (top.Battle.oBattle.arrScrolls[key].innerHTML.match(/sp_tacpts_PRY2_3/)) ||
                (top.Battle.oBattle.arrScrolls[key].innerHTML.match(/sp_tacpts_PRY2_4/)) ||
                (top.Battle.oBattle.arrScrolls[key].innerHTML.match(/sp_tacpts_PRY2_5/)) ||
                (top.Battle.oBattle.arrScrolls[key].innerHTML.match(/sp_tacpts_BLK1_1/)) ||
                (top.Battle.oBattle.arrScrolls[key].innerHTML.match(/sp_tacpts_BLK1_2/)) ||
                (top.Battle.oBattle.arrScrolls[key].innerHTML.match(/sp_tacpts_BLK1_3/)) ||
                (top.Battle.oBattle.arrScrolls[key].innerHTML.match(/sp_tacpts_BLK1_4/)) ||
                (top.Battle.oBattle.arrScrolls[key].innerHTML.match(/sp_tacpts_BLK1_5/)) ||
                (top.Battle.oBattle.arrScrolls[key].innerHTML.match(/sp_tacpts_BLK2_1/)) ||
                (top.Battle.oBattle.arrScrolls[key].innerHTML.match(/sp_tacpts_BLK2_2/)) ||
                (top.Battle.oBattle.arrScrolls[key].innerHTML.match(/sp_tacpts_BLK2_3/)) ||
                (top.Battle.oBattle.arrScrolls[key].innerHTML.match(/sp_tacpts_BLK2_4/)) ||
                (top.Battle.oBattle.arrScrolls[key].innerHTML.match(/sp_tacpts_BLK2_5/)) ||
                (top.Battle.oBattle.arrScrolls[key].innerHTML.match(/sp_tacpts_KRT1_1/)) ||
                (top.Battle.oBattle.arrScrolls[key].innerHTML.match(/sp_tacpts_KRT1_2/)) ||
                (top.Battle.oBattle.arrScrolls[key].innerHTML.match(/sp_tacpts_KRT1_3/)) ||
                (top.Battle.oBattle.arrScrolls[key].innerHTML.match(/sp_tacpts_KRT1_4/)) ||
                (top.Battle.oBattle.arrScrolls[key].innerHTML.match(/sp_tacpts_KRT1_5/)) ||
                (top.Battle.oBattle.arrScrolls[key].innerHTML.match(/sp_tacpts_KRT2_1/)) ||
                (top.Battle.oBattle.arrScrolls[key].innerHTML.match(/sp_tacpts_KRT2_2/)) ||
                (top.Battle.oBattle.arrScrolls[key].innerHTML.match(/sp_tacpts_KRT2_3/)) ||
                (top.Battle.oBattle.arrScrolls[key].innerHTML.match(/sp_tacpts_KRT2_4/)) ||
                (top.Battle.oBattle.arrScrolls[key].innerHTML.match(/sp_tacpts_KRT2_5/)) ||
                (top.Battle.oBattle.arrScrolls[key].innerHTML.match(/sp_tacpts_CNTR1_1/)) ||
                (top.Battle.oBattle.arrScrolls[key].innerHTML.match(/sp_tacpts_CNTR1_2/)) ||
                (top.Battle.oBattle.arrScrolls[key].innerHTML.match(/sp_tacpts_CNTR1_3/)) ||
                (top.Battle.oBattle.arrScrolls[key].innerHTML.match(/sp_tacpts_CNTR1_4/)) ||
                (top.Battle.oBattle.arrScrolls[key].innerHTML.match(/sp_tacpts_CNTR1_5/)) ||
                (top.Battle.oBattle.arrScrolls[key].innerHTML.match(/sp_tacpts_CNTR2_1/)) ||
                (top.Battle.oBattle.arrScrolls[key].innerHTML.match(/sp_tacpts_CNTR2_2/)) ||
                (top.Battle.oBattle.arrScrolls[key].innerHTML.match(/sp_tacpts_CNTR2_3/)) ||
                (top.Battle.oBattle.arrScrolls[key].innerHTML.match(/sp_tacpts_CNTR2_4/)) ||
                (top.Battle.oBattle.arrScrolls[key].innerHTML.match(/sp_tacpts_CNTR2_5/))
                )
                                {
                        top.Battle.oBattle.arrScrolls[key].click();
                        var key=top.document.all[0].getElementsByTagName('TBODY').length-1;
                        top.document.all[0].getElementsByTagName('TBODY')[key].getElementsByTagName('BUTTON')[0].click();
                        break;
                }
        }
};
// _name="Использование тактик";

Использование хилок (не проверено):

SPOILER Show

if (kast == 'undefined') {var kast = 0;}
  if (kast == 0)
  {
  //    _name = "+45HP";
if(parseFloat(top.Battle.oBattle.arrRes["spirit"].innerHTML) > 0 && (top.Battle.oBattle.oMySlot.nHP * 100 / top.Battle.oBattle.oMySlot.nMaxHP) < 20)
{
        for(key=0;key<10;key++){
                if(top.Battle.oBattle.arrScrolls[key].innerHTML.match(/cureHP45/)){
                        top.Battle.oBattle.arrScrolls[key].click();
                        var key=top.document.all[0].getElementsByTagName('TBODY').length-1;
                        top.document.all[0].getElementsByTagName('TBODY')[key].getElementsByTagName('BUTTON')[0].click();
                        break;
                }
        }
 
}
  if (kast == 4){ kast = 0;} else { kast = kast + 1; } // подсчет циклов -> 4


http://img.combats.ru/i/items/cureHP900_1.gif Использование свитков "Восстановление энергии 900HP"

SPOILER Show

if(parseInt(top.Battle.oBattle.oDamageLayer.innerHTML) > 2000 && parseFloat(top.Battle.oBattle.arrRes["spirit"].innerHTML) > 0 && (top.Battle.oBattle.oMySlot.nHP * 100 / top.Battle.oBattle.oMySlot.nMaxHP) < 33)
{
        for(j=0; j<10; j++)
        {
                if(top.Battle.oBattle.arrScrolls[j].innerHTML.match(/cureHP900/))
                {
                        top.Battle.oBattle.arrScrolls[j].click();
                        top.document.all[0].getElementsByTagName('TBODY')[top.document.all[0].getElementsByTagName('TBODY').length-1].getElementsByTagName('INPUT')[0].value = top.Battle.oBattle.sMyLogin;
                        top.document.all[0].getElementsByTagName('TBODY')[top.document.all[0].getElementsByTagName('TBODY').length-1].getElementsByTagName('BUTTON')[0].click();
                        break;
                }
        }
}


http://img.combats.ru/i/items/cureHP900_1.gif Использование свитков "Восстановление энергии 900HP" (вариант от Анахроника)

SPOILER Show

if(тут условие при котором надо использовать хилку)
{
        for(key=0;key<10;key++){
                if(top.Battle.oBattle.arrScrolls[key].innerHTML.match(/cureHP900/)){
                        top.Battle.oBattle.arrScrolls[key].click();
                        var key=top.document.all[0].getElementsByTagName('TBODY').length-1;
                        top.document.all[0].getElementsByTagName('TBODY')[key].getElementsByTagName('BUTTON')[0].click();
                        break;
                }
        }
}

Отредактировано Евжений (2015-08-30 14:23:24)

Ответы на многие вопросы по приемам (Please log in or register to see this URL)

2

Re: Сборка использования магии

подсчет кастов не корректно работает...
так сказать ошибка в идеологии кода...
по коду

SPOILER Show

if (kast == 'undefined') {var kast = 0;}
  if (kast == 0) {
 
}
if (kast == 4){ kast = 0;} else { kast = kast + 1; } // подсчет циклов -> 4


переменная kast плюсуется при прогоне ботом приемов, т.е. после каждого нажатия ботом кнопки удара (или вперед... забыл уже).
А задержка на использование свитка считается в разменах (ответах соперника).
Так что данный код работает корректно только с 1 соперником (так как твой удар и ответ соперника совпадут) и на ботах в пещерах, т.к. они отвечают почти мгновенно.

Как допилить, пока не придумал...
Как вариант проверка, через регулярные выражения из всплывающего текста при наведении на свиток... насколько помню там пишется что то вроде "задержка еще 4 хода"
Но с регулярками у меня трудно... smile

Отредактировано Andy_SPB (2015-06-20 23:37:09)

(Please log in or register to see this URL), лучше (Please log in or register to see this URL) (с)
Помощь приходит быстрее если:
1. Понятно сформулирован вопрос.
2. Использованы нужный (Please log in or register to see this URL).