API UO MoveItems - LIHACHTETAN/ClassicUO-BadNewbie-BasicIDE GitHub Wiki
ClassicUO / Basic IDE
Оглавление · Алфавитный указатель · Items
Перемещает все предметы с указанным типом и цветом из контейнера-источника в контейнер-получатель.
UO.MoveItems(Container:Any, ItemsType:Any, ItemsColor:Any, MoveIntoID:Any, X:Any, Y:Any, Z:Any, DelayMS:Any) -> Any
Регистр имени не важен. Any — динамическое значение Basic; Unit — отсутствие возвращаемого значения. Integer — знаковое 32-битное число, Decimal — число с плавающей точкой. Правила типов, serial, индексов и ожиданий.
| Имя | Назначение |
|---|---|
Container |
Идентификатор объекта/контейнера или селектор, указанный в описании команды. 0 и -1 не являются универсальными заменителями serial. |
ItemsType |
Object/mobile/item serial. Use 0 only when the command explicitly documents 0 as a sentinel. |
ItemsColor |
Object/mobile/item serial. Use 0 only when the command explicitly documents 0 as a sentinel. |
MoveIntoID |
Container/object destination. Use backpack/ground/self/saved object name or a valid hexadecimal/decimal serial where that overload permits it. |
X |
World/tile X coordinate. |
Y |
World/tile Y coordinate. |
Z |
World/tile Z coordinate. |
DelayMS |
Delay/timeout in milliseconds; use a non-negative integer (for example 3000 = 3 seconds). |
Параметры обязательны внутри каждой показанной сигнатуры. Опустить аргумент можно только при наличии более короткой перегрузки; пропуск позиции посередине не подразумевается.
Каждый блок — самостоятельный скрипт из мануала проекта. Параметры демонстрационного объекта/контейнера и условия действия необходимо сопоставить с вашей игровой ситуацией.
SUB Main()
VAR result = UO.MoveItems(backpack, 0x0190, -1, self, UO.GetX(self), UO.GetY(self), UO.GetZ(self), 1000)
END SUBSUB Main()
VAR result = UO.MoveItems(backpack, 2, 3, 4, UO.GetX(), UO.GetY(), UO.GetZ(), 100)
UO.Print(CStr(result))
END SUBSUB Main()
VAR arg1 = backpack # Container
VAR arg2 = 2 # ItemsType
VAR arg3 = 3 # ItemsColor
VAR arg4 = 4 # MoveIntoID
VAR arg5 = UO.GetX() # X
VAR arg6 = UO.GetY() # Y
VAR arg7 = UO.GetZ() # Z
VAR arg8 = 100 # DelayMS
VAR result = UO.MoveItems(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8)
UO.Print(CStr(result))
END SUBSUB ReadResult()
VAR arg1 = backpack # Container
VAR arg2 = 2 # ItemsType
VAR arg3 = 3 # ItemsColor
VAR arg4 = 4 # MoveIntoID
VAR arg5 = UO.GetX() # X
VAR arg6 = UO.GetY() # Y
VAR arg7 = UO.GetZ() # Z
VAR arg8 = 100 # DelayMS
VAR result = UO.MoveItems(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8)
UO.Print(CStr(result))
END SUB
SUB Main()
ReadResult()
END SUBРеализация и проверка контракта
InjectionScript.Runtime.InjectionApiUO+<>c__DisplayClass38_0.<RegisterStealthCompatibility>b__0
Соответствующая ветвь совместимого обработчика в InjectionApiUO.cs. Arg(i)/Text(i) читают позицию с нуля; bridge обращается к клиенту. Прямые типизированные перегрузки перечислены выше и могут иметь отдельный маршрут.
return new InjectionValue(bridge.MoveItems(Arg(0), Arg(1), Arg(2), Arg(3), Arg(4), Arg(5), Arg(6), Arg(7)));Источник реестра и отчёт сверки. Примеры проверяются загрузчиком/парсером включённого runtime. Действия на игровом сервере этой проверкой не исполняются.