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 без явного контейнера используют рюкзак.
  • Сброс находится после предполагаемого блока переносов. Установка и сброс не возвращают результат и не перемещают предметы сами по себе.