-
Notifications
You must be signed in to change notification settings - Fork 0
API UO GumpExists
Codex edited this page Sep 19, 2026
·
5 revisions
Оглавление · Алфавитный указатель · Gumps
ClassicUO • Runtime API
Проверяет наличие серверного гампа по одному селектору или точной паре serial/GumpID.
UO.GumpExists(id:Any) -> Integer
UO.GumpExists(firstId:Any, secondId:Any) -> Integer
Выберите одну из зарегистрированных форм. Параметры передаются позиционно. Any означает значение BASIC с преобразованием внутри команды; Unit — отсутствие возвращаемого значения.
-
id— Одноаргументная форма: числовой serial, GumpID либо индекс с 0. -1 здесь не выбирает последний гамп. -
firstId— Двухаргументная форма: числовой 32-битный serial, включая отрицательный Integer со старшим битом. -
secondId— Двухаргументная форма: точный 32-битный GumpID. 0 — точное число, не wildcard. Только -1 переключает обратно на одноаргументную проверку firstId как serial/GumpID/индекса.
Integer — 1, если соответствующее окно существует сейчас; 0 иначе. Не возвращает индекс, serial или число совпадений.
- Работает с активными серверными гампами. Рюкзак, карта, настройки и другие локальные окна не входят в этот список. Один вызов читает данные в игровом потоке; разные вызовы могут увидеть разные состояния списка.
- Проверка не выбирает окно и не резервирует его. Пара ID проверяется целиком; ID со старшим битом не отключает фильтр.
# Проверить известный ID
#
# Проверяет наличие серверного гампа по одному селектору или точной паре serial/GumpID.
#
# Integer — 1, если соответствующее окно существует сейчас; 0 иначе. Не возвращает индекс,
# serial или число совпадений.
SUB Main()
# 0x87654321 — искомый GumpID либо serial. Один аргумент не различает эти пространства ID.
VAR exists = UO.GumpExists(0x87654321)
UO.Print(STR(exists))
END SUBРазбор параметров и выполнения:
- 0x87654321 — искомый GumpID либо serial. Один аргумент не различает эти пространства ID.
# Проверить точную пару
#
# Проверяет наличие серверного гампа по одному селектору или точной паре serial/GumpID.
#
# Integer — 1, если соответствующее окно существует сейчас; 0 иначе. Не возвращает индекс,
# serial или число совпадений.
SUB Main()
# Первое число — serial, второе — GumpID. Оба отрицательны в знаковом Integer, но сравнение
# сохраняет все 32 бита.
VAR exists = UO.GumpExists(0x87654321, 0x98765432)
IF exists THEN
UO.Print('Matching pair exists')
END IF
END SUBРазбор параметров и выполнения:
- Первое число — serial, второе — GumpID. Оба отрицательны в знаковом Integer, но сравнение сохраняет все 32 бита.
# Проверить сохранённые идентификаторы
#
# Проверяет наличие серверного гампа по одному селектору или точной паре serial/GumpID.
#
# Integer — 1, если соответствующее окно существует сейчас; 0 иначе. Не возвращает индекс,
# serial или число совпадений.
SUB Main()
# info[0]/info[1] принадлежат одному снимку. exists=1 означает наличие пары сейчас; повторно
# открытое окно с той же парой не отличается от прежнего.
VAR info = UO.GetGumpInfo(0)
IF GetArrayLength(info) = 5 THEN
VAR exists = UO.GumpExists(info[0], info[1])
UO.Print(STR(exists))
END IF
END SUBРазбор параметров и выполнения:
- info[0]/info[1] принадлежат одному снимку. exists=1 означает наличие пары сейчас; повторно открытое окно с той же парой не отличается от прежнего.
ClassicUO
Bad Newbie & Basic IDE
Найти в справочнике
Клиент и скрипты
Каталоги значений
Разработка и помощь