objectParent: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
No edit summary
m (Some wiki formatting)
Line 6: Line 6:
|gr1= Object Manipulation
|gr1= Object Manipulation


|descr= Returns parent of an object if the object is proxy, otherwise [[objNull]]. In case of backpack, the parent is a weaponholder or a cargo space of a vehicle or the unit carrying it. Unit in a vehicle will return the vehicle as parent. Since Arma 3 2.12 it will return rope parent from known rope segment.<br><br>
|descr= [[Image:objectParent.jpg|right|500px]]
Another good use of [[objectParent]] is when a static weapon is known and one needs to check if it is assembled or not. {{hl|[[objectParent]] _staticWeapon}} will return [[objNull]] if weapon is unpacked, or backpack object if packed.<br><br>
Returns the parent of an object if said object is a proxy.
[[Image:objectParent.jpg|600px]]
 
{{Feature | Informative | When used on a soldier, if the soldier is in a vehicle, this command will return soldier's vehicle. Apart from being faster than [[vehicle]] command, it is also more reliable, as when used on dead [[crew]] inside a vehicle, it returns the vehicle object, where as [[vehicle]] command may surprisingly return unit object instead. For example, to delete a unit which is in a vehicle, execute:
{{Feature|important|
<sqf>objectParent _unit deleteVehicleCrew _unit;</sqf>}}
Use [[objectParent]] instead of [[vehicle]] to get a soldier's vehicle.
Apart from being faster it is also more reliable, as when used on dead [[crew]], [[vehicle]] command may surprisingly return the unit itself.
To delete a unit which is in a vehicle, execute:
<sqf>objectParent _unit deleteVehicleCrew _unit;</sqf>
}}


|s1= [[objectParent]] object
|s1= [[objectParent]] object
Line 18: Line 22:
|r1= [[Object]]
|r1= [[Object]]


|x1= <sqf>_weaponholder = objectParent _mybackpack;</sqf>
|x1= <sqf>
_isOnFoot = isNull objectParent player; // check if the player is on foot
_isCommander = player isEqualTo commander objectParent player; // check if the player is in a vehicle and is its commander
 
_weaponHolder = objectParent _myBackpack; // return:
// - the weapon holder of a dropped backpack
// - the cargo space of a vehicle holding this backpack
// - the dead unit holding the backpack
 
_isDeployed = isNull objectParent _deployableStaticMG; // true if deployed, false if in a backpack


|x2= Create and place created backpack in front of player:
_ropeParent = objectParent _ropeSegment; // since Arma 3 v2.12
</sqf>
 
|x2= Create and place a created backpack in front of player:
<sqf>
<sqf>
_backpackContainer = "B_TacticalPack_rgr" createVehicle [0, 0, 0];
_backpackContainer = "B_TacticalPack_rgr" createVehicle [0, 0, 0];
_weaponHolder = objectParent _backpackContainer;
_weaponHolder = objectParent _backpackContainer;
_weaponHolder setPos (player modelToWorld [0, 5, 0]);
_weaponHolder setPosWorld (player modelToWorldWorld [0, 5, 0]);
</sqf>
</sqf>
|x3= Check if player is on foot:
<sqf>_isOnFoot = isNull objectParent player;</sqf>
|x4= Detect if player is in commander turret of a vehicle:
<sqf>_isVehicleCommander = player isEqualTo commander objectParent player;</sqf>


|seealso= [[backpackContainer]] [[unitBackpack]] [[backpack]] [[backpackCargo]] [[getBackpackCargo]] [[backpackItems]] [[addBackpack]] [[addBackpackCargo]] [[addBackpackCargoGlobal]] [[removeBackpack]] [[clearBackpackCargo]] [[clearBackpackCargoGlobal]] [[clearAllItemsFromBackpack]] [[loadBackpack]] [[backpackSpaceFor]] [[canAddItemToBackpack]] [[addItemToBackpack]] [[removeItemFromBackpack]] [[everyBackpack]] [[vehicle]]
|seealso= [[backpackContainer]] [[unitBackpack]] [[backpack]] [[backpackCargo]] [[getBackpackCargo]] [[backpackItems]] [[addBackpack]] [[addBackpackCargo]] [[addBackpackCargoGlobal]] [[removeBackpack]] [[clearBackpackCargo]] [[clearBackpackCargoGlobal]] [[clearAllItemsFromBackpack]] [[loadBackpack]] [[backpackSpaceFor]] [[canAddItemToBackpack]] [[addItemToBackpack]] [[removeItemFromBackpack]] [[everyBackpack]] [[vehicle]]
}}
}}

Revision as of 18:02, 23 March 2023

Hover & click on the images for description

Description

Description:
objectParent.jpg

Returns the parent of an object if said object is a proxy.

Use objectParent instead of vehicle to get a soldier's vehicle.

Apart from being faster it is also more reliable, as when used on dead crew, vehicle command may surprisingly return the unit itself. To delete a unit which is in a vehicle, execute:

objectParent _unit deleteVehicleCrew _unit;
Groups:
Object Manipulation

Syntax

Syntax:
objectParent object
Parameters:
object: Object
Return Value:
Object

Examples

Example 1:
_isOnFoot = isNull objectParent player; // check if the player is on foot _isCommander = player isEqualTo commander objectParent player; // check if the player is in a vehicle and is its commander _weaponHolder = objectParent _myBackpack; // return: // - the weapon holder of a dropped backpack // - the cargo space of a vehicle holding this backpack // - the dead unit holding the backpack _isDeployed = isNull objectParent _deployableStaticMG; // true if deployed, false if in a backpack _ropeParent = objectParent _ropeSegment; // since Arma 3 v2.12
Example 2:
Create and place a created backpack in front of player:
_backpackContainer = "B_TacticalPack_rgr" createVehicle [0, 0, 0]; _weaponHolder = objectParent _backpackContainer; _weaponHolder setPosWorld (player modelToWorldWorld [0, 5, 0]);

Additional Information

See also:
backpackContainer unitBackpack backpack backpackCargo getBackpackCargo backpackItems addBackpack addBackpackCargo addBackpackCargoGlobal removeBackpack clearBackpackCargo clearBackpackCargoGlobal clearAllItemsFromBackpack loadBackpack backpackSpaceFor canAddItemToBackpack addItemToBackpack removeItemFromBackpack everyBackpack vehicle

Notes

Report bugs on the Feedback Tracker and/or discuss them on the Arma Discord or on the Forums.
Only post proven facts here! Add Note