26

Re: Убираем глюки своими руками

zxcv пишет:
hyppopotam пишет:

в каком смысле?

я про редактирование статусов, шаблонные спеллы итд

Мне казалось что бот именно для этого делался с "открытым кодом" чтобы его можно было адаптировать для себя.
Мне как играющему магом очень интересны такие доработки. Особенно проверка одетого комплекта. Уже раз пять у меня маг в бой голым влезал. А для мага такой бой это 99% травма, которую в пещере вылечить нельзя sad

Про browserbusy у меня тоже возникли сомнения. Не с проста ведь там это добавили.

Отредактировано hyppo (2009-06-11 15:13:34)

(Please log in or register to see this URL)

27

Re: Убираем глюки своими руками

После того как бот выпил весь запас интеллекта до меня дошло что закралась опечатка.
Не  if(tkHP < 200), надо было, а  if(maxHP < 200)
smile

(Please log in or register to see this URL)

Re: Убираем глюки своими руками

big_smile да, именно так. сорри)))

29

Re: Убираем глюки своими руками

а можно ли проверить или есть на чаре элик при нападении, если нет то пьёт... можно так сделать?

ещё вопрос... можно ли так написать?
if(tkHP >= maxHP-200)
{...пьёт морковку...}
что бы при нехватке 200 НР перед нападением пил морковку, или написать допустим для НР комплекта...

Отредактировано Lyushen (2009-06-17 16:50:53)

Re: Убираем глюки своими руками

Да, можно)

31

Re: Убираем глюки своими руками

вообщем, пока зерг неизвестно где, тоже попробую внести свою лепту:
лечение травм && проверка на ослабление (неприятно когда восстановившийся бот лезет в бой с ослаблением)

var  d_mark = top.frames[3].document.all[0].innerHTML;
  if(external.online)    //8.0
    {
        external.SetHPStatusLabel("HP: " + external.hpCurrent + "/" + external.hpMaximum);
        if (d_mark.indexOf("травма") && !external.SBattleWithInjury.Checked)
        {
            external.SetTrayIcon(5);
            external.SetStatusLabel("Травма");
           
            if (external.SCureInjuries.Checked && !external.inBattle)
                  {
top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?edit=2&" + Math.random();
CureInjuries();
                   }
        }
        else
...

&& в зависимости от того где деретесь(у меня прием=>хаоты):

else if(type == 3)
    {
        if(step == 0)
        {
            if (d_mark.indexOf("Ослабление после боя</U")>0)
               {
                  external.SetStatusLabel("Ослабление:(");
               }
            else
    {
     external.SetStatusLabel("Готов к бою");
     top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/zayavka.pl?level=haos";
    }

        }
        else ...

предупреждение: если взглянуть на фун-ю CureInjuries()

function CureInjuries()
{
    for (i = 0; i < top.frames[3].document.links.length; i++)
    {
        if(top.frames[3].document.links[ i ].href.indexOf("Лечение травм") > 0)
        {
            top.frames[3].document.links[ i ].click();
            setTimeout("top.frames[3].document.getElementById(\"slform\").submit()", 1000);
            break;
        }
    }
}

а именно links[ i ].href.indexOf("Лечение травм") щелчек происходит по первому линку содержащий "лечение травм", если вы 8 левак и фанаете от этих свитков, лучше не убирать галку "бои с травмой", потому что вторая ссылка(а на восьмом единственная) содержащая "лечение травм" - выкинуть из инвентаря =p

а можно ли проверить или есть на чаре элик при нападении, если нет то пьёт... можно так сделать?

аналагично травмам+location(или click()) на элик
глянул соседние темы, бот с сушками см. выше про элик, бот прицеп:

for (var i = 0;i < top.frames[3].document.forms.length+1;i++)
   { 
        var z = top.frames[3].document.forms[ i ].innerHTML;
        if(z.indexOf("fl(\"pupkin\"")>0 && z.indexOf("fl(\"drugpupkina\"")<1)
         {
           //another elements was defined?)
           top.frames[3].document.forms[ i ].pass.value = "combots";
           top.frames[3].document.forms[ i ].elements[top.frames[3].document.forms[ i ].elements.length-1]].click();     
          }
       else {external.SetStatusLabel("проводник не подал заявку");//или вы уже в группе..}
   }

набросал от руки, нету чаров проверить, отпишитесь если не работает
насчет общаги думаю бесполезно сейчас что-то царапать, пока инвентарь не пашет..
/ps индексацию [ i ] форум режет на теги (без пробелов)

Отредактировано zxcv (2009-07-02 23:02:04)

32

Re: Убираем глюки своими руками

элики по кд:

function ElixTest()
{
  var d_elix = new Array("Зелье Прозрения","Бутерброд Завтрак Рыцаря");
  var z_loc = top.frames[3].location;
  top.frames[3].navigate("http://" + external.SCity.Text + ".combats.com/main.pl?edit=3");
  for(var n=0;n<=d_elix.length;n++)
  {
     var d_elixs = top.frames[3].document.all[0].innerHTML;
     if(d_elixs.indexOf(d_elix[n]+"</U>")<1)
        {
           for (var i = 0; i < top.frames[3].document.links.length; i++)
            {
              if(top.frames[3].document.links[i].href.indexOf(d_elix[n]+"','m") > 0)
                {
                  top.frames[3].document.links[i].click();
                  setTimeout("top.frames[3].document.getElementById(\"slform\").submit()", 1000);
                  break;               
                }
            //  else {alert("хочу выпить "+d_elix[n]+" но его нет в инветнаре sad");}               
             }
        }
   }
  top.frames[3].navigate(z_loc);
}

Отредактировано zxcv (2009-07-09 10:42:47)

33

Re: Убираем глюки своими руками

zxcv
а есть ли возможность написать код для лечения травм под бота  7.1?

34

Re: Убираем глюки своими руками

sancheese пишет:

zxcv
а есть ли возможность написать код для лечения травм под бота  7.1?

plugins/zheal.js:

function zheal(enabled)
{
if(enabled)
{ PluginsOnLoad["zheal"] = "heal"; }
else
{ PluginsOnLoad["zheal"] = ""; }
}
function heal()
{
var d_mark = top.frames[3].document.all[0].innerHTML;
if (d_mark.indexOf("травма")>1)
{
   top.frames[3].location = "http://"+City+".combats.com/main.pl?edit=2";
   for (var i = 0; i < top.frames[3].document.links.length; i++)
    {
      if(top.frames[3].document.links[i].href.indexOf("cure3_7") > 0)
        {
            top.frames[3].document.links[i].click();
            setTimeout("top.frames[3].document.getElementById(\"slform\").submit()", 1000);
            break;
        }
     }
  }
}

Отредактировано zxcv (2009-07-16 10:30:09)

35

Re: Убираем глюки своими руками

top.frames[3].navigate("http://" + external.SCity.Text + ".combats.com/main.pl?edit=3");

А когда бот лезет в инвентарь, чтоб глянуть висит ли элик? Постоянно туда пытается заглянуть?

36

Re: Убираем глюки своими руками

zxcv
Спасибо, только у меня возникает следующий вопрос : мне создать новый файл в папке с плагинами с расширением .js либо изменить какой-то существующий файл? я не разобрался.

37

Re: Убираем глюки своими руками

Tester пишет:

top.frames[3].navigate("http://" + external.SCity.Text + ".combats.com/main.pl?edit=3");

А когда бот лезет в инвентарь, чтоб глянуть висит ли элик? Постоянно туда пытается заглянуть?

я специально переделал код под функцию что бы каждый мог подогнать её под себя), в чем проблема, if()=>редирект=>измененная_функция()

zxcv
Спасибо, только у меня возникает следующий вопрос : мне создать новый файл в папке с плагинами с расширением .js либо изменить какой-то существующий файл? я не разобрался.

либо открой плагин Sunduk.js и вставь код выше:

function SundukHandler() { 
<сюда>
if (top.frames[3].document.body.innerHTML.match(re_store_rukzak) && ...)

либо создай отдельный плагин по шаблону if(enabled) { PluginsOnLoad["travma"] итд

38

Re: Убираем глюки своими руками

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

  Да в общем проблемы нет. Не знаю как в 8-ке, но в 7-ке фрейм с состоянием перса (висящие элики) у меня не получается захватывать ниоткуда, кроме как из инвентаря.

39

Re: Убираем глюки своими руками

Tester пишет:

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

Не знаю как в 8-ке, но в 7-ке фрейм с состоянием перса (висящие элики) у меня не получается захватывать ниоткуда, кроме как из инвентаря.

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

40

Re: Убираем глюки своими руками

ээ в каналке что ли тестишь?)

эээ А какая разница где тестить? Я про версию бота. Видимо и придется по оставшемуся времени бота ориентироваться изначально, при запуске плагина прыгая в инвентарь.
Я вообще к тому писал, что лучшим выходом было б считываение времени оставшегося элика в бою, но он там не считывается у меня. Может и делаю че не так)
Юзаю только версию 7.1

41

Re: Убираем глюки своими руками

Так я и не понял как научить бота 8.0 пить "Восстановление HP" если он кончился.
Вот чтобы именно по событию. Как только в чате "Окончилось действие..."
Или же когда бот переодевает комплекты чтобы в этот момент отсматривал.
Куда писать? Чего писать? Я всё-таки совсем не программер.

(Please log in or register to see this URL)

42

Re: Убираем глюки своими руками

подскажите как можно убрать очень частое обновление бота. т.к. за секунду он делат 4-5 обновлений. чтобы айпи не заблокировать надо делать ~20 обновлений в минуту. можно сделать чтобы в боюон реагировал допустим 1 раз в 2 секунды, а когда убьют не обновлял как сумашедший а кликал обновить ну скажем1 раз  15-30 секунд

43

Re: Убираем глюки своими руками

не работает по поводу ослабления после боя. бот не хочет вобще в бой идти

44

Re: Убираем глюки своими руками

bx пишет:

подскажите как можно убрать очень частое обновление бота. т.к. за секунду он делат 4-5 обновлений. чтобы айпи не заблокировать надо делать ~20 обновлений в минуту. можно сделать чтобы в боюон реагировал допустим 1 раз в 2 секунды, а когда убьют не обновлял как сумашедший а кликал обновить ну скажем1 раз  15-30 секунд

тоже задавался этим вопросом, но только из соображений расхода траффика smile

Я только учусь...
Your skill in "combots" is increased by 0.1%, it's now 15.7%

45

Re: Убираем глюки своими руками

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

Отредактировано irfon (2009-08-27 16:09:32)

46

Re: Убираем глюки своими руками

мне кажеться, проще взять версию 7.1 и там поставить использование элика раз в 12 часов...

47

Re: Убираем глюки своими руками

Приветствую.
Бот с травмой лезит в бой (8.1), я так и не понял где надо сделать изменения в скрипте, подскажите что и де поменять.

48

Re: Убираем глюки своими руками

кстати да... что внести чтоб с физической травмой бот не лез в бой... а то пиздец палево sad

По хорошему конечно нужно написать образец скрипта чтотбы бот сам ходил лечился к личу... с указанием какие травмы лечить, а какие нет (легк, средн, тяж), и тип травмы (физич, магич)... и объяснить сам принцип (откуда брать ссылку для хождения), а дальше мы уж сами из каждого города притащим маршрут smile

Главное теперь сделать ходилку изо-всех комнат... прописать и 2-й этаж, и даже секретку.

Отредактировано Петро (2009-09-05 13:47:13)

Ответы на большинство вопросов связанных с ботом, вы найдёте здесь: (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)

49

Re: Убираем глюки своими руками

Петро пишет:

и объяснить сам принцип (откуда брать ссылку для хождения)

Попробую объяснить...сам принцып хождения из ремонта можно взять...

if(external.room_name.match(/Зал\sвоинов/) != null)
                top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o7&rnd=" + Math.random();
.

параметр для path берётся из вот такого вот куска страницы в HTML виде.

solo('o7','Бойцовский Клуб', '')

вот этот o7 - это значение path для перехода в комнату "Бойцовский клуб" из текущего местоположение.

главное не забывать, что там не всегда main.pl будет в качестве исполняющего файла smile

Отредактировано anahronik (2009-09-05 14:32:52)

Software is like sex: it's better when it's free! © LinusTorvalds

50

Re: Убираем глюки своими руками

Combots 8.0 beta 3
Как сделать так, чтобы обновлял экран при этой ошибке? А то стоит и смотрит на нее (

Bad Gateway