This commit is the equivalent of a atomic bomb

This commit is contained in:
2026-02-15 08:08:56 -03:00
commit e4ac56b038
6934 changed files with 916278 additions and 0 deletions

View File

@@ -0,0 +1,752 @@
#include "BIS_AddonInfo.hpp"
#include "basicdefines_A3.hpp"
class DefaultEventhandlers;
#include "CfgPatches.hpp"
class WeaponFireGun;
class WeaponCloudsGun;
class WeaponFireMGun;
class WeaponCloudsMGun;
class CfgVehicles
{
class LandVehicle;
class Car: LandVehicle
{
class HitPoints;
class NewTurret;
};
class Car_F: Car
{
class Turrets
{
class MainTurret: NewTurret
{
class ViewOptics;
class ViewGunner;
};
};
class HitPoints /// we want to use hitpoints predefined for all cars
{
class HitLFWheel;
class HitLF2Wheel;
class HitRFWheel;
class HitRF2Wheel;
class HitBody;
class HitFuel;
class HitEngine;
class HitGlass1{};
class HitGlass2;
class HitGlass3;
class HitGlass4;
};
class EventHandlers;
class AnimationSources;
};
class Offroad_01_base_F: car_f {};
class BRAF_LR_01_Base: Offroad_01_base_F
{
selectionBackLights = "zadni svetlo";
selectionBrakeLights = "brzdove svetlo";
model = "braf\braf_soft\braf_land_rover\braf_LR.p3d"; /// simple path to model
picture = "braf\braf_soft\braf_land_rover\DATA\UI\Picture_lr_CA.paa"; /// just some icon in command bar
icon = "braf\braf_soft\braf_land_rover\data\UI\icon_lr_transport_ca.paa"; /// icon in map // imcompleto precisa ser feito
vehicleClass = "BRAF_Car";
displayName = "Defender 110 SW"; /// displayed in Editor
hiddenSelections[] =
{
"camo1",
"camo2"
};
hiddenSelectionsTextures[] =
{
"braf\braf_soft\braf_land_rover\data\braf_landrover_out_co.paa",
"braf\braf_soft\braf_land_rover\data\braf_landrover_in_co.paa"
};
terrainCoef = 2.5; /// different surface affects this car more, stick to tarmac
turnCoef = 2.5; /// should match the wheel turn radius
precision = 10; /// how much freedom has the AI for its internal waypoints - lower number means more precise but slower approach to way
brakeDistance = 3.0; /// how many internal waypoints should the AI plan braking in advance
acceleration = 15; /// how fast acceleration does the AI think the car has
fireResistance = 5; /// lesser protection against fire than tanks
armor = 32; /// just some protection against missiles, collisions and explosions
cost = 50000; /// how likely is the enemy going to target this vehicle
afmax = 100;
transportMaxBackpacks = 8; /// just some backpacks fit the trunk by default
transportSoldier = 4; /// number of cargo except driver
cargoProxyIndexes[] = {4,5,6,7};
getInProxyOrder[] = {1,2,3,4,5,6,7};
class CargoTurret;
class Turrets: Turrets
{
class CargoTurret_01: CargoTurret
{
gunnerAction = "passenger_inside_7";
memoryPointsGetInGunner = "pos cargo RF";
memoryPointsGetInGunnerDir = "pos cargo RF dir";
gunnerName = "$STR_A3_TURRETS_CARGOTURRET_R1";
gunnerCompartments = "Compartment2";
proxyIndex = 1;
isPersonTurret = 3;
canHideGunner = 0;
allowLauncherIn = 0;
allowLauncherOut = 0;
class TurnIn
{
limitsArrayTop[] = {{23.9621,-61.2561},{14.3315,-18.7728}};
limitsArrayBottom[] = {{-19.6203,-79.3331},{-16.2632,-23.6018}};
};
class dynamicViewLimits
{
CargoTurret_02[] = {-65,75};
};
};
class CargoTurret_02: CargoTurret_01
{
gunnerAction = "passenger_inside_7";
gunnerName = "$STR_A3_TURRETS_CARGOTURRET_L2";
memoryPointsGetInGunner = "pos cargo LR";
memoryPointsGetInGunnerDir = "pos cargo LR dir";
proxyIndex = 2;
class TurnIn
{
limitsArrayTop[] = {{37.1488,-71.9003},{36.4967,92.2757}};
limitsArrayBottom[] = {{-22.1832,-70.0989},{-13.9068,-22.8107},{-7.1236,75.6849},{-7.8564,102.5826}};
};
class dynamicViewLimits
{
CargoTurret_01[] = {-75,65};
};
};
class CargoTurret_03: CargoTurret_01
{
gunnerAction = "passenger_inside_7";
gunnerName = "$STR_A3_TURRETS_CARGOTURRET_R2";
memoryPointsGetInGunner = "pos cargo RR";
memoryPointsGetInGunnerDir = "pos cargo RR dir";
proxyIndex = 3;
class TurnIn
{
limitsArrayTop[] = {{23.9621,-61.2561},{14.3315,-18.7728}};
limitsArrayBottom[] = {{-19.6203,-79.3331},{-16.2632,-23.6018}};
};
class dynamicViewLimits
{
CargoTurret_01[] = {5,75};
CargoTurret_02[] = {-15,75};
CargoTurret_04[] = {-75,75};
};
};
};
/// some values from parent class to show how to set them up
wheelDamageRadiusCoef = 0.9; /// for precision tweaking of damaged wheel size
wheelDestroyRadiusCoef = 0.4; /// for tweaking of rims size to fit ground
maxFordingDepth = 0.5; /// how high water would damage the engine of the car
waterResistance = 1; /// if the depth of water is bigger than maxFordingDepth it starts to damage the engine after this time
crewCrashProtection = 0.25; /// multiplier of damage to crew of the vehicle => low number means better protection
driverLeftHandAnimName = "drivewheel"; /// according to what bone in model of car does hand move
driverRightHandAnimName = "drivewheel"; /// beware, non-existent bones may cause game crashes (even if the bones are hidden during play)
class TransportItems /// some first aid kits in trunk according to safety regulations
{
item_xx(FirstAidKit,4);
};
#include "cfg_TextureSources.hpp"
driverAction = driver_offroad01; /// what action is going the driver take inside the vehicle. Non-existent action makes the vehicle inaccessible
cargoAction[] = { passenger_generic01_foldhands, passenger_generic01_foldhands, passenger_generic01_foldhands, passenger_generic01_foldhands, passenger_generic01_foldhands}; /// the same of all the crew
getInAction = GetInLow; /// how does driver look while getting in
getOutAction = GetOutLow; /// and out
cargoGetInAction[] = {"GetInLow"}; /// and the same for the rest, if the array has fewer members than the count of crew, the last one is used for the rest
cargoGetOutAction[] = {"GetOutLow"}; /// that means all use the same in this case
#include "sounds.hpp" /// sounds are in a separate file to make this one simple
#include "pip.hpp" /// PiPs are in a separate file to make this one simple
#include "physx.hpp" /// PhysX settings are in a separate file to make this one simple
class PlayerSteeringCoefficients /// steering sensitivity configuration
{
turnIncreaseConst = 0.3; // basic sensitivity value, higher value = faster steering
turnIncreaseLinear = 1.0; // higher value means less sensitive steering in higher speed, more sensitive in lower speeds
turnIncreaseTime = 1.0; // higher value means smoother steering around the center and more sensitive when the actual steering angle gets closer to the max. steering angle
turnDecreaseConst = 5.0; // basic caster effect value, higher value = the faster the wheels align in the direction of travel
turnDecreaseLinear = 3.0; // higher value means faster wheel re-centering in higher speed, slower in lower speeds
turnDecreaseTime = 0.0; // higher value means stronger caster effect at the max. steering angle and weaker once the wheels are closer to centered position
maxTurnHundred = 0.7; // coefficient of the maximum turning angle @ 100km/h; limit goes linearly to the default max. turn. angle @ 0km/h
};
/// memory points where do tracks of the wheel appear *****(complete by OdyseusBR)******
// front left track, left offset
memoryPointTrackFLL = "TrackFLL";
// front left track, right offset
memoryPointTrackFLR = "TrackFLR";
// back left track, left offset
memoryPointTrackBLL = "TrackBLL";
// back left track, right offset
memoryPointTrackBLR = "TrackBLR";
// front right track, left offset
memoryPointTrackFRL = "TrackFRL";
// front right track, right offset
memoryPointTrackFRR = "TrackFRR";
// back right track, left offset
memoryPointTrackBRL = "TrackBRL";
// back right track, right offset
memoryPointTrackBRR = "TrackBRR";
class Damage /// damage changes material in specific places (visual in hitPoint)
{
tex[]={};
mat[]=
{
"braf\braf_soft\braf_land_rover\data\braf_landrover_out.rvmat",
"braf\braf_soft\braf_land_rover\data\LR_base_damage.rvmat",
"braf\braf_soft\braf_land_rover\data\LR_base_destruct.rvmat",
"braf\braf_soft\braf_land_rover\data\braf_landrover_glass.rvmat",
"braf\braf_soft\braf_land_rover\data\LR_glass_damage.rvmat",
"braf\braf_soft\braf_land_rover\data\LR_glass_destruct.rvmat",
/*"braf\braf_soft\braf_land_rover\data\LR_Special.rvmat",
"braf\braf_soft\braf_land_rover\data\LR_Special_damage.rvmat",
"braf\braf_soft\braf_land_rover\data\LR_Special_destruct.rvmat",*/
"a3\data_f\default.rvmat", "a3\data_f\default.rvmat",
"a3\data_f\default_destruct.rvmat"
};
};
/// class exhaust is complete ****(Complete by Bento)*****
class Exhausts /// specific exhaust effects for the car
{
class Exhaust1 /// the car has two exhausts - each on one side
{
position = "vyfuk start"; /// name of initial memory point
direction = "vyfuk konec"; /// name of memory point for exhaust direction
effect = "ExhaustsEffect"; /// what particle effect is it going to use
};
};
class Reflectors /// only front lights are considered to be reflectors to save CPU
{
class LightCarHeadL01 /// lights on each side consist of two bulbs with different flares
{
color[] = {1900, 1800, 1700}; /// approximate colour of standard lights
ambient[] = {5, 5, 5}; /// nearly a white one
position = "LightCarHeadL01"; /// memory point for start of the light and flare
direction = "LightCarHeadL01_end"; /// memory point for the light direction
hitpoint = "Light_L"; /// point(s) in hitpoint lod for the light (hitPoints are created by engine)
selection = "Light_L"; /// selection for artificial glow around the bulb, not much used any more
size = 1; /// size of the light point seen from distance
innerAngle = 100; /// angle of full light
outerAngle = 179; /// angle of some light
coneFadeCoef = 10; /// attenuation of light between the above angles
intensity = 1; /// strength of the light
useFlare = true; /// does the light use flare?
dayLight = false; /// switching light off during day saves CPU a lot
flareSize = 1.0; /// how big is the flare
class Attenuation
{
start = 1.0;
constant = 0;
linear = 0;
quadratic = 0.25;
hardLimitStart = 30; /// it is good to have some limit otherwise the light would shine to infinite distance
hardLimitEnd = 60; /// this allows adding more lights into scene
};
};
class LightCarHeadR01: LightCarHeadL01
{
position = "LightCarHeadR01";
direction = "LightCarHeadR01_end";
hitpoint = "Light_R";
selection = "Light_R";
};
};
aggregateReflectors[] = {{"LightCarHeadL01", "LightCarHeadL02"}, {"LightCarHeadR01", "LightCarHeadR02"}}; /// aggregating reflectors helps the engine a lot
/// it might be even good to aggregate all lights into one source as it is done for most of the cars
class EventHandlers: EventHandlers
{
postInit = "if (local (_this select 0)) then { [(_this select 0), """", [], false] call BIS_fnc_initVehicle; };";
};
/*
// Must be kept as fail-safe in case of issue with the function
hiddenSelectionsTextures[]={"\A3\Weapons_F\Data\placeholder_co.paa"}; /// we could use any texture to cover the car
// Definition of texture sources (skins), used for the VhC (Vehicle customization)
// Also, because the Garage uses the VhC, it will make them available from the garage
class textureSources
{
class red // Source class
{
displayName="Red"; // name displayed, among other, from the garage
author=$STR_A3_Bohemia_Interactive; // Author of the skin
textures[]=// List of textures, in the same order as the hiddenSelections definition
{
"braf\braf_soft\braf_land_rover\data\BRAF_LANDROVER_BASE_co.paa",
"braf\braf_soft\braf_land_rover\data\BRAF_EB_landrover_co.paa",
};
};
};
// [_textureSourceClass1, _probability1, _textureSourceClass2, _probability2, ...]
// Default behavior of the VhC is to select one of these sources, with a weighted random
textureList[]=
{
"red", 1
// You can noticed that the white source is missing, therefore, it won't be part of the random
};*/
class AnimationSources: AnimationSources
{
class HideDoor1
{
scope = 0;
};
class HideDoor2: HideDoor1
{
scope = 0;
};
class HideGlass2
{
scope = 0;
};
class HideDoor3: HideDoor1
{
scope = 0;
};
class HideBackpacks
{
scope = 0;
};
class HideBumper1
{
displayName = "Hide Bumper Brazilian Army";
source = "user";
initPhase = 1;
animPeriod = 0.001;
forceAnimatePhase = 0;
forceAnimate[] = {"HideBumper2", 1};
forceAnimate2[] = {"HideBumper2", 0};
mass = -50;
};
class HideBumper2
{
displayName = "Hide Bumper Gendarmerie";
source = "user";
initPhase = 1;
animPeriod = 0.001;
forceAnimatePhase = 0;
forceAnimate[] = {"HideBumper1", 1};
forceAnimate2[] = {"HideBumper1", 0};
mass = -90;
};
class hidePolicelights
{
displayName = "Hide Policy Light";
source = "Proxy";
initPhase = 1;
mass = -12;
};
class HideConstruction
{
scope = 0;
};
class hidePolice
{
scope = 0;
};
class HideServices
{
scope = 0;
};
class BeaconsStart
{
scope = 0;
};
class BeaconsServicesStart
{
scope = 0;
};
class Hide_Dashboard
{
scope = 0;
};
class Doors
{
scope = 0;
};
/*
class Proxy
{
source = "user";
animPeriod = 0.001;
initPhase = 1;
};
*/
class Beacons
{
scope = 0;
};
class Destruct
{
scope = 0;
};
};
class HitPoints: HitPoints
{
class HitLFWheel: HitLFWheel {armor=0.125; passThrough=0;}; /// it is easier to destroy wheels than hull of the vehicle
class HitLF2Wheel: HitLF2Wheel {armor=0.125; passThrough=0;};
class HitRFWheel: HitRFWheel {armor=0.125; passThrough=0;};
class HitRF2Wheel: HitRF2Wheel {armor=0.125; passThrough=0;};
class HitFuel {armor=0.50; material=-1; name="fueltank"; visual=""; passThrough=0.2;}; /// correct points for fuel tank, some of the damage is aFRLied to the whole
class HitEngine {armor=0.50; material=-1; name="engine"; visual=""; passThrough=0.2;};
class HitBody: HitBody {name = "body"; visual="camo1"; passThrough=1;}; /// all damage to the hull is aFRLied to total damage
class HitGlass1: HitGlass1 {armor=0.25;}; /// it is pretty easy to puncture the glass but not so easy to remove it
class HitGlass2: HitGlass2 {armor=0.25;};
class HitGlass3: HitGlass3 {armor=0.25;};
class HitGlass4: HitGlass4 {armor=0.25;};
};
class MFD /// Clocks on the car board
{
class ClockHUD
{
#include "cfgHUD.hpp"
};
};
};
/*class BRAF_LR_110_SW: BRAF_LR_Base {
forceInGarage=1; // This will force the garage to display this vehicle, otherwise it won't because it shares the same p3d as the previous
scopeCurator=2;
faction = "BRAF_ARMY";
side = 2;
scope = 2;
typicalcargo[] = {};
displayname = "Land Rover 110 SW";
hiddenSelectionsTextures[] = {
"braf\braf_soft\braf_land_rover\data\BRAF_LANDROVER_BASE_co.paa",
"braf\braf_soft\braf_land_rover\data\BRAF_EB_landrover_co.paa",
};
class Turrets {
};
class HitPoints: HitPoints {
class HitGlass1 {
armor = 0.15;
};
class HitGlass2 {
armor = 0.1;
};
class HitGlass3 {
armor = 0.1;
};
};
class TransportMagazines {
};
class TransportWeapons {
};
class NVGMarkers {
class NVGMarker01 {
ambient[] = {0.003, 0.0003, 0.0003, 1};
blinking = 1;
brightness = 0.001;
color[] = {0.03, 0.003, 0.003, 1};
name = "nvg_marker";
};
};*/
// Derivate from the base class
class BRAF_LR110_Hardtop: BRAF_LR_01_Base /// some class that is going to be visible in editor
{
scope = 2; /// makes the car visible in editor
scopeCurator = 2; // scope 2 means it's available in Zeus mode (0 means hidden)
crew = "braf_soldier_light"; /// we need someone to fit into the car
side = 2; /// civilian car should be on civilian side
faction = "BRAF_ARMY"; /// and with civilian faction
displayName = "Land Rover 110 SW (Hard Top)";
hiddenSelections[] =
{
"camo1",
"camo2"
};
hiddenSelectionsTextures[] =
{
"braf\braf_soft\braf_land_rover\data\Skins\EB\braf_EB_landroverout_co.paa",
"braf\braf_soft\braf_land_rover\data\Skins\EB\braf_EB_landroverin_co.paa"
};
hiddenSelectionsMaterials[] =
{
"braf\braf_soft\braf_land_rover\data\Skins\EB\braf_EB_landrover_out.rvmat",
"braf\braf_soft\braf_land_rover\data\Skins\EB\braf_EB_landrover_in.rvmat"
};
animationList[] =
{
"HideBumper1", 0,
"HideBumper2", 1
};
textureList[] =
{
"C_BRAF_LR110_SW", 1,
"C_BRAF_LR_110_GEN", 0,
"C_BRAF_LR_110_white", 0,
"C_BRAF_LR_110_white", 0
};
};
class BRAF_LR110_CIV: BRAF_LR_01_Base /// some class that is going to be visible in editor
{
scope = 2; /// makes the car visible in editor
scopeCurator = 2; // scope 2 means it's available in Zeus mode (0 means hidden)
crew = "braf_soldier_light"; /// we need someone to fit into the car
side = 3; /// civilian car should be on civilian side
faction = "BRAF_CIV"; /// and with civilian faction
displayName = "Land Rover 110 SW (Hard Top)";
animationList[] =
{
"HideBumper1", 1,
"HideBumper2", 1
};
textureList[] =
{
"C_BRAF_LR110_SW", 0,
"C_BRAF_LR_110_GEN", 0,
"C_BRAF_LR_110_white", 0,
"C_BRAF_LR_110_white", 1
};
};
class BRAF_LR110_gendarmerie: BRAF_LR_01_Base /// some class that is going to be visible in editor
{
scope = 2; /// makes the car visible in editor
scopeCurator = 2; // scope 2 means it's available in Zeus mode (0 means hidden)
crew = "braf_soldier_light"; /// we need someone to fit into the car
side = 1;
faction = "BLU_GEN_F";
displayName = "Land Rover 110 SW (Hard Top)";
hiddenSelections[] =
{
"camo1",
"camo2"
};
hiddenSelectionsTextures[] =
{
"braf\braf_soft\braf_land_rover\data\Skins\GEN\braf_landrover_GENout_co.paa",
"braf\braf_soft\braf_land_rover\data\Skins\GEN\braf_landrover_GENin_co.paa"
};
hiddenSelectionsMaterials[] =
{
"braf\braf_soft\braf_land_rover\data\Skins\GEN\braf_GEN_landrover_out.rvmat",
"braf\braf_soft\braf_land_rover\data\Skins\GEN\braf_GEN_landrover_in.rvmat"
};
animationList[] =
{
"HideBumper1", 1,
"HideBumper2", 0,
"hidePolicelights", 1,
};
textureList[] =
{
"C_BRAF_LR110_SW", 0,
"C_BRAF_LR_110_GEN", 1,
"C_BRAF_LR_110_white", 0,
"C_BRAF_LR_110_white", 0
};
};
class BRAF_LR110_UN: BRAF_LR_01_Base /// some class that is going to be visible in editor
{
scope = 2; /// makes the car visible in editor
scopeCurator = 2; // scope 2 means it's available in Zeus mode (0 means hidden)
crew = "braf_soldier_light"; /// we need someone to fit into the car
side = 1;
faction = "UN";
displayName = "Land Rover 110 SW (Hard Top)";
hiddenSelections[] =
{
"camo1",
"camo2"
};
hiddenSelectionsTextures[] =
{
"braf\braf_soft\braf_land_rover\data\Skins\UN\braf_landrover_UN_out_co.paa",
"braf\braf_soft\braf_land_rover\data\Skins\UN\braf_landrover_UN_in_co.paa"
};
hiddenSelectionsMaterials[] =
{
"braf\braf_soft\braf_land_rover\data\Skins\UN\braf_landrover_un_out.rvmat",
"braf\braf_soft\braf_land_rover\data\Skins\UN\braf_landrover_un_in.rvmat"
};
animationList[] =
{
"HideBumper1", 1,
"HideBumper2", 0
};
textureList[] =
{
"C_BRAF_LR110_SW", 0,
"C_BRAF_LR_110_GEN", 0,
"C_BRAF_LR_110_white", 1,
"C_BRAF_LR_110_white", 0
};
};
class BRAF_LR_softtop_4d: BRAF_LR_01_Base /// some class that is going to be visible in editor
{
model = "braf\braf_soft\braf_land_rover\bRAF_LR_softtop_4d"; /// simple path to model
scope = 2; /// makes the car visible in editor
displayname = "Land Rover 110 SW (Soft Top)" ; /// displayed in Editor
scopeCurator=2; // scope 2 means it's available in Zeus mode (0 means hidden)
crew = "braf_Soldier_light_naval"; /// we need someone to fit into the car
side = 2;
faction = "BRAF_ARMY";
hiddenSelections[] = {"camo1","camo2"}; ///we want to allow changing the color of this selection
hiddenSelectionsTextures[] = {
"braf\braf_soft\braf_land_rover\data\Skins\EB\braf_EB_landroverout_co.paa",
"braf\braf_soft\braf_land_rover\data\Skins\EB\braf_EB_landroverin_co.paa",
};
hiddenSelectionsMaterials[] = {
"braf\braf_soft\braf_land_rover\data\Skins\EB\braf_EB_landrover_out.rvmat",
"braf\braf_soft\braf_land_rover\data\Skins\EB\braf_EB_landrover_in.rvmat",
};
animationList[] =
{
"HideBumper1", 0,
"HideBumper2", 1
};
textureList[] =
{
"C_BRAF_LR110_SW", 1,
"C_BRAF_LR_110_GEN", 0,
"C_BRAF_LR_110_white", 0
};
};
class BRAF_LR_softtop_4d_armed: BRAF_LR_01_Base /// some class that is going to be visible in editor
{
model = "braf\braf_soft\braf_land_rover\BRAF_LR_softtop_4d_armed"; /// simple path to model
scope = 2; /// makes the car visible in editor
displayname = "Land Rover 110 (ARMED)" ; /// displayed in Editor
scopeCurator=2; // scope 2 means it's available in Zeus mode (0 means hidden)
crew = "braf_Soldier_light_naval"; /// we need someone to fit into the car
side = 2;
faction = "BRAF_ARMY";
hiddenSelections[] = {"camo1","camo2"}; ///we want to allow changing the color of this selection
hiddenSelectionsTextures[] = {
"braf\braf_soft\braf_land_rover\data\Skins\EB\braf_EB_landroverout_co.paa",
"braf\braf_soft\braf_land_rover\data\Skins\EB\braf_EB_landroverin_co.paa",
};
hiddenSelectionsMaterials[] = {
"braf\braf_soft\braf_land_rover\data\Skins\EB\braf_EB_landrover_out.rvmat",
"braf\braf_soft\braf_land_rover\data\Skins\EB\braf_EB_landrover_in.rvmat",
};
animationList[] =
{
"HideBumper1", 0,
"HideBumper2", 1
};
textureList[] =
{
"C_BRAF_LR110_SW", 1,
"C_BRAF_LR_110_GEN", 0,
"C_BRAF_LR_110_white", 0
};
};
/*
class BRAF_LR110_SW_01_Special_F: BRAF_LR_01_Base /// some class that is going to be visible in editor
{
model = "braf\braf_soft\braf_land_rover\bRAF_LR_navy.p3d"; /// simple path to model
forceInGarage=1; // This will force the garage to display this vehicle, otherwise it won't because it shares the same p3d as the previous
displayName="Defender 110 SW (Open)";
scope=2; /// makes the car visible in editor
crew = "braf_Soldier_light_naval"; /// we need someone to fit into the car
side=2; /// civilian car should be on civilian side
faction = "braf_fn"; /// and with civilian faction
// the texture source used will be the green one, whatever it probability because it's the only one defined here
hiddenSelections[] = {"camo1","camo2"}; ///we want to allow changing the color of this selection
hiddenSelectionsTextures[] = {
"braf\braf_soft\braf_land_rover\data\Skins\BRAF_FN_landrover_co.paa",
"braf\braf_soft\braf_land_rover\data\Skins\lr_special_FN_co.paa"
};
};*/
};