Code: Select all
#################
### Настройки ###
###################################################################################################
###
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
довольно таки удобный скрипт, делает из ниток Болты.. из БОлтов Ткань.. + скрипт насобирание хлопка)