Incorrect User wrote:
Вот о чем я и спрашиваю, почему скрипт останавливается и ждет до конца таймера? Клилок пришол и на него мы должны среагировать, то есть начать снова копать а не ждать таймер. Вообще скрипт покажи.
Я некорректно выразился. Скрипт не останавливается, продолжает работать. Я имею ввиду то, что впустую трачу время в этот момент. Команда на копку уходит, а ответа нет. Соответственно впустую трачу 10(счётчик) итераций.
Вот скрипт
Code:
sub mineAroundSelf()
VAR x,y,z='0',TileNum='1339'
VAR Counter, PickAxeType
VAR MaxCount=10 , startTime
UO.FindType('0x0E86',-1,'my')
If Uo.FindCount() Then
PickAxetype='0x0E86'
Else
PickAxetype='0x0E85'
Endif
## cliloc# 0x7ACF9 You put some Iron ore in your backpack
## cliloc# 0x7AD03 You loosen some rocks
## cliloc# 0x7A2DE Too far away
## cliloc# 0x7AD00 There is no metal to mine
## cliloc# 0x7A867 Can't mine that
For x=-2 to 2
For y=-2 to 2
Counter=0
uo.deletejournal()
Repeat
uo.print('Mine to: x=' +str(UO.GetX()+x) + ', y=' + str(UO.GetY()+Y))
startTime = now()
UO.WaitTargetTile(TileNum,STR(UO.GetX()+x),STR(UO.GetY()+Y),z)
UO.UseType(PickAxeType)
wait(2000)
uo.WaitingForJournalText(startTime,10000,"0x7ACF9|0x7AD03|0x7A2DE|0x7A867|0x7AD00|0x7A197")
Counter=Counter+1
Until UO.InJournal("0x7A2DE|0x7AD00") > 0 OR Counter > MaxCount
Next
Next
end sub
А это журнал
Code:
------Journal [9]------
// ЗДЕСЬ МЫ НОРМАЛЬНО КОПАЕМ И ПОЛУЧАЕМ МЕССАГУ, КОТОРАЯ И ПО СТРОКЕ ОТЛАВЛИВАЕТСЯ.
cliloc# 0x7ACF9
You put some Iron ore in your backpack
cliloc# 0x7ACF9
You put some Iron ore in your backpack
cliloc# 0x7ACF9
You put some Iron ore in your backpack
cliloc# 0x7ACF9
cliloc# 0xF6B31
// А ЗДЕСЬ МЫ ПОСЫЛАЕМ КОМАНДЫ НА КОПКУ, НО ОТВЕТНЫЙ ДЕЙСТВИЙ НЕ ПРОИСХОДИТ
cliloc# 0x7ACF9
------Journal [4]------
cliloc# 0x7ACF9
cliloc# 0x7ACF9
cliloc# 0x7ACF9
cliloc# 0x7ACF9