Вот чуть поковырял скрипт
Code:
Sub SearchTree()
var i, x, y, t, stp, max_search = 24, RespawnTime = 9000
var MaxX = 755, MinX = 200, MaxY = 1030, MinY = 867
var cx = UO.GetX()
var cy = UO.GetY()
For i = 1 to max_search
For x = -i to i
stp = 1
If not i == Abs(x) then
stp = Abs(i) * 2
Endif
For y = -i to i step stp
If (x + cx) < MaxX and (x + cx) > MinX and (y + cy) < MaxY and (y + cy) > MinY then
If val(UO.GetEasyUO(val(str(x + cx) + str(y + cy)))) + RespawnTime > UO.Timer() and not UO.GetEasyUO(val(str(x + cx) + str(y + cy))) == 'empty' then
t = IsTreeTile(x + cx, y + cy)
If not t == false then
UO.SetEasyUO(1, str(x + cx))
UO.SetEasyUO(2, str(y + cy))
UO.SetEasyUO(3, str(t))
Return false
else
UO.SetEasyUO(val(str(x + cx) + str(y + cy)), 'empty')
Endif
Endif
else
Wait(100)
Endif
Next
Next
Next
Endsub
Sub DoMineTree()
var x, y, t, Time, k
var end = 'appears immune|nothing here|reach this'
var try = 'I put|fail'
Repeat
x = val(UO.GetEasyUO(1))
y = val(UO.GetEasyUO(2))
t = val(UO.GetEasyUO(3))
UO.SetEasyUO(val(str(x) + str(y)), str(UO.Timer()))
If Walker(x, y, 1) > 0 then
UO.Exec('exec SearchTree')
k = 0
Repeat
k = k + 1
If UO.Waiting() then
UO.CancelTarget()
Endif
DelJournal(try + '|' + end)
UO.WaitTargetTile(str(t), str(x), str(y), str(UO.GetZ()))
UO.UseType(Hatchet)
Time = UO.Timer()
Repeat
Wait(100)
Until UO.InJournal(try + '|' + end) or Time + 100 < UO.Timer()
Until UO.InJournal(end) or k > 7
Endif
While val(UO.GetEasyUO(1)) == x && val(UO.GetEasyUO(2)) == y
Wait(100)
Wend
Until false
Endsub
Проблемма в том, что ни чего не делает)
Думаю, что виноват этот кусочек
Code:
If val(UO.GetEasyUO(val(str(x + cx) + str(y + cy)))) + RespawnTime > UO.Timer() and not UO.GetEasyUO(val(str(x + cx) + str(y + cy))) == 'empty' then
Подскажите, что не так
Эту проблемму решилтеперь unhandled exeption in parser вылетает после подхода к n-ному дереву
Всем спасибо
Сделал в одном потоке и все проблеммы исчезли