API UO NumGumpCheckBox - LIHACHTETAN/ClassicUO-BadNewbie-BasicIDE GitHub Wiki
UO.NumGumpCheckBox
Оглавление · Алфавитный указатель · Gumps
ClassicUO • Runtime API
Устанавливает состояние флажка в серверном гампе по индексу.
Точный синтаксис
UO.NumGumpCheckBox(GumpIndex:Any, CBID:Any, Value:Any) -> Integer
Выберите одну из зарегистрированных форм. Параметры передаются позиционно. Any означает значение BASIC с преобразованием внутри команды; Unit — отсутствие возвращаемого значения.
Параметры
GumpIndex— Обязательный Integer — индекс активного серверного гампа, от 0 до GetGumpsCount()-1. Это не GumpID/serial. Отрицательное число и индекс вне списка недействительны. Открытие, закрытие и изменение порядка окон могут изменить индекс; перед действием проверяйте GetGumpID/GetGumpSerial.CBID— Integer — точный ID элемента из описания гампа. Это не порядковый номер элемента; отсутствующий ID не заменяется индексом.Value— Integer — 1 включить/выбрать, 0 выключить. Также распознаются числовые ненулевые значения, true и checked. Рекомендуются 0 и 1.
Возвращает
Integer (Boolean) — 1, если нужный элемент найден и его итоговое значение соответствует заданному; 0 при недействительном индексе, отсутствии ID/типа элемента или если поле не приняло точное значение. Повторная установка уже заданного значения также успешна.
Это логический результат: 1 = TRUE, 0 = FALSE. После VAR result = команда(...) можно писать IF result = TRUE THEN или IF result = 1 THEN; для отрицательного результата — IF result = FALSE THEN или IF result = 0 THEN. TRUE/FALSE пишутся без кавычек. Вызовите команду один раз и сохраните результат: повторный вызов может повторить действие или прочитать уже изменившееся состояние.
Поведение
- Работает с активными серверными гампами. Рюкзак, карта, настройки и другие локальные окна не входят в этот список. Один вызов читает данные в игровом потоке; разные вызовы могут увидеть разные состояния списка.
- Меняет локальное состояние. Поля и отмеченные переключатели отправляются с последующим ответом кнопки.
- Выбор радиокнопки снимает выбор соседней радиокнопки той же группы; обычные флажки независимы.
Примеры
Пример 1. Установить значение и проверить результат
# Установить значение и проверить результат
#
# Устанавливает состояние флажка в серверном гампе по индексу.
#
# Integer (Boolean) — 1, если нужный элемент найден и его итоговое значение соответствует
# заданному; 0 при недействительном индексе, отсутствии ID/типа элемента или если поле не
# приняло точное значение. Повторная установка уже заданного значения также успешна.
#
# Это логический результат: 1 = TRUE, 0 = FALSE. После VAR result = команда(...) можно писать IF
# result = TRUE THEN или IF result = 1 THEN; для отрицательного результата — IF result = FALSE
# THEN или IF result = 0 THEN. TRUE/FALSE пишутся без кавычек. Вызовите команду один раз и
# сохраните результат: повторный вызов может повторить действие или прочитать уже изменившееся
# состояние.
SUB Main()
# 0 — индекс окна; 33 — точный CBID; 1 — новое значение. Замените 33 ID из своего гампа.
VAR ok = UO.NumGumpCheckBox(0, 33, 1)
IF ok = 0 THEN
UO.Print('Control missing or value rejected')
END IF
END SUB
Разбор параметров и выполнения:
- 0 — индекс окна; 33 — точный CBID; 1 — новое значение. Замените 33 ID из своего гампа.
Пример 2. Очистить значение
# Очистить значение
#
# Устанавливает состояние флажка в серверном гампе по индексу.
#
# Integer (Boolean) — 1, если нужный элемент найден и его итоговое значение соответствует
# заданному; 0 при недействительном индексе, отсутствии ID/типа элемента или если поле не
# приняло точное значение. Повторная установка уже заданного значения также успешна.
#
# Это логический результат: 1 = TRUE, 0 = FALSE. После VAR result = команда(...) можно писать IF
# result = TRUE THEN или IF result = 1 THEN; для отрицательного результата — IF result = FALSE
# THEN или IF result = 0 THEN. TRUE/FALSE пишутся без кавычек. Вызовите команду один раз и
# сохраните результат: повторный вызов может повторить действие или прочитать уже изменившееся
# состояние.
SUB Main()
# 0 очищает поле или снимает отметку. Возвращается успех изменения, а не новое значение поля.
VAR ok = UO.NumGumpCheckBox(0, 33, 0)
UO.Print(STR(ok))
END SUB
Разбор параметров и выполнения:
- 0 очищает поле или снимает отметку. Возвращается успех изменения, а не новое значение поля.
Пример 3. Заполнить перед ответом
# Заполнить перед ответом
#
# Устанавливает состояние флажка в серверном гампе по индексу.
#
# Integer (Boolean) — 1, если нужный элемент найден и его итоговое значение соответствует
# заданному; 0 при недействительном индексе, отсутствии ID/типа элемента или если поле не
# приняло точное значение. Повторная установка уже заданного значения также успешна.
#
# Это логический результат: 1 = TRUE, 0 = FALSE. После VAR result = команда(...) можно писать IF
# result = TRUE THEN или IF result = 1 THEN; для отрицательного результата — IF result = FALSE
# THEN или IF result = 0 THEN. TRUE/FALSE пишутся без кавычек. Вызовите команду один раз и
# сохраните результат: повторный вызов может повторить действие или прочитать уже изменившееся
# состояние.
SUB Main()
# 100 — пример серверного ButtonID подтверждения; его нужно заменить ID вашего окна. 0 в
# SendGumpSelect(0,100) — индекс окна.
# Ответ может закрыть гамп и изменить индексы. sent означает локальную отправку, не
# подтверждённый сервером результат операции.
IF UO.NumGumpCheckBox(0, 33, 1) THEN
VAR sent = UO.SendGumpSelect(0, 100)
UO.Print(STR(sent))
END IF
END SUB
Разбор параметров и выполнения:
- 100 — пример серверного ButtonID подтверждения; его нужно заменить ID вашего окна. 0 в SendGumpSelect(0,100) — индекс окна.
- Ответ может закрыть гамп и изменить индексы. sent означает локальную отправку, не подтверждённый сервером результат операции.