[имя,длительность,опц1,опц2,опц3] call BIS_fnc_UnitCapture где опц1 = количество кадров в секунду (от 1 до 100) опц2 = включение записи стрельбы (true/false), т.е. кроме движения еще запишет и работу с оружием опц3 = задержка старта относительно кадра (??), т.е. непонятно
еще есть поверие, что нужно использовать spawn вместо call и через переменную: rec = [x1, 60, 30] spawn BIS_fnc_UnitCapture;
запись остановится по истечении времени (2й параметр) либо после нажатия ESC либо со смертью записываемого юнита. Начало и конец записи отмечаются хинтами автоматически. После окончания записи предложат нажать F1 - сохранить данные о движении и F2 - сохранить данные о стрельбе
чтобы проиграть запись, нужно данным присвоить переменную и вызвать ее: [имя,данные] call BIS_fnc_UnitPlay
Запись:
На карту ставишь модуль Функции. По нужному тебе событию вызываешь такой скрипт:
переменная = [имя_записываемого объекта, продолжительность_записи, количество_кадров_в_секунду, нужно_ли_записывать_использование_оружия_(true\false), время_старта_записи] spawn BIS_fnc_UnitCapture; Последние 3 параметра в вызове функции - опциональные.
Как только функция стартует - у тебя должен будет появиться хинт с сообщением о старте записи. Запись завершится по истечению отведенного времени, или нажатию ESC, или смерти записываемого юнита. По завершению записи выскочит хинт с информацией о захваченных кадрах\времени.
Нажатие клавиши F1 скопирует массив данных о передвижении юнита в буфер обмена, если сохранялись ещё и данные об использовании объектом оружия - массив с ними можно скопировать в буфер через нажатие F2.
Воспроизведение:
По прежнему нужен модуль Функции. Чтобы проиграть записанное, нужно сохранить оба (или только массив перемещений) массива в соответствующие переменные в каком-нибудь .sqf файле. В этом же файле пропиши следующие функции:
[имя_объекта, массив_перемещений] spawn BIS_fnc_UnitPlay; [имя_объекта, массив_с_данными_о_стрельбе] spawn BIS_fnc_UnitPlayFiring; - если массива с данными о стрельбе нет, тогда эта строка не нужна.
В init.sqf миссии нужна такая строка: Важная_переменная1 = compile preprocessFile "имя_файла_с_данными.sqf";
Чтобы увидель конечный результат - в нужно месте пишем: переменная = [] call Важная_переменная1;
В аттаче пример использования, дабы не отклоняться от темы, используется unitPlay Ми-24Д летит, работает по цели нурсами и пулеметом, попутно без конца выстреливает тепловые ловушки.
Пример объемный из-за массива данных о полетах, можно было существенно меньше записать, ну да ладно
PIONEER, Привет!!! Вопрос возник по записи. Пехоту записать не как??? Я пробовал но у бойца ноги не шевелятся он просто летает по земле и оружие не достаёт. Как можно движение юнитов записывать???