маненько переделано, намешано, но в принципе работает... поэтому менять что-то влом
четыре мешка -- для того чтоб всё раздельно. поставил вокруг себя, узнал их id, записал сюда (там где Cont)... вроде всё... да, наличие всех регов не обязательно... реги можно менять, названия напитков -- тоже.
Code: sub main() var i=0, itx=0, ilz=0 DIM Regi[3] Regi[1]='0x0F88' #ns Regi[2]='0x0F85' #gs Regi[3]='0x0F88' #Eyes of Newt
DIM PotName[3] PotName[1]='Greater Poison' PotName[2]='Greater Heal' PotName[3]='Mana'
DIM Pot[3] Pot[1]='0x0998' #Greater Poison Pot[2]='0x09BB' #Greater Heal Pot[3]='0x09DF' #Mana
DIM Cont[3] Cont[0]='0x00000000' #бутылки и реги Cont[1]='0x00000000' #Greater Poison Cont[2]='0x00000000' #Greater Heal Cont[3]='0x00000000' #Mana
while not uo.dead() for i=1 to 3
HideMe() UO.FindType(Regi[i],-1,'backpack') CheckLag() If UO.GetQuantity('finditem')<20 then # загружаемся wait(300) UO.FindType(Regi[i],-1,Cont[0]) CheckLag() if UO.GetQuantity('finditem')>0 then wait(300) UO.Grab('100','finditem') wait(800) test() else HideMe() wait(10000) endif else
# работаем UO.DeleteJournal() UO.WaitTargetType(Regi[i]) #кликаем на рег UO.WaitMenu('What sort of potion do you want to make?',PotName[i]) wait(500) test() UO.UseType('0x0F0E','0x0000') ilz=0 while NOT UO.InJournal("You put") AND NOT UO.InJournal("You toss the failed") AND NOT ilz>=50 ilz=ilz+1 wait(500) wend # выгружаемся UO.FindType('0x0F0E',Pot[i]) CheckLag() If UO.GetQuantity('finditem')>0 then wait(300) UO.SetReceivingContainer(Cont[i]) wait(300) UO.Grab('0','finditem') wait(800) test() UO.UnSetReceivingContainer() wait(300) endif endif Endif next #i wend
# если нас вдруг убили пишем лог в файл, потом мстить будем: VAR f=file("!!!injlog.txt") f.create() for var i=100 to 0 step -1 f.writeLn(STR(i)+": "+uo.Journal(i)) next f.close()
end sub
sub HideMe() var ik=0, ijj=0 If Uo.Hidden('self')==0 then repeat Uo.Useskill('Hiding') ik=0 ijj=0 repeat wait(300) ijj=ijj+1 if UO.InJournal("You can't seem to hide here") or UO.InJournal("You have hidden yourself well") then Uo.DeleteJournal() ik=1 else ik=0 end if until ik==1 or ijj>=50 ik=0 until Uo.Hidden('self')==1 end if end sub
sub test() var ii=0 if UO.InJournal("World save has been initiated.") then UO.DeleteJournal() UO.Click('self') repeat ii=ii+1 wait(300) until UO.InJournal(UO.GetName()+": "+UO.GetName()) or ii>=120 #так имена на дрв проверяются endif if UO.InJournal("Server is being PAUSED for Resync") then UO.DeleteJournal() repeat ii=ii+1 wait(300) until UO.InJournal("Resync Complete!") or ii>=120 endif end sub
sub CheckLag() var ihd=0 UO.DeleteJournal() UO.Click('backpack') ihd=0 repeat ihd=ihd+1 wait(50) until UO.InJournal('backpack') or ihd>=120 end sub
|