API UO GetGumpTextLines - LIHACHTETAN/ClassicUO-BadNewbie-BasicIDE GitHub Wiki
Оглавление · Алфавитный указатель · Gumps
ClassicUO • Runtime API
Возвращает непустые тексты меток, HTML, полей ввода и подписей переключателей серверного гампа.
UO.GetGumpTextLines(GumpIndex:Any) -> Array
Выберите одну из зарегистрированных форм. Параметры передаются позиционно. Any означает значение BASIC с преобразованием внутри команды; Unit — отсутствие возвращаемого значения.
-
GumpIndex— Обязательный Integer — индекс активного серверного гампа, от 0 до GetGumpsCount()-1. Это не GumpID/serial. Отрицательное число и индекс вне списка недействительны. Открытие, закрытие и изменение порядка окон могут изменить индекс; перед действием проверяйте GetGumpID/GetGumpSerial.
Array — непустые тексты меток, HTML, полей ввода и подписей переключателей. [] — недействительный индекс или отсутствие подходящих элементов. Индекс строки начинается с 0; он не является ID контроля.
- Работает с активными серверными гампами. Рюкзак, карта, настройки и другие локальные окна не входят в этот список. Один вызов читает данные в игровом потоке; разные вызовы могут увидеть разные состояния списка.
- Только текст; ButtonID, размеры и структура не включаются. Ничего дополнительно не печатает.
- GetGumpTextLines не открывает текстовое окно.
# Прочитать первую строку
#
# Возвращает непустые тексты меток, HTML, полей ввода и подписей переключателей серверного
# гампа.
#
# Array<String> — непустые тексты меток, HTML, полей ввода и подписей переключателей. [] —
# недействительный индекс или отсутствие подходящих элементов. Индекс строки начинается с 0; он
# не является ID контроля.
SUB Main()
# 0 — индекс окна. GetArrayLength проверяет наличие строки до обращения к lines[0].
VAR lines = UO.GetGumpTextLines(0)
IF GetArrayLength(lines) > 0 THEN
UO.Print(lines[0])
END IF
END SUBРазбор параметров и выполнения:
- 0 — индекс окна. GetArrayLength проверяет наличие строки до обращения к lines[0].
# Обойти все строки без автоматического окна
#
# Возвращает непустые тексты меток, HTML, полей ввода и подписей переключателей серверного
# гампа.
#
# Array<String> — непустые тексты меток, HTML, полей ввода и подписей переключателей. [] —
# недействительный индекс или отсутствие подходящих элементов. Индекс строки начинается с 0; он
# не является ID контроля.
SUB Main()
# SetSilentMode(1) отключает дополнительное текстовое окно. Явный Print в примере всё равно
# выводит строки.
# i — индекс массива; ID нужной кнопки/переключателя берите из соответствующего описания.
UO.SetSilentMode(1)
VAR lines = UO.GetGumpTextLines(0)
VAR i = 0
WHILE i < GetArrayLength(lines)
UO.Print(lines[i])
i = i + 1
WEND
END SUBРазбор параметров и выполнения:
- SetSilentMode(1) отключает дополнительное текстовое окно. Явный Print в примере всё равно выводит строки.
- i — индекс массива; ID нужной кнопки/переключателя берите из соответствующего описания.
# Прочитать те же данные одним снимком
#
# Возвращает непустые тексты меток, HTML, полей ввода и подписей переключателей серверного
# гампа.
#
# Array<String> — непустые тексты меток, HTML, полей ввода и подписей переключателей. [] —
# недействительный индекс или отсутствие подходящих элементов. Индекс строки начинается с 0; он
# не является ID контроля.
SUB Main()
# GetGumpInfo возвращает согласованные ID и три массива. Поле [4] содержит полные описания; [2]
# — тексты, [3] — кнопки.
VAR info = UO.GetGumpInfo(0)
IF GetArrayLength(info) = 5 THEN
VAR texts = info[2]
VAR buttons = info[3]
VAR controls = info[4]
UO.Print(STR(GetArrayLength(controls)))
END IF
END SUBРазбор параметров и выполнения:
- GetGumpInfo возвращает согласованные ID и три массива. Поле [4] содержит полные описания; [2] — тексты, [3] — кнопки.