Page 1 of 1

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

Posted: 2006-09-22 19:50:07
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

Posted: 2006-09-23 13:45:57
by Scripts Writer
И какой на тот момент dll для инжекта был последним? ))

Posted: 2006-09-23 22:10:15
by CONDOMchick
You Must Die wrote:И какой на тот момент dll для инжекта был последним? ))
хз, а чё скрипт дерьмо?)

Posted: 2006-09-24 07:45:59
by Scripts Writer
Хз, не пробовал =)

Posted: 2006-09-25 09:32:48
by discon
Люди а как бы сделать так, чтоб этот скрипт не про рунбуке летал, а по рункам?

Posted: 2006-09-25 09:37:54
by discon
Что нужно дописать, чтоб ловились еще рир и приз рыбы?

Posted: 2006-09-25 09:38:46
by DerMeister =)
Нифига не интересно!