Page 1 of 2

скиньте плиз скрипт на убийство заданного типа монстра

Posted: 2006-05-30 13:07:02
by Mihail
лень писать.. но как раз видел тут несколько раз такой.. по поиску найти не удалось - в "то что ищут многие" немного не то.. - суть скрипта - находит на земле монстра бежит к нему убивает, лутает что надо - ищет дальше..
-
заранее спасибо

Re: скиньте плиз скрипт на убийство заданного типа монстра

Posted: 2006-05-30 13:21:00
by Doktor_Kor
Mihail wrote:лень писать.. но как раз видел тут несколько раз такой.. по поиску найти не удалось - в "то что ищут многие" немного не то.. - суть скрипта - находит на земле монстра бежит к нему убивает, лутает что надо - ищет дальше..
-
заранее спасибо


закрывайте нах тему, всё тута есть, а еси лень писать скрипт то слепить то его легче

Posted: 2006-05-30 13:52:08
by BigMouseI
Ищи на антарес стратиксе скрипт на скининг и переделай под себя!

Posted: 2006-05-30 15:14:44
by Scripts Writer
К скрипту долепи ходилка Savage и всё будет ок.

Code: Select all

пока вес меньше
Найти
Ходилку к монстру
Пока нет в журнале трупа
атака
хел
wend
лутаем
wend

Posted: 2006-05-30 15:32:48
by BigMouseI
You Must Die wrote:К скрипту долепи ходилка Savage и всё будет ок.

Code: Select all

пока вес меньше
Найти
Ходилку к монстру
Пока нет в журнале трупа
атака
хел
wend
лутаем
wend


а сабы???? :lol: :lol: :lol:

Posted: 2006-05-30 18:58:53
by Savage
Первый фармит овоща, второй перья.

Code: Select all

sub farm()
   VAR i,dist, Exit, GrowType
   UO.Print('4to budem sobirat?')
   UO.AddObject('Grow')
   While UO.Targeting()
      wait(500)
   Wend
   GrowType=UO.GetGraphic('Grow')
   dist=0
   While dist<35
      Exit=0
      While Exit<>1
         UO.Set('finddistance',dist)
         UO.Findtype(GrowType,-1,'ground')
         If UO.FindCount() Then
            If UO.GetDistance('finditem')>3 Then
               SuperWalk(0,0,'finditem')
               dist=0
            Endif
            UO.UseObject('finditem')
            Wait(1000)
         Else
            Exit=1
            dist=dist+1
         Endif
      Wend
   Wend
   UO.Print('Vse sobral!')
end sub


sub Bird()
   VAR i,dist, Exit, GrowType
   UO.Print('Kogo budem bit`?')
   UO.AddObject('Grow')
   While UO.Targeting()
      wait(500)
   Wend
   GrowType=UO.GetGraphic('Grow')
   dist=0
   While dist<50
      Exit=0
      While Exit<>1
         UO.Set('finddistance',dist)
         UO.Findtype(GrowType,-1,'ground')
         If UO.FindCount() Then
            UO.Exec('warmode 1')
            wait(500)
;            UO.Attack('finditem')
            CheckLag()
            Repeat
               If UO.GetDistance('finditem')>1 Then
                  SuperWalk(0,0,'finditem')
                  UO.Attack('finditem')
                  wait(1000)
               Endif
            Until UO.InJournal("Body")
            UO.WaitTargetObject('lastcorpse')
            UO.UseType('0x0F51')
            wait(500)
            UO.FindType('0x1BD1',-1,'lastcorpse')
            wait(500)
            UO.Grab('all','finditem')
         Else
            Exit=1
            dist=dist+1
         Endif
      Wend
   Wend
   UO.Exec('warmode 0')
   UO.Print('Vse sobral!')
end sub


sub CheckLag()
   UO.DeleteJournal()
   UO.Click('backpack')
   repeat
      wait(500)
   until UO.InJournal('backpack')
end sub


#==============================================================
#  SuperWalk(X,Y,Serial) - char is walking by dX and dY step
#                sub using Home, End, PgUp, PgDown keys
#                d'not rebind this key from default action!
#     walkwait - delay after keypress
#--------------------------------------------------------------
sub SuperWalk(x,y,Target)
   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"
   While Exit<>1   
      If Target<>"" Then
         dx=UO.GetX(Target)-UO.GetX()
         dy=UO.GetY(Target)-UO.GetY()
;         UO.Print("Target locked!")
         If UO.GetDistance(Target)<2 Then
            Exit=1
         Endif
      Else
         dx=x-UO.GetX()
         dy=y-UO.GetY()
         If dx==0 AND dy==0 Then
            Exit=1
         Endif

      Endif
   
      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
   Wend
end sub


sub StepEdit(x,y,dir,key)
   VAR walkwait=300
   VAR ErrLevel=0
   If UO.GetDir()<>dir Then
      UO.Press(key)
      wait(walkwait)
      If UO.GetDir()<>dir Then
         CheckLag()
      Endif
   Endif
   UO.Press(key)
   wait(walkwait)
   If x==UO.GetX() AND y==UO.GetY() Then
      CheckLag()
      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=300
   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
         CheckLag()
      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
         CheckLag()
         If UO.GetDir()==dir AND UO.GetX()==x AND UO.GetY()==y Then
; zatik         
            ErrLevel=1
         Endif
      Endif
   Endif
   Return ErrLevel
end sub



Posted: 2006-05-30 20:03:48
by Mihail
пасибо! а то голова с утра чугунная - так ломает что-то писать :)

Posted: 2006-05-30 23:05:32
by Grin
Посты не лень было писать?

Posted: 2006-05-31 00:20:04
by Edred
Написать просьбу, а потом 7 часов ждать ответа? :shock: Этот скрипт за 10 минут ваяется...

Posted: 2006-05-31 10:43:48
by klonuk
Помагите плз со в скриптом Bird ... я запускаю указываю и он
выдеает тока
FINDDIST=0
FINDDIST=0
FINDDIST=0
............
и так много раз в чем проблема?

Posted: 2006-05-31 10:57:20
by Grin
Это "фича" даного скрипта. Он ищет живность в областях с именяемым радиусом. Сделано это для поиска ближайших зверушек.
Только теперь чесли межу тобой и птичкой дистанция 10 и она ближайшая то ты сначала увидишь 9 нулей а потом уже свою птичку
выход ,set quiet 1

Posted: 2006-05-31 11:05:43
by Nmy
вопрос... это вам для каторги ?

Posted: 2006-05-31 11:16:54
by klonuk
Grin wrote:Это "фича" даного скрипта. Он ищет живность в областях с именяемым радиусом. Сделано это для поиска ближайших зверушек.
Только теперь чесли межу тобой и птичкой дистанция 10 и она ближайшая то ты сначала увидишь 9 нулей а потом уже свою птичку
выход ,set quiet 1


Ты подскажи что надо подправить , мне надо бить не птиц а лягушек
... буду блгодарен

Posted: 2006-05-31 11:29:53
by Grin
ничего не надо править, когда появится курсор при запуске кликаешь на свою лягушку...

Posted: 2006-05-31 11:36:54
by klonuk
Grin wrote:ничего не надо править, когда появится курсор при запуске кликаешь на свою лягушку...


Я так и делаю у мя появляеться
FINDDITEM=0
FINDDITEM=0
не мерно раз а потом скрипт вырубаеться :(

Posted: 2006-05-31 11:40:11
by Grin
На вкладке main поставь галку TrackWorltItem

Posted: 2006-05-31 13:21:24
by klonuk
Grin wrote:На вкладке main поставь галку TrackWorltItem

спс

Posted: 2006-05-31 13:22:54
by klonuk
Еше 1 вопрос к те грин как сделать чтобы этот скрипт на берд постонянно работал даже если нету рядом птичек просто ждал...
я придумал типо того

Code: Select all

sub Ka4()
repeat
wait (5000)
if UO.InJournal("Bull Frog") then
Bird()
endif
until UO.Dead()
end sub




удалил из берд не нужное , но пашет не исправно помаги ...

Posted: 2006-05-31 15:03:18
by BigMouseI
klonuk wrote:Еше 1 вопрос к те грин как сделать чтобы этот скрипт на берд постонянно работал даже если нету рядом птичек просто ждал...
я придумал типо того

Code: Select all

sub Ka4()
repeat
wait (5000)
if UO.InJournal("Bull Frog") then
Bird()
endif
until UO.Dead()
end sub




удалил из берд не нужное , но пашет не исправно помаги ...


Попробуй лучше так, журнал не самое надёэное средство!

Code: Select all

sub Ka4()
UO.Set('Finddistance','10')
uo.findtype('Тайп бул фрога','-1','ground')
wait(100)
if UO.Findcount() then
Bird()
else
while not UO.Findcount()
wait(10000)
wend
endif
end sub


а в конец скрипта Bird пропиши просто Ka4()

Posted: 2006-05-31 20:33:12
by klonuk
Спсибо ... не думал что и так можно ... но еше 1 проблема полсле запуска начинает жутко лагать... выключаю все ок