API UO CheckLag - LIHACHTETAN/ClassicUO-BadNewbie-BasicIDE GitHub Wiki

UO.CheckLag

ClassicUO / Basic IDE

Оглавление · Алфавитный указатель · Client & Connection

Sends a tokenized 0x73 ping packet and waits for the matching server echo up to timeoutMS. It does not substitute IsOnline() for a network round trip.

Синтаксис

UO.CheckLag() -> Integer
UO.CheckLag(timeoutMS:Any) -> Any
UO.CheckLag(timeout:Any, retries:Any) -> Integer

Регистр имени не важен. Any — динамическое значение Basic; Unit — отсутствие возвращаемого значения. Integer — знаковое 32-битное число, Decimal — число с плавающей точкой. Правила типов, serial, индексов и ожиданий.

Параметры

Имя Назначение
timeoutMS Время в миллисекундах, если в описании команды не указана другая единица. Проверяйте отдельно значение 0.
timeout Время в миллисекундах, если в описании команды не указана другая единица. Проверяйте отдельно значение 0.
retries Позиционный аргумент этой перегрузки. Подробности использования указаны в описании/фактической ветви runtime ниже.

Параметры обязательны внутри каждой показанной сигнатуры. Опустить аргумент можно только при наличии более короткой перегрузки; пропуск позиции посередине не подразумевается.

Ограничения

Requires a connected server that echoes 0x73. Timeout/offline/no matching ACK returns the documented failure value.

Примеры

Каждый блок — самостоятельный скрипт из мануала проекта. Параметры демонстрационного объекта/контейнера и условия действия необходимо сопоставить с вашей игровой ситуацией.

Пример 1

SUB Main()
    VAR result = UO.CheckLag(1000)
END SUB

Пример 2

SUB Main()
    VAR result = UO.CheckLag()
    UO.Print(CStr(result))
END SUB

Пример 3

SUB Main()
    VAR arg1 = 1000 # timeout
    VAR arg2 = 2 # retries
    VAR result = UO.CheckLag(arg1, arg2)
    UO.Print(CStr(result))
END SUB

Пример 4

SUB Main()
    VAR result = UO.CheckLag(1000)
    UO.Print(CStr(result))
END SUB

Пример 5

SUB Main()
    VAR result = UO.CheckLag()
    # Пример порога; выберите подходящий смыслу команды.
    IF result > 0 THEN
        UO.Print(CStr(result))
    END IF
END SUB

Пример 6

FUNCTION ReadResult()
    VAR result = UO.CheckLag()
    RETURN result
END FUNCTION

SUB Main()
    VAR answer = ReadResult()
    UO.Print(CStr(answer))
END SUB
Реализация и проверка контракта
  • InjectionScript.Runtime.InjectionApiUO+<>c__DisplayClass38_0.<RegisterStealthCompatibility>b__0
  • InjectionScript.Runtime.InjectionApiUO.CheckLag

Соответствующая ветвь совместимого обработчика в InjectionApiUO.cs. Arg(i)/Text(i) читают позицию с нуля; bridge обращается к клиенту. Прямые типизированные перегрузки перечислены выше и могут иметь отдельный маршрут.

return new InjectionValue(bridge.CheckLag(Arg(0, 10_000)));

Источник реестра и отчёт сверки. Примеры проверяются загрузчиком/парсером включённого runtime. Действия на игровом сервере этой проверкой не исполняются.

⚠️ **GitHub.com Fallback** ⚠️