1

Тема: Проблема с переодеванием.

Задача следующая:
Мы в канализации, чистим 1 или второй этаж. Доходим до забытой экипировки и нам выпадает 4 вещи:
1х лечение травм
1х Сосуд жизненных сил
2х Восстановление энергии 45HP

Задача, нужно заставить использовать три эти предмета бота.
1) Лечение травм, используется по умолчанию, с этим проблем нет.
2) Сосуд жизненных мы используем плагином морковка
3) А вот с Восстановлением энергии у меня возникла проблемка.

Как заставить Бота одеть выпавшие свитки +45хп?

Как я вижу тут может быть 2 способа
1) как-то заставить их одеть по 1 свитку. Как я не имею ни малейшего понятия.

2) это пройтись по пещере дождаться когда выпадет 3-4 свитка надеть их и запомнить комплект. И потом одевать его на определенной клетке.
Тут возникает проблема, когда прописываешь следущую строку:

ae574688bb9a2a9352efabcb0b3b2ca4 : {top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?skmp=" + external.SComplectBattle.Text;} Walk("m1");

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

{top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?skmp=" + external.SComplectBattle.Text;}

и присваиваем ей значение тру. Дальше оно опять проверяет переменную и так как она тру исполняем

Walk("m1");


Это вообще реально? или я написал полный бред? Или есть какой нибудь более простой способ решить эту проблему?
Заранее, Спасибо!

Отредактировано Anatolii (2013-01-04 01:54:42)

2

Re: Проблема с переодеванием.

проблему лечения я попытался решить след. образом(приемом).

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

Отредактировано Anatolii (2013-01-04 01:55:27)

3

Re: Проблема с переодеванием.

Anatolii пишет:

проблему лечения я попытался решить след. образом(приемом).

SPOILER Show

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

Собственно заманался от постоянного юза хилок ботом при задержке, поэтому решил прописать задержку на использование...
Собственно вот кусок кода:

SPOILER Show

if (kast == 'undefined') {var kast = 0;}
  if (kast == 0){
 
  // <- вставляем код юза хилок
 
  }
  if (kast == 4){ kast = 0;} else { kast = kast + 1; } // подсчет циклов -> 4 (т.к. в БК 5 разменов, в яве с 0) - задержка между хилами (из требования свитков)

Данный код надо поместить в условия приема, при котором надо юзать хилы
Прогнал на тестовых сообщениях в чат и на 2х свитках хила по 150... вроде ровно...

Если есть желающие прогнать пару раз прием... буду благодарен smile

Отредактировано Andy_SPB (2015-04-28 22:31:23)

(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).

Re: Проблема с переодеванием.

Надо будет заморочиться с хилками  smile
Только делать надо по взрослому сразу  smile забить все хилки какие есть, чтоб под разные пещеры не писать разные хилки, а то потом голову сломаешь+приоритет раставить нормальный

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