- Armed Assault
- Checks whether the object is (a subtype) of the given type. While main syntax and alt syntax support only CfgVehicles, CfgAmmo and CfgNonAIVehicles, alt syntax 2 allows to specify any config, including mission config.
- typeName1 isKindOf [typeName2, targetConfig] (since Arma 3 v1.47)
- typeName1: String
- [typeName2, targetConfig]: - Array
- typeName2: String
- targetConfig: Config
vehicle player isKindOf "Tank";
"BMP2" isKindOf "Tank";
currentWeapon player isKindOf ["Rifle", configFile >> "CfgWeapons"];
- Posted on April 23, 2007 - 16:34
- This command can be used on the whole hierarchical class tree (i.e. when checking a HMMWV, one could test for "HMMWV50", "Car", "LandVehicle", etc., all of which would return true.)
- Posted on 16 Apr, 2008
- It appears isKindOf is limited to the CfgVehicles branch of the class hierachy.
So CfgWeapons, CfgMagazines, etc will return false for checks like:
("M9" isKindOf "Pistol") returns false
- Posted on 8 Nov, 2009
- In a2 isKindOf also works for CfgAmmo in addition to CfgVehicles: ("M_9M311_AA" isKindOf "MissileBase") returns true. NOT for CfgWeapons, CfgMagazines and others..
- Posted on June 16, 2015 - 17:54 (UTC)
In case you cannot use isKindOf because of the reasons stated, just use BIS fnc returnParents with class names as return value:
_isKindOf = "Rifle" in [(configFile >> "CfgWeapons" >> "BWA3_G36K"),true] call BIS_fnc_returnParents; // is true
- Posted on September 6, 2015 - 22:21 (UTC)
In A3 isKindOf works well with CfgWeapons and CfgMagazines using the syntax from example 3.
It should be prefered to James' solution as it performs more than 25x faster. Tested in debug console with the following code snippets:
bool = "CA_Magazine" in ([(configFile >> "CfgMagazines" >> "HandGrenade"),true] call BIS_fnc_returnParents); --> 0.12111ms
bool = "HandGrenade" isKindOf ["CA_Magazine", configFile >> "CfgMagazines"]; --> 0.00439453ms
When checking in CfgVehicles the syntax from example 2 performs a little faster.