подправьте этот срипт чтоб чар не реколился из пещеры, если кого-то в ней обнаружит (другого чара)
Code: sub MINING(KudaRecall) var FromScroll = 1
var AddX, AddY; var nRepeat; var MaxWeight = 650;
If uo.bm < 5 or uo.bp < 5 or uo.mr < 5 then While not uo.Dead() if not uo.Hidden() then # Прячимся ToHide() end if #if not uo.Hidden() then uo.Print('РЕГИ ЗАКОНЧИЛИСЬ') Wait(30000) wend
end if
uo.warmode(0)
while uo.Mana < 50 uo.UseSkill('Meditation') Wait(3000) wend
RecallToLumber(FromScroll, KudaRecall) # Полетели в пищеру if LookingForEnemy()==1 then UNLoad(KudaRecall) return 0 end if
if KudaRecall == 1 then uo.waittargetobject('runeLumber1') uo.cast('Mark') end if if KudaRecall == 2 then uo.waittargetobject('runeLumber2') uo.cast('Mark') end if if KudaRecall == 3 then uo.waittargetobject('runeLumber3') uo.cast('Mark') end if if KudaRecall == 4 then uo.waittargetobject('runeLumber4') uo.cast('Mark') end if if KudaRecall == 5 then uo.waittargetobject('runeLumber5') uo.cast('Mark') end if if KudaRecall == 6 then uo.waittargetobject('runeLumber6') uo.cast('Mark') end if if KudaRecall == 7 then uo.waittargetobject('runeLumber7') uo.cast('Mark') end if if KudaRecall == 8 then uo.waittargetobject('runeLumber8') uo.cast('Mark') end if
Wait(7000)
if LookingForEnemy()==1 then UNLoad(KudaRecall) return 0 end if
uo.Print('Nachinaem kopat') # В пищере никого нету можно копать if not uo.Hidden() then # Прячимся ToHide() end if #if not uo.Hidden() then
For AddY = -3 to 3 # Обкапываем себя вокруг For AddX = -3 to 3 For nRepeat = 1 to 3 if uo.Weight > MaxWeight then UNLoad(KudaRecall) return 0 end if if LookingForEnemy()==1 then UNLoad(KudaRecall) return 0 end if
if not uo.Hidden() then # Прячимся ToHide() end if #if not uo.Hidden() then CheckLag()
uo.WaitTargetTile('-1', Str(uo.getx() + AddX), Str(uo.GetY() + AddY), Str(uo.getz())) uo.usetype('0x0F39') WaitForTryRock() Next # For nRepeat = 1 to 3 Next # For AddX = -3 to 3 Next # For AddY = -3 to 3
UNLoad(KudaRecall) Main()
return 0 end sub
#Проверяем там копаем или нет
sub WaitForTryRock() var Text1="That is too far away." var Text2="Try mining in rock." var Text3="There is no ore here to mine." var Text4="You have no line of sight to that location" var Text5="You can't see the target"
uo.DeleteJournal() for var i=0 to 50 if uo.InJournal("You put") OR uo.INJournal("You loosen") OR uo.Journal(0)==Text1 OR uo.Journal(0)==Text2 OR uo.Journal(0)==Text3 OR uo.Journal(0)==Text4 OR uo.Journal(0)==Text5 then return 1 end if wait(200) next return 0 end sub
#Ждем рекола
sub WaitForRecall() var Text1=uo.getname()+": The spell fizzles." var mess='',lastX=uo.getX(),lastY=uo.getY() for var i=0 to 400 mess=uo.journal(0) if uo.Journal(0)==Text1 then return 0 end if if uo.getX()<>lastX OR uo.getY()<>LastY then return 1 end if wait(50) next return 0 end sub
#Ждем пока спрячимся
sub WaitForHide() var Text1=uo.getname()+": You have hidden yourself well" var Text2=uo.getname()+": You can't seem to hide here." var mess for var i=0 to 200 mess=uo.journal(0) if uo.Journal(0)==Text1 then return 1 end if if uo.Journal(0)==Text2 then return 0 end if wait(50) next return 0 end sub
#Причимся
sub ToHide() var i uo.print('Пытаемся уйти в хайд...') for i=1 to 15 uo.deletejournal() uo.useskill('Hiding') if WaitForHide()==1 then return 1 end if next return 0 end sub
sub RecallToLumber(FromScroll, KudaRecall) var i uo.print('Реколимся в пещеру № ' + Str(KudaRecall)) for i=1 to 10 uo.deletejournal() if FromScroll==0 then RecallRunebookles() else if KudaRecall == 1 then uo.waittargetobject('runeLumber1') uo.cast('Recall') end if if KudaRecall == 2 then uo.waittargetobject('runeLumber2') uo.cast('Recall') end if if KudaRecall == 3 then uo.waittargetobject('runeLumber3') uo.cast('Recall') end if if KudaRecall == 4 then uo.waittargetobject('runeLumber4') uo.cast('Recall') end if if KudaRecall == 5 then uo.waittargetobject('runeLumber5') uo.cast('Recall') end if if KudaRecall == 6 then uo.waittargetobject('runeLumber6') uo.cast('Recall') end if if KudaRecall == 7 then uo.waittargetobject('runeLumber7') uo.cast('Recall') end if if KudaRecall == 8 then uo.waittargetobject('runeLumber8') uo.cast('Recall') end if
end if if waitForRecall()==1 then return 1 end if next return 0 end sub
sub RecallToHome(FromScroll) var i uo.print('Реколимся домой...') for i=1 to 10 uo.deletejournal() if FromScroll==0 then RecallRunebookhome() else uo.waittargetobject('runeHome') uo.cast('Recall') end if if WaitForRecall()==1 then return 1 end if next return 0 end sub
sub WaitForChange() var Text1=uo.getname()+': You hack at the tree for a while, but fail to produce any useable wood.' var Text2='There are no logs here to chop.' var Text3="You can't reach this." var mess for var i=0 to 50 mess=uo.journal(0) if uo.Journal(0)==Text2 OR uo.Journal(0)==Text3 then return 1 end if if uo.Journal(0)==Text1 then return 0 end if if mess[0]=='Y' AND mess[1]=='o' AND mess[2]=='u' AND mess[4]=='p' AND mess[5]=='u' AND mess[6]=='t' then return 0 end if wait(200) next return 0 end sub
sub GetTree(type,x,y,z) var i uo.print('Начинаем рубку дерева...') for i=0 to 30 if uo.warmode()==1 then return 0 end if wait(200) uo.deletejournal() uo.waittargettile(type,x,y,z) uo.useobject('axe') if WaitForChange()==1 then return 1 end if next return 0 end sub
sub LookingForEnemy() var Name1="lep" var Name2="Necros" var Name3="KentLsp" var i;
uo.Set('distance', '30') uo.ignorereset()
uo.FindType(0x0191, '-1', 'ground') # Проверяем одни ли мы тут if uo.FindCount() > 0 then # Если ктото еще то uo.Print(uo.GetName('finditem')) uo.ignore('finditem', 'on') uo.ignorereset() return 1 end if # if uo.FindCount() > 1 then
uo.FindType(0x0190, '-1', 'ground') # Проверяем одни ли мы тут if uo.FindCount() > 1 then # Если ктото еще то for i = 1 to uo.FindCount() uo.FindType(0x0190, '-1', 'ground') # Проверяем одни ли мы тут If uo.GetName('finditem')==Name1 OR uo.GetName('finditem')==Name2 OR uo.GetName('finditem')==Name3 then uo.ignore('finditem', 'on') uo.Print(uo.GetName('finditem') + ' ignored !!!') else uo.Print(uo.GetName('finditem') + ' ALARM !!!') uo.ignore('finditem', 'on') uo.ignorereset() return 1 end if next end if # if uo.FindCount() > 1 then
return 0
end sub
sub UNload(KudaRecall) uo.ignore('finditem', 'on') uo.ignorereset()
KudaRecall = KudaRecall + 1
If KudaRecall >= 9 then KudaRecall = 1 end if
RecallToHome(1) # Реколимся домой uo.FindType('0x19b7', '-1') while uo.FindCount() > 0 uo.MoveItem('finditem', '-1', 'sunduk') wait(700) uo.FindType('0x19b7', '-1') wend
uo.FindType('0x19b8', '-1') while uo.FindCount() > 0 uo.MoveItem('finditem', '-1', 'sunduk') wait(700) uo.FindType('0x19b8', '-1') wend
uo.FindType('0x19b9', '-1') while uo.FindCount() > 0 uo.MoveItem('finditem', '-1', 'sunduk') wait(700) uo.FindType('0x19b9', '-1') wend
uo.FindType('0x19ba', '-1') while uo.FindCount() > 0 uo.MoveItem('finditem', '-1', 'sunduk') wait(700) uo.FindType('0x19b8', '-1') wend
uo.FindType('0x0f0f', '-1') while uo.FindCount() > 0 uo.MoveItem('finditem', '-1', 'sunduk') wait(700) uo.FindType('0x0f0f', '-1') wend
uo.FindType('0x0f15', '-1') while uo.FindCount() > 0 uo.MoveItem('finditem', '-1', 'sunduk') wait(700) uo.FindType('0x0f15', '-1') wend
uo.FindType('0x0f26', '-1') while uo.FindCount() > 0 uo.MoveItem('finditem', '-1', 'sunduk') wait(700) uo.FindType('0x0f26', '-1') wend
uo.FindType('0x0f18', '-1') while uo.FindCount() > 0 uo.MoveItem('finditem', '-1', 'sunduk') wait(700) uo.FindType('0x0f18', '-1') wend
# uo.FindType('0x09b7', '-1', 'sunduk') # uo.MoveItem('finditem', '-1') # wait(700) uo.FindType('0x09b7', '-1') uo.UseType('finditem') wait(700) uo.UseType('finditem') wait(700) uo.UseType('finditem') wait(700) # uo.MoveItem('finditem', '-1', 'sunduk') # wait(700)
uo.WaitTargetObject('runeHome') uo.cast('Mark') Wait(10000)
MINING(KudaRecall)
end sub
sub CheckLag() UO.DeleteJournal() UO.Click('backpack')
repeat wait(500) until UO.InJournal('backpack') end sub
#---------------------------------------------------------------------------------------- #---------------------------------------------------------------------------------------- #---------------------------------------------------------------------------------------- #---------------------------------------------------------------------------------------- #----------------------------------------------------------------------------------------
sub main()
uo.ignore('finditem', 'on') uo.ignorereset()
uo.print('Выбери куда складывать руду: ') uo.exec('addobject sunduk') wait(3000)
uo.print('Выбери руну домой: ') uo.exec('addobject runeHome') wait(3000) uo.print('Выбери 1 руну в лес: ') uo.exec('addobject runeLumber1') wait(3000) uo.print('Выбери 2 руну в лес: ') uo.exec('addobject runeLumber2') wait(3000) uo.print('Выбери 3 руну в лес: ') uo.exec('addobject runeLumber3') wait(3000) uo.print('Выбери 4 руну в лес: ') uo.exec('addobject runeLumber4') wait(3000) uo.print('Выбери 5 руну в лес: ') uo.exec('addobject runeLumber5') wait(3000) uo.print('Выбери 6 руну в лес: ') uo.exec('addobject runeLumber6') wait(3000) uo.print('Выбери 7 руну в лес: ') uo.exec('addobject runeLumber7') wait(3000) uo.print('Выбери 8 руну в лес: ') uo.exec('addobject runeLumber8') wait(3000)
uo.ignorereset()
var KudaRecall = 1
MINING(KudaRecall) end sub
[Fixed.]
|