Я упешно пользуюсь скриптом на мининг в капалке, но у меня один вопрос. Иногда при копке возникает сообщение "You loosen some rocks but fail to finde any useable" и чар просто стоит и долбит тайл много времени. Из-за чего может возникать такое сообщение? Mining 100% Возможно включить проверку журнала на это сообщение и сделать так что бы чар переходил к следующему тайлу? Шард DRW.
Вот сам скрипт. Автора к сожалению не знаю

Code: Select all
########################################################
# Все просто: расставляем координаты go(x,y,z,k), где х и y это
# координаты по инжекту, z - направление движения, k - константа
# определяющая действие(1 - копаем; 0 - идем в эти координаты).
########################################################
#Направление движения: константа z имеет следущие значения:
# PageUp
#PageUp - 33 |
# |
#PageDown - 34 Home ---- ----PageDown
# |
#End - 35 |
# End
#Home - 36
########################################################
# Координата конечной точки должна быть рядом с сундуком чтобы
#чар до него дотянулся, проще - вы должны координатной сеткой
# превести чара в исходный тайл!
########################################################
########################################################
########## ###########
######## ########
###### Удачно покопать :)) ######
######## ########
########## ###########
########################################################
########################################################
var tShovel='0x0E85' #Тип кирки
########################################################
var tSeif='0x400732C5' #Йд сейфа где лежат оры и хавчик
########################################################
var tEat='0x097B' #Тип еды
########################################################
sub go(x,y,k,m)
while UO.GetX()<>x or UO.GetY()<>y
UO.Press(k)
CheckLag()
wend
if m==1 then
Dig()
end if
end sub
sub main()
while Not UO.Dead()
FollowMine()
UnLoad()
ToEat()
GoBeg()
wend
end sub
sub FollowMine()
dig()
go(1695,2998,34,1)
go(1695,3000,35,1)
go(1695,3002,35,0)
go(1694,3002,36,0)
go(1694,3004,35,0)
go(1693,3004,36,1)
go(1693,3003,33,0)
go(1691,3003,36,1)
go(1691,3000,33,0)
go(1689,3000,36,0)
go(1689,3001,35,1)
go(1688,3001,36,1)
go(1688,2999,33,0)
go(1686,2999,36,1)
go(1685,2999,36,1)
go(1685,2988,33,0)
go(1691,2988,34,0)
go(1691,2989,35,0)
go(1695,2989,34,1)
go(1695,2991,35,1)
go(1695,2993,35,1)
go(1695,2995,35,1)
go(1695,2998,35,0)
go(1692,2998,36,0)
end sub
sub GoBeg()
go(1692,2998,33,0)
end sub
sub CheckLag()
UO.DeleteJournal()
UO.Click('backpack')
repeat
wait(50)
until UO.InJournal('backpack')
end sub
sub tohide()
while NOT UO.Hidden()
UO.DeleteJournal()
UO.Warmode('0')
UO.UseSkill('Hiding')
repeat
wait(50)
until UO.InJournal('You have hidden') OR UO.InJournal('seem to hide') OR UO.InJournal('preoccupied') or UO.Dead()
wend
end sub
sub UnLoad()
var i
DIM Item[13]
Item[1]=0x19B9 ; >3 ore
Item[2]=0x19B7 ; 1 ore
Item[3]=0x19BA ; 2 ore
Item[4]=0x19B8 ; 3 ore
Item[5]=0x0F11 ; saphires
Item[6]=0x0F16 ; amethysts
Item[7]=0x0F18 ; tourmalines
Item[8]=0x0F15 ; citrines
Item[9]=0x0F10 ; emeralds
Item[10]=0x0F0F ; star sapphires
Item[11]=0x0F26 ; diamonds
Item[12]=0x0EED ; gold
for i = 1 to 12
UO.FindType(Item[i], '-1', 'backpack')
while UO.GetQuantity('finditem') > 0
UO.MoveItem('finditem','-1',tSeif)
Wait(1000)
CheckLag()
UO.FindType(Item[i],'-1','backpack')
wend
next
end sub
sub ToEat()
UO.UseObject(tSeif)
UO.FindType(tEat,'0x0000',tSeif)
if UO.FindCount() > 0 then
UO.MoveItem('finditem','20','backpack')
else
return
end if
repeat
CheckLag()
uo.UseType(tEat)
while not uo.InJournal("can't") and not uo.InJournal('full') and not uo.InJournal('stuffed') and not uo.InJournal('hungry') and not uo.InJournal('satiated') and not UO.Dead()
wait(100)
wend
until uo.InJournal('too full') or UO.Dead()
UO.FindType(tEat, '0x0000','backpack')
if UO.FindCount() > 0 then
UO.MoveItem('finditem','20',tSeif)
end if
end sub
sub Dig()
var mx = UO.GetX("self"), my = UO.GetY("self"), mz = UO.GetZ("self"),TileNum='1339', t=0
var i,j
if UO.Dead() then
UO.CloseUO()
end if
for i = mx-1 to mx+1
for j = my-1 to my+1
tohide()
while not UO.InJournal("no ore here") and not UO.InJournal("location") and not UO.InJournal("far away") and not UO.InJournal("in rock")
tohide()
CheckLag()
UO.Waittargettile("1341", str(i), str(j), str(mz))
UO.Exec("usetype " + tShovel)
while not UO.InJournal("You put") and not UO.InJournal("location") and not UO.InJournal("no ore") and not UO.InJournal("but fail") and not UO.InJournal("far away") and not UO.InJournal("in rock") and not UO.InJournal("OOPS") and not UO.InJournal("attacking you")
wait(500)
wend
if UO.InJournal('something with ore') OR UO.InJournal("attacking you") then
t=1
end if
if UO.InJournal("but fail") then
wait(1000)
end if
wend
UO.DeleteJournal()
next
next
if t == 1 then
Pause()
end if
return 1
end sub
sub Pause()
UO.DeleteJournal()
REPEAT
WAIT(3000)
UO.Print("!@! ELEMENTAL !@!")
UNTIL UO.InJournal('GO')
UO.Print("!@! KOPAU !@!")
end sub