objectParent: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
(detection of static weapon assembly)
No edit summary
 
(75 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{Command|= Comments
{{RV|type=command
____________________________________________________________________________________________


| arma3|= Game name
|game1= arma3
|version1= 1.50


|1.50|= Game version
|gr1= Object Manipulation
____________________________________________________________________________________________


| 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. <tt>[[objectParent]] _staticWeapon</tt> 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]]
|= Description
____________________________________________________________________________________________


| '''objectParent''' object |= Syntax
{{Feature|important|
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.
}}


|p1= object: [[Object]] |= PARAMETER1
{{Feature|informative|
Since {{arma3}} v2.18 [[objectParent]] can return the creator of a weaponholder if the weaponholder was created through some user action.
}}


| [[Object]] |= RETURNVALUE
|s1= [[objectParent]] object


|p1= object: [[Object]]


|x1= <code>_weaponholder = [[objectParent]] _mybackpack;
|r1= [[Object]]
</code>|= EXAMPLE1


|x2= Create and place created backpack in front of player:<code>_backpackContainer = "B_TacticalPack_rgr" [[createVehicle]] [0,0,0];
|x1= <sqf>
_weaponHolder = [[objectParent]] _backpackContainer;
_isOnFoot = isNull objectParent player; // check if the player is on foot
_weaponHolder [[setPos]] ([[player]] [[modelToWorld]] [0,5,0]);</code>|= EXAMPLE2
_isCommander = player isEqualTo commander objectParent player; // check if the player is in a vehicle and is its commander


|x3= Check if player is on foot:<code>_isOnFoot = [[isNull]] [[objectParent]] [[player]];</code>|= EXAMPLE3
_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


|x4= Detect if player is in commander turret of a vehicle:<code>_isVehicleCommander = [[player]] [[isEqualTo]] [[commander]] [[objectParent]] [[player]];</code>|=
_isDeployed = isNull objectParent _deployableStaticMG; // true if deployed, false if in a backpack
____________________________________________________________________________________________


| [[backpackContainer]], [[unitBackpack]], [[backpack]], [[backpackCargo]], [[getBackpackCargo]], [[backpackItems]], [[addBackpack]], [[addBackpackCargo]], [[addBackpackCargoGlobal]], [[removeBackpack]], [[clearBackpackCargo]], [[clearBackpackCargoGlobal]], [[clearAllItemsFromBackpack]], [[loadBackpack]], [[backpackSpaceFor]], [[canAddItemToBackpack]], [[addItemToBackpack]], [[removeItemFromBackpack]], [[everyBackpack]], [[vehicle]] |= SEEALSO
_ropeParent = objectParent _ropeSegment; // since {{arma3}} v2.12
_creatorUnit = objectParent _weaponholder; // since {{arma3}} v2.18
</sqf>


| |= MPBEHAVIOUR
|x2= Create and place a created backpack in front of player:
____________________________________________________________________________________________
<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]] [[getCorpse]]
}}
}}
<h3 style='display:none'>Notes</h3>
<dl class='command_description'>
<!-- Note Section BEGIN -->
<!-- Note Section END -->
</dl>
<h3 style='display:none'>Bottom Section</h3>
[[Category:Arma_3:_New_Scripting_Commands_List|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting Commands Arma 3|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting Commands|{{uc:{{PAGENAME}}}}]]

Latest revision as of 15: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