MaG1StR_Yoda | Дата: Пятница, 26.06.2020, 19:42 | Сообщение # 1 |
Генералиссимус
Группа: Администраторы
Сообщений: 1026
Статус: Оффлайн
| sub CartSort() VAR Exit, Exit2, Buffer, Buffer2, i, Line, MapX, MapY VAR Index=1, MapSerial, BagSerial, MatchFound VAR StepRound=100 ; razbros koordinat VAR WaitTime=1000 ; 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<>":" Then Buffer2=Buffer2+Buffer Else Exit2=1 Endif i=i+1 Wend MapX=VAl(Buffer2) Buffer2="" Exit2=0 While Exit2<>1 If Buffer<>"" Then Buffer2=Buffer2+Buffer 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<>":" Then Buffer2=Buffer2+Buffer Else Exit2=1 Endif i=i+1 Wend MapX=VAl(Buffer2) Buffer2="" Exit2=0 While Exit2<>1 If Buffer<>"" Then Buffer2=Buffer2+Buffer 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-StepRound<MapX AND X+StepRound>MapX Then If Y-StepRound<MapY AND Y+StepRound>MapY Then BagSerial=Bag 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
|
|
| |
MaG1StR_Yoda | Дата: Суббота, 13.03.2021, 11:06 | Сообщение # 2 |
Генералиссимус
Группа: Администраторы
Сообщений: 1026
Статус: Оффлайн
| Примечание к скрипту : Скрипт работает только с круглыми мешками
Таргеты: 1) мешок с картами 2) мешок для скидывания готовых пакетов 3) мешок с пустыми мешками
|
|
| |