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

UO.AddType

ClassicUO / Basic IDE

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

Список типов находится в закладке Object Types.

Синтаксис

UO.AddType(name:Any) -> Unit
UO.AddType(name:Any, type:Any) -> Unit

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

Параметры

Имя Назначение
name Значение для данной позиции; назначение и поддерживаемые варианты показаны в описании и примерах.
type Item/mobile/tile type (graphic/body ID). -1/0xFFFF may mean wildcard only for commands that document it.

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

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

name — Quoted BASIC string. Fixed keywords/enums, when present, are listed in Behavior/Notes.

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

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

Примеры

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

Пример 1

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

Пример 2

SUB Main()
    UO.AddType('example', 0x0190)
END SUB

Пример 3

SUB Main()
    UO.AddType('example')
END SUB

Пример 4

SUB Main()
    VAR arg1 = 'example' # name
    VAR arg2 = 0x0EED # type
    UO.AddType(arg1, arg2)
END SUB

Пример 5

SUB Main()
    IF UO.Connected THEN
        VAR arg1 = 'example' # name
        UO.AddType(arg1)
    END IF
END SUB

Пример 6

SUB RunAction()
    VAR arg1 = 'example' # name
    UO.AddType(arg1)
END SUB

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

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

LegacyList(name).Add(string.Join("|", arguments.Select(value => value.ToString())));
                    break;

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

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