Нужен скрипт

Ask for scripts here

Moderators: Murderator+, Murderator

Post Reply
Monti
Posts: 34
Joined: 2006-03-18 22:21:01

Нужен скрипт

Post by Monti »

Нужен скрипт.Мне кажеться он не очень сложный.
Смысл:
-2 чара(а,б)
-Чар "а" ходит из точки "1608 1243 0" в точку "1608 1237 0"
-Чар "б" в координате "1608 1240 0" постояно делает проверку на придмет типа "0x3996" , как тока не находит этот тип каст туда uo.cast('Fire Field')
Не нужно, не медитации, не хила.
Зарание спасибо.
Monti
Posts: 34
Joined: 2006-03-18 22:21:01

Re: Нужен скрипт

Post by Monti »

Monti wrote:Нужен скрипт.Мне кажеться он не очень сложный.
Смысл:
-2 чара(а,б)
-Чар "а" ходит из точки "1608 1243 0" в точку "1608 1237 0"
-Чар "б" в координате "1608 1240 0" постояно делает проверку на придмет типа "0x3996" , как тока не находит этот тип каст туда uo.cast('Fire Field')
Не нужно, не медитации, не хила.
Зарание спасибо.

up
Nmy
Expert!
Posts: 2152
Joined: 2005-09-14 15:31:58
Location: Latvia

Post by Nmy »

Code: Select all

sub casting()
uo.set("finddistance","3")
while 1
uo.findtype('0x3996', -1 ,'ground')
if not uo.FindCount() then
uo.waittargettile()
uo.cast()
wait(2000)
endif
wait(1000)
wend
endsub

sub walking()
while 1
walkme(1608,1243,'')
walkme(1608,1237,'')
wend
end sub
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;; W A L K E R ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

################# W A L K E R ######################

sub WalkME(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
            return
         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
         checkstam()
      UO.Press(key)
      wait(walkwait)
      If UO.GetDir()<>dir Then
         CheckLag()
      Endif
   Endif
         checkstam()
   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
      checkstam()
      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
      checkstam()
      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

sub checkstam()
var refresh = '0x0F0B'
if uo.stamina < 10 then
   uo.findtype(refresh,-1,'backpack')
   if uo.findcount() then
      uo.usetype(refresh)
      wait(1000)
   else
      uo.print("Nety Refreshey! Stoim...")
   repeat
      wait(500)
   until uo.stamina >= 10
   endif
else
endif
endsub

Sub CHECKLAG()
    del('backpack')
    uo.click('backpack')
    repeat
    wait(200)
    until uo.injournal('backpack')
    del('backpack')
endsub

Sub DEL(msg)
    while uo.injournal(msg)
    uo.setJournalLine(uo.injournal(msg)-1,"Is Empty!")
    wend
endsub
Monti
Posts: 34
Joined: 2006-03-18 22:21:01

Post by Monti »

Спасибо !!!! Еще непроверял.... Но всеровно спасибо :)))
Monti
Posts: 34
Joined: 2006-03-18 22:21:01

Post by Monti »

Code: Select all

sub casting() 
uo.set("finddistance","3")
while 1
uo.findtype('0x3996', -1 ,'ground')
if not uo.FindCount() then
uo.waittargettile(2239,366)
uo.cast('Fire Field',2239,366)
wait(2000)
endif
wait(1000)
wend
endsub


Этот кусок ты специально сделал, чтоб я вписал тут все, я так понел :)
Я решил в другом мести проводить этот план и изменил координаты, в валкере тоже.
Но я незнаю что тут вписывать:

Code: Select all

if not uo.FindCount() then 
uo.waittargettile([b]2239,366)[/b]
uo.cast([b]'Fire Field')[/b]

Я дописал вот это, но он чет не кастует, что я не вписал?
Я пробовал в этой строке еще вписать кагбы куда кастовть:

Code: Select all

uo.cast('Fire Field')

добавив вот это :

Code: Select all

uo.cast('Fire Field'2239,366)

Но непрокатило.
:roll:
Monti
Posts: 34
Joined: 2006-03-18 22:21:01

Post by Monti »

NMY wrote:http://yoko.com.ua/help/help.php?lang=rus&a=dictionary

Я тебе в icq стукну.Чет невтыкаю ....
Nmy
Expert!
Posts: 2152
Joined: 2005-09-14 15:31:58
Location: Latvia

Post by Nmy »

там синтаксис команд как все работает... аська покачто отключена...
Monti
Posts: 34
Joined: 2006-03-18 22:21:01

Post by Monti »

NMY wrote:там синтаксис команд как все работает... аська покачто отключена...

да я понел я просто ламак в скриптах...
ну если тока немного....
а ща еще голова болит невтыкаю вообще.+)
я там привет написал как заработает ответь ...
Post Reply