Тема: отменить прием

а бот не может считывать сколько жизней на данный момент?у самого перса.и это привязать к приему.

!!!!!!!

2

Re: отменить прием

А смысл? Потерял 2хп от оледенения и отменил
Что при 90% хп, что при 10% хп...

3

Re: отменить прием

тебе способов спалить бота мало в жизни чтоли?
1 косяк - тебя спалили. Оно тебе надо?

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

Re: отменить прием

ну дык на 100 уменьшилась жизнь и сразу отменить.почему сразу 2?

!!!!!!!

5

Re: отменить прием

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

Re: отменить прием

хочу попробовать поставить прием"отменить" по нескольким условиям,например когда жизней 50,40 и 30 процентов,но не знаю как прописать чтоб юзал прием всего 1 раз на этапе перехода в 50 ,40 и 30 процентов,чтоб не юзал его посьоянно.кто нибудь знает как прописать такой единоразовый прием?

!!!!!!!

7

Re: отменить прием

Тоже возникла проблемка с СБ с их проклятьями. Неужели нельзя сделать условие если текущий уровень HP минус предыдущий уровень HP больше например 150 то отменить.

8

Re: отменить прием

if (условие){ приём }
переделай в
var usedCancel; if(!usedCancel && (условие)){ приём; usedCancel=1 }

9

Re: отменить прием

var usedCancel; - в последующих итерациях не доступна будет из-за var....

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

10

Re: отменить прием

Ничего не понял. Где то надо хранить осташиеся HP после предыдущего размена. Ведь "условие" должно быть разностью. так сказать (тек.HP<= предHP-150)

11

Re: отменить прием

Ну, небезопасный метод если хочешь, можешь попробывать так:
1) Последним приёмом написать:

MyHp_temp = top.Battle.oBattle.oMySlot.nHP;

2) Первым написать:

if(window.MyHp_temp && (MyHp_temp-top.Battle.oBattle.oMySlot.nHP)>=150) _name = "идентификатор отмены";
if(window.MyHp_temp) external.AddToChat("<b>Сохраненное значение хп:</b> "+window.MyHp_temp+"<b>Текущее ХП:</b>"+top.Battle.oBattle.oMySlot.nHP+"<br><br>");

не проверено.
добавил тебе в пункте (2) строку, выводящую информацию по ХП.......если два-три круга приёмов не выводит ничего, значит есть два варианта:
1) косяк в этом коде.
2) косяк где-то в приёмах твоих и он просто до последнего не добирается(Тестировать тупо передвинув пункт (1) на место второго приёма и если заработает - именно в приёмах может быть косяк).

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

12

Re: отменить прием

стопорится, если доходит до этих приемов

БК - зло, БОТ - хорошо ™

13

Re: отменить прием

external.AddToChat("бла бла бла");

одна только эта запись в слоте приема уже вешат бот в процессе боя

Отредактировано pop-corn (2010-05-28 18:17:50)

БК - зло, БОТ - хорошо ™

14

Re: отменить прием

top.Chat.Self.AddMessage("xxx");

это замена для external.AddToChat, принадлежащая уже не боту, а самому БК.

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

15

Re: отменить прием

потестировал - текущее и сохраненное значения всегда равны друг другу


о... поменял местами, теперь нормально отображается, ща прием потестирую

Отредактировано pop-corn (2010-05-29 15:10:05)

БК - зло, БОТ - хорошо ™

16

Re: отменить прием

Не понятно толком, как лучше вставлять эти 2 части, чтоб нормально улавливать размены hmm
есть мысль (1) вставить в конце каждого приёма, а (2) в начало каждого приёма...
т.е. все приёмы переделать вот примерно в такой вид:

if(window.MyHp_temp && (MyHp_temp-top.Battle.oBattle.oMySlot.nHP)>=150)
{
_name = "идентификатор отмены";
top.Chat.Self.AddMessage("Выполнено");
}
else
{
*Тут сами приёмы ваши*
}
 
if(window.MyHp_temp && (MyHp_temp-top.Battle.oBattle.oMySlot.nHP)>1)top.Chat.Self.AddMessage("Получен урон = "+(MyHp_temp-top.Battle.oBattle.oMySlot.nHP));
MyHp_temp = top.Battle.oBattle.oMySlot.nHP;

о... поменял местами, теперь нормально отображается, ща прием потестирую

Нельзя так hmm
между первым сбором ХП и первой проверков выставление кучи приёмов стоит, соответственно не 1 размен может выйти за это время.....
а может необорот самое то, ибо схема работы приёмов мне ясна, но как она накладывается на реалии жизни - хрен её знает sad

Отредактировано anahronik (2010-05-29 15:23:09)

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

17

Re: отменить прием

работает :-)

спасибо!

БК - зло, БОТ - хорошо ™

18

Re: отменить прием

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

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

19

Re: отменить прием

да прост первым приемом поставил код который ты в последнем посте дал, сообщения ток поудалял и норм работает, косяк только если противник с двумя оружиями, первым ударом может 500 снести, а вторым 40 например..

БК - зло, БОТ - хорошо ™

20

Re: отменить прием

я вобще думал, что это на каждый приём повесить надо, а не только на первый...ну чтоб он каждый приём сравнивал ХП, а не каждый круг приёмов - меньше шанс получить два размена подряд hmm
про два оружия как избежать - не знаю sad точнее знаю, но там долго надо делать просмотр по логу hmm


если вдруг у кого-то умного проснётся желание поработать с логом: top.User.Framework.GetTab("mylog").Frame().childNodes[5].innerHTML - вроде это адрессация на кокретную запись одну из лога, в котором только события с вами связанные пишутся. Вроде, т.к. я месяца 3 назад находил адрессацию и записывал в файл, а её ли нашел сейчас или нет - не знаю smile вроде похожа smile

Отредактировано anahronik (2010-05-29 18:40:25)

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

21

Re: отменить прием

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

еще раз спасибо за разработку

БК - зло, БОТ - хорошо ™

22

Re: отменить прием

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

Отредактировано anahronik (2010-05-29 18:42:49)

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

23

Re: отменить прием

anahronik пишет:

var usedCancel; - в последующих итерациях не доступна будет из-за var....

Угу. Вынос в нужный scope оставлен на домыслевание нуждающимся. Я Combots достаточно глубоко не копал, что проверять в какой области он тело обработки приёмов размещает (мне с Perl'овым ботом проще smile)

24

Re: отменить прием

Прием работает. Менять вывод в чат даже не стал, ибо и так ясно что работает. В бездне самое то. В хаотах не катит конечно - часто получаешь несколько запоздалых ответов подряд или у двуручника первым идет крит а вторым так - чуток ковырнет и все. Спасибо. А что там такого небезопасного?

Отредактировано Cookie (2010-05-31 03:11:36)

25

Re: отменить прием

Только то, что можно спалиться на какой-нить мелочи с этой отменой smile

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