-
Notifications
You must be signed in to change notification settings - Fork 0
API UO DragItem
Оглавление · Алфавитный указатель · Items
ClassicUO • Runtime API
Поднимает конкретный предмет и запоминает его для DropItem этого runtime.
UO.DragItem(ObjID:Any, Count:Any) -> Any
Выберите одну из зарегистрированных форм. Параметры передаются позиционно. Any означает значение BASIC с преобразованием внутри команды; Unit — отсутствие возвращаемого значения.
-
ObjID— Serial конкретного предмета/персонажа: число, hex/десятичная строка, self/backpack/lasttarget/lastobject/lastcontainer/lastcorpse/finditem/laststatus либо сохранённое имя AddObject. Это не type. Объект должен быть загружен; перед действием проверяйте Exists. -
Count— Количество единиц внутри одного стека. 0 или отрицательное значение означает весь стек; положительное ограничивается доступным количеством. Это НЕ число стопок, которое ограничивает MassMove.
Integer 1 — клиент принял подъём; 0 — предмет не найден или PickUp отказал. Метадата совместимости Any не означает произвольный тип результата. Это не serial.
Это логический результат: 1 = TRUE, 0 = FALSE. После VAR result = команда(...) можно писать IF result = TRUE THEN или IF result = 1 THEN; для отрицательного результата — IF result = FALSE THEN или IF result = 0 THEN. TRUE/FALSE пишутся без кавычек. Вызовите команду один раз и сохраните результат: повторный вызов может повторить действие или прочитать уже изменившееся состояние.
- Оба аргумента обязательны. Встроенного ожидания подтверждения нет; форма Drag(id,amount,timeout) добавляет ожидание локального Picking.
- После успешного захвата завершите действие DropItem. Предмет, вручную взятый мышью, не устанавливает память DragItem данного runtime.
# Поднять весь стек
#
# Поднимает конкретный предмет и запоминает его для DropItem этого runtime.
#
# Integer 1 — клиент принял подъём; 0 — предмет не найден или PickUp отказал. Метадата
# совместимости Any не означает произвольный тип результата. Это не serial.
#
# Это логический результат: 1 = TRUE, 0 = FALSE. После VAR result = команда(...) можно писать IF
# result = TRUE THEN или IF result = 1 THEN; для отрицательного результата — IF result = FALSE
# THEN или IF result = 0 THEN. TRUE/FALSE пишутся без кавычек. Вызовите команду один раз и
# сохраните результат: повторный вызов может повторить действие или прочитать уже изменившееся
# состояние.
SUB Main()
# ObjID=loot через AddObject, Count=0 — весь стек.
# Вторая команда сбрасывает тот же поднятый предмет.
IF UO.DragItem('loot', 0) THEN
VAR ok = UO.DropItem('backpack', -1, -1, 0)
END IF
END SUBРазбор параметров и выполнения:
- ObjID=loot через AddObject, Count=0 — весь стек.
- Вторая команда сбрасывает тот же поднятый предмет.
# Поднять пять единиц
#
# Поднимает конкретный предмет и запоминает его для DropItem этого runtime.
#
# Integer 1 — клиент принял подъём; 0 — предмет не найден или PickUp отказал. Метадата
# совместимости Any не означает произвольный тип результата. Это не serial.
#
# Это логический результат: 1 = TRUE, 0 = FALSE. После VAR result = команда(...) можно писать IF
# result = TRUE THEN или IF result = 1 THEN; для отрицательного результата — IF result = FALSE
# THEN или IF result = 0 THEN. TRUE/FALSE пишутся без кавычек. Вызовите команду один раз и
# сохраните результат: повторный вызов может повторить действие или прочитать уже изменившееся
# состояние.
SUB Main()
# Замените ObjID своим serial. Count=5 относится к единицам одной стопки.
# Место 44/55 находится внутри гампа рюкзака.
IF UO.DragItem(0x40001234, 5) THEN
VAR ok = UO.DropItem('backpack', 44, 55, 0)
END IF
END SUBРазбор параметров и выполнения:
- Замените ObjID своим serial. Count=5 относится к единицам одной стопки.
- Место 44/55 находится внутри гампа рюкзака.
# Показать неудачный захват
#
# Поднимает конкретный предмет и запоминает его для DropItem этого runtime.
#
# Integer 1 — клиент принял подъём; 0 — предмет не найден или PickUp отказал. Метадата
# совместимости Any не означает произвольный тип результата. Это не serial.
#
# Это логический результат: 1 = TRUE, 0 = FALSE. После VAR result = команда(...) можно писать IF
# result = TRUE THEN или IF result = 1 THEN; для отрицательного результата — IF result = FALSE
# THEN или IF result = 0 THEN. TRUE/FALSE пишутся без кавычек. Вызовите команду один раз и
# сохраните результат: повторный вызов может повторить действие или прочитать уже изменившееся
# состояние.
SUB Main()
# picked — Integer 1/0.
# Не вызывайте DropItem после неудачного захвата: курсор может принадлежать другому действию.
VAR picked = UO.DragItem('loot', 0)
IF picked = 0 THEN
UO.Print('Item was not picked up')
ELSE
VAR ok = UO.DropItem('backpack', -1, -1, 0)
END IF
END SUBРазбор параметров и выполнения:
- picked — Integer 1/0.
- Не вызывайте DropItem после неудачного захвата: курсор может принадлежать другому действию.
ClassicUO - Bad Newbie & Basic IDE Edition