-
Notifications
You must be signed in to change notification settings - Fork 0
API UO CloseSimpleGump
Codex edited this page Sep 19, 2026
·
5 revisions
Оглавление · Алфавитный указатель · Client UI
ClassicUO • Runtime API
Локально закрывает разрешённый к закрытию серверный гамп по строгому индексу.
UO.CloseSimpleGump(GumpIndex:Any) -> Unit
Выберите одну из зарегистрированных форм. Параметры передаются позиционно. Any означает значение BASIC с преобразованием внутри команды; Unit — отсутствие возвращаемого значения.
-
GumpIndex— Обязательный Integer — индекс активного серверного гампа, от 0 до GetGumpsCount()-1. Это не GumpID/serial. Отрицательное число и индекс вне списка недействительны. Открытие, закрытие и изменение порядка окон могут изменить индекс; перед действием проверяйте GetGumpID/GetGumpSerial.
Unit — ничего не возвращает. Нельзя интерпретировать результат как подтверждение сервера или Boolean.
- Работает с активными серверными гампами. Рюкзак, карта, настройки и другие локальные окна не входят в этот список. Один вызов читает данные в игровом потоке; разные вызовы могут увидеть разные состояния списка.
- Недействительный индекс и NoClose ничего не меняют. Команда не отправляет ответ кнопки серверу. Для такого ответа используйте SendGumpSelect.
- Закрытие изменяет список и индексы. Для массового закрытия обходите список от последнего индекса к первому.
# Закрыть первое окно
#
# Локально закрывает разрешённый к закрытию серверный гамп по строгому индексу.
#
# Unit — ничего не возвращает. Нельзя интерпретировать результат как подтверждение сервера или
# Boolean.
SUB Main()
# 0 — индекс, а не ID. Если окно запрещает закрытие, оно остаётся открытым.
UO.CloseSimpleGump(0)
END SUBРазбор параметров и выполнения:
- 0 — индекс, а не ID. Если окно запрещает закрытие, оно остаётся открытым.
# Закрыть все разрешённые окна
#
# Локально закрывает разрешённый к закрытию серверный гамп по строгому индексу.
#
# Unit — ничего не возвращает. Нельзя интерпретировать результат как подтверждение сервера или
# Boolean.
SUB Main()
# Обратный обход уменьшает влияние сдвига индексов после закрытия. При параллельном открытии
# новых окон повторно проверьте список.
VAR i = UO.GetGumpsCount() - 1
WHILE i >= 0
UO.CloseSimpleGump(i)
i = i - 1
WEND
END SUBРазбор параметров и выполнения:
- Обратный обход уменьшает влияние сдвига индексов после закрытия. При параллельном открытии новых окон повторно проверьте список.
# Сохранить информацию перед закрытием
#
# Локально закрывает разрешённый к закрытию серверный гамп по строгому индексу.
#
# Unit — ничего не возвращает. Нельзя интерпретировать результат как подтверждение сервера или
# Boolean.
SUB Main()
# info[1] — сохранённый GumpID. Действие ничего не возвращает, поэтому результат не
# присваивается переменной.
VAR info = UO.GetGumpInfo(0)
IF GetArrayLength(info) = 5 THEN
UO.CloseSimpleGump(0)
UO.Print(Hex(info[1]))
END IF
END SUBРазбор параметров и выполнения:
- info[1] — сохранённый GumpID. Действие ничего не возвращает, поэтому результат не присваивается переменной.
ClassicUO
Bad Newbie & Basic IDE
Найти в справочнике
Клиент и скрипты
Каталоги значений
Разработка и помощь