Skip to content

API UO SetGlobal

Codex edited this page Sep 19, 2026 · 4 revisions

UO.SetGlobal

ClassicUO / Basic IDE

Оглавление · Алфавитный указатель · Profiles & Configuration

Устанавливает значение глобальной переменной в указанной области видимости.

Синтаксис

UO.SetGlobal(name:String, value:String) -> Unit
UO.SetGlobal(name:String, value:Integer) -> Unit
UO.SetGlobal(name:String, value:Decimal) -> Unit
UO.SetGlobal(GlobalRegion:Any, VarName:Any, VarValue:Any) -> Unit

Регистр имени не важен. Any — динамическое значение Basic; Unit — отсутствие возвращаемого значения. Integer — знаковое 32-битное число, Decimal — число с плавающей точкой. Правила типов, serial, индексов и ожиданий.

Параметры

Имя Назначение
name Named runtime value (String); use the exact registered/saved name expected by SetGlobal.
value Значение для данной позиции; назначение и поддерживаемые варианты показаны в описании и примерах.
GlobalRegion Позиционный аргумент этой перегрузки. Подробности использования указаны в описании/фактической ветви runtime ниже.
VarName Named runtime value (String); use the exact registered/saved name expected by SetGlobal.
VarValue Позиционный аргумент этой перегрузки. Подробности использования указаны в описании/фактической ветви runtime ниже.

Параметры обязательны внутри каждой показанной сигнатуры. Опустить аргумент можно только при наличии более короткой перегрузки; пропуск позиции посередине не подразумевается.

Возвращает: Unit — значения нет. Выполняйте вызов отдельной строкой; его нельзя использовать как проверку успеха. Эффект и ограничения зависят от команды.

Примеры

Каждый блок — самостоятельный скрипт из мануала проекта. Параметры демонстрационного объекта/контейнера и условия действия необходимо сопоставить с вашей игровой ситуацией.

Пример 1

SUB Main()
    UO.SetGlobal(0, 'example', 'example')
END SUB

Пример 2

SUB Main()
    UO.SetGlobal(0, 0)
END SUB

Пример 3

SUB Main()
    UO.SetGlobal('example', 'example')
END SUB

Пример 4

SUB Main()
    VAR arg1 = 1 # GlobalRegion
    VAR arg2 = 2 # VarName
    VAR arg3 = 3 # VarValue
    UO.SetGlobal(arg1, arg2, arg3)
END SUB

Пример 5

SUB Main()
    IF UO.Connected THEN
        VAR arg1 = 'example' # name
        VAR arg2 = 'example' # value
        UO.SetGlobal(arg1, arg2)
    END IF
END SUB

Пример 6

SUB RunAction()
    VAR arg1 = 'example' # name
    VAR arg2 = 'example' # value
    UO.SetGlobal(arg1, arg2)
END SUB

SUB Main()
    # Запуск процедуры выполняет действие:
    RunAction()
END SUB
Реализация и проверка контракта
  • InjectionScript.Runtime.InjectionApiUO+<>c__DisplayClass38_0.<RegisterStealthCompatibility>b__0
  • InjectionScript.Runtime.State.Globals.SetGlobal

Соответствующая ветвь совместимого обработчика в InjectionApiUO.cs. Arg(i)/Text(i) читают позицию с нуля; bridge обращается к клиенту. Прямые типизированные перегрузки перечислены выше и могут иметь отдельный маршрут.

state.GlobalVariables[Text(0) + "\u001F" + Text(1)] = Text(2);
                    return InjectionValue.Unit;

Источник реестра и отчёт сверки. Примеры проверяются загрузчиком/парсером включённого runtime. Действия на игровом сервере этой проверкой не исполняются.

Clone this wiki locally