426

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

тут такое дело... проводник не берет свой квестовый дроп... хотя в настройках выставил.. чтобы он брал все(и свое и чужое)

var not_your = true;  //Пытаться подобрать чужие вещи. true - пытаться. false - не пытаться

хм... прицеп тоже что то дроп не берет smile

items_get.push('Грибочки');
items_get.push('грибах');
items_get.push('заживляющ(?:ая|ий)');
 
var not_your = true;  //Пытаться подобрать чужие вещи. true - пытаться. false - не пытаться


А что то Маленькие Грибочки не взял sad

427

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

Набор приемов для пещеры(Sun/Sand).
Содержимое файла *.cm:

<?xml version="1.0" encoding="windows-1251"?>
<Methods>
  <Priem1>if((typeof(top.Battle.oBattle.oMySlot.arrEffects["wis_water_poison08"]) == "object") ||
   (typeof(top.Battle.oBattle.oMySlot.arrEffects["wis_water_cloud08"]) == "object") ||
   (typeof(top.Battle.oBattle.oMySlot.arrEffects["wis_fire_flamming08"]) == "object") ||
   (typeof(top.Battle.oBattle.oMySlot.arrEffects["wis_air_mark"]) == "object") ||
   (typeof(top.Battle.oBattle.oMySlot.arrEffects["wis_earth_mark"]) == "object") ||
   (typeof(top.Battle.oBattle.oMySlot.arrEffects["wis_water_mark"]) == "object") ||
   (typeof(top.Battle.oBattle.oMySlot.arrEffects["wis_fire_mark"]) == "object"))
{
  _name = "hp_cleance";
}</Priem1>
  <Priem2>if(((top.Battle.oBattle.oMySlot.nHP * 100 / top.Battle.oBattle.oMySlot.nMaxHP) &lt; 32) &amp;&amp;
    (parseInt(top.Battle.oBattle.arrRes["spirit"].innerHTML) &gt; 0)){
     _name = "hit_willpower";
}</Priem2>
  <Priem3>if((top.Battle.oBattle.arrRes["hit"].innerHTML &gt; 22) ||
(parseInt(top.Battle.oBattle.arrRes["spirit"].innerHTML) &lt; 0.01)){
  _name = "hit_empower";
}</Priem3>
  <Priem4>if((top.Battle.oBattle.oMySlot.nHP * 100 / top.Battle.oBattle.oMySlot.nMaxHP) &gt; 32){
  _name = "krit_bloodlust";
}</Priem4>
  <Priem5>_name = "block_fullshield";</Priem5>
  <Priem6>if((parseInt(top.Battle.oBattle.arrRes["counter"].innerHTML) &gt; 5) ||
  ((top.Battle.oBattle.oMySlot.nHP * 100 / top.Battle.oBattle.oMySlot.nMaxHP) &lt; 55)){
  _name = "counter_winddance";
}</Priem6>
  <Priem7>if((top.Battle.oBattle.oMySlot.nHP * 100 / top.Battle.oBattle.oMySlot.nMaxHP) &gt; 32){
  _name = "counter_deathwalk"; 
}</Priem7>
  <Priem8>hp_enragelvl = top.Battle.oBattle.oMySlot.oEffects.innerHTML.match(/&lt;br&gt;&lt;span[^&gt;]*&gt;.(\d)?&lt;\/span&gt;&lt;\/div&gt;&lt;img[^"]*".+\/hp_enrage\.gif"&gt;/i);
hp_defencelvl = top.Battle.oBattle.oMySlot.oEffects.innerHTML.match(/&lt;br&gt;&lt;span[^&gt;]*&gt;.(\d)?&lt;\/span&gt;&lt;\/div&gt;&lt;img[^"]*".+\/hp_defence\.gif"&gt;/i);
 
if((hp_enragelvl != null) &amp;&amp; (hp_defencelvl != null) &amp;&amp; (parseInt(top.Battle.oBattle.arrRes["hp"].innerHTML) &gt; 5)){
  if((hp_enragelvl[1] &gt; 2) &amp;&amp; (hp_defencelvl[1] &gt; 2) &amp;&amp; ((top.Battle.oBattle.oMySlot.nHP * 100 / top.Battle.oBattle.oMySlot.nMaxHP) &lt; 100)){
    _name = "hp_regen";
  }else if((top.Battle.oBattle.oMySlot.nHP * 100 / top.Battle.oBattle.oMySlot.nMaxHP) &lt; 32){
    _name = "hp_regen";
  }else{
    _name = "";
  }
}</Priem8>
  <Priem9>if(((top.Battle.oBattle.oMySlot.nHP * 100 / top.Battle.oBattle.oMySlot.nMaxHP) &gt; 32) &amp;&amp;
   (parseInt(top.Battle.oBattle.arrRes["hp"].innerHTML) &gt; 5)){
  _name = "hp_enrage";
}</Priem9>
  <Priem10>hp_enragelvl = top.Battle.oBattle.oMySlot.oEffects.innerHTML.match(/&lt;br&gt;&lt;span[^&gt;]*&gt;.(\d)?&lt;\/span&gt;&lt;\/div&gt;&lt;img[^"]*".+\/hp_enrage\.gif"&gt;/i);
if(hp_enragelvl != null){
if(((top.Battle.oBattle.oMySlot.nHP * 100 / top.Battle.oBattle.oMySlot.nMaxHP) &gt; 32) &amp;&amp;
   (parseInt(top.Battle.oBattle.arrRes["hp"].innerHTML) &gt; 5) &amp;&amp;
   (hp_enragelvl[1] &gt; 2)
  ){
  _name = "hp_defence";
} 
}</Priem10>
  <Priem11>bloodlustCount = top.Battle.oBattle.oMySlot.oEffects.innerHTML.match(/&lt;br&gt;&lt;span[^&gt;]*&gt;.(\d)?&lt;\/span&gt;&lt;\/div&gt;&lt;img[^"]*".+\/krit_bloodlust\.gif"&gt;/i);
if(bloodlustCount != null){
if((((top.Battle.oBattle.oMySlot.nHP * 100 / top.Battle.oBattle.oMySlot.nMaxHP) &lt; 32) || (bloodlustCount[1] &gt; 2))){
  _name = "krit_wildluck";
}
}</Priem11>
  <Priem12>_name = "parry_prediction"; </Priem12>
  <Priem13>
  </Priem13>
  <Priem14>
  </Priem14>
  <Priem15>
  </Priem15>
  <Priem16>
  </Priem16>
  <Priem17>
  </Priem17>
  <Priem18>
  </Priem18>
  <Priem19>
  </Priem19>
  <Priem20>
  </Priem20>
  <Priem21>
  </Priem21>
  <Priem22>
  </Priem22>
  <Priem23>
  </Priem23>
  <Priem24>
  </Priem24>
</Methods>

Приемы:
Очиститься кровью, Воля к победе, Усиленные удары, Жажда крови, Полная защита, Танец ветра, Поступь смерти, Дикая удача, Предвиденье, Ярость, Стойкость, Утереть пот.

428

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

Knight Jedi пишет:
if(parseInt(top.Battle.oBattle.arrRes["krit"].innerHTML) > 12)
else
_name = "krit_blooddrink"

чтото прием не светится в настройках и не работает. в чем ошибка?

пьем кровь, если тактик крита больше 12?
если да, то лишняя "else" и после названия приема не хватает ";"

if(parseInt(top.Battle.oBattle.arrRes["krit"].innerHTML) > 12)
_name = "krit_blooddrink";
hyppo пишет:

Начинай писать smile Все будут рады если у тебя получится!
Пока что все попытки написать простое и краткое описание бота заканчивались либо FAQ, либо "юзай поиск", либо пожеланиями снять ролик. Я простых способов вообще не вижу. Слишком много вариантов в настройке бота чтобы всё кратенько описать.

Думал заняться... пока писал себе маршруты Sand... хотел описать как это делается... набросал в ворде страницы полторы текста... налепил скринов... пошел чайку попил.. вернулся почитал.. фигня полная... по факту описал элементарные вещи(на мой взгляд)  smile
я могу взяться за манула... но есть пару но...
1. Сам не сильно силен в боте.... не так он у меня давно...
2. Не особо четко представляю... в чем трудность использования бота... возможно я не все функции использую, но те которыми пользуюсь.. вроде как все ясно и понятно...

если есть перечень вопросов, которые нужно осветить...  я готов над этим потрудиться...
просто пока все вопросы, которые я видел на форуме... сводились...
1. как написать прием... (аля мне надо, что бы было так и так)
2. почему не запускается бот
3. не работает плагин...
а данные вещи в манула не свести... как не крути... так как они все индивидуальные...

у кого-нибудь есть соображения в каком виде и что описать в мануале? smile

430

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

Tester пишет:

Вручную не бегал давно, и потому вопрос: пыги из соседних корридоров не прибегают?

ПГ носятся будь здоров.. на первом этаже в первом коридоре(j на карте дарков) всех собираю(ну или почти всех)...
на втором ботом не ходил... ибо не тянет бедняга smile

431

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

Bobr1k пишет:

... ничего делать как в АК не будут...

а жаль smile

432

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

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

и еще такой вопросик...
можно ли в следующих версиях... предусмотреть возможность нанесения автоудара в ручном режиме(как в Автокомбатсе через F2)...
т.е. что бы бот был выключен... а точки расставляются и кнопка "В перед" жмется через одну кнопку...
порой хочется так сказать самому по воевать smile
В принципе не принципиально... но избавило бы от необходимости... пере заходить под другим клиентом... тем более, что скрипт автоудара уже в боте написан осталось только привязать его на какую-нибудь кнопку smile
Заранее спасибо smile

433

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

ZhEkA_BK пишет:

Незнаю как ваша логика, но я когда на 8м крито-уворотом играл, то при оставшихся 8 хп успевал штуку еще сверху снести иногда  big_smile
Andy_SPB,и как там на 9м критоуворотом? Я просто раньше когда играл, сильно разочаровался после фикса вертунов.

согласен... бывало... на первых разменах 80% хп теряешь... а потом весь бой рулишь... но у меня, почему то так редко бывало...
на 9ке... руками не плохо... ботом хуже smile
но тут хз... я ведь ботом на 8ке под конец играл... т.е. была сильная 8ка... а ща слабая 9ка... м/б по этому и не особо рулит...

терь по существу...

Защита от метеорита.
На базе трех приемов Магическая защита, Осторожность, Полная защита.
Выставил в трех слотах(приемы в боте)

Первым - Маг. защиту:

if(typeof(top.Battle.oBattle.oMySlot.arrEffects["wis_earth_meteor08"]) == "object"){
  _name = "block_magicshield";
}

Описание: Если на чаре висит метеорит, применяем маг. защиту.

Вторым - Осторожность:

if((typeof(top.Battle.oBattle.oMySlot.arrEffects["wis_earth_meteor08"]) == "object") && (typeof(top.Battle.oBattle.oMySlot.arrEffects["block_magicshield"]) != "object")){
  _name = "counter_ward";
}

Описание: Если на чаре висит метеорит и не висит маг.защита, используем осторожность(50% защиты от маг. урона)

Третьим - Полная защита:

if((parseInt(top.Battle.oBattle.arrRes["block"].innerHTML) > 7)||((top.Battle.oBattle.oMySlot.nHP * 100 / top.Battle.oBattle.oMySlot.nMaxHP) < 32) ||((typeof(top.Battle.oBattle.oMySlot.arrEffects["wis_earth_meteor08"]) == "object") && (typeof(top.Battle.oBattle.oMySlot.arrEffects["block_magicshield"]) != "object"))){
  _name = "block_fullshield";
}

Описание: Работает при трех исходах:
1. Количество тактик блока > 7 - применяем полную защиту.
2. ХП в красной зоне - применяем полную защиту.
3. Если на чаре висит метеорит и не висит маг. защита - применяем полную защиту.

P.S. На счет целесообразности данной связки ни чего утверждать не буду...маги порой надоедают вот и повесил себе в приемы smile

hydralysk пишет:

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

понимаешь в чем дело...
что то написать ролик не поможет... тут один способ... берешь любой описанный прием... берешь какую-нибудь не шибко умную книженцию по Jave... читаешь раздел в котором описан принцип построения объектов... берешь справочник... и разбираешь каждое слово в приеме... потом открываешь любой JavaScript редактор... и меняешь код как те вздумается... и проверяешь его на боте... если что то не выходит.. задаешь вопрос с примером того, что у тебя получилось... народ подскажет и объяснит что не так  smile
а ролик... может только показать куда код вставить... и какую кнопку нажать, что бы бот включился...
это что касается приемов... другой вопрос тут вроде как есть редактор для маршрутов подземных... но я его еще не смотрел)

случайно набрел на эту тему...
на мой взгляд... простого мануала...
типо этого.... () заглаза smile
повесть пару скринов... более подробно расписать все...
на много проще реализовать...

436

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

Virus пишет:

Andy_SPB, логика хорошая, мне нравиться, спасибо. Поставил себе, буду тестить.
Вставляю в 1 сообщения ?

не возражаю smile

437

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

Есть предложение по приемам...
Простое использование поступи мало эффективно(на мой взгляд)...
Лучше добавить в приемы танец ветра(уворот за три тактики контрудара) в следующем виде...

if((parseInt(top.Battle.oBattle.arrRes["counter"].innerHTML) > 7) || 
  ((top.Battle.oBattle.oMySlot.nHP * 100 / top.Battle.oBattle.oMySlot.nMaxHP) < 32)){
  _name = "counter_winddance";
}

а поступь прописать в виде...

if((top.Battle.oBattle.oMySlot.nHP * 100 / top.Battle.oBattle.oMySlot.nMaxHP) > 32){
  _name = "counter_deathwalk"; 
}

на мой взгляд порой лучше увернуться когда ХП мало... и прожить на 1 размен дольше... чем усилить урон на 1 ход(так как второго может и не быть) wink

проверено: крито-уворот 8 лвл...
В данный момент обкатываю тактику на 9 лвл, тоже крито-уворот... smile

438

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

anahronik пишет:

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

хм... уворот 9 лвл...
идет бой... по условиям скрипта приемов бот должен использовать к примеру Ярость(к примеру номер приема 4)... он применяет прием... в этот момент идет размен с противником, под которого он походил скажем хода два назад... в итоге получает доп тактику... пускай контрудар... в результате есть возможность использовать танец(номер приема 2)... но бот не сделал ход.. поэтому он идет дальше по списку п. 5... 6... и т.д. до 20... в результате танец он использует только в следующем рамене(когда по новой прогоняет весь список)... так вот вопрос...
можно ли с помощью данной команды устранить данный минус smile

Петро пишет:

Andy_SPB
открой HTML код в котором описывается количество кастов этого приёма - на порядок станет понятнее smile

согласен... что будет понятнее... но не на много smile

anahronik пишет:

Ладно.
Расшифрую таки всю строку:

...

Что-нить ещё объяснить?:)

*чешет репу*
пока нет... ибо все выше изложенное нужно еще обмозговать... smile

hyppo пишет:

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

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

anahronik пишет:

как он в приёме самом выглядит:

/<br><span[^>]*>.(\d)?<\/span><\/div><img[^"]*".+\/krit_bloodlust\.gif">/i

вот (\d) - это цифра, которая означает, сколько раз наложен эффект krit_bloodlust.

чую придется устраивать мозговой штурм smile

hyppo пишет:

....

bloodlustCount = top.Battle.oBattle.oMySlot.oEffects.innerHTML.match(/&lt;br&gt;&lt;span[^&gt;]*&gt;.(\d)?&lt;\/span&gt;&lt;\/div&gt;&lt;img[^"]*".+\/krit_bloodlust\.gif"&gt;/i);

А не могли бы вы пояснить вот эту строчку...
особенно интересует вот этот участок...

/&lt;br&gt;&lt;span[^&gt;]*&gt;.(\d)?&lt;\/span&gt;&lt;\/div&gt;&lt;img[^"]*".+\/krit_bloodlust\.gif"&gt;/i

а то чет ни фига не понимаю  neutral

442

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

hyppo пишет:

И да и нет. В данном случае НЕТ. Метеор любого уровня отображается как восьмой. Картинка с 08 общая у всех. Обрати внимание в бою, когда на тебе будет висеть плохой каст, например пожирающее пламя, название картинки всегда будет с "08", хотя эффект может быть любого уровня.

ясно... спасибо еще раз smile
а то я смотрю... вроде одинаковая всегда... а вроде и нет.. думаю дай узнаю... у умных людей smile

443

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

>hyppo
в принципе так и сдела...  решил... ну его... и разбил все на простые приемы smile
Есть вопрос...
в имени wis_earth_meteor08 08 - это лвл приема?

Осторожность:

if(typeof(top.Battle.oBattle.oMySlot.arrEffects["wis_earth_meteor08"]) == "object"){
  _name = "counter_ward";
}

Маг. защита:

if(typeof(top.Battle.oBattle.oMySlot.arrEffects["wis_earth_meteor08"]) == "object"){
  _name = "block_magicshield";
}

444

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

hyppo пишет:

Andy_SPB Извини за вопрос, но... нафига такие сложные конструкции? smile

P.S. А то что у тебя дикую использует постоянно, так это не удивительно. У тебя все else замкнуты на присвоение _name приёма дикая удача. Что ещё он должен использовать? Он все капельки на дикую сливает, как ты ему и сказал.

P.P.S.

Если ХП в красной зоне и Духа больше 1

Там условие если ХП НЕ в красной зоне.

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

а на счет "НЕ в красной..." спасибо... вечерком обмозгую wink

445

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

Приветствую!
Посмотрите пжл. скриптик... что то не пашет... а где ошибся ни как не могу сообразить smile

if(((top.Battle.oBattle.oMySlot.nHP * 100 / top.Battle.oBattle.oMySlot.nMaxHP) > 32) && (parseInt(top.Battle.oBattle.arrRes["spirit"].innerHTML) > 1)){
    if (top.Battle.oBattle.arrMethods["hit_willpower"].oMethod.Enable){
       _name = "hit_willpower";
    }else if(top.Battle.oBattle.arrMethods["krit_blooddrink"].oMethod.Enable){
       _name = "krit_blooddrink";
    }else{
       _name = "krit_wildluck";
    }
  }else{
      if(top.Battle.oBattle.arrMethods["krit_bloodlust"].oMethod.Enable){
        _name = "krit_bloodlust";
      }else{
        _name = "krit_wildluck";
      }
}

Есть четыре приема - Воля к победе, Хлебнуть крови,  Дикая удача и Жажда крови .
Задумка такова:
Если ХП в красной зоне и Духа больше 1 проверяем возможно ли юзануть Волю к победе, если да то юзаем... если нет проверяем можно ли юзануть Хлебнуть крови... если да то юзаем... если нет.. то просто бьем дикой удачей...
Если же ХП не в красной зоне или духа меньше 1... то проверяем можно ли юзануть жажду крови.. если да то юзаем... если нет... то бьем дикой удачей...

Но на практике... просто лупит дикой удачей и все... а это не совпадает со стратегическим планом  smile

Заранее благодарствую... добрые люди!