API UO TicksTarget - LIHACHTETAN/ClassicUO-BadNewbie-BasicIDE GitHub Wiki
UO.TicksTarget
Оглавление · Алфавитный указатель · Targeting
ClassicUO • Runtime API
Читает отметку времени последней подготовки цели через WaitTargetObject/WaitTargetTile и их вызывающие оболочки.
Точный синтаксис
UO.TicksTarget() -> Integer
Выберите одну из зарегистрированных форм. Параметры передаются позиционно. Any означает значение BASIC с преобразованием внутри команды; Unit — отсутствие возвращаемого значения.
Параметры
Параметров нет.
Возвращает
Integer — значение UO.Timer в момент подготовки, в десятых долях секунды от запуска runtime. До первой такой подготовки — 0. Это отметка, не длительность ожидания, не миллисекунды и не ID цели.
Поведение
- Непосредственные TargetToObject/TargetToTile/TargetToXYZ не подготавливают очередь и эту отметку не обновляют.
- Некоторые команды поиска ставят ответ напрямую через bridge; TicksTarget не является универсальным временем любого изменения target.
Примеры
Пример 1. Запомнить момент подготовки
# Запомнить момент подготовки
#
# Читает отметку времени последней подготовки цели через WaitTargetObject/WaitTargetTile и их
# вызывающие оболочки.
#
# Integer — значение UO.Timer в момент подготовки, в десятых долях секунды от запуска runtime.
# До первой такой подготовки — 0. Это отметка, не длительность ожидания, не миллисекунды и не ID
# цели.
SUB Main()
# Аргументов нет; WaitTargetSelf обновляет отметку.
# stamp измеряется десятыми долями секунды.
UO.WaitTargetSelf()
VAR stamp = UO.TicksTarget()
UO.Print(STR(stamp))
UO.CancelWaitTarget()
END SUB
Разбор параметров и выполнения:
- Аргументов нет; WaitTargetSelf обновляет отметку.
- stamp измеряется десятыми долями секунды.
Пример 2. Вычислить прошедшее время
# Вычислить прошедшее время
#
# Читает отметку времени последней подготовки цели через WaitTargetObject/WaitTargetTile и их
# вызывающие оболочки.
#
# Integer — значение UO.Timer в момент подготовки, в десятых долях секунды от запуска runtime.
# До первой такой подготовки — 0. Это отметка, не длительность ожидания, не миллисекунды и не ID
# цели.
SUB Main()
# WAIT=250 миллисекунд.
# Из-за дискретности отметки elapsed обычно 2 или 3, а не 250.
UO.WaitTargetObject('self')
WAIT(250)
VAR elapsed = UO.Timer() - UO.TicksTarget()
UO.Print('Tenths: ' + STR(elapsed))
UO.CancelWaitTarget()
END SUB
Разбор параметров и выполнения:
- WAIT=250 миллисекунд.
- Из-за дискретности отметки elapsed обычно 2 или 3, а не 250.
Пример 3. Убедиться в одинаковом времени для числового serial
# Убедиться в одинаковом времени для числового serial
#
# Читает отметку времени последней подготовки цели через WaitTargetObject/WaitTargetTile и их
# вызывающие оболочки.
#
# Integer — значение UO.Timer в момент подготовки, в десятых долях секунды от запуска runtime.
# До первой такой подготовки — 0. Это отметка, не длительность ожидания, не миллисекунды и не ID
# цели.
SUB Main()
# selfId — Integer serial своего персонажа.
# Числовая форма обновляет отметку, как строковая; параметров у TicksTarget нет.
VAR selfId = UO.Hex2Int(UO.GetSerial('self'))
UO.WaitTargetObject(selfId)
UO.Print(STR(UO.TicksTarget()))
UO.CancelWaitTarget()
END SUB
Разбор параметров и выполнения:
- selfId — Integer serial своего персонажа.
- Числовая форма обновляет отметку, как строковая; параметров у TicksTarget нет.