Фишинг. (если кому интересно)

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
CONDOMchick
Posts: 362
Joined: 2005-04-23 20:18:57

Фишинг. (если кому интересно)

Post by CONDOMchick »

Нашёл у себя скриптец - пока не пробывал использывать но вроде должен быть не плохим. Вот, нате:

Code: Select all

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

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]
Scripts Writer
Posts: 2259
Joined: 2005-04-19 18:00:29
Location: Московская область
Contact:

Post by Scripts Writer »

И какой на тот момент dll для инжекта был последним? ))
CONDOMchick
Posts: 362
Joined: 2005-04-23 20:18:57

Post by CONDOMchick »

You Must Die wrote:И какой на тот момент dll для инжекта был последним? ))


хз, а чё скрипт дерьмо?)
Dragon World. [since 2004]
Scripts Writer
Posts: 2259
Joined: 2005-04-19 18:00:29
Location: Московская область
Contact:

Post by Scripts Writer »

Хз, не пробовал =)
discon
Posts: 34
Joined: 2006-08-09 20:33:57

Post by discon »

Люди а как бы сделать так, чтоб этот скрипт не про рунбуке летал, а по рункам?
discon
Posts: 34
Joined: 2006-08-09 20:33:57

Post by discon »

Что нужно дописать, чтоб ловились еще рир и приз рыбы?
DerMeister =)
Expert!
Posts: 1032
Joined: 2006-02-25 21:48:38

Post by DerMeister =) »

Нифига не интересно!
DerMeister сейчас на нейрале!
Post Reply