API UO Sell - LIHACHTETAN/ClassicUO-BadNewbie-BasicIDE GitHub Wiki
ClassicUO / Basic IDE
Оглавление · Алфавитный указатель · Shops & Vendors
К имени вендора vendorname дописывает ключевое слово продажи из файла injection.xml (обычно это sell) и произносит эту фразу, после чего продаёт в меню продажи, которое покажет вендор, вещи согласно списку listname.
UO.Sell(type:Any) -> Unit
UO.Sell(type:Any, color:Any) -> Unit
UO.Sell(type:Any, color:Any, quantity:Any) -> Unit
Регистр имени не важен. Any — динамическое значение Basic; Unit — отсутствие возвращаемого значения. Integer — знаковое 32-битное число, Decimal — число с плавающей точкой. Правила типов, serial, индексов и ожиданий.
| Имя | Назначение |
|---|---|
type |
Графика/цвет объекта: десятичное или 0x-число. Маску -1 используйте только в поисковых перегрузках, где она поддерживается. |
color |
Hue/color filter. -1 commonly means any hue where the overload supports wildcard filtering. |
quantity |
Quantity/count. 0 may mean all/default only where explicitly supported. |
Параметры обязательны внутри каждой показанной сигнатуры. Опустить аргумент можно только при наличии более короткой перегрузки; пропуск позиции посередине не подразумевается.
Возвращает: Unit — значения нет. Выполняйте вызов отдельной строкой; его нельзя использовать как проверку успеха. Эффект и ограничения зависят от команды.
Каждый блок — самостоятельный скрипт из мануала проекта. Параметры демонстрационного объекта/контейнера и условия действия необходимо сопоставить с вашей игровой ситуацией.
SUB Main()
VAR result = UO.Sell(0)
END SUBSUB Main()
UO.Sell(0x0190, -1, 1)
END SUBSUB Main()
UO.Sell(0x0EED)
END SUBSUB Main()
VAR arg1 = 0x0EED # type
VAR arg2 = -1 # color
VAR arg3 = 3 # quantity
UO.Sell(arg1, arg2, arg3)
END SUBSUB Main()
UO.Sell(0x0EED, -1)
END SUBSUB Main()
IF UO.Connected THEN
VAR arg1 = 0x0EED # type
UO.Sell(arg1)
END IF
END SUBSUB RunAction()
VAR arg1 = 0x0EED # type
UO.Sell(arg1)
END SUB
SUB Main()
# Запуск процедуры выполняет действие:
RunAction()
END SUBРеализация и проверка контракта
InjectionScript.Runtime.InjectionApiUO+<>c__DisplayClass62_0.<RegisterLegacyManualAliases>b__1
Соответствующая ветвь совместимого обработчика в InjectionApiUO.cs. Arg(i)/Text(i) читают позицию с нуля; bridge обращается к клиенту. Прямые типизированные перегрузки перечислены выше и могут иметь отдельный маршрут.
bridge.SetAutoSellRule(Arg(0), arguments.Length > 1 ? Arg(1) : -1, arguments.Length > 2 ? Arg(2) : 1);
break;Источник реестра и отчёт сверки. Примеры проверяются загрузчиком/парсером включённого runtime. Действия на игровом сервере этой проверкой не исполняются.