Ребят помогите со скриптом, знающие, поправьте пожалуйста. И добро вернётся добром))
Дело в том что я не особо понимаю эту механику, в основном google в помощь мне в готовых скриптах...а так, данный скрипт, он не всегда окапывает вокруг себя и иногда в стену бежит и всё..
Поправьте пожалуйста, что бы окапывал вокруг себя все клетки...и/или если есть то копалка с движением...(только рабочая и проверенная.) помогите пожалуйста, можно если что в ЛС.
Сам скрипт
sub mine()
var x, y, i, tmp, inside, goto_x, st, first
st=0
first=UO.GetX()
start:
inside=0
for y=-2 to 2
for x=-2 to 2
try:
UO.Exec ("waittargettile "+" 1340 "+STR(UO.GEtX()+x)+" "+STR(UO.GetY()+y)+" 0")
UO.exec ("usetype 0x0E85")
#UO.Print (""+STR(x))
#UO.Print (""+STR(y))
i=0
while i< 100
if UO.InJournal("You loosen some rocks but fail to find any useable ore") then
wait (1000)
i=200
UO.DeleteJournal()
goto try
endif
if UO.InJournal("Try mining elsewhere") then
i=200
UO.DeleteJournal()
endif
if UO.InJournal("You cant mine in this Region.") then
i=200
UO.DeleteJournal()
endif
if UO.InJournal("You must wait to perform another action") then
wait (1000)
i=200
UO.DeleteJournal()
goto try
endif
if uo.InJournal("till")then
uo.playwav("???? ?? ??????")
wait(1000)
i=200
UO.DeleteJournal()
goto try
endif
if uo.InJournal("Elemental") or uo.InJournal("is attacking you")then
uo.playwav("???? ?? ??????")
killelem()
wait(1000)
;loot()
i=200
UO.DeleteJournal()
goto try
endif
if UO.InJournal("There is nothing here to mine for") then
wait (1000)
i=200
UO.DeleteJournal()
endif
if UO.InJournal("You have no line of sight to that location") then
wait (1000)
i=200
UO.DeleteJournal()
endif
wait (500)
i=i+1
if uo.weight > 700 then
uo.findtype(0x19B9,0x06D6,2)
UO.MoveItem('finditem', '0', 'ground')
wait (100)
endif
wend
next
next
if st == 0 then
goto_x=UO.GetX()+5
while inside < 10
while UO.GetX() < goto_x
UO.Press (39, 1, 500)
inside=0
wend
while UO.GetX() > goto_x
UO.Press (37, 1, 500)
inside=0
wend
inside=inside+1
wait (300)
wend
st=1
goto start
endif
if st == 1 then
while inside < 10
while UO.GetX() < first
UO.Press (39, 1, 500)
inside=0
wend
while UO.GetX() > first
UO.Press (37, 1, 500)
inside=0
wend
inside=inside+1
wait (300)
wend
st=0
endif
end sub