objectParent: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "<sqf>([^ ]+) <\/sqf>" to "<sqf>$1</sqf>")
m (Text replacement - "<code>([^\[]+)<\/code>" to "<sqf>$1</sqf>")
Line 10: Line 10:
[[Image:objectParent.jpg|600px]]
[[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 | 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>}}
<sqf>objectParent _unit deleteVehicleCrew _unit;</sqf>}}


|s1= [[objectParent]] object
|s1= [[objectParent]] object
Line 26: Line 26:


|x3= Check if player is on foot:
|x3= Check if player is on foot:
<code>_isOnFoot = isNull objectParent player;</code>
<sqf>_isOnFoot = isNull objectParent player;</sqf>


|x4= Detect if player is in commander turret of a vehicle:
|x4= Detect if player is in commander turret of a vehicle:
<code>_isVehicleCommander = player isEqualTo commander objectParent player;</code>
<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 20:08, 13 May 2022

Hover & click on the images for description

Description

Description:
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.

Another good use of objectParent is when a static weapon is known and one needs to check if it is assembled or not. objectParent _staticWeapon will return objNull if weapon is unpacked, or backpack object if packed.

objectParent.jpg
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:
objectParent _unit deleteVehicleCrew _unit;
Groups:
Object Manipulation

Syntax

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

Examples

Example 1:
_weaponholder = objectParent _mybackpack;
Example 2:
Create and place created backpack in front of player: _backpackContainer = "B_TacticalPack_rgr" createVehicle [0,0,0]; _weaponHolder = objectParent _backpackContainer; _weaponHolder setPos (player modelToWorld [0,5,0]);
Example 3:
Check if player is on foot:
_isOnFoot = isNull objectParent player;
Example 4:
Detect if player is in commander turret of a vehicle:
_isVehicleCommander = player isEqualTo commander objectParent player;

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