Kronzky
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.)
Results appear below as you type; use the arrow keys to move through them.
Command · Markdown · JSON · original wiki page
Checks whether the given object or type is (a subtype) of the given type.
While #Syntax 1 and #Syntax 2 only support CfgVehicles, Arma 2 v1.00CfgAmmo and CfgNonAIVehicles, #Syntax 3 can be used with any config, including the mission config.
object isKindOf typeName
Parameters:
Returns: Boolean
class1 isKindOf class2
Parameters:
Returns: Boolean
since arma3 1.48
class1 isKindOf [class2, targetConfig]
Parameters:
Returns: Boolean
vehicle player isKindOf "Tank";
"BMP2" isKindOf "Tank";
currentWeapon player isKindOf ["Rifle", configFile >> "CfgWeapons"];
private _isSoldier = player isKindOf "CAManBase";
typeOf · countType · inheritsFrom · configHierarchy
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.)
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
In Arma 3 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:
"CA_Magazine" in ([configFile >> "CfgMagazines" >> "HandGrenade", true] call BIS_fnc_returnParents); // 0.12111 ms
"HandGrenade" isKindOf ["CA_Magazine", configFile >> "CfgMagazines"]; // 0.00439453 ms
When checking in CfgVehicles the syntax from #Example 2 performs a little faster.