Вобщем тут нужно весь скрипт коцать я так понял.
Алгоритм:
Code:
1 .Нашли рег (0x0F7B) в сундуке (0x4172E101)
2 .Нашли бутылки (0x0F0E) в суднуке
3 .Взяли и то и другое 100 и 30 соответсвенно.
4 .Варим Agility (0x0F08, 0x0000)
5 .Если бутлей меньше 2, тогда берем еще 30.
6 .Если рега меньше 5, тогда берем еще 90.
7 .Если бутылок с готовой продукцией в паке больше 25 тогда перекидываем их в сундук.
Вот сам скрипт, но плохо функионирует:
Code:
sub alchemytrain() ; качб алхимии.
VAR Exit=0, LastTimer
var reg='0x0F8C'
var chest='0x4172E101'
while not uo.dead()
;empty bottles grab
UO.FindType('0x0F0E','-1','backpack')
If UO.GetQuantity('finditem')<10 then
Uo.usefromground('0x4172E101')
wait(50)
UO.FindType('0x0F0E','-1','0x4172E101')
wait(1000)
UO.Grab('30','finditem')
wait(1000)
Endif
;regs grab
UO.FindType(reg,'-1','backpack')
If UO.GetQuantity('finditem')<20 then
UO.FindType(reg,'-1',chest)
wait(1000)
UO.Grab('250','finditem')
wait(1000)
Endif
LastTimer=UO.Timer()
UO.DeleteJournal()
;toss
UO.UseType(reg)
UO.WaitMenu('What','Agility')
while NOT UO.InJournal("You put") AND NOT UO.InJournal("You toss the failed")
wait(500)
wend
If UO.InJournal("You toss the failed") then
repeat
wait(100)
until UO.InJournal("You put")
Else
EndIf
;completed bottles moved to pack
uo.setreceivingcontainer('0x4172E101')
UO.FindType('0x0F0D','0x0000','backpack')
wait(100)
uo.moveitem('finditem','-1','0x4172E101')
wait(1000)
wend
end sub