--- title: AI-приказы и очередь корабля summary: Приоритет, прерывание, отмена и проверка реального результата одиночного AI-скрипта. section: scripting kind: guide status: observed tags: ["orders","MoveWait","cancel","AI","queue","приказы"] sources: ["https://wiki.egosoft.com/X4%20Foundations%20Wiki/Modding%20Support/"] --- ## Приказ и его исполняемый скрипт При работе с AI проверяйте настоящий order handle и очередь корабля. Событие окончания или прерывания скрипта не всегда означает, что приказ окончательно удалён. В исследовании X4 9.00 `event_object_order_cancelled` приходило при прерывании поведения приоритетным приказом, хотя прежний handle сохранялся в очереди как ready. ## Проверка отмены Убедитесь, что нужный корабль существует, отменяется именно выбранный приказ и затем он действительно отсутствует в очереди. Не определяйте результат только по одному событию. Возможна обратная гонка: handle исчез раньше отложенного события. Слишком раннее чтение и ожидание только события могут приводить к разным неверным выводам. Условия завершения нужно определить для конкретной операции. ## Приоритет и движение `immediate` и `priority` у `create_order` имеют разный смысл. Если вы меняете приоритет, проверьте порядок настоящей очереди. Наличие вашей переменной `$Priority` не подтверждает эффект в AI. Для перемещения дополнительно проверьте конечные координаты. Завершение скрипта не доказывает прибытие в заданную точку. ## Регрессия Проверьте обычный приказ, очередь из нескольких действий, приоритетное прерывание, отмену и загрузку сейва. Не обобщайте результат одного MoveWait на все AI-скрипты. См. [проверку игрового эффекта](wiki:testing) и [сохранения MD](wiki:md-persistence).