API UO SetAutoBuyDelay - LIHACHTETAN/ClassicUO-BadNewbie-BasicIDE GitHub Wiki
UO.SetAutoBuyDelay
Оглавление · Алфавитный указатель · Shops & Vendors
ClassicUO • Runtime API
Устанавливает задержку автоматической покупки и сохраняет текущий профиль.
Точный синтаксис
UO.SetAutoBuyDelay(Value:Any) -> Unit
Выберите одну из зарегистрированных форм. Параметры передаются позиционно. Any означает значение BASIC с преобразованием внутри команды; Unit — отсутствие возвращаемого значения.
Параметры
Value— Обязательное число миллисекунд. Отрицательное значение ограничивается 0, значение больше 65535 — числом 65535. 0 отключает дополнительную задержку, но не отключает саму автоматическую торговлю.
Возвращает
Unit — нет возвращаемого значения. Вызывайте отдельной строкой, затем используйте GetAutoBuyDelay() для чтения действующей настройки. При отсутствии профиля setter ничего не сохраняет; getter в этом состоянии даёт стандартные 3 мс.
Поведение
- Настройка общая для текущего профиля: изменения в другом скрипте или UI видны при следующем чтении. Ноль — действующая настройка, не признак отсутствия данных и не повод возвращать старый кэш скрипта.
- Значение по умолчанию — 3 мс. После отправки автоматической операции менеджер задаёт время следующей разрешённой операции. Списки вендора, пришедшие раньше, не обрабатываются этим проходом; getter не запускает ожидание и сам не отправляет покупку/продажу.
- Это не задержка MassMove, Drag/Drop или ручной торговли. Новое значение применяется при планировании следующей задержки; уже назначенный момент не пересчитывается.
- Первичные справочники: https://stealth.od.ua/api/GetAutoBuyDelay/ и https://stealth.od.ua/api/SetAutoBuyDelay/ .
Примеры
Пример 1. Установить интервал 350 мс
# Установить интервал 350 мс
#
# Устанавливает задержку автоматической покупки и сохраняет текущий профиль.
#
# Unit — нет возвращаемого значения. Вызывайте отдельной строкой, затем используйте
# GetAutoBuyDelay() для чтения действующей настройки. При отсутствии профиля setter ничего не
# сохраняет; getter в этом состоянии даёт стандартные 3 мс.
SUB Main()
# Value=350 — миллисекунды между разрешёнными автоматическими операциями.
# Настройка сохраняется в текущем профиле и видна другим скриптам.
UO.SetAutoBuyDelay(350)
UO.Print(STR(UO.GetAutoBuyDelay()))
END SUB
Разбор параметров и выполнения:
- Value=350 — миллисекунды между разрешёнными автоматическими операциями.
- Настройка сохраняется в текущем профиле и видна другим скриптам.
Пример 2. Убрать дополнительную задержку
# Убрать дополнительную задержку
#
# Устанавливает задержку автоматической покупки и сохраняет текущий профиль.
#
# Unit — нет возвращаемого значения. Вызывайте отдельной строкой, затем используйте
# GetAutoBuyDelay() для чтения действующей настройки. При отсутствии профиля setter ничего не
# сохраняет; getter в этом состоянии даёт стандартные 3 мс.
SUB Main()
# Value=0 имеет самостоятельный смысл; не подменяется предыдущим ненулевым значением.
# Меняется только задержка. Правила, списки и общий выключатель автоматической торговли задаются
# отдельно.
UO.SetAutoBuyDelay(0)
VAR actual = UO.GetAutoBuyDelay()
IF actual = 0 THEN
UO.Print('Delay disabled')
END IF
END SUB
Разбор параметров и выполнения:
- Value=0 имеет самостоятельный смысл; не подменяется предыдущим ненулевым значением.
- Меняется только задержка. Правила, списки и общий выключатель автоматической торговли задаются отдельно.
Пример 3. Применить рассчитанное значение
# Применить рассчитанное значение
#
# Устанавливает задержку автоматической покупки и сохраняет текущий профиль.
#
# Unit — нет возвращаемого значения. Вызывайте отдельной строкой, затем используйте
# GetAutoBuyDelay() для чтения действующей настройки. При отсутствии профиля setter ничего не
# сохраняет; getter в этом состоянии даёт стандартные 3 мс.
SUB Main()
# requested=70000 превышает максимум. applied читает профиль после ограничений setter.
# При загруженном профиле получится 65535. Для возврата к стандартной задержке явно вызовите
# setter с 3.
VAR requested = 70000
UO.SetAutoBuyDelay(requested)
VAR applied = UO.GetAutoBuyDelay()
UO.Print('Requested: ' + STR(requested))
UO.Print('Applied: ' + STR(applied))
END SUB
Разбор параметров и выполнения:
- requested=70000 превышает максимум. applied читает профиль после ограничений setter.
- При загруженном профиле получится 65535. Для возврата к стандартной задержке явно вызовите setter с 3.