Code: ################# ### Настройки ### ################################################################################################### ### var Chest='0x416F8500' ## - (ID) сундука. ### var Bolts='0x0F95', Spools='0x0FA0', Cotton='0x0DF9', Cloth='0x175D' ## - (Type) Болтов, ниток, хлопка, ткани. ### var CountBolts=10 ## - По скока брать болтов ткани для резки. ### var CountSpools=100 ## - По скока брать ниток для крутки в болты. ### var GrabDelay=500 ## - Задержка при перетаскивании (Работает в последних версиях). ### ################################################################################################### ### Включалка ### ################# sub GetSpools() If UO.GetGlobal('GetSpoolsCheck')=='on' Then UO.SetGlobal('GetSpoolsCheck','off') UO.Exec('Exec Terminate') Else UO.Exec('Exec Spools') UO.SetGlobal('GetSpoolsCheck','on') EndIf end sub sub GetBolts() If UO.GetGlobal('GetBoltsCheck')=='on' Then UO.SetGlobal('GetBoltsCheck','off') UO.Exec('Exec Terminate') Else UO.Exec('Exec Bolts') UO.SetGlobal('GetBoltsCheck','on') EndIf end sub sub GetCloth() If UO.GetGlobal('GetClothCheck')=='on' Then UO.SetGlobal('GetClothCheck','off') UO.Exec('Exec Terminate') Else UO.Exec('Exec Cloth') UO.SetGlobal('GetClothCheck','on') EndIf end sub #################### ### Делаем Нитки ### #################### Sub Spools() Var n, CheckTime Dim Object[4] Object[1] = 'SpinningWheel_1' Object[2] = 'SpinningWheel_2' Object[3] = 'SpinningWheel_3' Object[4] = 'SpinningWheel_4' UO.Print('SELECT YOU 1') UO.Exec('addobject SpinningWheel_1') While UO.Targeting() Wait(1000) Wend Wait(1000) UO.Print('SELECT YOU 2') UO.Exec('addobject SpinningWheel_2') While UO.Targeting() Wait(3000) Wend Wait(1000) UO.Print('SELECT YOU 3') UO.Exec('addobject SpinningWheel_3') While UO.Targeting() Wait(3000) Wend Wait(1000) UO.Print('SELECT YOU 4') UO.Exec('addobject SpinningWheel_4') While UO.Targeting() Wait(3000) Wend UO.Set('grabdelay',STR(GrabDelay)) UO.UseObject(Chest) Wait(5000) REPEAT While UO.Count(Cotton)<>0 and NOT UO.Dead() For n = 1 TO 4 If UO.Waiting() Then UO.CancelTarget() EndIf UO.WaitTargetObject(Object[n]) UO.UseType(Cotton) UO.DeleteJournal() CheckTime = UO.Timer() REPEAT Wait(3000) Until UO.InJournal('You put') or UO.InJournal("You can't") or UO.Count(Cotton)==0 or (CheckTime+250)<UO.Timer() or UO.Dead() Next Wend ; Скидываем нитки в сэйф If UO.Count(Spools) Then UO.FindType(Spools,'-1','-1') UO.Print("Move Spools to Chest") UO.MoveItem('finditem','all',Chest) Wait(4000) EndIf ; Берём хлопок из сэйфа UO.FindType(Cotton,'-1',Chest) While UO.GetQuantity('finditem')==0 UO.Print("ERROR: Low quantity of the Cotton!!!") Wait(5000) UO.FindType(Cotton,'-1',Chest) Wend UO.Print("Get Cotton") UO.MoveItem('finditem','30','-1') Wait(4000) Until UO.Dead() end sub ################################################################################################### ### Делаем болты ### ################################################################################################### Sub Bolts() Var CheckTime UO.Print('SELECT YOU UPRIGHT LOOM') UO.Exec('addobject Upright_Loom') While UO.Targeting() Wait(3000) Wend UO.Set('grabdelay',STR(GrabDelay)) UO.UseObject(Chest) Wait(5000) REPEAT While UO.Count(Spools)<>0 and NOT UO.Dead() If UO.Waiting() Then UO.CancelTarget() EndIf UO.WaitTargetObject('Upright_Loom') UO.UseType(Spools) UO.DeleteJournal() CheckTime = UO.Timer() REPEAT Wait(3000) Until UO.InJournal('You put') or UO.InJournal("You added") or UO.InJournal("Bolt of") or UO.InJournal("You have") or UO.Count(Spools)==0 or (CheckTime+250)<UO.Timer() or UO.Dead() Wend ; Скидываем болты в сэйф If UO.Count(Bolts) Then UO.FindType(Bolts,'-1','-1') UO.Print("Move Bolts to Chest") UO.MoveItem('finditem','all',Chest) Wait(4000) REPEAT UO.FindType(Bolts,'-1','1') If UO.FindCount() Then UO.MoveItem('finditem','all',Chest) Wait(4000) EndIf Until UO.FindCount()==0 or UO.Dead() EndIf ; Берём хлопок из сэйфа UO.FindType(Spools,'-1',Chest) While UO.GetQuantity('finditem')==0 UO.Print("ERROR: Low quantity of the Spools!!!") Wait(5000) UO.FindType(Spools,'-1',Chest) Wend UO.Print("Get Spools") UO.MoveItem('finditem',CountSpools,'-1') Wait(4000) Until UO.Dead() end sub ################################################################################################### ### Собираем Хлопок ### ################################################################################################### sub GrabCotton() UO.Set('finddistance','3') REPEAT UO.FindType('0x0C4F','-1','1') If UO.FindCount() Then UO.UseObject('finditem') UO.DeleteJournal() REPEAT Wait(3000) Until UO.InJournal("You put") or UO.InJournal("You can't") EndIf Until UO.FindCount()==0 or UO.Dead() end sub ################################################################################################### ### Режим болты ткани ### ################################################################################################### Sub Cloth() UO.Print("SELECT YOU CHEST") UO.Exec('addobject Chest') While UO.Targeting() Wait(3000) Wend UO.Set('grabdelay',STR(GrabDelay)) UO.UseObject('Chest') REPEAT If UO.Count(Bolts) Then UO.WaitTargetType(Bolts,'-1') UO.UseType('0x0F9E') UO.DeleteJournal() REPEAT Wait(3000) Until UO.InJournal("You put") or UO.Dead() EndIf UO.FindType(Cloth,'-1','1') If UO.FindCount() Then UO.MoveItem('finditem','all','Chest') Wait(1000) EndIf UO.FindType(Bolts,'-1','Chest') While UO.GetQuantity('finditem')==0 UO.Print("ERROR: Low quantity of the Bolts of cloth!!!") Wait(5000) UO.FindType(Bolts,'-1','Chest') Wend UO.MoveItem('finditem',CountBolts,'-1') Wait(1000) Until UO.Dead() end sub ############################# ### Выключаем все скрипты ### ############################# Sub Terminate() UO.Print("Spools and Bolts and Cloth script: Off!") UO.DeleteJournal() UO.Exec('terminate all') Wait(200) UO.Exec('terminate all') Wait(200) UO.Exec('terminate all') Wait(200) end sub
довольно таки удобный скрипт, делает из ниток Болты.. из БОлтов Ткань.. + скрипт насобирание хлопка)
|