API UO DropHere - LIHACHTETAN/ClassicUO-BadNewbie-BasicIDE GitHub Wiki
UO.DropHere
Оглавление · Алфавитный указатель · Items
ClassicUO • Runtime API
Переносит весь указанный предмет/стек на землю в текущую точку персонажа.
Точный синтаксис
UO.DropHere(object:Any) -> Integer
Выберите одну из зарегистрированных форм. Параметры передаются позиционно. Any означает значение BASIC с преобразованием внутри команды; Unit — отсутствие возвращаемого значения.
Параметры
object— Serial конкретного предмета/персонажа: число, hex/десятичная строка, self/backpack/lasttarget/lastobject/lastcontainer/lastcorpse/finditem/laststatus либо сохранённое имя AddObject. Это не type. Объект должен быть загружен; перед действием проверяйте Exists.
Возвращает
Integer 1 — запрос переноса принят клиентом; 0 — не выполнен. Это не 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 пишутся без кавычек. Вызовите команду один раз и сохраните результат: повторный вызов может повторить действие или прочитать уже изменившееся состояние.
Поведение
- Зарегистрирована форма ровно с одним аргументом. Для части стека используйте Drop(item,count) либо MoveItem.
- X/Y/Z берутся у персонажа во время вызова. Предварительный DragItem не требуется.
Примеры
Пример 1. Бросить известный предмет
# Бросить известный предмет
#
# Переносит весь указанный предмет/стек на землю в текущую точку персонажа.
#
# Integer 1 — запрос переноса принят клиентом; 0 — не выполнен. Это не 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()
# object — serial, замените реальным.
# Весь стек переносится под персонажа.
VAR ok = UO.DropHere(0x40001234)
END SUB
Разбор параметров и выполнения:
- object — serial, замените реальным.
- Весь стек переносится под персонажа.
Пример 2. Использовать сохранённое имя
# Использовать сохранённое имя
#
# Переносит весь указанный предмет/стек на землю в текущую точку персонажа.
#
# Integer 1 — запрос переноса принят клиентом; 0 — не выполнен. Это не 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()
# loot задан через AddObject.
# Exists проверяет доступность, а не разрешение сервера на перенос.
IF UO.Exists('loot') THEN
VAR ok = UO.DropHere('loot')
END IF
END SUB
Разбор параметров и выполнения:
- loot задан через AddObject.
- Exists проверяет доступность, а не разрешение сервера на перенос.
Пример 3. Обработать отказ клиента
# Обработать отказ клиента
#
# Переносит весь указанный предмет/стек на землю в текущую точку персонажа.
#
# Integer 1 — запрос переноса принят клиентом; 0 — не выполнен. Это не 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()
# ok — Integer 1/0.
# Для подтверждения серверного результата отдельно проверяйте положение и контейнер предмета.
VAR ok = UO.DropHere('loot')
IF ok = 0 THEN
UO.Print('Drop request was not accepted')
END IF
END SUB
Разбор параметров и выполнения:
- ok — Integer 1/0.
- Для подтверждения серверного результата отдельно проверяйте положение и контейнер предмета.