API UO GumpAutoRadiobutton - LIHACHTETAN/ClassicUO-BadNewbie-BasicIDE GitHub Wiki
UO.GumpAutoRadiobutton
Оглавление · Алфавитный указатель · Gumps
ClassicUO • Runtime API
Однократно задаёт значение элемента в первом подходящем серверном гампе; если элемента ещё нет, сохраняет ожидание.
Точный синтаксис
UO.GumpAutoRadiobutton(RadiobuttonID:Any, Value:Any) -> Unit
Выберите одну из зарегистрированных форм. Параметры передаются позиционно. Any означает значение BASIC с преобразованием внутри команды; Unit — отсутствие возвращаемого значения.
Параметры
RadiobuttonID— Integer — точный ID элемента соответствующего типа. Это не индекс, не GumpID и не serial окна; 0 является обычным ID, без подстановки первого элемента.Value— Integer — 1 включить, 0 выключить. Ненулевые числовые значения также включают; рекомендуются 0/1. Выбор радиокнопки снимает выбор соседних радиокнопок её группы.
Возвращает
Unit — ничего не возвращает: ни успех, ни новое значение, ни подтверждение сервера.
Поведение
- Сначала проверяет существующие окна в текущем порядке интерфейса, затем новые или обновлённые серверные разметки. Срабатывает один раз на первом совпадении типа и ID. Для конкретного окна используйте NumGump* с индексом.
- Все ожидающие поля применяются до автоматических ответов кнопками. Повтор того же типа и ID в одном скрипте заменяет ещё не выполненное значение. Лимит — 1024 ожидающих поля клиента; превышение вызывает ошибку скрипта.
- Обычное завершение процедуры сохраняет ожидание. Отмена владельца или Terminate с его именем удаляет его ожидания; TerminateAll удаляет все, включая оставшиеся после завершения процедур. Смена мира очищает очередь. Ожидания не сохраняются в профиль.
Примеры
Пример 1. Немедленное заполнение
# Немедленное заполнение
#
# Однократно задаёт значение элемента в первом подходящем серверном гампе; если элемента ещё
# нет, сохраняет ожидание.
#
# Unit — ничего не возвращает: ни успех, ни новое значение, ни подтверждение сервера.
SUB Main()
# Первый параметр 33 — пример ID нужного элемента; замените его реальным ID из InfoGump. Второй
# — устанавливаемое значение. Если элемента нет, действие остаётся ожидающим.
UO.GumpAutoRadiobutton(33, 1)
END SUB
Разбор параметров и выполнения:
- Первый параметр 33 — пример ID нужного элемента; замените его реальным ID из InfoGump. Второй — устанавливаемое значение. Если элемента нет, действие остаётся ожидающим.
Пример 2. Заполнение до открытия
# Заполнение до открытия
#
# Однократно задаёт значение элемента в первом подходящем серверном гампе; если элемента ещё
# нет, сохраняет ожидание.
#
# Unit — ничего не возвращает: ни успех, ни новое значение, ни подтверждение сервера.
SUB Main()
# 33 — ID элемента, 100 — пример ButtonID подтверждения, 0x40001234 — serial объекта,
# открывающего форму. Замените все три значения своими. Поле заполнится до ответа, даже если
# окно пришло позже.
UO.GumpAutoRadiobutton(33, 1)
UO.WaitGump(100)
UO.UseObject('0x40001234')
END SUB
Разбор параметров и выполнения:
- 33 — ID элемента, 100 — пример ButtonID подтверждения, 0x40001234 — serial объекта, открывающего форму. Замените все три значения своими. Поле заполнится до ответа, даже если окно пришло позже.
Пример 3. Замена ожидающего значения
# Замена ожидающего значения
#
# Однократно задаёт значение элемента в первом подходящем серверном гампе; если элемента ещё
# нет, сохраняет ожидание.
#
# Unit — ничего не возвращает: ни успех, ни новое значение, ни подтверждение сервера.
SUB Main()
# Оба вызова используют ID 33. Если элемент ещё не появился, действует последнее значение. Если
# окно уже открыто, оба изменения выполняются сразу по порядку.
UO.GumpAutoRadiobutton(33, 1)
UO.GumpAutoRadiobutton(33, 0)
END SUB
Разбор параметров и выполнения:
- Оба вызова используют ID 33. Если элемент ещё не появился, действует последнее значение. Если окно уже открыто, оба изменения выполняются сразу по порядку.