API UO WaitTargetSelf - LIHACHTETAN/ClassicUO-BadNewbie-BasicIDE GitHub Wiki

UO.WaitTargetSelf

Оглавление · Алфавитный указатель · Targeting

ClassicUO • Runtime API

Готовит ответ на следующий серверный прицел через алиас self.

Точный синтаксис

UO.WaitTargetSelf() -> Unit

Выберите одну из зарегистрированных форм. Параметры передаются позиционно. Any означает значение BASIC с преобразованием внутри команды; Unit — отсутствие возвращаемого значения.

Параметры

Параметров нет.

Возвращает

Unit — возвращаемого значения нет. Вызывайте отдельной строкой; не используйте как true/false, serial или type. Метадата Any у совместимых форм не меняет фактический результат Unit.

Поведение

  • Команда только готовит ответ: сама не применяет предмет, навык или заклинание. Следующий серверный прицел получает подготовленную цель при обработке кадра клиента.
  • Последовательные вызовы образуют общую очередь клиента. Объекты и координатные цели обрабатываются по одному прицелу; локальные окна выбора ClientRequest*/Info/контейнера её не потребляют.
  • CancelWaitTarget очищает очередь. TerminateAll очищает её целиком; остановка ещё работающей процедуры также делает недействительными её собственные отложенные ответы. Обычное завершение короткой процедуры не отменяет подготовленную цель.
  • Отправка ответа не гарантирует действие на сервере: тот проверяет дальность, доступность объекта, видимость и правила действия. Для контроля используйте игровой результат и журнал.

Примеры

Пример 1. Подготовить цель

# Подготовить цель
#
# Готовит ответ на следующий серверный прицел через алиас self.
#
# Unit — возвращаемого значения нет. Вызывайте отдельной строкой; не используйте как true/false,
# serial или type. Метадата Any у совместимых форм не меняет фактический результат Unit.

SUB Main()
    # Аргументов нет; используется self.
    # Команда не открывает прицел и не выполняет действие сама.

    UO.WaitTargetSelf()
END SUB

Разбор параметров и выполнения:

  • Аргументов нет; используется self.
  • Команда не открывает прицел и не выполняет действие сама.

Пример 2. Проверить наличие выбранного объекта

# Проверить наличие выбранного объекта
#
# Готовит ответ на следующий серверный прицел через алиас self.
#
# Unit — возвращаемого значения нет. Вызывайте отдельной строкой; не используйте как true/false,
# serial или type. Метадата Any у совместимых форм не меняет фактический результат Unit.

SUB Main()
    # self должен разрешаться в загруженного персонажа для этого навыка.
    # Проверка Exists отсеивает неизвестный объект; выбор типа объекта и допустимость навыка
    # остаются условиями скрипта.

    IF UO.Exists('self') THEN
        UO.CancelWaitTarget()
        UO.WaitTargetSelf()
        UO.UseSkill('Anatomy')
    END IF
END SUB

Разбор параметров и выполнения:

  • self должен разрешаться в загруженного персонажа для этого навыка.
  • Проверка Exists отсеивает неизвестный объект; выбор типа объекта и допустимость навыка остаются условиями скрипта.

Пример 3. Отменить подготовленную цель

# Отменить подготовленную цель
#
# Готовит ответ на следующий серверный прицел через алиас self.
#
# Unit — возвращаемого значения нет. Вызывайте отдельной строкой; не используйте как true/false,
# serial или type. Метадата Any у совместимых форм не меняет фактический результат Unit.

SUB Main()
    # IsWaitTargetActive проверяет очередь ответов.
    # CancelWaitTarget снимает подготовку, не закрывая уже открытый пользовательский прицел.

    UO.WaitTargetSelf()
    IF UO.IsWaitTargetActive() THEN
        UO.CancelWaitTarget()
    END IF
END SUB

Разбор параметров и выполнения:

  • IsWaitTargetActive проверяет очередь ответов.
  • CancelWaitTarget снимает подготовку, не закрывая уже открытый пользовательский прицел.