API UO LastStepQUsedDoor - LIHACHTETAN/ClassicUO-BadNewbie-BasicIDE GitHub Wiki
UO.LastStepQUsedDoor
Оглавление · Алфавитный указатель · Movement
ClassicUO • Runtime API
Читает либо вручную изменяет отметку попытки открытия двери последней командой StepQ.
Точный синтаксис
UO.LastStepQUsedDoor() -> Any
UO.LastStepQUsedDoor(value:Any) -> Any
Выберите одну из зарегистрированных форм. Параметры передаются позиционно. Any означает значение BASIC с преобразованием внутри команды; Unit — отсутствие возвращаемого значения.
Параметры
value— Необязательное целое. С аргументом сохраняется ровно это число; без аргумента выполняется чтение.
Возвращает
Integer — сохранённая отметка. Обычный StepQ сбрасывает её в 0 и при включённом moveOpenDoor записывает результат TryOpenDoorForStep: 1 при обнаруженной попытке, 0 иначе. Ручная форма допускает и другие числа. Это не serial двери и не подтверждение её открытия.
Поведение
- Проверка не читает состояние двери с сервера. Резервный вызов OpenDoor не меняет нулевую отметку.
- При раннем отказе StepQ из-за соединения/выносливости сброс ещё не выполняется, поэтому может остаться предыдущее значение.
Примеры
Пример 1. Прочитать отметку
# Прочитать отметку
#
# Читает либо вручную изменяет отметку попытки открытия двери последней командой StepQ.
#
# Integer — сохранённая отметка. Обычный StepQ сбрасывает её в 0 и при включённом moveOpenDoor
# записывает результат TryOpenDoorForStep: 1 при обнаруженной попытке, 0 иначе. Ручная форма
# допускает и другие числа. Это не serial двери и не подтверждение её открытия.
SUB Main()
# Без аргументов читается сохранённое число.
# Не используйте его как ID для UseObject.
UO.Print(STR(UO.LastStepQUsedDoor()))
END SUB
Разбор параметров и выполнения:
- Без аргументов читается сохранённое число.
- Не используйте его как ID для UseObject.
Пример 2. Сбросить перед попыткой шага
# Сбросить перед попыткой шага
#
# Читает либо вручную изменяет отметку попытки открытия двери последней командой StepQ.
#
# Integer — сохранённая отметка. Обычный StepQ сбрасывает её в 0 и при включённом moveOpenDoor
# записывает результат TryOpenDoorForStep: 1 при обнаруженной попытке, 0 иначе. Ручная форма
# допускает и другие числа. Это не serial двери и не подтверждение её открытия.
SUB Main()
# value=0 очищает прежнюю отметку. direction=2 — E; run=FALSE.
# Результат StepQ и отметка двери имеют разные значения.
UO.LastStepQUsedDoor(0)
VAR status = UO.StepQ(2, FALSE)
UO.Print(STR(UO.LastStepQUsedDoor()))
END SUB
Разбор параметров и выполнения:
- value=0 очищает прежнюю отметку. direction=2 — E; run=FALSE.
- Результат StepQ и отметка двери имеют разные значения.
Пример 3. Сохранить и восстановить отметку
# Сохранить и восстановить отметку
#
# Читает либо вручную изменяет отметку попытки открытия двери последней командой StepQ.
#
# Integer — сохранённая отметка. Обычный StepQ сбрасывает её в 0 и при включённом moveOpenDoor
# записывает результат TryOpenDoorForStep: 1 при обнаруженной попытке, 0 иначе. Ручная форма
# допускает и другие числа. Это не serial двери и не подтверждение её открытия.
SUB Main()
# previous — сохранённое значение.
# Ручное восстановление не выполняет никаких действий с дверью.
VAR previous = UO.LastStepQUsedDoor()
UO.LastStepQUsedDoor(0)
UO.Print(STR(UO.LastStepQUsedDoor()))
UO.LastStepQUsedDoor(previous)
END SUB
Разбор параметров и выполнения:
- previous — сохранённое значение.
- Ручное восстановление не выполняет никаких действий с дверью.