Отбегалка от моба.
Чар будет тупо убегать по той оси по которой к вам идет моб.
Покатит пока для открытых пространств. Надо дорабатывать.
Если кому поможет пользуйтесь.
Ставим дистанцию.
Запускаем скрипт.
Будет убегать от того, кому сделали атаку.
set %Distance 7
;-------------Ne trogaem--------------------
set %plus %Distance
set %minus %Distance - %Distance - %Distance
;-------------------------------------------
scan:
finditem #enemyid
set %rx #findx
set %ry #findy
set %1 %rX - #charposx
set %2 %rY - #charposy
if %1 >= 1 && %1 <= %plus && %2 = 0
gosub moveW
if %1 >= 1 && %1 <= %plus && %2 >= 1 && %2 <= %plus
gosub moveWN
if %1 = 0 && %2 >= 1 && %2 <= %plus
gosub moveN
if %1 <= -1 && %1 >= %minus && %2 >= 1 && %2 <= %plus
gosub moveNE
if %1 <= -1 && %1 >= %minus && %2 = 0
gosub moveE
if %1 <= -1 && %1 >= %minus && %2 <= -1 && %2 >= %minus
gosub moveES
if %1 = 0 && %2 <= -1 && %2 >= %minus
gosub moveS
if %1 >= 1 && %1 <= %plus && %2 <= -1 && %2 >= %minus
gosub moveSW
if %1 = 0 && %2 = 0
gosub antijimbo
goto scan
sub antijimbo
If %N
{
gosub MoveE
set %N #False
set %E #True
return
}
If %E
{
set %E #False
set %S #True
gosub moveS
return
}
If %S
{
set %S #False
set %W #True
gosub moveW
return
}
If %W
{
set %W #False
set %N #True
gosub moveN
return
}
gosub moveN
Set %N #True
return
sub moveW
set %r #charposx
set %t #charposy
set %timer #scnt2 + 12
repeat
{
Finditem #enemyid G_ , 14
set %r %r - 1
move %r %t 0 1
}
until #finddist >= 6 || #scnt2 > %timer
return
sub moveWN
set %r #charposx
set %t #charposy
set %timer #scnt2 + 12
repeat
{
Finditem #enemyid G_ , 14
set %r %r - 1
set %t %t - 1
move %r %t 0 1
}
until #finddist >= 6 || #scnt2 > %timer
return
sub moveN
set %r #charposx
set %t #charposy
set %timer #scnt2 + 12
repeat
{
Finditem #enemyid G_ , 14
set %t %t - 1
move %r %t 0 1
}
until #finddist >= 6 || #scnt2 > %timer
return
sub moveNE
set %r #charposx
set %t #charposy
set %timer #scnt2 + 12
repeat
{
Finditem #enemyid G_ , 14
set %r %r + 1
set %t %t - 1
move %r %t 0 1
}
until #finddist >= 6 || #scnt2 > %timer
return
sub moveE
set %r #charposx
set %t #charposy
set %timer #scnt2 + 12
repeat
{
Finditem #enemyid G_ , 14
set %r %r + 1
move %r %t 0 1
}
until #finddist >= 6 || #scnt2 > %timer
return
sub moveES
set %r #charposx
set %t #charposy
set %timer #scnt2 + 12
repeat
{
Finditem #enemyid G_ , 14
set %r %r + 1
set %t %t + 1
move %r %t 0 1
}
until #finddist >= 6 || #scnt2 > %timer
return
sub moveS
set %r #charposx
set %t #charposy
set %timer #scnt2 + 12
repeat
{
Finditem #enemyid G_ , 14
set %t %t + 1
move %r %t 0 1
}
until #finddist >= 6 || #scnt2 > %timer
return
sub moveSW
set %r #charposx
set %t #charposy
set %timer #scnt2 + 12
repeat
{
Finditem #enemyid G_ , 14
set %r %r - 1
set %t %t + 1
move %r %t 0 1
}
until #finddist >= 6 || #scnt2 > %timer
return