Runtime API 30 Targeting - LIHACHTETAN/ClassicUO-BadNewbie-BasicIDE GitHub Wiki

Runtime API — Прицел и цели

Символов: 26

Новые тематические разделы · Алфавитный указатель · Правила и сценарии

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

UO.CancelTarget

Targeting

Отменяет текущий курсор таргета, если он активен.

UO.CancelWaitTarget

Targeting

Отменяет текущую ловушку на таргет (установленную через WaitTargetObject , WaitTargetXYZ , WaitTargetTile и т.

UO.ClientRequestObjectTarget

Targeting

Открывает локальный прицел выбора предмета/персонажа пользователем. Сбрасывает предыдущий ответ. Это не ожидание серверного прицела и не автоматическая цель. Результат читайте через ClientTargetResponse после ClientTargetResponsePresent/WaitForClientTargetResponse. Выбор земли не принимается как объект; устаревший callback предыдущего запроса игнорируется.

UO.ClientRequestTileTarget

Targeting

Открывает локальный прицел пользователя, который допускает выбор тайла и объекта. Ответ берётся через ClientTargetResponse; новый запрос сбрасывает старый ответ.

UO.ClientTargetResponse

Targeting

Возвращает копию массива [serial, graphic, x, y, z]. У земли/статики serial равен 0. До ответа, при отмене или неподходящем выборе массив пустой. Сначала проверяйте его длину; факт завершения выбора не гарантирует пяти элементов.

UO.ClientTargetResponsePresent

Targeting

Возвращает 1, если callback последнего пользовательского выбора уже завершился, иначе 0. Завершение может означать отмену; отдельно проверяйте длину ClientTargetResponse().

UO.IsWaitTargetActive

Targeting

Возвращает True , если ловушка таргета сейчас взведена, то есть предыдущий вызов WaitTargetObject , WaitTargetSelf , WaitTargetLast , WaitTargetTile , WaitTargetXYZ , WaitTargetType или WaitTargetGround поставил в очередь ответ на таргет, который ещё не сработал.

UO.Target

Targeting

Разные перегрузки выполняют разные операции. Target() отменяет текущий/подготовленный target. Target(object) ставит объект в очередь, как WaitTargetObject. Target(targetKey,target) отправляет протокольный ответ с явным идентификатором прицела; target может быть serial, именованным объектом или строкой 'lasttile'. Семь аргументов задают targetKey, объект, targetType, graphic/type, x,y,z; targetType=0 — объект, 1 — клетка. Для обычного скрипта предпочтительны WaitTargetObject/WaitTargetTile: targetKey для низкоуровневой формы должен соответствовать серверному запросу.

UO.TargetByResource

Targeting

Отправляет серверу пакет «target by resource», нацеливаясь на указанный объект с типом ресурса.

UO.TargetID

Targeting

Возвращает ID текущего курсора цели.

UO.Targeting

Targeting

Возвращает 1, если сейчас активен серверный/клиентский механизм прицела TargetManager, иначе 0. Проверка не выбирает цель и не ставит ответ в очередь.

UO.TargetPresent

Targeting

Возвращает 1, если сейчас активен серверный/клиентский механизм прицела TargetManager, иначе 0. Проверка не выбирает цель и не ставит ответ в очередь.

UO.TargetToObject

Targeting

В этой сборке вызывает WaitTargetObject и ставит serial в очередь ответа. Поэтому команда может подготовить ответ и до появления серверного прицела. Возвращаемого значения нет; отправка ответа не гарантирует успех серверного действия.

UO.TargetToTile

Targeting

Ставит ответ type,x,y,z в очередь серверного target через WaitTargetTile. Название TargetToTile не означает обязательного немедленного ответа: если прицела ещё нет, ответ остаётся подготовленным.

UO.TargetToXYZ

Targeting

Ставит координаты x,y,z в очередь ответа на серверный прицел с graphic/type=0. Используются координаты игровой карты, не пиксели экрана.

UO.TicksTarget

Targeting

Возвращает сохранённое значение UO.Timer на момент подготовки target в соответствующих командах. Единица — десятая доля секунды; не является ID прицела.

UO.WaitForClientTargetResponse

Targeting

Ожидает завершения последнего локального выбора пользователем: 1 — callback получен, 0 — тайм-аут. Параметр в миллисекундах, шаг опроса не более 25 мс. Отмена тоже завершает запрос, поэтому проверяйте массив ClientTargetResponse().

UO.WaitForTarget

Targeting

Ждёт появления серверного прицела не более указанного количества миллисекунд. Возвращает 1 при наличии прицела и 0 при истечении времени. Нулевой или отрицательный timeout означает проверку без длительного ожидания. Период опроса в этой сборке — не более 25 мс; утверждение старого справочника про 100 мс здесь не применяется. Не выбирает объект и не устанавливает автоматическую цель. Проверяется общий TargetManager: активный локальный курсор выбора тоже может влиять на результат. Не используйте ClientRequestObjectTarget как способ дождаться серверного запроса.

UO.WaitTarget

Targeting

Компактный выбор автоматической цели. Конкретный serial/именованный объект ставится в очередь напрямую. Значения 0 и -1 включают поиск по загруженным персонажам/предметам с фильтрами type, color, distance, notoriety, nearest и maxZ; учитывается Ignore. При отсутствии совпадения подготовленная цель очищается. Команда не начинает каст или применение предмета.

UO.WaitTargetGround

Targeting

Ищет загруженный предмет на земле по графике и необязательному цвету, затем ставит его serial в очередь target. Это поиск предмета, не статического тайла карты. При отсутствии результата отменяет следующий автоматический ответ.

UO.WaitTargetLast

Targeting

Ставит lasttarget в очередь ответа на серверный прицел. Убедитесь, что последняя цель ещё действительна.

UO.WaitTargetObject

Targeting

Ставит serial в очередь ответа на серверный прицел. Если прицел уже доступен, менеджер может ответить сразу; иначе цель ожидает следующего прицела. Два аргумента задают последовательность из двух объектов. Само действие (каст, применение инструмента или навыка) эта команда не запускает. Строковая форма разрешает именованные объекты, например self и lasttarget.

UO.WaitTargetObjectType

Targeting

Готовит последовательность из двух целей: явно заданный объект id и найденный на земле предмет графики type/цвета color. Если один из объектов не найден, следующая автоматическая цель отменяется.

UO.WaitTargetSelf

Targeting

Ставит текущего персонажа в очередь ответа на серверный прицел. Эквивалент WaitTargetObject("self").

UO.WaitTargetTile

Targeting

Ставит координаты тайла в очередь ответа на серверный прицел. Форма с одним аргументом принимает только строку 'lasttile'. Если последнего тайла нет, следующий автоматический ответ отменяется. Форма x,y,z использует graphic/type=0; форма type,x,y,z позволяет указать графику. Используйте действительные координаты карты и высоту; это не команда выбора местности мышью.

UO.WaitTargetType

Targeting

Ищет предмет заданной графики в рюкзаке, включая загруженное содержимое вложенных контейнеров, и ставит найденный serial в очередь target. Опущенный color равен -1 (любой цвет). При отсутствии предмета сообщает об этом и отменяет следующий автоматический ответ.