Хелп ИЗИ УО+Инжа (Догонялка NEEDED)

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
BigMouseI
Posts: 93
Joined: 2006-04-15 09:00:35

Хелп ИЗИ УО+Инжа (Догонялка NEEDED)

Post by BigMouseI »

Тем кто понимает, люди, нашёл скрипт на догонялку на ИЗИ УО, но проблема:
1) Он гониться за теми, кто атачил чара или кого атачит чар, а хотелось бы за тем, кого надо указать (из инжи)
2) Собсно не знаю как из инжи вызвать этот скрипт...
Заранее спс.

Code: Select all

;==================================
; Script Name: follow enemy script/sub
; Author: Nilmer
; Version: 1.0
; Client Tested with: 4.0.1b
; EUO version tested with: V1.42 [Build 0066]
; Shard OSI / FS: OSI
; Revision Date:2/1/2004
; Public Release: 12/16/2003
; Purpose: follows enemy
;==================================
initevents
event macro 32
wait 1s
scanjournal %nil
if off. in #journal
event macro 32
top:
finditem #enemyid
if #findkind = -1
goto top
move #findx #findy 1
finditem #ltargetid
if #findkind = -1
{
wait 10
goto top
}
;=====end of nilmers followenemy.txt=====
Last edited by BigMouseI on 2006-11-11 21:58:18, edited 1 time in total.
Nmy
Expert!
Posts: 2152
Joined: 2005-09-14 15:31:58
Location: Latvia

Post by Nmy »

незнаю, мне кажется что через журнал можно пробавать... хз хз...

лудше зделай догонялку на инже, кстати тут она тоже есть, я нашол, значит и другие смогут...
Edred
Expert!
Posts: 2544
Joined: 2004-04-03 17:36:29
Location: Saint-Petersburg

Post by Edred »

SetEasyUO, GetEasyUO. Смотри хелп. Для примера смотри мои скрипты в топике с моим наследством. Я некоторое время использовал ходилку на изе для инжектовских скриптов. Потом вообще на изю перебрался.
Ни один скрипт не работает? Пора обновить Инжект...
Все работает, но хочется большего? Пора переходить на стелс...
BigMouseI
Posts: 93
Joined: 2006-04-15 09:00:35

Post by BigMouseI »

NMY wrote:незнаю, мне кажется что через журнал можно пробавать... хз хз...

лудше зделай догонялку на инже, кстати тут она тоже есть, я нашол, значит и другие смогут...


Можешь дать ссылочку, ато изя с пасфайдом реально тупит...
Nmy
Expert!
Posts: 2152
Joined: 2005-09-14 15:31:58
Location: Latvia

Post by Nmy »

поиск...
BigMouseI
Posts: 93
Joined: 2006-04-15 09:00:35

Post by BigMouseI »

NMY wrote:поиск...


В поиске по слову Догонялка:

Во всех темах практически говорят пользовать Alt + Lclick, но эту комбинацию нельзя забиндить в инже + там догонялка бегает не вплотную.

Гдето посылают к скриптам на ходилки...

Гдето посылают в поиск...

В 1 месте наткнулся на скрипт:

Code: Select all

sub fol()
var x,y
while uo.getdistance('laststatus')>0
 x=uo.getx('laststatus')
 y=uo.gety('laststatus')
 go(x,y)
wend
endsub

Sub go(x,y)
  VAR i
  VAR dir,ldir,rdir,key,olddir
  VAR dx,dy,Exit=0
  VAR CacheLimit=9,CacheIndex="Text"
  DIM CacheX[10], CacheY[10]
 
  CacheX[0]="Test"
 
    If dx<>0 AND dy<>0 Then
      If dx>0 AND dy>0 Then ; GoSE
        dir=3
        ldir=2
        rdir=4
        key=40 ; DownArrow
        olddir=UO.GetDir()
        If StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key) Then
          If olddir==2 Then ; GoNE
            dir=1
            ldir=0
            rdir=1
            key=39 ; RightArrow
            While UO.GetDir()<>1
               StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
            Wend
          Else ; GoSW
            dir=5
            ldir=5
            rdir=6
            key=37 ; LeftArrow
            While UO.GetDir()<>5
               StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
            Wend
          Endif
        Endif
      Endif

      If dx>0 AND dy<0 Then ; GoNE
        dir=1
        ldir=0
        rdir=2
        key=39 ; RightArrow
        olddir=UO.GetDir()
        If StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key) Then
          If olddir==0 Then ; GoWN
            dir=7
            ldir=6
            rdir=7
            key=38 ; UpArrow
            While UO.GetDir()<>7
               StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
            Wend
          Else ; GoSE
            dir=3
            ldir=3
            rdir=4
            key=40 ; DownArrow
            While UO.GetDir()<>3
               StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
            Wend
          Endif
        Endif
      Endif

      If dx<0 AND dy>0 Then ; GoSW
        dir=5
        ldir=4
        rdir=6
        key=37 ; LeftArrow
        olddir=UO.GetDir()
        If StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key) Then
          If olddir==6 Then ; GoWN
            dir=7
            ldir=7
            rdir=0
            key=38 ; UpArrow
            While UO.GetDir()<>7
               StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
            Wend
          Else ; GoSE
            dir=3
            ldir=2
            rdir=3
            key=40 ; DownArrow
            While UO.GetDir()<>3
               StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
            Wend
          Endif
        Endif
      Endif

      If dx<0 AND dy<0 Then ; GoWN
        dir=7
        ldir=6
        rdir=0
        key=38 ; UpArrow
        olddir=UO.GetDir()
        If StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key) Then
          If olddir==0 Then ; GoNE
            dir=1
            ldir=1
            rdir=2
            key=39 ; RightArrow
            While UO.GetDir()<>1
               StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
            Wend
          Else ; GoSW
            dir=5
            ldir=4
            rdir=5
            key=37 ; LeftArrow
            While UO.GetDir()<>5
               StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
            Wend
          Endif
        Endif
      Endif
    Endif
 
    If dx<>0 AND dy==0 Then
      If dx>0 Then ; GoE
        dir=2
        key=34 ; PgDown
        olddir=UO.GetDir()
        If StepEdit(UO.GetX(),UO.GetY(),dir,key) Then
          If olddir==2 Then ; GoSE
            dir=3
            ldir=3
            rdir=4
            key=40 ; DownArrow
            While UO.GetDir()<>3
               StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
            Wend
          Else ; GoNE
            dir=1
            ldir=1
            rdir=0
            key=39 ; RightArrow
            While UO.GetDir()<>1
               StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
            Wend
          Endif
        Endif
      Endif
     
      If dx<0 Then ; GoW
        dir=6
        key=36 ; Home key
        olddir=UO.GetDir()
        If StepEdit(UO.GetX(),UO.GetY(),dir,key) Then
          If olddir==0 Then ; GoWN
            dir=7
            ldir=7
            rdir=0
            key=38 ; UpArrow
            While UO.GetDir()<>7
               StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
            Wend
          Else ; GoSW
            dir=5
            ldir=4
            rdir=5
            key=37 ; LeftArrow
            While UO.GetDir()<>5
               StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
            Wend
          Endif
        Endif
      Endif
    Endif

    If dx==0 AND dy<>0 Then
      If dy>0 Then ; GoS
        dir=4
        key=35 ; End
        If StepEdit(UO.GetX(),UO.GetY(),dir,key) Then
          If olddir==2 Then ; GoSE
            dir=3
            ldir=2
            rdir=3
            key=40 ; DownArrow
            While UO.GetDir()<>3
               StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
            Wend
          Else ; GoSW
            dir=5
            ldir=6
            rdir=5
            key=37 ; LeftArrow
            While UO.GetDir()<>5
               StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
            Wend
          Endif
        Endif
      Endif
     
      If dy<0 Then ;GoN
        dir=0
        key=33 ; PgUp
        olddir=UO.GetDir()
        If StepEdit(UO.GetX(),UO.GetY(),dir,key) Then
          If olddir==2 Then ; GoNE
            dir=1
            ldir=1
            rdir=2
            key=39 ; RightArrow
            While UO.GetDir()<>1
               StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
            Wend
          Else ; GoWN
            dir=7
            ldir=7
            rdir=6
            key=38 ; UpArrow
            While UO.GetDir()<>7
               StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
            Wend
          Endif
        Endif
      Endif
    Endif   
end sub


Sub StepEdit(x,y,dir,key)
  VAR walkwait=50
  VAR ErrLevel=0
  If UO.GetDir()<>dir Then
    UO.Press(key)
    wait(walkwait)
    If UO.GetDir()<>dir Then
    Endif
  Endif
  UO.Press(key)
  wait(walkwait)
  If x==UO.GetX() AND y==UO.GetY() Then
    If x==UO.GetX() AND y==UO.GetY() Then
;zatik
      ErrLevel=1
    Endif
  Endif
  Return ErrLevel
end sub


Sub StepArrow(x,y,dir,ldir,rdir,key)
  VAR walkwait=50
  VAR ErrLevel=0
  If UO.GetDir()<>dir Then
    UO.Press(key)
    wait(walkwait)
    If UO.GetDir()<>dir AND UO.GetDir()<>ldir AND UO.GetDir()<>rdir Then
      wait(10)
    Endif
  Endif

  If UO.GetX()==x AND UO.GetY()==y Then
    UO.Press(key)
    wait(walkwait)
    If UO.GetDir()==dir AND UO.GetX()==x AND UO.GetY()==y Then
      If UO.GetDir()==dir AND UO.GetX()==x AND UO.GetY()==y Then
; zatik     
        ErrLevel=1
      Endif
    Endif
  Endif
  Return ErrLevel
end sub

Но скрипт почемуто идёт вместо чара кудато вниз, при этом обходит все припятствия...

Также нашёл в инете скрипт на догонялку, но там толи недоставлен 1 While, толи лишний, из-за чего, при подходе к чару, догонялка даёт ошибку, если кто может помогите...

http://krelyn.h16.ru/phpBB2/viewtopic.php?t=2

Code: Select all

sub Walk(x,y)
go:
if uo.getY() > uo.gety("laststatus") then
 uo.press(33)
else
 uo.press(35)
endif
while not uo.getX() == uo.getx("laststatus") || not uo.getY() == uo.gety("laststatus")
 if not uo.getX() == uo.getx("laststatus") then
  if uo.getX() > uo.getx("laststatus") then
   if uo.getY() > uo.gety("laststatus") then
    uo.press(38)
   endif
   if uo.getY() < uo.gety("laststatus") then
    uo.press(37)
   endif
   if uo.getY() == uo.gety("laststatus") then
    uo.press(36)
   endif
  endif
  if uo.getX() < uo.getx("laststatus") then   
   if uo.gety() > uo.gety("laststatus") then
    uo.press(39)
   endif
   if uo.gety() < uo.gety("laststatus") then
    uo.press(40)
   endif
   if uo.gety() == uo.gety("laststatus") then
    uo.press(34)
   endif
  endif
 endif
wend
 if uo.getX() == uo.getx("laststatus") then
  if uo.gety() > uo.gety("laststatus") then
   uo.press(33)
  endif
  if uo.gety() < uo.gety("laststatus") then
   uo.press(35)
  endif
  if uo.gety() == uo.gety("laststatus") then
   wait(10)
  endif
 endif
wend
if uo.getx() == uo.getx("laststatus") then
 if uo.gety() == uo.gety("laststatus") then
  wait(10)
 endif
endif
end sub
<FaTe>
Posts: 35
Joined: 2006-09-15 18:16:29

Post by <FaTe> »

Угу, догонялку fol каторая тоже находил, такая же фигня, галочку поставил тви, но прется в низ кудато.
Waterboy
Posts: 25
Joined: 2006-02-02 23:16:49

Post by Waterboy »

Ай АЙ АЙ......
А без нее никак уже?! :?: :?:
<FaTe>
Posts: 35
Joined: 2006-09-15 18:16:29

Post by <FaTe> »

Waterboy wrote:Ай АЙ АЙ......
А без нее никак уже?! :?: :?:

Ну я то и так без нее, но бывают случаи когда пригодилась бы.)
BigMouseI
Posts: 93
Joined: 2006-04-15 09:00:35

Post by BigMouseI »

Waterboy wrote:Ай АЙ АЙ......
А без нее никак уже?! :?: :?:


Ватер, нам <не на ДРВ>... +)
BigMouseI
Posts: 93
Joined: 2006-04-15 09:00:35

Post by BigMouseI »

Ну же, эксперта помогите пжста.
BigMouseI
Posts: 93
Joined: 2006-04-15 09:00:35

Post by BigMouseI »

В общем разобрался, оказалось 1 wend был лишним.

Code: Select all

sub Walk(x,y)
go:
if uo.getY() > uo.gety("laststatus") then
 uo.press(33)
else
 uo.press(35)
endif
while not uo.getX() == uo.getx("laststatus") || not uo.getY() == uo.gety("laststatus")
 if not uo.getX() == uo.getx("laststatus") then
  if uo.getX() > uo.getx("laststatus") then
   if uo.getY() > uo.gety("laststatus") then
    uo.press(38)
   endif
   if uo.getY() < uo.gety("laststatus") then
    uo.press(37)
   endif
   if uo.getY() == uo.gety("laststatus") then
    uo.press(36)
   endif
  endif
  if uo.getX() < uo.getx("laststatus") then   
   if uo.gety() > uo.gety("laststatus") then
    uo.press(39)
   endif
   if uo.gety() < uo.gety("laststatus") then
    uo.press(40)
   endif
   if uo.gety() == uo.gety("laststatus") then
    uo.press(34)
   endif
  endif
 endif
 if uo.getX() == uo.getx("laststatus") then
  if uo.gety() > uo.gety("laststatus") then
   uo.press(33)
  endif
  if uo.gety() < uo.gety("laststatus") then
   uo.press(35)
  endif
  if uo.gety() == uo.gety("laststatus") then
   wait(10)
  endif
 endif
wend
if uo.getx() == uo.getx("laststatus") then
 if uo.gety() == uo.gety("laststatus") then
  wait(10)
 endif
endif
end sub


Работает, правда 1 НО: Она препятствия не обходит и если человека не видно то уходит кудато вверх, такчто используя её нада включать моск!
Post Reply