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

UO.UseType

ClassicUO / Basic IDE

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

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

Синтаксис

UO.UseType(type:Integer) -> Integer
UO.UseType(type:String) -> Integer
UO.UseType(type:Integer, color:Integer) -> Integer
UO.UseType(type:String, color:String) -> Integer
UO.UseType(type:Integer, color:String) -> Integer
UO.UseType(type:String, color:Integer) -> Integer
UO.UseType(ObjType:Any, Color:Any) -> Any
UO.UseType(type:Any, color:Any, container:Any) -> Integer
UO.UseType(type:Any, color:Any, container:Any, distance:Any) -> Integer
UO.UseType(type:Any, color:Any, container:Any, distance:Any, nearest:Any) -> Integer
UO.UseType(type:Any, color:Any, container:Any, distance:Any, nearest:Any, maxZ:Any) -> Integer

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

Параметры

Имя Назначение
type Graphic/body/tile ID. Use a decimal or 0x-prefixed hexadecimal value; wildcard -1/0xFFFF is valid only for overloads whose behavior documents wildcard matching.
color Графика/цвет объекта: десятичное или 0x-число. Маску -1 используйте только в поисковых перегрузках, где она поддерживается.
ObjType Позиционный аргумент этой перегрузки. Подробности использования указаны в описании/фактической ветви runtime ниже.
Color Hue/color filter. -1 commonly means any hue where the overload supports wildcard filtering.
container Идентификатор объекта/контейнера или селектор, указанный в описании команды. 0 и -1 не являются универсальными заменителями serial.
distance Позиционный аргумент этой перегрузки. Подробности использования указаны в описании/фактической ветви runtime ниже.
nearest Логический флаг: 0 — выключено, 1 — включено. Значение при пропуске зависит от перегрузки.
maxZ Позиционный аргумент этой перегрузки. Подробности использования указаны в описании/фактической ветви runtime ниже.

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

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

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

  • Color — Decimal or 0x-prefixed hue; -1 is any/default only where Behavior explicitly allows it.
  • 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.UseType(0x0190, -1)
END SUB

Пример 2

SUB Main()
    VAR result = UO.UseType(0)
END SUB

Пример 3

SUB Main()
    VAR result = UO.UseType(0)
END SUB

Пример 4

SUB Main()
    VAR result = UO.UseType(0x0EED)
    UO.Print(CStr(result))
END SUB

Пример 5

SUB Main()
    VAR arg1 = 0x0EED # type
    VAR arg2 = -1 # color
    VAR arg3 = backpack # container
    VAR arg4 = 5 # distance
    VAR arg5 = 1 # nearest
    VAR arg6 = 6 # maxZ
    VAR result = UO.UseType(arg1, arg2, arg3, arg4, arg5, arg6)
    UO.Print(CStr(result))
END SUB

Пример 6

SUB Main()
    VAR result = UO.UseType(0x0EED, -1)
    UO.Print(CStr(result))
END SUB

Пример 7

SUB Main()
    VAR result = UO.UseType(0x0EED, -1, backpack)
    UO.Print(CStr(result))
END SUB

Пример 8

SUB Main()
    VAR result = UO.UseType(0x0EED, -1, backpack, 5)
    UO.Print(CStr(result))
END SUB

Пример 9

SUB Main()
    VAR result = UO.UseType(0x0EED, -1, backpack, 5, 1)
    UO.Print(CStr(result))
END SUB

Пример 10

SUB Main()
    VAR arg1 = 0x0EED # type
    VAR result = UO.UseType(arg1)
    # Пример порога; выберите подходящий смыслу команды.
    IF result > 0 THEN
        UO.Print(CStr(result))
    END IF
END SUB

Пример 11

FUNCTION ReadResult()
    VAR arg1 = 0x0EED # type
    VAR result = UO.UseType(arg1)
    RETURN result
END FUNCTION

SUB Main()
    VAR answer = ReadResult()
    UO.Print(CStr(answer))
END SUB
Реализация и проверка контракта
  • InjectionScript.Runtime.InjectionApiUO+<>c__DisplayClass38_0.<RegisterStealthCompatibility>b__0
  • InjectionScript.Runtime.InjectionApiUO.<Register>b__37_18
  • InjectionScript.Runtime.InjectionApiUO.UseType

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

return new InjectionValue(bridge.UseType(Arg(0), arguments.Length > 1 ? Arg(1) : -1));

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

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