API UO SetCatchBag - LIHACHTETAN/ClassicUO-BadNewbie-BasicIDE GitHub Wiki
UO.SetCatchBag
Оглавление · Алфавитный указатель · Containers
ClassicUO • Runtime API
Назначает контейнер назначения для последующих переносов через Grab, когда в самом переносе не задан другой контейнер. Это настройка текущего Basic runtime. Команда сама ничего не поднимает и не подписывается на автоматический перенос любого полученного предмета.
Точный синтаксис
UO.SetCatchBag() -> Unit
UO.SetCatchBag(container:Any) -> Unit
Выберите одну из зарегистрированных форм. Параметры передаются позиционно. Any означает значение BASIC с преобразованием внутри команды; Unit — отсутствие возвращаемого значения.
Параметры
container— Serial контейнера, его сохранённое имя, "backpack" или "my". 0 снимает назначение. Без аргументов используется lastobject — последний применённый объект, а не сброс. Если имя не разрешилось в положительный serial, назначение снимается. Сама установка не проверяет серверную доступность и пригодность объекта для переноса.
Возвращает
Unit: возвращаемого значения нет. Нельзя использовать VAR result = UO.SetCatchBag(...), IF UO.SetCatchBag(...) или ожидать число 1 в качестве подтверждения. Реальное перемещение выполняет отдельная команда, например Grab.
Поведение
- UO.SetCatchBag() и UO.SetReceivingContainer() имеют разные значения формы без аргументов: первая берёт lastobject, вторая сбрасывает контейнер.
- Явный сброс: UO.UnsetCatchBag(), UO.UnsetReceivingContainer() либо UO.SetCatchBag(0). После сброса Grab без отдельного назначения использует свой рюкзак.
- Установленный serial не означает, что сервер разрешит положить туда предмет. Дистанция, существование и доступность проверяются при фактическом переносе.
Примеры
Пример 1. Явно назначить свой рюкзак
# Явно назначить свой рюкзак
#
# Назначает контейнер назначения для последующих переносов через Grab, когда в самом переносе не
# задан другой контейнер. Это настройка текущего Basic runtime. Команда сама ничего не поднимает
# и не подписывается на автоматический перенос любого полученного предмета.
#
# Unit: возвращаемого значения нет. Нельзя использовать VAR result = UO.SetCatchBag(...), IF
# UO.SetCatchBag(...) или ожидать число 1 в качестве подтверждения. Реальное перемещение
# выполняет отдельная команда, например Grab.
SUB Main()
# Единственный параметр container получает строку "backpack". Runtime разрешает её в serial
# своего рюкзака.
# Вызов записан отдельной строкой без VAR result, потому что возвращает Unit. Сообщение Print
# описывает настройку, а не подтверждает перенос предмета.
VAR destination = 'backpack'
UO.SetCatchBag(destination)
UO.Print('Receiving container: own backpack')
# Далее можно вызывать Grab для нужных предметов.
# Эта настройка сама предметы не перемещает.
END SUB
Разбор параметров и выполнения:
- Единственный параметр container получает строку "backpack". Runtime разрешает её в serial своего рюкзака.
- Вызов записан отдельной строкой без VAR result, потому что возвращает Unit. Сообщение Print описывает настройку, а не подтверждает перенос предмета.
Пример 2. Выбрать последний использованный контейнер
# Выбрать последний использованный контейнер
#
# Назначает контейнер назначения для последующих переносов через Grab, когда в самом переносе не
# задан другой контейнер. Это настройка текущего Basic runtime. Команда сама ничего не поднимает
# и не подписывается на автоматический перенос любого полученного предмета.
#
# Unit: возвращаемого значения нет. Нельзя использовать VAR result = UO.SetCatchBag(...), IF
# UO.SetCatchBag(...) или ожидать число 1 в качестве подтверждения. Реальное перемещение
# выполняет отдельная команда, например Grab.
SUB Main()
# У этой перегрузки параметров нет: внутри используется имя lastobject.
# Пустые скобки не означают сброс. Предварительно выберите подходящий контейнер обычным двойным
# кликом. Доступность сумки для реального переноса зависит от текущего состояния игры.
# Перед запуском дважды щёлкните нужную сумку в игре.
# Последний использованный объект должен быть этой сумкой.
UO.SetCatchBag()
UO.Print('Destination taken from lastobject')
# Последующие Grab используют это назначение.
END SUB
Разбор параметров и выполнения:
- У этой перегрузки параметров нет: внутри используется имя lastobject.
- Пустые скобки не означают сброс. Предварительно выберите подходящий контейнер обычным двойным кликом. Доступность сумки для реального переноса зависит от текущего состояния игры.
Пример 3. Задать конкретный serial и затем вернуть стандартное назначение
# Задать конкретный serial и затем вернуть стандартное назначение
#
# Назначает контейнер назначения для последующих переносов через Grab, когда в самом переносе не
# задан другой контейнер. Это настройка текущего Basic runtime. Команда сама ничего не поднимает
# и не подписывается на автоматический перенос любого полученного предмета.
#
# Unit: возвращаемого значения нет. Нельзя использовать VAR result = UO.SetCatchBag(...), IF
# UO.SetCatchBag(...) или ожидать число 1 в качестве подтверждения. Реальное перемещение
# выполняет отдельная команда, например Grab.
SUB Main()
# В первом вызове container=bag содержит hex-строку serial. 0x40001234 — пример, его требуется
# заменить своим значением.
# Во втором вызове container=0 снимает назначение. Следующие Grab без явного контейнера
# используют рюкзак.
# Сброс находится после предполагаемого блока переносов. Установка и сброс не возвращают
# результат и не перемещают предметы сами по себе.
# Замените примерный serial на serial своей доступной сумки.
VAR bag = '0x40001234'
UO.SetCatchBag(bag)
UO.Print('Configured destination: ' + bag)
# Здесь располагаются ваши команды переноса.
UO.SetCatchBag(0)
UO.Print('Destination reset to the normal backpack fallback')
END SUB
Разбор параметров и выполнения:
- В первом вызове container=bag содержит hex-строку serial. 0x40001234 — пример, его требуется заменить своим значением.
- Во втором вызове container=0 снимает назначение. Следующие Grab без явного контейнера используют рюкзак.
- Сброс находится после предполагаемого блока переносов. Установка и сброс не возвращают результат и не перемещают предметы сами по себе.