Skip to content

API UO EquipItems

Codex edited this page Sep 19, 2026 · 4 revisions

UO.EquipItems

ClassicUO / Basic IDE

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

Reads or mutates the current ClassicUO item/equipment state through the registered runtime route and client action queue.

Синтаксис

UO.EquipItems(Items:Any) -> Any

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

Параметры

Имя Назначение
Items Позиционный аргумент этой перегрузки. Подробности использования указаны в описании/фактической ветви runtime ниже.

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

Допустимые значения

Items — Runtime Array/list value with element type/shape described by Behavior.

Примеры

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

Пример 1

SUB Main()
    VAR result = UO.EquipItems(1000)
END SUB

Пример 2

SUB Main()
    VAR result = UO.EquipItems(1)
    UO.Print(CStr(result))
END SUB

Пример 3

SUB Main()
    VAR arg1 = 1 # Items
    VAR result = UO.EquipItems(arg1)
    UO.Print(CStr(result))
END SUB

Пример 4

SUB ReadResult()
    VAR arg1 = 1 # Items
    VAR result = UO.EquipItems(arg1)
    UO.Print(CStr(result))
END SUB

SUB Main()
    ReadResult()
END SUB
Реализация и проверка контракта
  • InjectionScript.Runtime.InjectionApiUO+<>c__DisplayClass38_0.<RegisterStealthCompatibility>b__0

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

{
                    bool success = true;
                    foreach (int item in ArrayArg(0))
                    {
                        int layer = bridge.GetLayer(item);
                        if (layer <= 0) { success = false; continue; }
                        bridge.Equip(layer, item);
                    }
                    return new InjectionValue(success ? 1 : 0);
                }

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

Clone this wiki locally