для ДРВ ровный скрипт
Code: 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
|