API UO GetGlobal - LIHACHTETAN/ClassicUO-BadNewbie-BasicIDE GitHub Wiki
ClassicUO / Basic IDE
Оглавление · Алфавитный указатель · Profiles & Configuration
Возвращает значение глобальной переменной VarName из указанного GlobalRegion .
UO.GetGlobal(name:String) -> String
UO.GetGlobal(GlobalRegion:Any, VarName:Any) -> Any
Регистр имени не важен. Any — динамическое значение Basic; Unit — отсутствие возвращаемого значения. Integer — знаковое 32-битное число, Decimal — число с плавающей точкой. Правила типов, serial, индексов и ожиданий.
| Имя | Назначение |
|---|---|
name |
Named runtime value (String); use the exact registered/saved name expected by GetGlobal. |
GlobalRegion |
Позиционный аргумент этой перегрузки. Подробности использования указаны в описании/фактической ветви runtime ниже. |
VarName |
Named runtime value (String); use the exact registered/saved name expected by GetGlobal. |
Параметры обязательны внутри каждой показанной сигнатуры. Опустить аргумент можно только при наличии более короткой перегрузки; пропуск позиции посередине не подразумевается.
GlobalRegion — Global scope selector: 0 for runtime-wide globals, 1 for current-character globals.
-
VarName— Quoted BASIC string. Fixed keywords/enums, when present, are listed in Behavior/Notes. -
name— Quoted BASIC string. Fixed keywords/enums, when present, are listed in Behavior/Notes.
Каждый блок — самостоятельный скрипт из мануала проекта. Параметры демонстрационного объекта/контейнера и условия действия необходимо сопоставить с вашей игровой ситуацией.
SUB Main()
VAR result = UO.GetGlobal(0, 'example')
END SUBSUB Main()
VAR result = UO.GetGlobal(0)
END SUBSUB Main()
VAR result = UO.GetGlobal('example')
UO.Print(CStr(result))
END SUBSUB Main()
VAR arg1 = 1 # GlobalRegion
VAR arg2 = 2 # VarName
VAR result = UO.GetGlobal(arg1, arg2)
UO.Print(CStr(result))
END SUBSUB Main()
VAR arg1 = 'example' # name
VAR result = UO.GetGlobal(arg1)
IF len(result) > 0 THEN
UO.Print(result)
ELSE
UO.Print('Empty')
END IF
END SUBSUB Main()
VAR arg1 = 'example' # name
VAR result = UO.GetGlobal(arg1)
IF contains(LCase(result), 'example') THEN
UO.Print('Match')
END IF
END SUBРеализация и проверка контракта
InjectionScript.Runtime.InjectionApiUO+<>c__DisplayClass38_0.<RegisterClientApiCompatibility>b__0InjectionScript.Runtime.State.Globals.GetGlobal
Соответствующая ветвь совместимого обработчика в InjectionApiUO.cs. Arg(i)/Text(i) читают позицию с нуля; bridge обращается к клиенту. Прямые типизированные перегрузки перечислены выше и могут иметь отдельный маршрут.
return new InjectionValue(state.GlobalVariables.TryGetValue(Text(0) + "\u001F" + Text(1), out string globalValue)
? globalValue : string.Empty);Источник реестра и отчёт сверки. Примеры проверяются загрузчиком/парсером включённого runtime. Действия на игровом сервере этой проверкой не исполняются.