objectParent: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "<code>([^\[]+)<\/code>" to "<sqf>$1</sqf>")
No edit summary
 
(9 intermediate revisions by 3 users not shown)
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.<br><br>
|descr= [[File: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.
}}
 
{{Feature|informative|
Since {{arma3}} v2.18 [[objectParent]] can return the creator of a weaponholder if the weaponholder was created through some user action.
}}


|s1= [[objectParent]] object
|s1= [[objectParent]] object
Line 18: Line 24:
|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


|x2= Create and place created backpack in front of player:
_holder = objectParent _myBackpack; // return:
<code>_backpackContainer = "B_TacticalPack_rgr" createVehicle [0,0,0];
// - the weapon holder of a dropped backpack
_weaponHolder = objectParent _backpackContainer;
// - the cargo space of a vehicle holding this backpack
_weaponHolder setPos (player modelToWorld [0,5,0]);</code>
// - the dead unit holding the backpack
// works for a backpack, a vest or a uniform
 
_isDeployed = isNull objectParent _deployableStaticMG; // true if deployed, false if in a backpack


|x3= Check if player is on foot:
_ropeParent = objectParent _ropeSegment; // since {{arma3}} v2.12
<sqf>_isOnFoot = isNull objectParent player;</sqf>
_creatorUnit = objectParent _weaponholder; // since {{arma3}} v2.18
</sqf>


|x4= Detect if player is in commander turret of a vehicle:
|x2= Create and place a created backpack in front of player:
<sqf>_isVehicleCommander = player isEqualTo commander objectParent player;</sqf>
<sqf>
_backpackContainer = "B_TacticalPack_rgr" createVehicle [0, 0, 0];
_weaponHolder = objectParent _backpackContainer;
_weaponHolder setPosWorld (player modelToWorldWorld [0, 5, 0]);
</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]] [[getCorpse]]
}}
}}

Latest revision as of 14:23, 29 March 2024

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.
Since Arma 3 v2.18 objectParent can return the creator of a weaponholder if the weaponholder was created through some user action.
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 _holder = 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 // works for a backpack, a vest or a uniform _isDeployed = isNull objectParent _deployableStaticMG; // true if deployed, false if in a backpack _ropeParent = objectParent _ropeSegment; // since Arma 3 v2.12 _creatorUnit = objectParent _weaponholder; // since Arma 3 v2.18
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 getCorpse

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