Skip to content

API Timer

Codex edited this page Sep 19, 2026 · 4 revisions

Timer

Оглавление · Алфавитный указатель · BASIC built-ins

ClassicUO • Runtime API

Читает прошедшее время от начала runtime в секундах.

Точный синтаксис

Timer() -> Decimal

Выберите одну из зарегистрированных форм. Параметры передаются позиционно. Any означает значение BASIC с преобразованием внутри команды; Unit — отсутствие возвращаемого значения.

Параметры

Параметров нет.

Возвращает

Decimal — неотрицательное количество секунд, включая дробную часть. Это не часы суток и не миллисекунды. UO.Timer() — отдельная команда, возвращающая целые десятые доли секунды.

Поведение

  • Для измерения участка сохраните before=Timer(), после работы вычислите Timer()-before. Без сохранения начального снимка сравнивается всё время runtime.

Примеры

Пример 1. Прочитать elapsed seconds

# Прочитать elapsed seconds
#
# Читает прошедшее время от начала runtime в секундах.
#
# Decimalнеотрицательное количество секунд, включая дробную часть. Это не часы суток и не
# миллисекунды. UO.Timer()отдельная команда, возвращающая целые десятые доли секунды.

SUB Main()
    # Аргументов нет. Источник времени принадлежит этому runtime.
    # Ожидаемый результат: текущее число секунд. В result сохраняется результат выражения; Print
    # только показывает его.

    VAR result = Timer()
    UO.Print(CStr(result))
END SUB

Разбор параметров и выполнения:

  • Аргументов нет. Источник времени принадлежит этому runtime.
  • Ожидаемый результат: текущее число секунд. В result сохраняется результат выражения; Print только показывает его.

Пример 2. Перевести в миллисекунды

# Перевести в миллисекунды
#
# Читает прошедшее время от начала runtime в секундах.
#
# Decimalнеотрицательное количество секунд, включая дробную часть. Это не часы суток и не
# миллисекунды. UO.Timer()отдельная команда, возвращающая целые десятые доли секунды.

SUB Main()
    # Умножение переводит секунды в миллисекунды, результат остаётся числом Decimal.
    # Ожидаемый результат: прошедшее время в миллисекундах. В result сохраняется результат
    # выражения; Print только показывает его.

    VAR result = Timer() * 1000
    UO.Print(CStr(result))
END SUB

Разбор параметров и выполнения:

  • Умножение переводит секунды в миллисекунды, результат остаётся числом Decimal.
  • Ожидаемый результат: прошедшее время в миллисекундах. В result сохраняется результат выражения; Print только показывает его.

Пример 3. Ограничение по времени

# Ограничение по времени
#
# Читает прошедшее время от начала runtime в секундах.
#
# Decimalнеотрицательное количество секунд, включая дробную часть. Это не часы суток и не
# миллисекунды. UO.Timer()отдельная команда, возвращающая целые десятые доли секунды.

SUB Main()
    # 5 означает пять секунд от начала runtime, не пять секунд с предыдущей строки.
    # Ожидаемый результат: 1 после пяти секунд, иначе 0. В result сохраняется результат выражения;
    # Print только показывает его.

    VAR result = Timer() >= 5
    UO.Print(CStr(result))
END SUB

Разбор параметров и выполнения:

  • 5 означает пять секунд от начала runtime, не пять секунд с предыдущей строки.
  • Ожидаемый результат: 1 после пяти секунд, иначе 0. В result сохраняется результат выражения; Print только показывает его.

Clone this wiki locally