objectParent: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "\[\[[Cc]ategory:[ _]?Arma[ _]3:[ _]([^|]*)[ _]?\|.*\]\]" to "{{GameCategory|arma3|$1}}")
No edit summary
 
(67 intermediate revisions by 4 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


|gr1= Object Manipulation |GROUP1=
|descr= [[File:objectParent.jpg|right|500px]]
____________________________________________________________________________________________
Returns the parent of an object if said object is a proxy.


| 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>
{{Feature|important|
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>
Use [[objectParent]] instead of [[vehicle]] to get a soldier's vehicle.
[[Image:objectParent.jpg|600px]]
Apart from being faster it is also more reliable, as when used on dead [[crew]], [[vehicle]] command may surprisingly return the unit itself.
<br><br>
}}
{{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:
<code>[[objectParent]] _unit [[deleteVehicleCrew]] _unit;</code>}}
|DESCRIPTION=
____________________________________________________________________________________________


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


|p1= object: [[Object]] |PARAMETER1=
|s1= [[objectParent]] object


| [[Object]] |RETURNVALUE=
|p1= object: [[Object]]


|r1= [[Object]]


|x1= <code>_weaponholder = [[objectParent]] _mybackpack;
|x1= <sqf>
</code>|EXAMPLE1=
_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:<code>_backpackContainer = "B_TacticalPack_rgr" [[createVehicle]] [0,0,0];
_holder = objectParent _myBackpack; // return:
_weaponHolder = [[objectParent]] _backpackContainer;
// - the weapon holder of a dropped backpack
_weaponHolder [[setPos]] ([[player]] [[modelToWorld]] [0,5,0]);</code>|EXAMPLE2=
// - the cargo space of a vehicle holding this backpack
// - the dead unit holding the backpack
// works for a backpack, a vest or a uniform


|x3= Check if player is on foot:<code>_isOnFoot = [[isNull]] [[objectParent]] [[player]];</code>|EXAMPLE3=
_isDeployed = isNull objectParent _deployableStaticMG; // true if deployed, false if in a backpack


|x4= Detect if player is in commander turret of a vehicle:<code>_isVehicleCommander = [[player]] [[isEqualTo]] [[commander]] [[objectParent]] [[player]];</code>|=
_ropeParent = objectParent _ropeSegment; // since {{arma3}} v2.12
____________________________________________________________________________________________
_creatorUnit = objectParent _weaponholder; // since {{arma3}} v2.18
</sqf>


| [[backpackContainer]], [[unitBackpack]], [[backpack]], [[backpackCargo]], [[getBackpackCargo]], [[backpackItems]], [[addBackpack]], [[addBackpackCargo]], [[addBackpackCargoGlobal]], [[removeBackpack]], [[clearBackpackCargo]], [[clearBackpackCargoGlobal]], [[clearAllItemsFromBackpack]], [[loadBackpack]], [[backpackSpaceFor]], [[canAddItemToBackpack]], [[addItemToBackpack]], [[removeItemFromBackpack]], [[everyBackpack]], [[vehicle]] |SEEALSO=
|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>


| |MPBEHAVIOUR=  
|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>
{{GameCategory|arma3|New_Scripting_Commands_List}}
[[Category:Scripting Commands Arma 3|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting Commands|{{uc:{{PAGENAME}}}}]]

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