Page 1 of 1

Выложите скрипт плиз

Posted: 2007-08-28 16:51:27
by Lucifer PK
Ребят я смотрю я тут такой не один.... Будьте так любезны Хоть кто нибудь выложите РОВНЫЙ скрипт на сортировку карт :cry:
Приношу извинения за повтор тем и т.п. =)

Posted: 2007-08-28 17:01:45
by Grin
Все было бы замечательно, но ввиду того что шардов до кучи, и почти везде есть какие то фичи...

Собственно скрипт врятли ктото даст рабочий именно на твоем шарде...

Если интересно то стучи в асю...

Posted: 2007-08-29 09:09:00
by Question_GimFlex
для ДРВ ровный скрипт

Code: Select all

sub CartSort() 
   VAR Exit, Exit2, Buffer, Buffer2, i, Line, MapX, MapY 
   VAR Index=1, MapSerial, BagSerial, MatchFound 
   VAR StepRound=60 ; razbros koordinat 
   VAR WaitTime=500 ; 2 sec pauza 
    
   DIM X[255],Y[255],Bag[255] 
    
   UO.Print('Vibery meshok s kartamy!') 
   UO.AddObject('SourceBag') 
   While UO.Targeting()==2 
      wait(500) 
   Wend 
   UO.UseObject('SourceBag') 

   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!') 
   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') 
      IF UO.findcount() Then 
         Bag[Index]=UO.GetSerial('finditem') 
         UO.UseObject(Bag[Index]) 
         wait(WaitTime) 
         UO.FindType('0x14EB','-1',Bag[Index]) 
         IF UO.findcount() Then 
            UO.DeleteJournal() 
            uo.moveitem('finditem','1','backpack') 
            wait(500) 
            UO.useobject('finditem') 
            Repeat 
               Wait(100) 
            Until UO.InJournal("Map opened") 
            Line=UO.InJournal("Map opened")-1 
            Buffer=UO.Journal(Line) 
            uo.moveitem('finditem','1',Bag[Index]) 
            wait(500) 
            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) 

            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 
    
uo.resend() 

   Exit=0 
   While Exit<>1 
      UO.FindType('0x14EB','0x0000','SourceBag') 
      wait(100) 
      If uo.findcount() Then 
         UO.DeleteJournal() 
         UO.MoveItem('finditem','1','backpack') 
         wait(WaitTime) 
         UO.UseObject('finditem') 
         MapSerial=UO.GetSerial('finditem') 
         Repeat 
            wait(100) 
         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.findcount() Then 
               UO.MoveItem('finditem','1','ReceiveBag') 
               Bag[Index]=UO.GetSerial('finditem') 
               X[Index]=MapX 
               Y[Index]=MapY  
               UO.MoveItem(MapSerial,'1',Bag[Index]) 
               wait(WaitTime) 
               Endif 
               Index=Index+1 
            Else 
               Exit=1 
               UO.Print("Error! Kon4ilis pustie sumki!") 
            Endif 
         Endif 
         wait(WaitTime) 
      Else 
         Exit=1 
      Endif 
   Wend 
   UO.Print("Done!!!") 
end sub

Posted: 2007-08-31 14:57:33
by Lucifer PK
Спс Огромное =))