×
Меню
Индекс

MSFD Следование и эскорт

AiFollow, "Actor ID", duration_f_enum, x_f_enum, y_f_enum, z_f_enum, [reset]
 
AiFollowCell, "Actor ID", "Cell ID", duration_f_enum, x_f_enum, y_f_enum, z_f_enum, [reset]
 
"Actor_ID"-> AIFollow, "Mob2ID", 0,0,0,0
 
Пакет ИИ «Следовать» (Follow) приказывает одному актеру идти за другим.
Это можно использовать, чтобы NPC или существо пошло за игроком, а можно составить из NPC и существ караван.
Следующий отрывок из моего собственного скрипта показывает использование функции с нулевыми параметрами:
 
elseif ( state == 20 )
     HB_guar_pack_adros->AIFollow, HB_adros_darani, 0, 0, 0, 0
     AITravel -8144, -19409, 728 ;new coords point 1
     set state to 30
 
Поскольку точка назначения и длительность не заданы, гуар будут следовать за NPC до тех пор, пока не будет дана другая команда.
Также как и с другими командами ИИ, убедитесь, что каждая команда вызывается только раз, а не каждый фрейм.
 
Длительность, CellID и координаты x, y, z точки назначения ставят условия, при которых AIFollow завершится (что можно отследить функцией GetAIPackageDone).
AiFollowCell позволяет указать интерьер в качестве точки назначения.
Значение необязательного флага reset неизвестно.
 
AIEscort, "Actor ID", duration, x, y, z, [reset]
AIEscortCell, "Actor ID", "Cell ID", duration, x, y, z, [reset]
 
Эта функции позволяет Актеру привести игрока в определенную точку.
Актер будет ждать игрока, если расстояние окажется слишком большим, и продолжит путь, когда игрок приблизится (Спасибо Kir за эту инфу).
Смотрите пример в создании персонажа – страж эскортирует вас из трюма судна на второй уровень к выходу. (Спасибо MisterSmileyFaceDude).
Значение необязательного флага reset неизвестно.
 

AiFollow, замечательно использовать через консоль (в целях дебагинга конечно).
Консоль - клик мышью по "цели" (например стражник в кальдере) и набрать AiFollow Player 0 0 0 0