API UO EquipT - LIHACHTETAN/ClassicUO-BadNewbie-BasicIDE GitHub Wiki

UO.EquipT

ClassicUO / Basic IDE

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

Finds the first matching item type in the backpack and equips it. With a named/string layer the general Basic overload performs the action and returns Unit. With two exact Integer arguments the legacy Equipt compatibility overload returns 1 on successful equip and 0 when no item is found or equip fails.

Синтаксис

UO.EquipT(layer:Any, type:Any) -> Unit
UO.Equipt(layer:Integer, type:Integer) -> Integer

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

Параметры

Имя Назначение
layer Позиционный аргумент этой перегрузки. Подробности использования указаны в описании/фактической ветви runtime ниже.
type Graphic/body/tile ID. Use decimal or 0x-prefixed hexadecimal; wildcard -1/0xFFFF is valid only for overloads whose Behavior explicitly supports wildcard matching.

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

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

layer — Named layers: Rhand, Lhand, Shoes, Pants, Shirt, Hat, Gloves, Ring, Talisman, Neck, Hair, Waist, Torso, Brace, Face, Beard, Tunic, Ear, Arms, Cloak, BackpackLayer, Robe, Skirt, Legs, Mount, Bank; numeric layer where supported.

  • type — Decimal or 0x-prefixed graphic/body/tile ID; -1/0xFFFF is wildcard only where Behavior explicitly allows it.

Примеры

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

Пример 1

SUB Main()
    VAR result = UO.EquipT('Rhand', 0x0190)
END SUB

Пример 2

SUB Main()
    UO.EquipT(1, 0x0EED)
END SUB

Пример 3

SUB Main()
    IF UO.Connected THEN
        VAR arg1 = 1 # layer
        VAR arg2 = 0x0EED # type
        UO.EquipT(arg1, arg2)
    END IF
END SUB

Пример 4

SUB RunAction()
    VAR arg1 = 1 # layer
    VAR arg2 = 0x0EED # type
    UO.EquipT(arg1, arg2)
END SUB

SUB Main()
    # Запуск процедуры выполняет действие:
    RunAction()
END SUB
Реализация и проверка контракта
  • InjectionScript.Runtime.InjectionApiUO.EquipT
  • InjectionScript.Runtime.InjectionApiUO.Equipt

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

{
                        int item = bridge.FindType(Arg(1), -1, bridge.Backpack, -1, true);
                        return new InjectionValue(item != 0 ? bridge.Equip(Arg(0), item) : 0);
                    }

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

⚠️ **GitHub.com Fallback** ⚠️