API UO Equip - LIHACHTETAN/ClassicUO-BadNewbie-BasicIDE GitHub Wiki
ClassicUO / Basic IDE
Оглавление · Алфавитный указатель · Character
Слой проверяется до перемещения предмета и должен совпадать с реальным слоем экипировки предмета. Неподходящий предмет не поднимается.
UO.Equip(layer:String, id:Integer) -> Integer
UO.Equip(layer:String, id:String) -> Integer
UO.Equip(Layer:Any, ObjID:Any) -> Any
Регистр имени не важен. Any — динамическое значение Basic; Unit — отсутствие возвращаемого значения. Integer — знаковое 32-битное число, Decimal — число с плавающей точкой. Правила типов, serial, индексов и ожиданий.
| Имя | Назначение |
|---|---|
layer |
Позиционный аргумент этой перегрузки. Подробности использования указаны в описании/фактической ветви runtime ниже. |
id |
Идентификатор объекта/контейнера или селектор, указанный в описании команды. 0 и -1 не являются универсальными заменителями serial. |
Layer |
Позиционный аргумент этой перегрузки. Подробности использования указаны в описании/фактической ветви runtime ниже. |
ObjID |
Object/mobile/item serial. Use 0 only when the command explicitly documents 0 as a sentinel. |
Параметры обязательны внутри каждой показанной сигнатуры. Опустить аргумент можно только при наличии более короткой перегрузки; пропуск позиции посередине не подразумевается.
Reads or mutates the current ClassicUO item/equipment state through the registered runtime route and client action queue.
Каждый блок — самостоятельный скрипт из мануала проекта. Параметры демонстрационного объекта/контейнера и условия действия необходимо сопоставить с вашей игровой ситуацией.
SUB Main()
VAR result = UO.Equip('Rhand', self)
END SUBSUB Main()
VAR result = UO.Equip('example', self)
UO.Print(CStr(result))
END SUBSUB Main()
VAR arg1 = 'example' # layer
VAR arg2 = self # id
VAR result = UO.Equip(arg1, arg2)
# Пример порога; выберите подходящий смыслу команды.
IF result > 0 THEN
UO.Print(CStr(result))
END IF
END SUBFUNCTION ReadResult()
VAR arg1 = 'example' # layer
VAR arg2 = self # id
VAR result = UO.Equip(arg1, arg2)
RETURN result
END FUNCTION
SUB Main()
VAR answer = ReadResult()
UO.Print(CStr(answer))
END SUBРеализация и проверка контракта
InjectionScript.Runtime.InjectionApiUO+<>c__DisplayClass38_0.<RegisterStealthCompatibility>b__0InjectionScript.Runtime.InjectionApiUO.Equip
Соответствующая ветвь совместимого обработчика в InjectionApiUO.cs. Arg(i)/Text(i) читают позицию с нуля; bridge обращается к клиенту. Прямые типизированные перегрузки перечислены выше и могут иметь отдельный маршрут.
return new InjectionValue(arguments[0].Kind == InjectionValueKind.String ? Equip(Text(0), Arg(1)) : bridge.Equip(Arg(0), Arg(1)));Источник реестра и отчёт сверки. Примеры проверяются загрузчиком/парсером включённого runtime. Действия на игровом сервере этой проверкой не исполняются.