Писалось мной очень давно для ДРВ. Я тогда еще плохо в инже разбирался, так что скрипт простенький.
Современный состоит из нескольких функций с туевой хучей защит и проверок. Думаю в нем ты не разберешься.
На первый взгляд тут есть защита от зацикливания и черезмерного загруза дерьмовой рудой. Ну короче поковыряй, попробуй.
Code:
#################################################################################
# Окапывание ячейки (x + k), (y + j) #
#################################################################################
Sub Mine(x, y, k, j)
Var TimeOut=9000 # Максимальное время копания
Var TimeCur # Текущее время копания
StartMineLab:
If UO.Weight>MaxWeight then
Unload(X,Y)
EndIf
Hide()
timecur=0
CheckLag()
UO.WaitTargetTile('0', STR(x + k), STR(y + j), '0')
UO.UseType(STR(Kirka))
UO.DeleteJournal()
Repeat
timecur=timecur+50
wait(50)
Until UO.InJournal("your pack") or UO.InJournal("Ore Elemental") or UO.InJournal("far away") or UO.InJournal("in rock") or UO.InJournal("no ore") or TimeCur>TimeOut
If UO.InJournal("Elemental") then
FightElem()
endif
If UO.InJournal("Elemental") or UO.InJournal("in rock") or UO.InJournal("no ore") or UO.InJournal("far away") or UO.InJournal("Rusty Ore") or UO.InJournal("Copper Ore") then
Return
Else
GoTo StartMineLab
endif
End Sub