Yoko

All sides of Injection
It is currently 2024-03-28 15:27:37

All times are UTC+02:00




Post new topic  Reply to topic  [ 4 posts ] 
Author Message
PostPosted: 2006-05-01 18:37:38 
Offline
User avatar

Joined: 2005-04-23 20:18:57
Posts: 362
скрипт каешно же не мой.
пусть тот чей он не злится.
на форуме такого не видел а у меня на компе более года лежит.

попробуйте посмарите вроде хороший удобный.

Что нужно поменять, чтобы работало?
0. Руннбука: 1-3 рунки в места ловли, 1ая рунка к месту, где ходим. 4ая-дмой
1. Поменять ниже преведенные переменные
2. Скачать последний injection.dll(не обязательно, но не помешает)


Code:
VAR Cont1 = '0x40002FCE'   ;сейф, где будут карты(id) 
VAR Runebook = '0x400C617E';руннбука(id)
VAR Rune = '0x404AF028'    ;рунка к безопасмному месту(id)
VAR pole = '0x0DBF'        ;удочка(type)
VAR foodT = '0x0A99'       ;еда(type)
VAR walkwait=500
var inWalk=1, inFishing=0
var time, k=0, oldX, oldY, fizl=0, control=8, cel='', glX, glY, whGo=1, whRecall=1.

sub main()
   DIM xM[4]
      xM[1] = 1053
      xM[2] = 1052
      xM[3] = 1065
   DIM yM[4]
      yM[1] = 3501
      yM[2] = 3475
      yM[3] = 3463
   var x, y, z=UO.GetZ("self")
   DIM text[8]
      text[1] = 'Tattered treasure'
      text[2] = 'You pull out a'
      text[3] = 'You fish a while'
      text[4] = 'That is too far away'
      text[5] = 'Try fishing in water'
      text[6] = 'There are no fish here'
      text[7] = 'location'
   UO.Set('finddistance','20')
   if UO.GetX()<>1053 OR UO.GetY()<>3501 then
      RunebookRecall(whRecall)
   endif
   While True
      if whGo<3 then
         whGo=whGo+1
      else
         whGo=1
      endif
      for x=-6 to 6
         for y=-6 to 6
            inFishing=0
            Repeat
               GoHome(0)
               UO.DeleteJournal()
               Careful()
               ToHide()
               UO.WaitTargetTile("1341",STR(UO.GetX()+x),STR(UO.GetY()+Y),z)
               UO.UseType(pole)
               time=UO.Timer()
               Repeat
                  wait(500)
               Until UO.InJournal(text[2]) OR UO.InJournal(text[3]) OR UO.InJournal(text[4]) OR UO.InJournal(text[5]) OR UO.InJournal(text[6]) OR UO.InJournal(text[7]) OR UO.Timer()>time+250
               if UO.InJournal(Text[2]) then
                  fizl=0
               endif
               if UO.InJournal(text[3]) then
                  fizl=fizl+1
               endif
               if fizl==control then
                  wait(8000)
                  fizl=0
                  FastLootCheck()
               endif
               if NOT (UO.InJournal(text[1]) OR UO.InJournal(text[3])) then
                  inFishing=1
               else
                  if UO.InJournal(text[1]) then
                     Find()
                  endif
               endif
               Food()
            Until inFishing==1
         next
      next
      if inWalk==1 then
         Walk(xM[whGo],yM[whGo],'')
      else
         if whRecall<3 then
            whRecall=whRecall+1
         else
            whRecall=1
            inWalk=1
         endif
         RunebookRecall(whRecall)
      endif
   Wend
end sub

sub ToHide()
   while NOT UO.Hidden()
      UO.DeleteJournal()
      UO.Exec('warmode 0')
      UO.UseSkill('Stealth')
      wait(2000)
      time=UO.Timer()
      repeat
         wait(500)
      until UO.InJournal('You have hidden') OR UO.InJournal('seem to') OR UO.InJournal('preoccupied') OR time+200<UO.Timer()
      Careful()
   wend
end sub

sub Careful()
   var count=0
   UO.IgnoreReset()
   UO.Ignore('self')
   UO.FindType('0x0190',-1,1)
   count=UO.FindCount()
   UO.FindType('0x0191',-1,1)
   count=count+UO.FindCount()
   if count>0 then
      RuneRecall()
      if whRecall<3 then
         whRecall=whRecall+1
         inWalk=0
      else
         whRecall=1
         inWalk=1
      endif
      GoHome(1)
   endif
end sub

sub Find()
   UO.Set('finddistance','2')
   DIM find[2]
      find[1] = '0x14EB'  ;tattered map
   UO.Set('finddistance','2')
   UO.Findtype(find[1],-1,1)
   if UO.FindCount()>0 then
      UO.MoveItem('finditem',0,'backpack')
   endif
   UO.Set('finddistance','20')
end sub

sub GoHome(level)
   DIM razg[2]
      razg[1] = '0x14EB'  ;tattered map
   if UO.Count(razg[1])>20 OR UO.Weight>UO.STR*4 OR level==1 then
      RunebookRecall(4)
      While UO.Count(razg[1])>0
         UO.FindType(razg[1],-1,-1)
         UO.MoveItem('finditem',0,Cont1)
         FastLootCheck()
      Wend
      RunebookRecall(whRecall)
   endif
end sub

sub CheckLag()
   UO.DeleteJournal()
   UO.Click('backpack')
   Repeat
      wait(200)
   Until UO.InJournal('backpack')
end sub

sub FastLootCheck()
   UO.DeleteJournal()
   wait(500)
   if UO.InJournal("FastLoot") OR UO.InJournal("World save") then
      CheckLag()
   endif
end sub

sub Food()
   if k==100 then
      UO.DeleteJournal()
      repeat
         UO.UseType(foodT)
         wait(500)
      until UO.InJournal('simply too full')
      k=1
   else
      k=k+1
   endif
end sub

sub RuneRecall()
   oldX=UO.GetX()
   oldY=UO.GetY()
   Repeat
      UO.DeleteJournal()
      UO.WaitTargetObject(Rune)
      UO.UseType('0x1F4C')
      time=UO.Timer()
      Repeat
        wait(500)
      Until oldX<>UO.GetX() OR oldY<>UO.GetY() OR UO.InJournal('The spell fizzles') OR time+200<UO.Timer()
   Until oldX<>UO.GetX() and oldY<>UO.GetY()
end sub

sub RunebookRecall(n)
   oldX=UO.GetX()
   oldY=UO.GetY()
   UO.UseObject(Runebook)
   FastLootCheck()
   UO.LClick(135, n*15+55)
   time=UO.Timer()
   Repeat
     wait(500)
   Until oldX<>UO.GetX() OR oldY<>UO.GetY() OR time+200<UO.Timer()
end sub

sub Walk(x,y,Target)
   VAR Step, dX, dY, Exit=0, dirW=0, result
   While Exit<>1
      if Target<>"" then
         cel=Target
         dX=UO.GetX(Target)-UO.GetX()
         dY=UO.GetY(Target)-UO.GetY()
         if UO.GetDistance(Target)<2 then
            Exit=1
         endif
      else
         dX=x-UO.GetX()
         dY=y-UO.GetY()
         glX=dX
         glY=dY
         if dX==0 AND dY==0 then
            Exit=1
         endif
      endif
      if Exit==0 then
         if dX>0 AND dY>0 then
            dirW=9 ;number 2
         endif
         if dX>0 AND dY<0 then
            dirW=7 ;number 6
         endif
         if dX<0 AND dY>0 then
            dirW=3 ;number 4
         endif
         if dX<0 AND dY<0 then
            dirW=5 ;number 8
         endif
         if dX<>0 AND dY==0 then
            if dX>0 then
               dirW=8 ;number 3
            else
               dirW=4 ;number 7
            endif
         endif
         if dX==0 AND dY<>0 then
            if dY>0 then
               dirW=2 ;number 1
            else
               dirW=6 ;number 9
            endif
         endif
         result=Go(dirW)
         if result==0 then
            result=Go(dirW-2)
            if result==0 then
               result=Go(dirW+2)
            endif
         endif
      endif
   Wend
endsub

sub Go(dir)
   var xGo, yGo, check=1, dirStart=UO.GetDir()
   xGo=UO.GetX()
   yGo=UO.GetY()
   DIM key[12]
      key[0] = 34 ;number 3
      key[1] = 40 ;number 2
      key[2] = 35 ;number 1
      key[3] = 37 ;number 4
      key[4] = 36 ;number 7
      key[5] = 38 ;number 8
      key[6] = 33 ;number 9
      key[7] = 39 ;number 6
      key[8] = 34 ;number 3
      key[9] = 40 ;number 2
      key[10] = 35 ;number 1
      key[11] = 37 ;number 4
   DIM dirS[12]
      dirS[0] = 2 ;number 3
      dirS[1] = 3 ;number 2
      dirS[2] = 4 ;number 1
      dirS[3] = 5 ;number 4
      dirS[4] = 6 ;number 7
      dirS[5] = 7 ;number 8
      dirS[6] = 0 ;number 9
      dirS[7] = 1 ;number 6
      dirS[8] = 2 ;number 3
      dirS[9] = 3 ;number 2
      dirS[10] = 4 ;number 1
      dirS[11] = 5 ;number 4

   While UO.GetDir()<>dirS[dir]
      UO.Press(key[dir])
      wait(walkwait)
      if UO.GetDir()==dirStart then
         CheckLag()
      endif
      if (cel<>"" AND UO.GetDistance(cel)<2) OR (glX==0 AND glY==0) then
         return 1
      endif
   Wend

   UO.Press(key[dir])
   wait(walkwait)
   if xGo==UO.GetX() AND yGo==UO.GetY() then
      CheckLag()
      UO.Press(key[dir])
      wait(walkwait)
   endif
   if xGo==UO.GetX() AND yGo==UO.GetY() then
      return 0
   else
      return 1
   endif
endsub

_________________
Dragon World. [since 2004]


Top
   
 Post subject:
PostPosted: 2006-05-02 20:18:14 
Offline
User avatar

Joined: 2005-04-23 20:18:57
Posts: 362
чё, плохой? :shock: :lol:

_________________
Dragon World. [since 2004]


Top
   
 Post subject:
PostPosted: 2006-05-02 22:30:23 
Offline

Joined: 2005-04-19 18:00:29
Posts: 2259
Location: Московская область
да хз ) не тестил. Но вродь скрипт не просили, а ты отпостил =) вот поэтому никаких коментов, не в тему можн сказать гг. Всё равно что ща напишу в отдельной теме скрипт на хайдинг %))


Top
   
 Post subject:
PostPosted: 2006-05-04 06:17:16 
Offline
Expert!
User avatar

Joined: 2005-01-07 13:22:19
Posts: 766
нормусь скрипт молодец что выложил


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 4 posts ] 

All times are UTC+02:00


Who is online

Users browsing this forum: No registered users and 15 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Limited