Код: Выделить всё
automacro mystun {
$x = @eval($::char->{pos}{x})
$y = @eval($::char->{pos}{y})
console /Monster (.*) is casting Stun Attack on location ($x, $y)/
call {
do tele
}
#run-once 1
}
Модератор: 4epT
Код: Выделить всё
automacro mystun {
$x = @eval($::char->{pos}{x})
$y = @eval($::char->{pos}{y})
console /Monster (.*) is casting Stun Attack on location ($x, $y)/
call {
do tele
}
#run-once 1
}
Код: Выделить всё
$::char->{pos}{y}
Можно использовать в исполняемой части макроса оператор goto и метки, и таким образом решать, надо ли телепортироваться(посмотри макрос товарища мантикоры - там полно таких примеров).Кроот писал(а):записать вычисления в исполняемую часть макроса нельзя, т.к. мне сначала надо знать куда кастуется стун
Не, пусть макро срабатывает на каждую попытку стуна и только потом думает - а не на нас ли кастят?Кроот писал(а):записать вычисления в исполняемую часть макроса нельзя, т.к. мне сначала надо знать куда кастуется стун, а для этого я и пытаюсь вычислить координаты бота, а по твоей идее все бутет происходить наоборот
Код: Выделить всё
automacro mstun {
console /Attack on location ($x, $y)/
call {
if $x = @eval($::char->{pos}{x}) go to xok
go to notmy
:xok
if $y = @eval($::char->{pos}{y}) go to yok
go to notmy
:yok
pause 0.5
do tele
:notmy
}
#run-once 1
}
Фуф, какой ужос .Кроот писал(а):если ты про это то непашет, как понимаю реакции на консоль нету т.к. по мнению коры там херь какаятоКод: Выделить всё
automacro mstun { console /Attack on location ($x, $y)/ call { if $x = @eval($::char->{pos}{x}) go to xok go to notmy :xok if $y = @eval($::char->{pos}{y}) go to yok go to notmy :yok pause 0.5 do tele :notmy } #run-once 1 }
Ну дык и напиши:Monster Wolf (0) is casting Ground Attack on you (time 500ms)
А то пишешь какой-то бред...console /Monster Wolf .* is casting Ground Attack on you.*/
ужос....if $x = @eval($::char->{pos}{x}) go to xok
вот кусок из лога, если реагировать на консоль по твоему методу то винговаться будет позно т.к. стун уже получен, недумаешь что надо пытаться сваливать в момент када на тебя идет каст, нэ?[Jan 1 00:50:15 2008.49] Monster Wolf (0) is casting Stun Attack on location (269, 261) - (time 1500ms)
тут еще всякая инфа типа "а нас ударил этот"
[Jan 1 00:50:17 2008.99] [dist=1] Monster Wolf (0): *$!@#*
[Jan 1 00:50:17 2008.60] [ 98/ 16] Monster Wolf(0) uses Stun Attack on you - Dmg: 227 (delay 7.2)
Гыг, а я те про что писал то? Разве не именно про то, когда каст идет?Кроот писал(а):вот кусок из лога, если реагировать на консоль по твоему методу то винговаться будет позно т.к. стун уже получен, недумаешь что надо пытаться сваливать в момент када на тебя идет каст, нэ?[Jan 1 00:50:15 2008.49] Monster Wolf (0) is casting Stun Attack on location (269, 261) - (time 1500ms)
тут еще всякая инфа типа "а нас ударил этот"
[Jan 1 00:50:17 2008.99] [dist=1] Monster Wolf (0): *$!@#*
[Jan 1 00:50:17 2008.60] [ 98/ 16] Monster Wolf(0) uses Stun Attack on you - Dmg: 227 (delay 7.2)
про арфографические ошибки полностью согласен, косячу епт(
P.S:Короче, свой макрос напишешь сам, он элементарный(еще доку по макросам тебе было бы не плохо перечитать хорошенько).vit писал(а):1).Реакция на консоль - ну дак пропиши там то, что тебе надо(т е то, что пишется в консоли именно в этом случае)
Как я понимаю, это что-то вроде:Ну дык и напиши:Monster Wolf (0) is casting Ground Attack on you (time 500ms)console /Monster Wolf .* is casting Ground Attack on you.*/
када идет каст, в этот момент и должен винговаться,is casting Stun Attack on location
када стун собственно состаялся, винговаться незя в стуне, смерть ботаuses Stun Attack on you
Код: Выделить всё
console /bla bla bla on location ($x, $y)/
Код: Выделить всё
# Skill area casting -> running to monster's back
my $ID;
if ($dist > 0 && AI::action eq "attack" && ($ID = AI::args->{ID}) && (my $monster2 = $monstersList->getByID($ID))) {
{........}
}