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

UO.WaitGump

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

ClassicUO • Runtime API

Регистрирует последовательность одноразовых ответов на кнопки. Скрипт продолжает работу сразу; отсутствие окна не вызывает 30-секундную задержку.

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

UO.WaitGump(triggerId:Integer) -> Unit
UO.WaitGump(triggerId:String) -> Unit
UO.WaitGump(Value:Any) -> Unit
UO.WaitGump(trigger1:Any, trigger2:Any) -> Unit
UO.WaitGump(trigger1:Any, trigger2:Any, trigger3:Any) -> Unit
UO.WaitGump(trigger1:Any, trigger2:Any, trigger3:Any, trigger4:Any) -> Unit
UO.WaitGump(trigger1:Any, trigger2:Any, trigger3:Any, trigger4:Any, trigger5:Any) -> Unit
UO.WaitGump(trigger1:Any, trigger2:Any, trigger3:Any, trigger4:Any, trigger5:Any, trigger6:Any) -> Unit
UO.WaitGump(trigger1:Any, trigger2:Any, trigger3:Any, trigger4:Any, trigger5:Any, trigger6:Any, trigger7:Any) -> Unit
UO.WaitGump(trigger1:Any, trigger2:Any, trigger3:Any, trigger4:Any, trigger5:Any, trigger6:Any, trigger7:Any, trigger8:Any) -> Unit
UO.WaitGump(trigger1:Any, trigger2:Any, trigger3:Any, trigger4:Any, trigger5:Any, trigger6:Any, trigger7:Any, trigger8:Any, trigger9:Any) -> Unit
UO.WaitGump(trigger1:Any, trigger2:Any, trigger3:Any, trigger4:Any, trigger5:Any, trigger6:Any, trigger7:Any, trigger8:Any, trigger9:Any, trigger10:Any) -> Unit
UO.WaitGump(trigger1:Any, trigger2:Any, trigger3:Any, trigger4:Any, trigger5:Any, trigger6:Any, trigger7:Any, trigger8:Any, trigger9:Any, trigger10:Any, trigger11:Any) -> Unit
UO.WaitGump(trigger1:Any, trigger2:Any, trigger3:Any, trigger4:Any, trigger5:Any, trigger6:Any, trigger7:Any, trigger8:Any, trigger9:Any, trigger10:Any, trigger11:Any, trigger12:Any) -> Unit
UO.WaitGump(trigger1:Any, trigger2:Any, trigger3:Any, trigger4:Any, trigger5:Any, trigger6:Any, trigger7:Any, trigger8:Any, trigger9:Any, trigger10:Any, trigger11:Any, trigger12:Any, trigger13:Any) -> Unit
UO.WaitGump(trigger1:Any, trigger2:Any, trigger3:Any, trigger4:Any, trigger5:Any, trigger6:Any, trigger7:Any, trigger8:Any, trigger9:Any, trigger10:Any, trigger11:Any, trigger12:Any, trigger13:Any, trigger14:Any) -> Unit
UO.WaitGump(trigger1:Any, trigger2:Any, trigger3:Any, trigger4:Any, trigger5:Any, trigger6:Any, trigger7:Any, trigger8:Any, trigger9:Any, trigger10:Any, trigger11:Any, trigger12:Any, trigger13:Any, trigger14:Any, trigger15:Any) -> Unit
UO.WaitGump(trigger1:Any, trigger2:Any, trigger3:Any, trigger4:Any, trigger5:Any, trigger6:Any, trigger7:Any, trigger8:Any, trigger9:Any, trigger10:Any, trigger11:Any, trigger12:Any, trigger13:Any, trigger14:Any, trigger15:Any, trigger16:Any) -> Unit

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

Параметры

  • triggerId — Integer ButtonID или числовая String. Одна строка может содержать последовательность через | или запятую. Формы с 2..16 аргументами принимают последовательность; в них также допустимы массивы и вложенные последовательности. Все ID разбираются до регистрации. Пустая последовательность, более 256 ожидающих кнопок клиента или вложенность более 32 уровней вызывают ошибку без частичной регистрации.
  • Value — Элемент последовательности: Integer ButtonID, числовая String, строка с |/запятой или Array таких элементов. Порядок — слева направо. Применяются общие границы и правила triggerId. Value — имя единственного параметра формы Any, также принимающей массив.
  • trigger1 — Элемент последовательности: Integer ButtonID, числовая String, строка с |/запятой или Array таких элементов. Порядок — слева направо. Применяются общие границы и правила triggerId. Value — имя единственного параметра формы Any, также принимающей массив.
  • trigger2 — Элемент последовательности: Integer ButtonID, числовая String, строка с |/запятой или Array таких элементов. Порядок — слева направо. Применяются общие границы и правила triggerId. Value — имя единственного параметра формы Any, также принимающей массив.
  • trigger3 — Элемент последовательности: Integer ButtonID, числовая String, строка с |/запятой или Array таких элементов. Порядок — слева направо. Применяются общие границы и правила triggerId. Value — имя единственного параметра формы Any, также принимающей массив.
  • trigger4 — Элемент последовательности: Integer ButtonID, числовая String, строка с |/запятой или Array таких элементов. Порядок — слева направо. Применяются общие границы и правила triggerId. Value — имя единственного параметра формы Any, также принимающей массив.
  • trigger5 — Элемент последовательности: Integer ButtonID, числовая String, строка с |/запятой или Array таких элементов. Порядок — слева направо. Применяются общие границы и правила triggerId. Value — имя единственного параметра формы Any, также принимающей массив.
  • trigger6 — Элемент последовательности: Integer ButtonID, числовая String, строка с |/запятой или Array таких элементов. Порядок — слева направо. Применяются общие границы и правила triggerId. Value — имя единственного параметра формы Any, также принимающей массив.
  • trigger7 — Элемент последовательности: Integer ButtonID, числовая String, строка с |/запятой или Array таких элементов. Порядок — слева направо. Применяются общие границы и правила triggerId. Value — имя единственного параметра формы Any, также принимающей массив.
  • trigger8 — Элемент последовательности: Integer ButtonID, числовая String, строка с |/запятой или Array таких элементов. Порядок — слева направо. Применяются общие границы и правила triggerId. Value — имя единственного параметра формы Any, также принимающей массив.
  • trigger9 — Элемент последовательности: Integer ButtonID, числовая String, строка с |/запятой или Array таких элементов. Порядок — слева направо. Применяются общие границы и правила triggerId. Value — имя единственного параметра формы Any, также принимающей массив.
  • trigger10 — Элемент последовательности: Integer ButtonID, числовая String, строка с |/запятой или Array таких элементов. Порядок — слева направо. Применяются общие границы и правила triggerId. Value — имя единственного параметра формы Any, также принимающей массив.
  • trigger11 — Элемент последовательности: Integer ButtonID, числовая String, строка с |/запятой или Array таких элементов. Порядок — слева направо. Применяются общие границы и правила triggerId. Value — имя единственного параметра формы Any, также принимающей массив.
  • trigger12 — Элемент последовательности: Integer ButtonID, числовая String, строка с |/запятой или Array таких элементов. Порядок — слева направо. Применяются общие границы и правила triggerId. Value — имя единственного параметра формы Any, также принимающей массив.
  • trigger13 — Элемент последовательности: Integer ButtonID, числовая String, строка с |/запятой или Array таких элементов. Порядок — слева направо. Применяются общие границы и правила triggerId. Value — имя единственного параметра формы Any, также принимающей массив.
  • trigger14 — Элемент последовательности: Integer ButtonID, числовая String, строка с |/запятой или Array таких элементов. Порядок — слева направо. Применяются общие границы и правила triggerId. Value — имя единственного параметра формы Any, также принимающей массив.
  • trigger15 — Элемент последовательности: Integer ButtonID, числовая String, строка с |/запятой или Array таких элементов. Порядок — слева направо. Применяются общие границы и правила triggerId. Value — имя единственного параметра формы Any, также принимающей массив.
  • trigger16 — Элемент последовательности: Integer ButtonID, числовая String, строка с |/запятой или Array таких элементов. Порядок — слева направо. Применяются общие границы и правила triggerId. Value — имя единственного параметра формы Any, также принимающей массив.

Возвращает

Unit — ничего не возвращает: ни успех, ни новое значение, ни подтверждение сервера.

Поведение

  • Ищет реальную кнопку Activate с нужным ButtonID; кнопки переключения страницы и окна без нужной кнопки пропускаются. Последующие ID не обходят первый ожидающий. На одну доставку разметки — не больше одного ответа в одно окно. Обновлённая разметка может использовать тот же объект окна.
  • Следующий WaitGump того же скрипта дополняет его ожидающую последовательность. Поиск не ограничен GumpID: для точного выбора используйте NumGumpButton или SendGumpSelect. ButtonID=0 сработает только при существующей кнопке Activate с ID 0; это не универсальное закрытие.
  • Обычное завершение процедуры сохраняет ожидание. Отмена владельца или Terminate с его именем удаляет его ожидания; TerminateAll удаляет все, включая оставшиеся после завершения процедур. Смена мира очищает очередь. Ожидания не сохраняются в профиль.

Примеры

Пример 1. Один ответ

# Один ответ
#
# Регистрирует последовательность одноразовых ответов на кнопки. Скрипт продолжает работу сразу;
# отсутствие окна не вызывает 30-секундную задержку.
#
# Unit — ничего не возвращает: ни успех, ни новое значение, ни подтверждение сервера.

SUB Main()
    # 100 — ButtonID ответа. WaitGump регистрирует его перед UseObject; дальнейшее выполнение не
    # означает, что сервер уже принял ответ.

    UO.WaitGump(100)
    UO.UseObject('0x40001234')
END SUB

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

  • 100 — ButtonID ответа. WaitGump регистрирует его перед UseObject; дальнейшее выполнение не означает, что сервер уже принял ответ.

Пример 2. Несколько шагов

# Несколько шагов
#
# Регистрирует последовательность одноразовых ответов на кнопки. Скрипт продолжает работу сразу;
# отсутствие окна не вызывает 30-секундную задержку.
#
# Unit — ничего не возвращает: ни успех, ни новое значение, ни подтверждение сервера.

SUB Main()
    # 7, 22 и 1 — ButtonID последовательных форм. Эти ID проверяются по порядку. Число аргументов не
    # задаёт задержку; вызов регистрирует всю последовательность.

    UO.WaitGump(7,22,1)
    UO.UseObject('0x40001234')
END SUB

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

  • 7, 22 и 1 — ButtonID последовательных форм. Эти ID проверяются по порядку. Число аргументов не задаёт задержку; вызов регистрирует всю последовательность.

Пример 3. Отмена ожиданий

# Отмена ожиданий
#
# Регистрирует последовательность одноразовых ответов на кнопки. Скрипт продолжает работу сразу;
# отсутствие окна не вызывает 30-секундную задержку.
#
# Unit — ничего не возвращает: ни успех, ни новое значение, ни подтверждение сервера.

SUB Main()
    # Строка 7|22|1 задаёт ту же последовательность. TerminateAll затем очищает все ожидающие
    # действия гампов и останавливает все процедуры; это глобальное действие.

    UO.WaitGump('7|22|1')
    UO.TerminateAll()
END SUB

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

  • Строка 7|22|1 задаёт ту же последовательность. TerminateAll затем очищает все ожидающие действия гампов и останавливает все процедуры; это глобальное действие.