Кастомизация Авто

Попробую разъяснить как добавить возможность кастомизировать авто, через виртуальный арсенал например.

Вся эта кастомизация для игры — это по сути те же действия, что и при повреждении колес\стекол — т.е. мы анхайдим\хайдим нужный селекшн по нажатии кнопочки.

Вот допустим у меня есть 2 спойлера для машины, и хочу что бы в виртуальном арсенале я мог поставить любой из них, либо убрать все, при этом надо сделать так, что бы 2 спойлера сразу поставить нельзя было.

И так, создаем 2 селекшена для двух спойлеров, и называем как удобно:

 

 

Больше в модели ничего делать не нужно, переходим к model.cfg

Нам нужно добавить селекшены в скелетон нашего авто. Ищем название нашего .p3d в конфиге, и смотрим строку «skeletonName = «. Если «skeletonName = «civil_car» — ищем скелетон с названием «civil_car» и добавляем в него наши селекшены:

Не забываем в последней строчке селекшенов удалять запятую, иначе это будет считаться ошибкой!

Теперь в самом низу в классе нашего авто добавляем строки:

Теперь можно проверить в бульдозере — находим имя анимации, крутим колесиком, если спойлер пропадает\появляется — идем дальше

Переходим к config.cpp

Там в любом месте ОСНОВНОГО класса авто вставляем

Цифры «1» и «0» в конце означают шанс появления этого селекшена когда ставим машину на карту. «0» — никогда не появится, «1» — будет всегда, значения можно варьировать (0.2, 0.5 и т.п.)

Далее в этом же конфиге находим класс «class AnimationSources» (если нет — то создаем так же в главном классе авто), и копируем туда следующее:

Объяснять тут особо нечего, кроме как «forceAnimate[]» — который как раз и не позволяет поставить 2 спойлера одновременно, т.е. при активации первого, второй выставлять в «0»

Сюда еще можно добавить параметры:

mass = 20;

Что добавляет массу при активации селекшена, правда не совсем понятно как она распределяется.

lockCargoAnimationPhase = 0;  и  lockCargo[] = {0,1,5};

Эти параметры убирают действие сесть на место пассажира при активации\деактивации селекшена (например если вместо заднего сиденья поставим какую-нибудь аппаратуру)

Массив «{0,1,5}» — вероятно ID прокси пассажиров.

 

Не советую включать в кастомизацию части авто, которые уже имеют анимацию (двери\стекла\турели\колеса), т.к. для этого нужно создавать зависимость между анимациями, а для этого желательно создавать свой скелетон, вообщем гемморой.