CfgVehicleClasses: Difference between revisions
Category: ArmA: Addon Configuration
mNo edit summary |
|||
| Line 25: | Line 25: | ||
== Example Config == | == Example Config == | ||
Here is an example config.cpp with correct use of | Here is an example config.cpp with correct use of cfgVehicleClasses: | ||
<pre>// some basic defines | <pre>// some basic defines | ||
| Line 88: | Line 88: | ||
};</pre> | };</pre> | ||
Here is an example config.cpp with simplified & safer use of cfgVehicleClasses (ArmA): | |||
<pre>// 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 SoldierWB; | |||
class MySoldier: SoldierWB | |||
{ | |||
displayName="My Soldier"; | |||
vehicleClass = "MySoldierClass"; | |||
weapons[]={"M4AIM","M9","Throw","Put"}; | |||
magazines[]={"30Rnd_556x45_Stanag","15Rnd_9x19_M9","15Rnd_9x19_M9"}; | |||
}; | |||
};</pre> | |||
Second example shows safer and easier way to describe parent class in vehicle config - addonmaker doesn't have to know the whole parency tree. | |||
== Result == | == Result == | ||
Revision as of 22:41, 15 July 2008
cfgVehicleClasses is the new way of using custom vehicleClasses in Armed Assault.
The cfgVehicleClasses entry
The way this functions is by a seperate 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[] = {};
weapons[] = {};
requiredVersion = 1.00;
};
};
class CfgVehicleClasses
{
class MySoldierClass
{
displayName = "My Soldiers";
};
};
class cfgVehicles
{
class SoldierWB;
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 - addonmaker doesn't have to know the whole parency tree.
Result
The end result would appear somewhat like this: