Да идея клас ная и мнео она пришла дааавно когда ещё тока, тока учился писать скрипты, какраз этот и написал, я даже ради прикола ничего в нём не менял
ну тока документировал и всё
Code:
#*Примечание: Перед началом скрипта положите под себя
#пустой или незаполненый до конца мешочек :)
#
#Описание работы:
#Находится под собой мешочек, проверяеn незаполненли он,
# и если нет, то устанавливает на него переброс контеёнер и начинает
# крафт. Когда мешочек заполняется, кладёт его в UnSunduk и берёт
# из Sunduk'a новый и так пока некончатся инги или мешочки :)
# внизу прилогается фуфнуция которая сбрасывает все установки
# скрипта в нормальное сосьояние, то есть устанавливает дистанцию,
# сбрасывает переброс конт. и тд...
sub IronDagger()
VAR Ingi = '0x1BEF' ;тип айрона
VAR Sunduk = '0x400896A7' ;Сундук с мешочками
VAR UnSunduk = '0x40089941' ;для сброса мешков
VAR Bag = '0x0E76' ;тип мешочков
VAR Dagger = '0x0F51' ;тип даггеров
VAR k = 0
VAR mx = UO.GetX('self')
VAR my = UO.GetY('self')
VAR mz = UO.GetZ('self')
uo.set('finddistance',str(2))
UO.Useobject(Sunduk)
UO.Useobject(UnSunduk)
Snova:
UO.UnSetReceivingContainer()
wait(100)
repeat
UO.unsetcatchbag()
wait(500)
UO.FindType( Ingi, -1, 'my' )
wait(300)
UO.Drophere('finditem')
wait(3000)
UO.FindType( Ingi, -1, 'ground' )
wait(300)
If UO.FindCount() == 0 Then
UO.Print("Iron Ingots not found!!! Exit!!!!")
return
Endif
UO.Grab( Str( 700 ), 'finditem' )
wait( 3000 )
UO.FindType(Bag,-1, 'ground')
UO.FindType(Dagger,-1, 'finditem')
If UO.FindCount() > 160 then
UO.FindType(Bag,-1, 'ground')
wait(300)
UO.SetReceivingContainer(UnSunduk)
UO.Grab( Str( 1 ), 'finditem' )
wait( 3000 )
UO.UnSetReceivingContainer()
UO.FindType(Bag,-1, Sunduk)
wait(300)
If UO.FindCount() == 0 Then
UO.Print("No Bags found!!!! Exit!!")
goto vse
Endif
UO.moveitem ('finditem', 1, 'ground', str(mx), str(my), str(mz))
wait( 3000 )
UO.useobject('finditem')
end if
UO.FindType(Bag,-1, 'ground')
UO.setcatchbag('finditem')
UO.useobject('finditem')
vse:
While UO.Count( Ingi ) > 30
While NOT UO.Hidden()
UO.Useskill("Hiding")
wait(3000)
wend
UO.Print('Ostalos ' + Str( UO.Count( Ingi ) ) + ' ingots' )
UO.DeleteJournal()
UO.UseType(Ingi)
UO.Exec("waitmenu 'Blacksmithing' 'Weapons' 'Weapons' 'Swords & Blades' 'Swords & Blades' 'dagger'")
k = 0
while NOT UO.InJournal('You have fail to make anything') AND NOT UO.InJournal('You put the dagger in your pack') AND ( k < 40 )
k = k + 1
wait(500)
wend
if k < 6 then
wait(3000)
end if
UO.FindType( Ingi, -1, 'my' )
if UO.Count( Ingi ) > 1000 then
UO.Drophere('finditem')
wait(2000)
end if
UO.FindType( Bag, -1, 'ground' )
UO.FindType( Dagger, -1, 'finditem' )
If uo.FindCount() > 250 Then
goto Snova
end if
UO.DeleteJournal()
Wend
UO.unsetcatchbag()
until UO.Dead()
end sub
sub unset()
UO.unsetcatchbag()
UO.UnSetReceivingContainer()
uo.set('finddistance',str(13))
uo.set('distance',str(13))
UO.IgnoreReset()
end sub