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