class BRAF_LMV_base: Car_F { features="Randomization: No
Camo selections: 2 - the body, wheels and cover
Script door sources: Door_LF, Door_RF, Door_LB, Door_RB
Script animations: None
Executed scripts: None
Firing from vehicles: No
Slingload: Slingloadable
Cargo proxy indexes: 1 to 3"; scope=0; // Permite que o carro apareça no editor (2-sim 0-não). scopeCurator=0; // Permite que o carro apareça no Zeus (2-sim 0-não). side=2; // Lado da facção (0-OpFor, 1-Blufor, 2-IndFor, 3-Civil). _generalMacro="BRAF_LMV_base"; // Nome de referência para uso de macros. author="BRAF TEAM"; // Autor. faction="BRAF_Army"; // Facção. vehicleClass="Car"; // Classe do veículo. editorSubcategory="EdSubcat_Cars"; // Subcategoria do veículo. displayName="$STR_braf_iveco_lmv"; // Nome de exibição do Veículo. model="braf\braf_armored\BRAF_LMV\BRAF_LMV.p3d"; // Modelo 3D do veículo. editorPreview="\braf\braf_insignia\editorpreview\armored\BRAF_LMV_EB.jpg"; // Miniatura do veículo quando mostrado no editor. picture="braf\braf_armored\BRAF_LMV\Data\UI\LMV_Base_ca.paa"; // Miniatura do veículo quando na garagem. Icon="braf\braf_armored\BRAF_LMV\Data\UI\map_LMV_CA.paa"; // Imagem do ícone do veículo no mapa. mapSize=9.4200001; // Tamanho do ícone no mapa. nameSound="veh_vehicle_MRAP_s"; // Som reproduzido pela AI ao identificar o veículo. class SpeechVariants { class Default { speechSingular[]= { "veh_vehicle_MRAP_s" }; speechPlural[]= { "veh_vehicle_MRAP_p" }; }; }; textSingular="$STR_A3_nameSound_veh_vehicle_MRAP_s"; textPlural="$STR_A3_nameSound_veh_vehicle_MRAP_p"; class Library // Texto descrevendo algo sobre o veículo. { libTextDesc="$STR_braf_iveco_lmv_description"; }; ////////////////////////////////////////////////// Comportamento do veículo quando na água canFloat=0; // Pode boiar 1-sim 2-não. (Precisa de um LOD de buoyance) maxFordingDepth=0.5; // Altura da água em que o motor pode sofrer dano. waterAngularDampingCoef=10; // waterPPInVehicle=1; // Ativa/desativa o shader de água. waterResistanceCoef=5; // Tempo que o motor pode ficar submerso até sofre dano. cost=500000; // Importância do alvo para a AI. threat[]={0.25,0.25,0.25}; // Nível de ameaça representado para {Infantaria,Veículos,Aeronaves}. ////////////////////////////////////////////////// Efeitos Visuais memoryPointTaskMarker="TaskMarker_1_pos"; // sensorPosition="sensorPos"; // Posição do sensor. memoryPointSupply="supply"; // Posição de acesso ao inventário do veículo. memoryPointTrackFLL="TrackFLL"; // Posição onde as marcas de pneu aparecem. memoryPointTrackFLR="TrackFLR"; // Posição onde as marcas de pneu aparecem. memoryPointTrackBLL="TrackBLL"; // Posição onde as marcas de pneu aparecem. memoryPointTrackBLR="TrackBLR"; // Posição onde as marcas de pneu aparecem. memoryPointTrackFRL="TrackFRL"; // Posição onde as marcas de pneu aparecem. memoryPointTrackFRR="TrackFRR"; // Posição onde as marcas de pneu aparecem. memoryPointTrackBRL="TrackBRL"; // Posição onde as marcas de pneu aparecem. memoryPointTrackBRR="TrackBRR"; // Posição onde as marcas de pneu aparecem. dustFrontLeftPos="dustFrontLeft"; // Posição onde a poeira dos pneus aparece. dustFrontRightPos="dustFrontRight"; // Posição onde a poeira dos pneus aparece. dustBackLeftPos="dustBackLeft"; // Posição onde a poeira dos pneus aparece. dustBackRightPos="dustBackRight"; // Posição onde a poeira dos pneus aparece. selectionBackLights="backlight"; // Lanterna traseira. selectionBrakeLights="brakelight"; // Luz de freio. selectionDashboard="dashboardlight"; // Luz de painel. class NVGMarkers // { class NVGMarker01 { name="nvg_marker"; color[]={0.029999999,0.003,0.003,1}; ambient[]={0.003,0.00030000001,0.00030000001,1}; brightness=0.001; blinking=1; }; }; class Reflectors // Farol do veículo. { class Left1 { color[]={1.9,1.8,1.7}; // Cor ambient[]={5,5,5}; // position="Light_L1_pos"; // Ponto onde a luz e o flare aparecem. direction="Light_L1_dir"; // Ponto de direção da luz e do flare. hitpoint="Light_L1"; // Ponto de destruição da luz. selection="Light_L1"; // Farol aceso. size=1; // Tamanho do ponto de luz quando visto à distância. innerAngle=30; // Ângulo onde a luz é mais intensa. outerAngle=179; // Ângulo de atenuação da luz coneFadeCoef=10; // Atenuação da luz entre os ângulos acima intensity=100; // Intensidade da luz useFlare=0; // Usa flare? (0-Não, 1-Sim) dayLight=0; // "Renderiza" o farol durante o dia? (0-Não, 1-Sim) 0 melhor para a performance. flareSize=1; // Tamanho do flare class Attenuation { start=1; // constant=0; // linear=0; // quadratic=0.050000001; // hardLimitStart=50; // Limite inicial do fade da luz. hardLimitEnd=80; // Distância máxima onde a luz é renderizada. }; }; class Left2: Left1 { position="Light_L2_pos"; direction="Light_L2_dir"; hitpoint="Light_L2"; selection="Light_L2"; }; class Right1: Left1 { position="Light_R1_pos"; direction="Light_R1_dir"; hitpoint="Light_R1"; selection="Light_R1"; }; class Right2: Left1 { position="Light_R2_pos"; direction="Light_R2_dir"; hitpoint="Light_R2"; selection="Light_R2"; }; }; aggregateReflectors[]={{}}; // Agregar refletores ajuda na performace. class compartmentsLights // Luzes internas de cabine. { class Comp1 // Parâmetros de luz do compartimento 1. { class Light1 // Mesma coisa descrita em reflectors. { color[]={50,0,0}; ambient[]={5,0,0}; intensity=1; size=1; innerAngle=15; outerAngle=150; coneFadeCoef=1; useFlare=1; flareSize=0.1; flareMaxDistance=1; dayLight=1; class Attenuation { start=0; constant=0; linear=1; quadratic=1; hardLimitStart=0.75; hardLimitEnd=1; }; point="Cabin_Light_Front"; // Ponto onde a luz aparece. }; class Light2: Light1 { point="Cabin_Light_Back"; color[]={50,0,0}; ambient[]={5,0,0}; }; }; }; class Exhausts // Efeito de exaustão do motor. { class Exhaust1 // { position="exhaust_pos"; // Posição de origem do efeito. direction="exhaust_dir"; // Posição de direção do efeito. effect="ExhaustEffectHTruck"; // Efeito desejado. }; }; ////////////////////////////////////////////////// Animações e ações customizadas class AnimationSources: AnimationSources // Fontes de animações. { //class Hit_Step // //{ // source="Hit"; // Fonte da animação. // hitpoint="HitReserveWheel"; // Hitpoint que deve ser atingido para a animação ser ativada. // raw=1; // // animPeriod=0.001; // Tempo de duração da animação. // initPhase=1; // Fase inicial. // mass=225; // Massa a ser adicionada ou subtraída quando a animação é ativada. //}; class Armed_Hide { source="user"; animPeriod=0.001; initPhase=0; mass=-300; }; class Close_Hatch { source="hatchGunner"; animPeriod=0.001; initPhase=0; }; class Step_Hide { source="user"; animPeriod=0.001; initPhase=0; mass=250; }; class Step { source="user"; animPeriod=0.001; initPhase=0; mass=-250; }; class Bumper_1 { source="user"; animPeriod=0.001; initPhase=0; mass=-150; }; class Bumper_2 { source="user"; animPeriod=0.001; initPhase=0; mass=150; }; class Jerry_Hide { source="user"; animPeriod=0.001; initPhase=0; mass=50; }; class Smoke_Hide { source="user"; animPeriod=0.001; initPhase=0; mass=150; }; class Marker_Hide { source="user"; animPeriod=0.001; initPhase=1; }; }; animationList[]= { "Armed_Hide",0, "Bumper_1",1, "Bumper_2",0, "Step_Hide",1, "Step",0, "Jerry_Hide",0, "Smoke_Hide",0, "showCamonetHull",0 }; class UserActions { class Marker_Off { displayname="Turn Marker lights Off"; position="supply"; showWindow=1; radius=20; priority=1; onlyForPlayer=0; condition="Alive(this) AND this animationphase 'Marker_Hide' < 0.2 AND (player in crew this)"; statement="this animate ['Marker_Hide',1]"; }; class Marker_On: Marker_Off { displayname="Turn Marker lights On"; condition="Alive(this) AND this animationphase 'Marker_Hide' > 0.8 AND (player in crew this)"; statement="this animate ['Marker_Hide',0]"; }; }; ////////////////////////////////////////////////// Danos e troca de texturas/materiais hiddenSelections[]= { "fratricide_counter", "NATOSymbol_currentFraction_first", "NATOSymbol_currentFraction_second", "NATOSymbol_type", "NATOSymbol_size", "NATOSymbol_superiorFraction_first", "NATOSymbol_superiorFraction_second", "Camo1", // "Camo2", // "Camo3", // //"Camo4", // //"Camonet", // "Glass" // }; hiddenSelectionsTextures[]= { "", "", "", "", "", "", "", "braf\braf_armored\BRAF_LMV\Data\Camo1_co.paa", // Textura a ser aplicada "braf\braf_armored\BRAF_LMV\Data\Camo2_co.paa", // em cada seleção definida acima. "braf\braf_armored\BRAF_LMV\Data\Camo3_co.paa", // "braf\braf_armored\BRAF_LMV\Data\Glass_ca.paa" // }; class TextureSources { class EB_01 { displayName="$STR_braf_ee9_cascavel_cammo_lizard"; author="BRAF Team"; textures[]= { "", "", "", "", "", "", "", "braf\braf_armored\BRAF_LMV\Data\Camo1_co.paa", "braf\braf_armored\BRAF_LMV\Data\Camo2_co.paa", "braf\braf_armored\BRAF_LMV\Data\Camo3_co.paa", "braf\braf_armored\BRAF_LMV\Data\Glass_ca.paa" }; factions[]={"BRAF_ARMY"}; }; }; armor=200; // Armadura do veículo. fireResistance=5; // Resistencia ao fogo. armorStructural=5; // crewVulnerable=0; // crewCrashProtection=0.35; // Multiplicador de dano à tripulação. crewExplosionProtection=0.99989998; // wheelDamageThreshold=0.18000001; // wheelDamageRadiusCoef=0.75; // wheelDestroyRadiusCoef=0.47999999; // class Damage // Modifica o material aplicado no veículo, visual em hitpoint. { tex[]={}; mat[]= { "braf\braf_armored\BRAF_LMV\Data\camo1.rvmat", // material mapeado no modelo. "braf\braf_armored\BRAF_LMV\Data\damage\camo1_damage.rvmat", // material quando o dano atinge 50%. "braf\braf_armored\BRAF_LMV\Data\damage\camo_destruct.rvmat", // material quando o dano atinge 100%. "braf\braf_armored\BRAF_LMV\Data\camo2.rvmat", // Outro material, segue a ordem "braf\braf_armored\BRAF_LMV\Data\damage\camo2_damage.rvmat", // definida no hiddenSelections. "braf\braf_armored\BRAF_LMV\Data\damage\camo_destruct.rvmat", // "braf\braf_armored\BRAF_LMV\Data\camo3.rvmat", "braf\braf_armored\BRAF_LMV\Data\damage\camo3_damage.rvmat", "braf\braf_armored\BRAF_LMV\Data\damage\camo_destruct.rvmat", "a3\data_f\glass_veh.rvmat", "braf\braf_armored\BRAF_LMV\Data\damage\glass_damage.rvmat", "braf\braf_armored\BRAF_LMV\Data\damage\glass_damage.rvmat" }; }; class HitPoints: HitPoints // Pontos para cálculo de dano do veículo { class HitLFWheel: HitLFWheel // Pontos de dano da roda { radius=0.33000001; // Raio da esfera centrada em cada ponto definindo no LOD hitpoints. visual=""; // Seleção que sofrerá troca de material quando danificada. name="HP_Wheel_1_1"; // armorComponent="wheel_1_1_hide"; // Seleção no FireGeometry Lod. armor=-250; // minimalHit=-0.016000001; // explosionShielding=4; // passThrough=0; // }; class HitLF2Wheel: HitLFWheel { visual=""; name="HP_wheel_1_2"; armorComponent="wheel_1_2_hide"; }; class HitRFWheel: HitLFWheel { visual=""; name="HP_wheel_2_1"; armorComponent="wheel_2_1_hide"; }; class HitRF2Wheel: HitLFWheel { visual=""; name="HP_wheel_2_2"; armorComponent="wheel_2_2_hide"; }; class HitBody // Pontos de dano da carroceria { armor=6; material=-1; name="hit_body"; visual="zbytek"; passThrough=1; minimalHit=0.0099999998; explosionShielding=1.5; radius=0.44999999; }; class HitHull { armor=1; material=-1; armorComponent="hull"; name="hit_hull"; visual="-"; passThrough=0.5; minimalHit=0.2; explosionShielding=0.60000002; radius=0.25; }; class HitEngine // Pontos de dano do motor { armor=0.5; material=-1; armorComponent="engine"; name="hit_engine"; visual="-"; passThrough=0.30000001; minimalHit=0.2; explosionShielding=0.2; radius=0.44999999; }; class HitFuel // Pontos de dano do tanque de combustível { armor=0.5; material=-1; armorComponent="fueltank"; name="hit_fuel"; visual="-"; passThrough=0.5; minimalHit=0.2; explosionShielding=0.2; radius=0.25; }; class HitGlass1: HitGlass1 // Pontos de dano do vidro { armor=1.5; explosionShielding=3; radius=0.25; armorComponent="Glass1"; name="hit_Glass1"; visual="Glass1"; }; class HitGlass2: HitGlass1 { armorComponent="Glass2"; name="hit_Glass2"; visual="Glass2"; }; class HitGlass3: HitGlass1 { armorComponent="Glass3"; name="hit_Glass3"; visual="Glass3"; }; class HitGlass4: HitGlass1 { armorComponent="Glass4"; name="hit_Glass4"; visual="Glass4"; }; class HitGlass5: HitGlass1 { armorComponent="Glass5"; name="hit_Glass5"; visual="Glass5"; }; }; //////////////////////////////////////////////// Definições de tripulação driverAction="braf_lmv_driver"; //"BRAF_LMV_Driver"; // Pose estática do motorista. driverLeftHandAnimName="drivewheel"; // Seleção que faz a mão esquerda do motorista se mover. driverRightHandAnimName="drivewheel"; // Seleção que faz a mão direita do motorista se mover. transportSoldier=4; // Soldados transportados além do motorista. cargoAction[]= { "passenger_generic01_foldhands", // Poses estáticas dos cargos. "passenger_generic01_foldhands", // Poses estáticas dos cargos. "passenger_generic01_foldhands", // Poses estáticas dos cargos. "passenger_generic01_foldhands" }; getInAction="GetInMRAP_01"; // Animação de entrada no veículo para o motorista. getOutAction="GetOutMRAP_01"; // Animação de saída do veículo para o motorista. cargoGetInAction[]= { "GetInMRAP_01_cargo" // Animação de entrada no veículo para cargo. }; cargoGetOutAction[]= { "GetOutMRAP_01" // Animação de saída no veículo para cargo. }; hideWeaponsDriver=1; // Esconder a arma do motorista? (0-Não, 1-Sim). hideWeaponsCargo=1; // Esconder a arma do cargo? (0-Não, 1-Sim). hideWeaponsCommander=1; // Esconder a arma do comander? (0-Não, 1-Sim). driverDoor=""; cargoDoors[]={}; //////////////////////////////////////////////// Armas weapons[]= { "TruckHorn2", // Armas presentes no veículo, em caso civil use apenas buzinas. "SmokeLauncher" }; magazines[]= { "SmokeLauncherMag", // Magazines das armas especificadas no parâmetro "Weapons". "SmokeLauncherMag" }; smokeLauncherGrenadeCount=6; // Número de granadas lançadas a cada disparo. smokeLauncherVelocity=14; // Velocidade de saída das granadas. smokeLauncherOnTurret=0; // Granadas lançadas de acordo com a direção da torre. smokeLauncherAngle=120; // Ângulo de espalhamento das granadas. class CargoTurret; class Turrets: Turrets { /* class CargoTurret_01: CargoTurret { gunnerAction="passenger_flatground_4_vehicle_passenger_stand_1";// Pose de turn out. gunnerInAction="passenger_generic01_foldhands"; // Pose de turn in. gunnerName="$STR_A3_TURRETS_CARGOTURRET_R1"; // Nome do slot. memoryPointsGetInGunner="pos gunner"; // Ponto de entrada do slot. memoryPointsGetInGunnerDir="pos gunner dir"; // Ponto de direção do slot. proxyIndex=4; // Índice do proxy indicado no p3d. forceHideGunner=0; // Turn out (1-Não, 0-Sim). hideWeaponsGunner=1; // Esconder a arma do gunner? (0-Não, 1-Sim). canHideGunner=1; // isPersonTurret=1; // Permite FFV - 0 = Não, 1 = Somente turned out, 2 = Sempre. LODTurnedIn=1200; // LOD exibido quando em turn in. LODTurnedOut=1; // LOD exibido quando em turn out. outGunnerMayFire=1; // Gunner pode atirar quando em turn out? (0-Não, 1-Sim). inGunnerMayFire=0; // Gunner pode atirar quando em turn in? (0-Não, 1-Sim). animationSourceHatch="hatchGunner"; // Animação que será ativada quando em turn out. allowLauncherIn=0; // Permite lançador quando em turn in? (0-Não, 1-Sim). allowLauncherOut=1; // Permite lançador quando em turn out? (0-Não, 1-Sim). class TurnIn { limitsArrayTop[]={}; limitsArrayBottom[]={}; turnOffset=0; }; class TurnOut: TurnIn { limitsArrayTop[]= { {38.5373,-12.3438} }; limitsArrayBottom[]= { {-55.813202,-78.700996}, {-55.695,-42.974899}, {-20.534901,-8.1766005}, {-18.5114,7.3281999}, {-19.9175,18.901199}, {-20.0625,26.805099}, {-19.9485,37.776798}, {-34.081501,67.225403}, {-48.6922,80.034798}, {-47.633099,90.4505} }; }; class dynamicViewLimits { }; }; */ }; /////////////////////////////////////////////// Sensores class Components; //////////////////////////////////////////////// Espelhos e Telas class RenderTargets // Definições de Picture in Picture (PiP). { class Mirrors_Left { renderTarget="rendertarget1"; // Seleção de faces onde o PiP será renderizado. class CameraView1 // Posição da câmera. { pointPosition="rendertarget1_pos"; // Ponto da câmera. pointDirection="rendertarget1_dir"; // Direção da câmera. renderVisionMode=4; // Modo de renderização - 0 = HDR, 1 = NVG, 2 = TI, 3 = Cor, 4 = Espelho. renderQuality=2; // Qualidade de renderização. (Varia de 0 a 2) fov=0.69999999; // Ângulo de abertura da câmera. //turret[]={}; // Torre em que a tela está sincronizada. }; BBoxes[]= { "PIP_1_TL", // Pontos limites de renderização do PiP. "PIP_1_TR", // Pontos limites de renderização do PiP. "PIP_1_BL", // Pontos limites de renderização do PiP. "PIP_1_BR" // Pontos limites de renderização do PiP. }; }; class Mirrors_Right { renderTarget="rendertarget2"; class CameraView1 { pointPosition="rendertarget2_pos"; pointDirection="rendertarget2_dir"; renderVisionMode=4; renderQuality=2; fov=0.69999999; }; BBoxes[]= { "PIP_2_TL", "PIP_2_TR", "PIP_2_BL", "PIP_2_BR" }; }; }; //////////////////////////////////////////////// Definições do comportamento físico do veículo (PhysX) thrustDelay=0.1; // Tempo de resposta da aceleração. brakeIdleSpeed=1.78; // Velocidade máxima em que o freio é aplicado automaticamente. maxSpeed=115; // Velocidade máxima em m/s. fuelCapacity=60; // Capacidade de combustível. wheelCircumference=3.924; // antiRollbarForceCoef=12; // Força do sistema de anti-rolagem. antiRollbarForceLimit=10; // Força máxima aplicada pelo sistema de anti-rolagem. antiRollbarSpeedMin=20; // Velocidade mínima em que o sistema anti-rolagem funciona. antiRollbarSpeedMax=50; // Velocidade máxima em que o sistema anti-rolagem funciona. terrainCoef=1.5; // Multiplicador de atrito no terreno. turnCoef=3; // "Jogo" do veículo ao fazer curvas. precision=10; // Precisão do veículo em seguir rotas. class complexGearbox { GearboxRatios[]= { "R1", -3.1819999, "N", 0, "D1", 4.1820002, "D2", 2.3180001, "D3", 1.85, "D4", 1.65, "D5", 1.45 }; TransmissionRatios[]= { "High", 5.539 }; gearBoxMode="auto"; moveOffGear=1; driveString="D"; neutralString="N"; reverseString="R"; }; simulation="carx"; // Tipo de simulação a ser utilizada pelo PhysX. dampersBumpCoef=6; // Reação dos amortecedores à imperfeições do terreno. differentialType="all_limited"; // Tipos de diferenciais. frontRearSplit=0.5; // Taxa de distribuiçãom de torque entre as rodas dianteiras e traseiras (Usado para "all_limited" e "all_open") frontBias=1.3; // Parâmetros de diferencial. rearBias=1.3; // Parâmetros de diferencial. centreBias=1.3; // Parâmetros de diferencial. clutchStrength=20; // Parâmetros de diferencial. enginePower=280; // Potência do motor em kW. idleRpm=800; // RPM do motor quando em "ponto morto" redRpm=4500; // RPM máxima do motor. maxOmega=471; // Velocidade rotacional máxima do motor em rad/s. Expresso por - (redRPM*2*Pi)/60 peakTorque=1253; // Torque máximo do motor. dampingRateFullThrottle=0.079999998; // Parâmetros de embreagem, caixa de marchas e etc... dampingRateZeroThrottleClutchEngaged=2; // Parâmetros de embreagem, caixa de marchas e etc... dampingRateZeroThrottleClutchDisengaged=0.34999999; // Parâmetros de embreagem, caixa de marchas e etc... torqueCurve[]= { {0,0}, {0.178,0.5}, {0.25,0.85000002}, {0.40000001,0.89999998}, {0.5,1}, {0.72500002,0.94999999}, {0.85000002,0.60000002}, {1,0.30000001} }; changeGearMinEffectivity[]= { 0.94999999, 0.15000001, 0.94999999, 0.94999999, 0.94999999, 0.94999999, 0.94999999 }; switchTime=0.31; // Tempo de troca de marchas. latency=1; // class Wheels { class LF { side="left"; // Lado da roda. suspTravelDirection[]={-0.125,-1,0}; // Direção de translação da suspensão. boneName="wheel_1_1"; // Nome da seleção da roda. steering=1; // Direção (0-Não, 1-Sim). center="wheel_1_1_axis"; // Ponto central da roda. boundary="wheel_1_1_bound"; // Limite inferior da roda. width="0.35"; // Largura da roda. mass=200; // Massa da roda. MOI=32.5; // Momento de inercia da roda: (0.5*massa*raio_da_roda^2). dampingRate=0.1; // dampingRateDamaged=1; // dampingRateDestroyed=1000; // maxBrakeTorque=22500; // maxHandBrakeTorque=0; // suspForceAppPointOffset="wheel_1_1_axis"; // tireForceAppPointOffset="wheel_1_1_axis"; // maxCompression=0.05; // O quanto a roda sobe no eixo da suspensão. maxDroop=0.1; // O quanto a roda desce no eixo da suspensão. sprungMass=1500; // Massa sustentada pela roda. (mV - mR) / numero de rodas. springStrength=37500; // Força da mola: sprungMass*5*5. springDamperRate=6000; // Taxa de amorteciemento da mola: 0.4*2*sqrt(springStrength*sprungMass). longitudinalStiffnessPerUnitGravity=5000; // latStiffX=25; // latStiffY=180; // frictionVsSlipGraph[]= // { {0,1}, {0.5,1}, {1,1} }; }; class LR: LF { boneName="wheel_1_2"; steering=0; center="wheel_1_2_axis"; boundary="wheel_1_2_bound"; suspForceAppPointOffset="wheel_1_2_axis"; tireForceAppPointOffset="wheel_1_2_axis"; maxHandBrakeTorque=275000; }; class RF: LF { side="right"; suspTravelDirection[]={0.125,-1,0}; boneName="wheel_2_1"; center="wheel_2_1_axis"; boundary="wheel_2_1_bound"; suspForceAppPointOffset="wheel_2_1_axis"; tireForceAppPointOffset="wheel_2_1_axis"; }; class RR: RF { boneName="wheel_2_2"; steering=0; center="wheel_2_2_axis"; boundary="wheel_2_2_bound"; suspForceAppPointOffset="wheel_2_2_axis"; tireForceAppPointOffset="wheel_2_2_axis"; maxHandBrakeTorque=275000; }; }; //////////////////////////////////////////////// Diversos enableRadio=1; // Veículo possui radio (0-Não, 1-Sim). enableGPS=1; // Veículo possui GPS (0-Não, 1-Sim). extCameraPosition[]={0,2.2,-8}; // Posição da câmera (x,y,z). #include "LMV_Intercom.hpp" //////////////////////////////////////////////// Itens carregados pelo veículo class TransportBackpacks // Mochilas presentes no inventário do veículo quando ele é colocado em jogo. { class _xx_BRAF_Alice_bag // _xx_nome_da_mochila. { backpack="BRAF_Alice_bag"; // "Class name" da mochila. count=5; // Quantidade. }; }; transportMaxBackpacks=5; // Máximo de mochilas transportadas. class TransportMagazines // Tipos de magazines transportados. { class _xx_BRAF_20Rnd_762x51 { magazine="BRAF_20Rnd_762x51"; count=12; }; class _xx_BRAF_30Rnd_556x45 { magazine="BRAF_30Rnd_556x45"; count=12; }; class _xx_HandGrenade { magazine="HandGrenade"; count=6; }; class _xx_1Rnd_HE_Grenade_shell { magazine="1Rnd_HE_Grenade_shell"; count=6; }; class _xx_1Rnd_Smoke_Grenade_shell { magazine="1Rnd_Smoke_Grenade_shell"; count=4; }; class _xx_SmokeShell { magazine="SmokeShell"; count=6; }; class _xx_SmokeShellGreen { magazine="SmokeShellGreen"; count=6; }; class _xx_SmokeShellOrange { magazine="SmokeShellOrange"; count=6; }; class _xx_SmokeShellBlue { magazine="SmokeShellBlue"; count=6; }; }; class TransportItems // Tipos de Itens transportados. { class _xx_FirstAidKit { name="FirstAidKit"; count=12; }; class _xx_MediKit { name = "MediKit"; count = 1; }; class _xx_Toolkit { name="Toolkit"; count=1; }; class _xx_ItemGPS { name="ItemGPS"; count=1; }; }; class TransportWeapons // Tipos de Armas transportadas. { class _xx_arifle_MX_F { weapon="arifle_MX_F"; count=2; }; }; crew="braf_army_rifleman_regular_2020"; typicalCargo[]= { "braf_army_rifleman_regular_2020", "braf_army_rifleman_regular_2020", "braf_army_rifleman_regular_2020" }; //////////////////////////////////////////////// SlingLoad & Cargo slingLoadCargoMemoryPoints[]= { "SlingLoadCargo1", // Pontos de fixação dos cabos. "SlingLoadCargo2", // Pontos de fixação dos cabos. "SlingLoadCargo3", // Pontos de fixação dos cabos. "SlingLoadCargo4" // Pontos de fixação dos cabos. }; class VehicleTransport // Habilidade de ser transportado dentro de outro veículo. { class Cargo { parachuteClass="B_Parachute_02_F"; // Tipo de paraquedas. parachuteHeightLimit=100; // Altura mínima de lançamento. canBeTransported=1; // Pode ser transportado (0-Não, 1-Sim). dimensions[]= { "BBox_1_1_pos", // Ponto inferior esquerdo frontal "BBox_1_2_pos" // Ponto superior direito traseiro }; }; }; //////////////////////////////////////////////// class EventHandlers: EventHandlers { init="if (local (_this select 0)) then {[(_this select 0), """", [], false] call bis_fnc_initVehicle;};"; }; occludeSoundsWhenIn=1; obstructSoundsWhenIn=1; insideSoundCoef=0.9; #include "LMV_Sounds.hpp" #include "\braf\braf_armored\functions\identification_decals.hpp" }; class BRAF_LMV_Armed_base: BRAF_LMV_base { _generalMacro="BRAF_LMV_Armed_base"; displayName="$STR_braf_iveco_lmv_remax"; picture="braf\braf_armored\BRAF_LMV\Data\UI\LMV_RCWS_ca.paa"; unitInfoType="RscUnitInfoTank"; transportSoldier=3; cost=600000; class Library // Texto descrevendo algo sobre o veículo. { libTextDesc="$STR_braf_iveco_lmv_remax_description"; }; weapons[]= { "TruckHorn2" }; magazines[]={}; smokeLauncherGrenadeCount=4; smokeLauncherVelocity=14; smokeLauncherOnTurret=1; smokeLauncherAngle=120; threat[]={0.80000001,0.60000002,0.30000001}; class compartmentsLights // Luzes internas de cabine. { class Comp1 // Parâmetros de luz do compartimento 1. { class Light1 // Mesma coisa descrita em reflectors. { color[]={50,0,0}; ambient[]={5,0,0}; intensity=0.75; size=1; innerAngle=15; outerAngle=150; coneFadeCoef=1; useFlare=1; flareSize=0.1; flareMaxDistance=1; dayLight=1; class Attenuation { start=0; constant=0; linear=1; quadratic=1; hardLimitStart=0.75; hardLimitEnd=1; }; point="Cabin_Light_Front"; // Ponto onde a luz aparece. }; class Light2: Light1 { point="Cabin_Light_Back"; color[]={50,0,0}; ambient[]={5,0,0}; }; class Light3: Light1 { point="Screen_Light"; color[]={1,1,1}; ambient[]={1,1,1}; intensity=1.5; }; }; }; class RenderTargets: RenderTargets { class Remax_display { renderTarget="rendertarget0"; class CameraView1 { pointPosition="rendertarget0_pos"; pointDirection="rendertarget0_dir"; renderVisionMode=2; renderQuality=2; fov=0.69999999; turret[]={0}; }; BBoxes[]= { "PIP_0_TL", "PIP_0_TR", "PIP_0_BL", "PIP_0_BR" }; }; class Mirrors_Left { renderTarget="rendertarget1"; // Seleção de faces onde o PiP será renderizado. class CameraView1 // Posição da câmera. { pointPosition="rendertarget1_pos"; // Ponto da câmera. pointDirection="rendertarget1_dir"; // Direção da câmera. renderVisionMode=4; // Modo de renderização - 0 = HDR, 1 = NVG, 2 = TI, 3 = Cor, 4 = Espelho. renderQuality=2; // Qualidade de renderização. (Varia de 0 a 2) fov=0.69999999; // Ângulo de abertura da câmera. //turret[]={}; // Torre em que a tela está sincronizada. }; BBoxes[]= { "PIP_1_TL", // Pontos limites de renderização do PiP. "PIP_1_TR", // Pontos limites de renderização do PiP. "PIP_1_BL", // Pontos limites de renderização do PiP. "PIP_1_BR" // Pontos limites de renderização do PiP. }; }; class Mirrors_Right { renderTarget="rendertarget2"; class CameraView1 { pointPosition="rendertarget2_pos"; pointDirection="rendertarget2_dir"; renderVisionMode=4; renderQuality=2; fov=0.69999999; }; BBoxes[]= { "PIP_2_TL", "PIP_2_TR", "PIP_2_BL", "PIP_2_BR" }; }; }; class AnimationSources: AnimationSources { class Gun_Flash_Rot { source="ammorandom"; weapon="BRAF_REMAX_M2"; }; class Gun_Recoil { source="reload"; weapon="BRAF_REMAX_M2"; }; }; animationList[]= { "Armed_Hide",1, "Bumper_1",1, "Bumper_2",0, "Step_Hide",1, "Step",1, "Jerry_Hide",0, "Smoke_Hide",1, "showCamonetHull",0 }; class Components: Components { class SensorsManagerComponent { class Components { class IRSensorComponent: SensorTemplateIR { class AirTarget { minRange=500; maxRange=3000; objectDistanceLimitCoef=-1; viewDistanceLimitCoef=1; }; class GroundTarget { minRange=500; maxRange=2000; objectDistanceLimitCoef=1; viewDistanceLimitCoef=1; }; maxTrackableSpeed=28; angleRangeHorizontal=50; angleRangeVertical=36; animDirection="mainGun"; }; class VisualSensorComponent: SensorTemplateVisual { class AirTarget { minRange=500; maxRange=3000; objectDistanceLimitCoef=-1; viewDistanceLimitCoef=1; }; class GroundTarget { minRange=500; maxRange=2000; objectDistanceLimitCoef=1; viewDistanceLimitCoef=1; }; maxTrackableSpeed=28; angleRangeHorizontal=50; angleRangeVertical=36; animDirection="mainGun"; }; class LaserSensorComponent: SensorTemplateLaser { }; class NVSensorComponent: SensorTemplateNV { }; }; }; class VehicleSystemsDisplayManagerComponentLeft: DefaultVehicleSystemsDisplayManagerLeft { class Components: components { class VehiclePrimaryGunnerDisplay { componentType="TransportFeedDisplayComponent"; source="PrimaryGunner"; }; }; }; class VehicleSystemsDisplayManagerComponentRight: DefaultVehicleSystemsDisplayManagerRight { class Components: components { class VehiclePrimaryGunnerDisplay { componentType="TransportFeedDisplayComponent"; source="PrimaryGunner"; }; }; }; }; class Turrets: Turrets { class BRAF_MainTurret: MainTurret { body="mainTurret"; gun="mainGun"; gunBeg="gunBeg"; gunEnd="gunEnd"; weapons[]= { "BRAF_REMAX_M2", "Laserdesignator_mounted" }; magazines[]= { "BRAF_150Rnd_127x99_M", "BRAF_150Rnd_127x99_M", "BRAF_150Rnd_127x99_M", "BRAF_150Rnd_127x99_M", "SmokeLauncherMag", "SmokeLauncherMag", "Laserbatteries" }; soundServo[]= { "A3\Sounds_F\vehicles\soft\noises\servo_turret_MRAP01", 0.17782794, 1, 10 }; soundServoVertical[]= { "A3\Sounds_F\vehicles\soft\noises\servo_turret_MRAP01", 0.17782794, 1, 10 }; gunnerAction="braf_lmv_gunner"; LODOpticsIn=1; viewGunnerInExternal=1; castGunnerShadow=1; stabilizedInAxes=3; animationSourceStickX="mainTurret"; animationSourceStickY="mainGun"; gunnerLeftHandAnimName="Stick_L"; gunnerRightHandAnimName="Stick_R"; memoryPointGunnerOptics="rendertarget0_dir"; gunnerOpticsModel="braf\braf_armored\BRAF_Optics_Armored\REMAX\BRAF_remax_gunner_w.p3d"; discreteDistance[]={100,200,300,400,500,600,700,800,900,1000,1100,1200,1300,1400,1500,1600,1700,1800,1900,2000}; discreteDistanceInitIndex=2; selectionFireAnim="zasleh"; turretInfoType="BRAF_RscOptics_REMAX"; usePip=1; minElev=-22.5; initElev=0; maxElev=45; class ViewOptics: RCWSOptics { }; class ViewGunner: ViewGunner { initFov=0.89999998; minFov=0.25; maxFov=1.25; initAngleX=-5; }; class OpticsIn: BRAF_REMAX_Gunner_Optics { class Wide: Wide { }; class Medium: Medium { }; }; class HitPoints: HitPoints { class HitTurret { armor=-250; material=-1; armorComponent="mainTurret"; name="hit_mainTurret"; visual="mainTurret"; passThrough=0; minimalHit=0.029999999; explosionShielding=0.40000001; radius=0.25; isTurret=1; }; class HitGun { armor=-250; material=-1; armorComponent="mainGun"; name="hit_mainGun"; visual="mainGun"; passThrough=0; minimalHit=0.029999999; explosionShielding=0.2; radius=0.2; isGun=1; }; }; gunnerDoor=""; class MFD { class MFD_1 { topLeft="MFD_1_TL"; topRight="MFD_1_TR"; bottomLeft="MFD_1_BL"; borderLeft=0; borderRight=0; borderTop=0; borderBottom=0; color[]={0.83999997,0.86000001,0.83999997}; alpha=1; enableParallax=0; font="RobotoCondensedLight"; class Bones { }; class Draw { color[]={1,0,0,1}; alpha=0.5; class Driver_Heading { type="text"; source="[x]turretworld"; sourceScale=1; sourceLength=3; scale=1; align="center"; refreshRate=0.079999998; pos[]= { {0.18000001,0.88999999}, 1 }; right[]= { {0.25,0.88999999}, 1 }; down[]= { {0.18000001,0.95999998}, 1 }; }; class Range_Text { type="text"; source="static"; text="RANGE:"; scale=1; sourceScale=1; align="right"; pos[]= { {0.51499999,0.69}, 1 }; right[]= { {0.55500001,0.69}, 1 }; down[]= { {0.51499999,0.73000002}, 1 }; }; class Range_Value { type="text"; source="laserDist"; sourceScale=1; sourceLength=3; scale=1; align="right"; refreshRate=0.079999998; pos[]= { {0.62,0.69}, 1 }; right[]= { {0.66000003,0.69}, 1 }; down[]= { {0.62,0.73000002}, 1 }; }; class Mode_Text { type="text"; source="static"; text="MODE:"; scale=1; sourceScale=1; align="right"; pos[]= { {0.51499999,0.73000002}, 1 }; right[]= { {0.55500001,0.73000002}, 1 }; down[]= { {0.51499999,0.76999998}, 1 }; }; class Mode_Value { type="text"; source="static"; text="TI WHOT"; sourceScale=1; sourceLength=3; scale=1; align="right"; refreshRate=0.079999998; pos[]= { {0.62,0.73000002}, 1 }; right[]= { {0.66000003,0.73000002}, 1 }; down[]= { {0.62,0.76999998}, 1 }; }; }; }; }; }; }; }; class BRAF_LMV_EB: BRAF_LMV_base { forceInGarage=1; editorPreview="\braf\braf_insignia\editorpreview\armored\BRAF_LMV_EB.jpg"; _generalMacro="BRAF_LMV_EB"; scope=2; scopeArsenal=2; scopeCurator=2; side=2; unitInfoType="RscUnitInfoNoWeapon"; textureList[]= { "EB_01", 1 }; }; class BRAF_LMV_EB_RCWS: BRAF_LMV_Armed_base { forceInGarage=1; editorPreview="\braf\braf_insignia\editorpreview\armored\BRAF_LMV_EB_RCWS.jpg"; _generalMacro="BRAF_LMV_EB_RCWS"; scope=2; scopeArsenal=2; scopeCurator=2; side=2; textureList[]= { "EB_01", 1 }; };