As you guys all know, there are only so many addons that you can have in you directory, before you get a "memory map" message from OFP.
So having to include addons that you don't need just so you can use addons that you do need is a major headache.
I'm specifically referring to the Desert/Winter M2A2 Bradley (MTL_M2A2) by Mads Furuvald from Metal Productions.
In order to work, it needs the MTL_CrewW.pbo and
STERangers.pbo (ver2.x) addons, which themselves need somekind of weapons addon. (Goddammit!
)
So here's the thing:
Could someone tell me what to delete from the Bradley's config.cpp file so that only an empty, uncrewed version appears in OFP (I'll put my own damn crew in it).
PS: I'm not trying to edit it for distribution or pass it off as my own. It's just for my own use.
(or could someone tell me where I can get an "Addon-independent" desert Bradley Addon).
the Config.cpp is:
// some basic defines
#define TEast 0
#define TWest 1
#define TGuerrila 2
#define TCivilian 3
#define TSideUnknown 4
#define TEnemy 5
#define TFriendly 6
#define TLogic 7
#define true 1
#define false 0
// type scope
#define private 0
#define protected 1
#define public 2
#define CanSeeRadar 1
#define CanSeeEye 2
#define CanSeeOptics 4
#define CanSeeEar 8
#define CanSeeCompass 16
#define CanSeeRadarC CanSeeRadar+CanSeeCompass
#define CanSeeAll 31
class CfgPatches
{
class MTLBradley
{
units[] = {MTLBradleyT2,MTLBradleyWO,MTLBradleyD,MTLBradleyDO,MTLBradleyW};
weapons[] = {};
requiredVersion = 1.30;
};
class MTL_TOW1
{
units[] = {};
weapons[] = {MTL_TOW1};
requiredVersion = 1.30;
};
class MTL_TOW2
{
units[] = {};
weapons[] = {MTL_TOW2};
requiredVersion = 1.30;
};
};
class CfgAmmo
{
class Default {};
class BulletSingle : Default {};
class ExplosiveBullet: BulletSingle {};
class Cannon30HE: ExplosiveBullet
{ // in fact this is 2 bullets burst
// explosive bullets
hit=60; indirectHit=25; indirectHitRange=4;
minRange=10;minRangeProbab=0.80;
midRange=500;midRangeProbab=0.95;
maxRange=3000;maxRangeProbab=0.05;
soundHit[]={"\MTL_M2A2\double_expl.wss",db30,1};
cost=40;
};
class Cannon30AP: BulletSingle
{ // in fact this is 2 bullets burst
hit=70; indirectHit=5; indirectHitRange=1;
minRange=10; minRangeProbab=0.80;
midRange=500; midRangeProbab=0.95;
maxRange=3000; maxRangeProbab=0.05;
soundHit[]={"weapons\Big_Impact2",db-30,1};
cost=80;
};
class AT3 : Default {};
class MTLTOW2A : AT3
{
hit=1400;
indirectHit=210;
indirectHitRange=3;
ThrustTime=2000;
model="TOW";
thrust=350;
initTime=-2;
maneuvrability=5.2;
manualControl=1;
maxControlRange=2500;
airLock=false;
irLock=true;
soundHit[]={"\sound\explosions\expl2",db25,1};
soundFly[]={"\MTL_M2A2\TOW_fly.ogg",db-20,2};
};
};
class CfgWeapons
{
class Default {};
class LAWLauncher: Default {};
class CarlGustavLauncher : LAWLauncher {};
class AT3Launcher: CarlGustavLauncher {};
class MTL_TOW2 : AT3Launcher
{
ammo="MTLTOW2A"
count=2;
reloadTime=0.5;
displayName = TOW2A;
displayNameMagazine = TOW2A Missile;
shortNameMagazine = TOW2A;
scopemagazine = 2;
scopeWeapon = 0;
shotFromTurret = true;
autoFire = true;
magazinereloadTime=30;
};
class MTL_TOW1 : AT3Launcher
{
count=2;
reloadTime=0.5;
displayName = TOW1;
displayNameMagazine = TOW1 Missile;
shortNameMagazine = TOW1;
scopemagazine = 2;
scopeWeapon = 0;
shotFromTurret = true;
autoFire = true;
magazinereloadTime=30;
};
class Cannon30HE : Default
{
scopeWeapon = private;
scopeMagazine = public;
primary = false;
autoFire = true;
shotFromTurret = true;
displayName = Cannon 30mm HE;
displayNameMagazine =30mm High Explosive shell;
shortNameMagazine = 30mm HE;
nameSound="shell";
ammo="Cannon30HE";
count=300;
reloadTime=0.18;
initSpeed=1000;
sound[]={"\MTL_M2A2\cannon.wss",db30,1};
flashSize=1.1;
maxLeadSpeed=450; // max estimated speed km/h
optics = 1; //true?
ffcount=1;
multipler=2;
// reloadSound[]={Weapons\reload,db-60,1};
};
class Cannon30AP: Cannon30HE
{
shotFromTurret = true;
displayName = Cannon 30mm AP;
displayNameMagazine =30mm Armour Pierce shell;
shortNameMagazine = 30mm AP;
ammo="Cannon30AP";
count=150
nameSound="heat";
};
class Cannon30: Default
{
scopeWeapon = public;
scopeMagazine = private;
shotFromTurret = true;
displayName=Canon 30mm;
sound[]={"\MTL_M2A2\cannon.wss",db30,1};
reloadSound[]={"Weapons\reload",db-70,1};
backgroundReload = true;
ffMagnitude=1;
ffFrequency=5;
magazines[] = {Cannon30HE,Cannon30AP};
};
};
class WeaponCloudsGun {};
class WeaponCloudsMGun : WeaponCloudsGun {};
class CfgVehicles
{
class All{};
class AllVehicles:All{};
class Land:AllVehicles{};
class LandVehicle: Land {};
class Tank: LandVehicle {};
class APC: Tank {};
class M113: APC {};
class M2A2: M113 {};
class MTLBradley: M2A2
{
Canfloat=1;
displayName="MTL M2A2";
model="\M2A2\M2A2.p3d";
crew="SoldierWG";
picture=\M2A2\im2a2;
weapons[]={Cannon30, MachineGun7_6, MTL_TOW1};
magazines[]={Cannon30HE, MachineGun7_6, MTL_TOW1, MTL_TOW1, MTL_TOW1};
class TransportMagazines
{
class _xx_M16
{
magazine="M16";
count="10*1";
};
class _xx_M4
{
magazine="M4";
count="10*1";
};
class _xx_STTMKmag
{
magazine="STTMKmag";
count="20*1";
};
class _xx_M60
{
magazine="M60";
count="10*1";
};
class _xx_GrenadeLauncher
{
magazine="GrenadeLauncher";
count="10*1";
};
class _xx_Flare
{
magazine="Flare";
count="10*1";
};
class _xx_LAWLauncher
{
magazine="LAWLauncher";
count="10*1";
};
class _xx_M21
{
magazine="M21";
count="10*1";
};
};
class TransportWeapons
{
class _xx_M16
{
weapon="M16";
count="4*1";
};
class _xx_SEBM4
{
weapon="SEBM4";
count="4*1";
};
class _xx_STTM4MK
{
weapon="STTM4MK";
count="2*1";
};
class _xx_M60
{
weapon="M60";
count="2*1";
};
class _xx_SEBM4GL
{
weapon="SEBM4GL";
count="2*1";
};
class _xx_NVGoggles
{
weapon="NVGoggles";
count="6*1";
};
class _xx_Binocular
{
weapon="Binocular";
count="6*1";
};
class _xx_LAWLauncher
{
weapon="LAWLauncher";
count="3*1";
};
class _xx_M21
{
weapon="M21";
count="2*1";
};
};
class GunClouds : WeaponCloudsMGun {};
class Turret
{
gunAxis = "OsaHlavne";
turretAxis = "OsaVeze";
soundServo[]={Vehicles\gun_elevate,db-30,1.0};
gunBeg = "usti hlavne";
gunEnd = "konec hlavne";
body = "OtocVez";
gun = "OtocHlaven";
minElev=-6.5;
maxElev=+74;
minTurn=-360;
maxTurn=+360;
};
class IndicatorSpeed
{
selection = "ukaz_rychlo";
axis = "osa_rychlo";
angle = -320;
min = 0;
max = 37;
};
threat[]={1.0,0.7,0.4};
gunnerOpticsModel = "optika_tank_gunner";
gunnerAction = ManActM2A2GunnerOut;
gunnerInAction = ManActM2A2Gunner;
driverAction = ManActM2A2Driver;
driverInAction = ManActM2A2Driver;
commanderAction = ManActM2A2CommanderOut;
commanderInAction = ManActM2A2Commander;
hasCommander = 1;
outGunnerMayFire = 0;
forceHideGunner = 0;
viewGunnerInExternal = 0;
commanderUsesPilotView = 1;
transportSoldier=6;
};
class MTLBradleyT2:MTLBradley
{
displayName="MTL M2A2 TOW2";
model="\M2A2\M2A2.p3d";
picture=\M2A2\im2a2;
weapons[]={Cannon30, MachineGun7_6, MTL_TOW2};
magazines[]={Cannon30HE, MachineGun7_6, MTL_TOW2, MTL_TOW2, MTL_TOW2};
};
class MTLBradleyWO:MTLBradley
{
displayName="MTL M2A2 Arctic";
model="\MTL_M2A2\MTLM2A2W.p3d";
crew="MTL_DRVSNOW";
picture=\MTL_M2A2\winter\im2a2;
class TransportWeapons
{
class _xx_M16
{
weapon="M16";
count="10*1";
};
class _xx_SEBSnowM4
{
weapon="SEBSnowM4";
count="10*1";
};
class _xx_STTM4MK
{
weapon="STTM4MK";
count="20*1";
};
class _xx_M60
{
weapon="M60";
count="10*1";
};
class _xx_SEBSnowM4GL
{
weapon="SEBSnowM4GL";
count="10*1";
};
class _xx_NVGoggles
{
weapon="NVGoggles";
count="9*1";
};
class _xx_Binocular
{
weapon="Binocular";
count="6*1";
};
class _xx_LAWLauncher
{
weapon="LAWLauncher";
count="3*1";
};
class _xx_M21
{
weapon="M21";
count="10*1";
};
};
};
class MTLBradleyDO:MTLBradley
{
displayName="MTL M2A2 Desert";
model="\MTL_M2A2\MTLM2A2D.p3d";
crew="MTL_DRVDES";
picture=\MTL_M2A2\desert\im2a2;
class TransportWeapons
{
class _xx_M16
{
weapon="M16";
count="10*1";
};
class _xx_SEBDesM4
{
weapon="SEBDesM4";
count="10*1";
};
class _xx_STTM4MK
{
weapon="STTM4MK";
count="10*1";
};
class _xx_M60
{
weapon="M60";
count="10*1";
};
class _xx_SEBDesM4GL
{
weapon="SEBDesM4GL";
count="10*1";
};
class _xx_NVGoggles
{
weapon="NVGoggles";
count="9*1";
};
class _xx_Binocular
{
weapon="Binocular";
count="6*1";
};
class _xx_LAWLauncher
{
weapon="LAWLauncher";
count="3*1";
};
class _xx_M21
{
weapon="M21";
count="10*1";
};
};
};
class MTLBradleyW:MTLBradley
{
displayName="MTL M2A2 TOW2 Arctic";
model="\MTL_M2A2\MTLM2A2W.p3d";
crew="MTL_DRVSNOW";
picture=\MTL_M2A2\winter\im2a2;
weapons[]={Cannon30, MachineGun7_6, MTL_TOW2};
magazines[]={Cannon30HE, Cannon30AP, MachineGun7_6, MTL_TOW2, MTL_TOW2, MTL_TOW2};
class TransportWeapons
{
class _xx_M16
{
weapon="M16";
count="10*1";
};
class _xx_SEBSnowM4
{
weapon="SEBSnowM4";
count="10*1";
};
class _xx_STTM4MK
{
weapon="STTM4MK";
count="10*1";
};
class _xx_M60
{
weapon="M60";
count="10*1";
};
class _xx_SEBSnowM4GL
{
weapon="SEBSnowM4GL";
count="10*1";
};
class _xx_NVGoggles
{
weapon="NVGoggles";
count="9*1";
};
class _xx_Binocular
{
weapon="Binocular";
count="6*1";
};
class _xx_LAWLauncher
{
weapon="LAWLauncher";
count="3*1";
};
class _xx_M21
{
weapon="M21";
count="10*1";
};
};
};
class MTLBradleyD: MTLBradley
{
displayName="MTL M2A2 TOW2 Desert";
crew="MTL_DRVDES";
model="\MTL_M2A2\MTLM2A2D.p3d";
picture=\MTL_M2A2\desert\im2a2;
weapons[]={Cannon30, MachineGun7_6, MTL_TOW2};
magazines[]={Cannon30HE, Cannon30AP, MachineGun7_6, MTL_TOW2, MTL_TOW2, MTL_TOW2};
class TransportWeapons
{
class _xx_M16
{
weapon="M16";
count="10*1";
};
class _xx_SEBDesM4
{
weapon="SEBDesM4";
count="10*1";
};
class _xx_STTM4MK
{
weapon="STTM4MK";
count="10*1";
};
class _xx_M60
{
weapon="M60";
count="10*1";
};
class _xx_SEBDesM4GL
{
weapon="SEBDesM4GL";
count="10*1";
};
class _xx_NVGoggles
{
weapon="NVGoggles";
count="9*1";
};
class _xx_Binocular
{
weapon="Binocular";
count="6*1";
};
class _xx_LAWLauncher
{
weapon="LAWLauncher";
count="3*1";
};
class _xx_M21
{
weapon="M21";
count="10*1";
};
};
};
};
class CfgNonAIVehicles
{
class ProxyCrew {};
class ProxyDriver: ProxyCrew {};
class ProxyM2A2driver: Proxydriver {};
class ProxyMTLM2A2Ddriver: Proxydriver {};
class ProxyMTLM2A2Wdriver: Proxydriver {};
class ProxyGunner: ProxyCrew {};
class ProxyM2A2gunner: ProxyGunner {};
class ProxyMTLM2A2Dgunner: ProxyGunner {};
class ProxyMTLM2A2Wgunner: ProxyGunner {};
class ProxyM2A2GunnerOutStat:ProxyGunner {};
class ProxyMTLM2A2DGunnerOutStat:ProxyGunner {};
class ProxyMTLM2A2WGunnerOutStat:ProxyGunner {};
class ProxyCommander: ProxyCrew {};
class ProxyM2A2Commander: ProxyCommander {};
class ProxyMTLM2A2DCommander: ProxyCommander {};
class ProxyMTLM2A2WCommander: ProxyCommander {};
class ProxyM2A2CommanderOutStat:ProxyCommander {};
class ProxyMTLM2A2DCommanderOutStat:ProxyCommander {};
class ProxyMTLM2A2WCommanderOutStat:ProxyCommander {};
class ProxyWeapon {};
class ProxyMTLTOW2A: ProxyWeapon {};
class ProxyCannon30AP: ProxyWeapon {};
class ProxyCannon30HE: ProxyWeapon {};
};
class CfgVehicleActions
{
M2A2Driver = "M2A2Driver";
M2A2Commander = "M2A2Commander";
M2A2CommanderOut = "M2A2CommanderOut";
M2A2Gunner = "M2A2Gunner";
M2A2GunnerOut = "M2A2GunnerOut";
};
class CfgGroups
{
class West
{
name="West"
class infantry
{
name="MTL MechInf";
class MTLMechInfDT2
{
// Desert Group
name="MTL/STE MechInf desert TOW2"
class Unit0
{
name="1";
side=1;
vehicle="MTLBradleyD";
rank="Captain";
position[]={0,0,0};
};
class Unit1
{
name="2";
side=1;
vehicle="STERangerOff";
rank="Lieutnant";
position[]={6,6,0};
};
class Unit2
{
name="3";
side=1;
vehicle="STERangerGL";
rank="Sergeant";
position[]={-9,-3,0};
};
class Unit3
{
name="4";
side=1;
vehicle="STERangerMG";
rank="Sergeant";
position[]={-6,-3,0};
};
class Unit4
{
name="5";
side=1;
vehicle="STERangerLAW";
rank="Corporal";
position[]={6,-3,0};
};
class Unit5
{
name="6";
side=1;
vehicle="STERanger";
rank="Private";
position[]={9,-3,0};
};
class Unit6
{
name="7";
side=1;
vehicle="STERangerGL";
rank="Private";
position[]={12,-3,0};
};
};
class MTLMechInfDT1
{
// Desert Group
name="MTL/STE MechInf desert TOW1"
class Unit0
{
name="1";
side=1;
vehicle="MTLBradleyD";
rank="Captain";
position[]={0,0,0};
};
class Unit1
{
name="2";
side=1;
vehicle="STERangerOff";
rank="Lieutnant";
position[]={6,6,0};
};
class Unit2
{
name="3";
side=1;
vehicle="STERangerGL";
rank="Sergeant";
position[]={-9,-3,0};
};
class Unit3
{
name="4";
side=1;
vehicle="STERangerMG";
rank="Sergeant";
position[]={-6,-3,0};
};
class Unit4
{
name="5";
side=1;
vehicle="STERangerLAW";
rank="Corporal";
position[]={6,-3,0};
};
class Unit5
{
name="6";
side=1;
vehicle="STERanger";
rank="Private";
position[]={9,-3,0};
};
class Unit6
{
name="7";
side=1;
vehicle="STERangerGL";
rank="Private";
position[]={12,-3,0};
};
};
// Arctic Group
class MTLMechInfAT2
{
name="MTL/STT MechInf Arctic TOW2"
class Unit0
{
name="1";
side=1;
vehicle="MTLBradleyW";
rank="Captain";
position[]={0,0,0};
};
class Unit1
{
name="2";
side=1;
vehicle="STTRangerOff";
rank="Lieutnant";
position[]={6,6,0};
};
class Unit2
{
name="3";
side=1;
vehicle="STTRangerGL";
rank="Sergeant";
position[]={-9,-3,0};
};
class Unit3
{
name="4";
side=1;
vehicle="STTRangerMG";
rank="Sergeant";
position[]={-6,-3,0};
};
class Unit4
{
name="5";
side=1;
vehicle="STTRangerLAW";
rank="Corporal";
position[]={6,-3,0};
};
class Unit5
{
name="6";
side=1;
vehicle="STTRanger";
rank="Private";
position[]={9,-3,0};
};
class Unit6
{
name="7";
side=1;
vehicle="STTRangerGL";
rank="Private";
position[]={12,-3,0};
};
};
class MTLMechInfAT1
{
name="MTL/STT MechInf Arctic TOW1"
class Unit0
{
name="1";
side=1;
vehicle="MTLBradleyW";
rank="Captain";
position[]={0,0,0};
};
class Unit1
{
name="2";
side=1;
vehicle="STTRangerOff";
rank="Lieutnant";
position[]={6,6,0};
};
class Unit2
{
name="3";
side=1;
vehicle="STTRangerGL";
rank="Sergeant";
position[]={-9,-3,0};
};
class Unit3
{
name="4";
side=1;
vehicle="STTRangerMG";
rank="Sergeant";
position[]={-6,-3,0};
};
class Unit4
{
name="5";
side=1;
vehicle="STTRangerLAW";
rank="Corporal";
position[]={6,-3,0};
};
class Unit5
{
name="6";
side=1;
vehicle="STTRanger";
rank="Private";
position[]={9,-3,0};
};
class Unit6
{
name="7";
side=1;
vehicle="STTRangerGL";
rank="Private";
position[]={12,-3,0};
};
};
// Default Group
class MTLMechInfT2
{
name="MTL MechInf TOW2"
class Unit0
{
name="1";
side=1;
vehicle="MTLBradleyT2";
rank="Captain";
position[]={0,0,0};
};
class Unit1
{
name="2";
side=1;
vehicle="OfficerWNight";
rank="Lieutnant";
position[]={6,6,0};
};
class Unit2
{
name="3";
side=1;
vehicle="SoldierWG";
rank="Sergeant";
position[]={-9,-3,0};
};
class Unit3
{
name="4";
side=1;
vehicle="SoldierWMG";
rank="Sergeant";
position[]={-6,-3,0};
};
class Unit4
{
name="5";
side=1;
vehicle="SoldierWLAW";
rank="Corporal";
position[]={6,-3,0};
};
class Unit5
{
name="6";
side=1;
vehicle="SoldierWB";
rank="Private";
position[]={9,-3,0};
};
class Unit6