Yoko

All sides of Injection
It is currently 2025-12-23 10:17:15

All times are UTC+02:00




Post new topic  Reply to topic  [ 4 posts ] 
Author Message
PostPosted: 2005-10-01 17:28:08 
Offline

Joined: 2005-08-09 12:01:27
Posts: 18
Code:
############################################################### 
#===---====---===---= Sort Treasure Map =---=---=---=---=---==#
#           Scripted by Savage (c) 2004 ICQ:33336141          #
#"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""#
sub CartSort()
;   VAR f=file("maps.txt")
   VAR Exit, Exit2, Buffer, Buffer2, i, Line, MapX, MapY
   VAR Index=1, MapSerial, BagSerial, MatchFound
   VAR StepRound=200 ; razbros koordinat
   VAR WaitTime=500 ;  pauza
   VAR SourceBagNumber=2 ; kolichestvo meshkov s nerazlozhennymi kartami
   VAR j, SourceBag=''

   DIM X[255],Y[255],Bag[255]

   uo.exec('set injectecho 1')
;   f.Create()
;   f.Open()

   for j = 1 to SourceBagNumber
      SourceBag = 'SourceBag' + str(j,0)
      UO.Print('Vibery meshok s kartamy '+str(j,0)+'!')
      UO.AddObject(SourceBag)
      while uo.Targeting()==2
        wait(500)
      wend
      UO.UseObject(SourceBag)
   next

   UO.Print('Vibery portfel dlya kart!')
   UO.AddObject('ReceiveBag')
   While UO.Targeting()==2
      wait(500)
   Wend
   UO.UseObject('ReceiveBag')

   UO.Print('Vibery portfel s pustimi meshkami i runami!')
   UO.AddObject('SkladBag')
   While UO.Targeting()==2
      wait(500)
   Wend
   UO.UseObject('SkladBag')


   UO.IgnoreReset()
   Exit=0
   While Exit<>1
      UO.FindType('0x0E76',-1,'ReceiveBag') ; meshok
      IF UO.GetQuantity('finditem')>0 Then
         Bag[Index]=UO.GetSerial('finditem')
         UO.UseObject(Bag[Index])
         wait(WaitTime)
         UO.FindType('0x1F14',-1,Bag[Index]); runa
         IF UO.GetQuantity('finditem')>0 Then
            UO.DeleteJournal()
            UO.Click('finditem')
            Repeat
               Wait(500)
            Until UO.InJournal("Rune to")
            Line=UO.InJournal("Rune to")-1
            Buffer=UO.Journal(Line)

            Buffer2=""
            Exit2=0
            i=8
            While Exit2<>1
               If Buffer[i]<>":" Then
                  Buffer2=Buffer2+Buffer[i]
               Else
                  Exit2=1
               Endif
               i=i+1
            Wend
            MapX=VAl(Buffer2)

            Buffer2=""
            Exit2=0
            While Exit2<>1
               If Buffer[i]<>"" Then
                  Buffer2=Buffer2+Buffer[i]
               Else
                  Exit2=1
               Endif
               i=i+1
            Wend
            MapY=VAl(Buffer2)

            X[Index]=MapX
            Y[Index]=MapY
            UO.Ignore(Bag[Index])
         Else
            UO.MoveItem(Bag[Index],'1','SkladBag')
            wait(WaitTime)
            Index=Index-1
         Endif
         Index=Index+1
      Else
         Exit=1
      Endif

   Wend


   j=1
   SourceBag='SourceBag' + str(j,0)
   Exit=0
   While Exit<>1
      UO.FindType('0x14EB',-1,SourceBag)
      If UO.GetQuantity('finditem')>0 Then
         UO.DeleteJournal()
         UO.MoveItem('finditem','1','backpack')
         wait(WaitTime)
         UO.UseObject('finditem')
         MapSerial=UO.GetSerial('finditem')
         Repeat
            wait(500)
         Until UO.InJournal("Map opened")
         Line=UO.InJournal("Map opened")-1
         Buffer=UO.Journal(Line)

         Buffer2=""
         Exit2=0
         i=15
         While Exit2<>1
            If Buffer[i]<>":" Then
               Buffer2=Buffer2+Buffer[i]
            Else
               Exit2=1
            Endif
            i=i+1
         Wend
         MapX=VAl(Buffer2)

         Buffer2=""
         Exit2=0
         While Exit2<>1
            If Buffer[i]<>"" Then
               Buffer2=Buffer2+Buffer[i]
            Else
               Exit2=1
            Endif
            i=i+1
         Wend
         MapY=VAl(Buffer2)

         i=1
         Exit2=0
         MatchFound=0
         While i<Index AND Exit2<>1
            If X[i]-StepRound<MapX AND X[i]+StepRound>MapX Then
               If Y[i]-StepRound<MapY AND Y[i]+StepRound>MapY Then
                  BagSerial=Bag[i]
                  MatchFound=1
                  Exit2=1
               Endif
            EndIf
            i=i+1
         Wend

         If MatchFound Then
            UO.MoveItem(MapSerial,'1',BagSerial)
            wait(WaitTime)
         Else
            UO.FindType('0x0E76',-1,'SkladBag') ; meshok
            IF UO.GetQuantity('finditem')>0 Then
               UO.MoveItem('finditem','1','ReceiveBag')
               Bag[Index]=UO.GetSerial('finditem')
               X[Index]=MapX
               Y[Index]=MapY
               wait(WaitTime)
               UO.FindType('0x1F14',-1,'SkladBag'); runa
               IF UO.GetQuantity('finditem')>0 Then
                  UO.MoveItem('finditem','1','backpack') ; runa to pack
                  wait(WaitTime)
                  UO.UseObject('finditem')
                  Repeat
                     Wait(500)
                  Until UO.InJournal("What is the new name")
                  UO.Say(STR(MapX)+":"+STR(MapY))
                  wait(WaitTime)
                  UO.MoveItem('finditem','1',Bag[Index]) ; runa to meshok
                  wait(WaitTime)
                  UO.MoveItem(MapSerial,'1',Bag[Index])
                  wait(WaitTime)
               Else
                  Exit=1
                  UO.Print("Error! Kon4ilis pustie runy!")
               Endif
               Index=Index+1
            Else
               Exit=1
               UO.Print("Error! Kon4ilis pustie sumki!")
            Endif
         Endif
;         UO.Print(STR(MapX)+" "+STR(MapY))
;         f.WriteLn(STR(MapX)+" "+STR(MapY))
         wait(WaitTime)
      Else
         j=j+1
         IF j>SourceBagNumber Then
            Exit=1
         Else
            SourceBag='SourceBag' + str(j,0)
         Endif
      Endif
   Wend

;   f.Close()
   UO.Print("Done!!!")
end sub



Скрипт Savege, Corwin переделал чтобы можно было не один мешок перебирать, но все это делается в бэк пэке, сделайте плиз чтобы все это было в сундуке, тоесть там много мешков или мало с картами забитыми одного лева и портфель в котором мешки и рунки, и чтобы он все это делал в сундуке.


Top
   
 Post subject:
PostPosted: 2005-10-02 15:56:09 
Offline

Joined: 2005-08-09 12:01:27
Posts: 18
Ну что никто не поможет?


Top
   
 Post subject:
PostPosted: 2005-10-03 14:57:00 
Offline
Expert!
User avatar

Joined: 2004-04-04 11:13:54
Posts: 1205
Location: Балаково, Саратовская обл.
viewtopic.php?p=12542#12542


Top
   
 Post subject:
PostPosted: 2005-10-03 15:46:43 
Offline
Expert!
User avatar

Joined: 2005-01-15 19:15:05
Posts: 791
Location: Dragon World
Savage wrote:
http://forum.yoko.com.ua/viewtopic.php?p=12542#12542


Да, и ещё viewtopic.php?p=30003#30003

_________________
Image


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 1 guest


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:  
Powered by phpBB® Forum Software © phpBB Limited