Code: Select all
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.]