Все материалы на сайте, где указано авторство Shagg_E(Shaggy, NRShaggy) имеют лицензию Copyleft:
Разрешены свободные: использование, распространение и модификации данных файлов, при условии сохранения этих прав для других пользователей.
Скопируйте все файлы и папку "RECORDINGS" из "1. CarRec\CLEO\" в папку "CLEO" вашей Vice City, если у вас установлена последняя версия библиотеки CLEO(http://cleo.li/).
Активация/деактивация(в автомобиле): C + 1 Далее вы можете: 1) Для записи движения автомобиля нажмите R. Нажмите R снова для прекращения записи. 2) Для воспроизведения последней записи нажмите P. Нажмите O, чтобы поставить воспроизведение на паузу. Зажмите I для перемотки назад. Нажмите P снова, чтобы прекратить воспроизведение.
Вы также можете настроить "CarRec" в "CLEO\CarRec.ini": MEMLIMIT: Размер выделенной памяти для записи в байтах. Большее значение - более долгая запись. Слишком высокие значения могут привести к замедлению работы скрипта. CLRTRWREC: Очищать траффик при записи: 1 - да, 0 - нет CLRTRWPLA: Очищать траффик при воспроизведении: 1 - да, 0 - нет HIDEZCNAM: Скрыть названия зон/автомобилей для предотвращения багов: 1 - да, 0 - нет SHOWALLST: Отображать всю текстовую часть скрипта: 1 - да, 0 - нет
Каждый раз, когда вы делаете запись, скрипт создает файл "carrec.cr" в папке "CLEO\RECORDINGS\". Если файл уже существует - "CarRec" перезапишет его. В дальнейшем вы можете переименовать этот файл и использовать его в своих скриптах и миссиях(читайте "3. For Scripters\How to[RUS].txt"). Также в папке "2. Examples" вы можете увидеть несколько примеров использования таких записей: 1)1CarScene: Сцена с одним записанным авто. Активация/деактивация: C + 2 2)2CarsScene: Сцена с двумя записанными авто. Активация/деактивация: C + 3 3)10CarsScene: Сцена с десятью записанными транспортными средствами. Активация/деактивация: C + 4 4)360Scene: Сцена с четырьмя записанными транспортными средствами, одним записанным объектом(оторванное колесо инфернуса), эффектами и актерами. Активация/деактивация: C + 5
Также вы можете записывать движения объектов используя SCM функции из "3. For Scripters\SCM FUNCTIONS" (подробнее в "3. For Scripters\How to[RUS].txt").
Пример использования этого вы можете увидеть в "360Scene", когда одно оторванное колесо инфернуса движется точно в рулевой винт вертолета каждый раз, когда вы воспроизводите эту сцену.
Каждая запись, содержащаяся в ".cr" файле, состоит из "кадров". Каждый кадр имеет следующую структуру(0x30 байт на кадр):
0x00 - INT32 - Timekey in ms 0x04 - INT16 - XYZ.right.x 0x06 - INT16 - XYZ.right.y 0x08 - INT16 - XYZ.right.z 0x0A - INT16 - XYZ.up.x 0x0C - INT16 - XYZ.up.x 0x0E - INT16 - XYZ.up.x 0x10 - FLOAT - XYZ.pos.x 0x14 - FLOAT - XYZ.pos.x 0x18 - FLOAT - XYZ.pos.x 0x1C - INT16 - x push 0x1E - INT16 - y push 0x20 - INT16 - z push 0x22 - INT16 - x turn speed 0x24 - INT16 - y turn speed 0x26 - INT16 - z turn speed 0x28 - INT8 - Steering Angle 0x29 - INT8 - Accelerator Pedal Power 0x2A - INT8 - Brake Pedal Power 0x2B - INT8 - Hand Brake Status 0x2C - INT8 - Horn Status 0x2D-0x30 - 3 bytes - Reserved
Запись и воспроизведение не зависят от FPS: они привязаны к игровому таймеру, так что не имеет значения, если вы записываете при 60 FPS и воспроизводите эту запись при 30 FPS или наоборот.
Вы можете свободно использовать, распространять и модифицировать файлы, включенные в архив.
Автор: Shagg_E
Отдельная благодарность: DK - "Ядро" скрипта (операции с бинарными файлами), поддержка xanser - Решение проблемы лагов при движении spaceeinstein - Решение проблемы гудка автомобиля kenking - Решение проблемы оторванного колеса =SpitFire= - Помощь и поддержка mfisto - Помощь