CfgVehicleClasses
Jump to navigation
Jump to search
cfgVehicleClasses is the new way of using custom vehicleClasses in Armed Assault.
The cfgVehicleClasses entry
The way this functions is by a separate cfgVehicleClasses entry, somewhere before the cfgVehicles.
It would appear like so:
class cfgVehicleClasses { class MyClass { displayName = "My Addons"; }; };
The vehicleClass entry
In the cfgVehicleClasses entry for your addon, you would insert
vehicleClass = "MyClass";
Example Config
Here is an example config.cpp with correct use of cfgVehicleClasses:
// 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 WeaponNoSlot 0// dummy weapons #define WeaponSlotPrimary 1// primary weapons #define WeaponSlotSecondary 16// secondary weapons #define WeaponSlotItem 256// items #define WeaponSlotBinocular 4096// binocular #define WeaponHardMounted 65536 class CfgPatches { class MySoldier { units[] = {"MySoldier"}; requiredAddons[] = {}; weapons[] = {}; requiredVersion = 1.00; }; }; class CfgVehicleClasses { class MySoldierClass { displayName = "My Soldiers"; }; }; class cfgVehicles { class All {}; class AllVehicles: All {}; class Land: AllVehicles {}; class Man:Land {}; class CAManBase: Man {}; class SoldierWB: CAManBase {}; class MySoldier: SoldierWB { displayName="My Soldier"; vehicleClass = "MySoldierClass"; weapons[]={"M4AIM","M9","Throw","Put"}; magazines[]={"30Rnd_556x45_Stanag","15Rnd_9x19_M9","15Rnd_9x19_M9"}; }; };
Here is an example config.cpp with simplified & safer use of cfgVehicleClasses (ArmA):
// 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 WeaponNoSlot 0// dummy weapons #define WeaponSlotPrimary 1// primary weapons #define WeaponSlotSecondary 16// secondary weapons #define WeaponSlotItem 256// items #define WeaponSlotBinocular 4096// binocular #define WeaponHardMounted 65536 class CfgPatches { class MySoldier { units[] = {"MySoldier"}; requiredAddons[] = {"CACharacters"}; //to avoid enlisting addon in every new mission weapons[] = {}; requiredVersion = 1.00; }; }; class CfgVehicleClasses { class MySoldierClass { displayName = "My Soldiers"; }; }; class cfgVehicles { class SoldierWB; //ArmA addonmaker doesn't need to know whole parency tree class MySoldier: SoldierWB { displayName="My Soldier"; vehicleClass = "MySoldierClass"; weapons[]={"M4AIM","M9","Throw","Put"}; magazines[]={"30Rnd_556x45_Stanag","15Rnd_9x19_M9","15Rnd_9x19_M9"}; }; };
Second example shows safer and easier way to describe parent class in vehicle config.
Result
The end result would appear somewhat like this: