buildingPos: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "\[\[([a-zA-Z][a-zA-Z0-9_]+)\]\]([^ ]*)<\/code>" to "$1$2</code>")
m (Text replacement - "kju" to ".kju")
(12 intermediate revisions by 3 users not shown)
Line 32: Line 32:
|p1= building: [[Object]]
|p1= building: [[Object]]


|p2= index: [[Number]] - Index of a specific position {{Feature|arma3|Since v1.56 index {{hl|-1}} will return all available building positions.}}
|p2= index: [[Number]] - index of a specific position {{Feature|arma3|Since v1.56 index {{hl|-1}} will return all available building positions.}}


|r1= [[Array]] - A single building position in format [[Position#PositionAGL|PositionAGL]]. If building position with given index does not exist, {{hl|[0, 0, 0]}} is returned
|r1= [[Array]] in format [[Position#PositionAGL|PositionAGL]] - a single building position. If building position with given index does not exist, {{hl|[0, 0, 0]}} is returned
{{Feature|arma3|Since v1.56 it can also return an [[Array|array]] of all building positions in format [[Position#PositionAGL|PositionAGL]] if index that was given is {{hl|-1}}.}}
{{Feature|arma3|Since v1.56 it can also return an [[Array|array]] of all building positions in format [[Position#PositionAGL|PositionAGL]] if index that was given is {{hl|-1}}.}}


|x1= <code>_soldier setPosATL (_house1 buildingPos 2);</code>
|x1= <sqf>_soldier setPosATL (_house1 buildingPos 2);</sqf>


|x2= <code>_allpositions = nearestBuilding player buildingPos -1;</code>
|x2= <sqf>_allpositions = nearestBuilding player buildingPos -1;</sqf>


|seealso= [[nearestBuilding]] [[nearestObject]] [[nearestObjects]] [[nearObjects]] [[buildingExit]] [[position]] [[setPos]] [[setWaypointHousePosition]] [[waypointHousePosition]] [[BIS_fnc_buildingPositions]]
|seealso= [[nearestBuilding]] [[nearestObject]] [[nearestObjects]] [[nearObjects]] [[insideBuilding]] [[buildingExit]] [[position]] [[setPos]] [[setWaypointHousePosition]] [[waypointHousePosition]] [[BIS_fnc_buildingPositions]]
}}
}}


Line 47: Line 47:


<dt><dt>
<dt><dt>
<dd class="notedate">Posted on August 2, 2006 - 10:45</dd>
<dd class="notedate">Posted on 2006-08-02 - 10:45</dd>
<dt class="note">[[User:Hardrock|hardrock]]</dt>
<dt class="note">[[User:Hardrock|hardrock]]</dt>
<dd class="note">
<dd class="note">
''Notes from before the conversion:''
''Notes from before the conversion:''
These examples will move a unit to the 1st position specified in a buildings model, in the second example - bunker1.
These examples will move a unit to the 1st position specified in a buildings model, in the second example - bunker1.
<code>this [[move]] (building [[buildingPos]] 1);
<sqf>this move (building buildingPos 1);
this move (bunker1 [[buildingPos]] 1);</code>
this move (bunker1 buildingPos 1);</sqf>
In the default game buildings, the buildingPos is usually right behind a window. This can make it easy to place units in the windows of buildings, by putting the unit near a building and putting this in its init field:  
In the default game buildings, the buildingPos is usually right behind a window. This can make it easy to place units in the windows of buildings, by putting the unit near a building and putting this in its init field:  
<code>this setPosATL ((nearestBuilding this) buildingPos 1);</code>
<sqf>this setPosATL ((nearestBuilding this) buildingPos 1);</sqf>
The location returned by buildingPos is not reliable after the player has exited and then resumed the mission. For code that is executed immediately after the mission starts there is no problem.  
The location returned by buildingPos is not reliable after the player has exited and then resumed the mission. For code that is executed immediately after the mission starts there is no problem.  
If buildingPos locations are to be accessed during the mission when the player may have exited and then resumed, save the locations you require at the start of the mission and use these saved locations in your subsequent scripts.
If buildingPos locations are to be accessed during the mission when the player may have exited and then resumed, save the locations you require at the start of the mission and use these saved locations in your subsequent scripts.


<dt><dt>
<dt><dt>
<dd class="notedate">Posted on January 26, 2007 - 01:02</dd>
<dd class="notedate">Posted on 2007-01-26 - 01:02</dd>
<dt class="note">[[User:Kronzky|Kronzky]]</dt>
<dt class="note">[[User:Kronzky|Kronzky]]</dt>
<dd class="note">
<dd class="note">
Line 66: Line 66:


<dt><dt>
<dt><dt>
<dd class="notedate">Posted on January 08, 2011</dd>
<dd class="notedate">Posted on 2011-01-08</dd>
<dt class="note">[[User:kju|kju]]</dt>
<dt class="note">[[User:.kju|.kju]]</dt>
<dd class="note">
<dd class="note">
Almost all buildings loose their building positions when they get (visually) damaged or destroyed. Some debris do still have building positions though. So it is no technical limitation. Just most damaged/destructed buildings models do not (yet?) have building positions. Keep in mind that a damaged or destroyed building is a different object instance (and model).
Almost all buildings loose their building positions when they get (visually) damaged or destroyed. Some debris do still have building positions though. So it is no technical limitation. Just most damaged/destructed buildings models do not (yet?) have building positions. Keep in mind that a damaged or destroyed building is a different object instance (and model).
</dl>
</dl>

Revision as of 20:32, 3 May 2024

Hover & click on the images for description

Description

Description:
Returns position of a given indexed position in a building.
Groups:
Positions

Syntax

Syntax:
building buildingPos index
Parameters:
building: Object
index: Number - index of a specific position
Arma 3
Since v1.56 index -1 will return all available building positions.
Return Value:
Array in format PositionAGL - a single building position. If building position with given index does not exist, [0, 0, 0] is returned
Arma 3
Since v1.56 it can also return an array of all building positions in format PositionAGL if index that was given is -1.

Examples

Example 1:
_soldier setPosATL (_house1 buildingPos 2);
Example 2:
_allpositions = nearestBuilding player buildingPos -1;

Additional Information

See also:
nearestBuilding nearestObject nearestObjects nearObjects insideBuilding buildingExit position setPos setWaypointHousePosition waypointHousePosition BIS_fnc_buildingPositions

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
Posted on 2006-08-02 - 10:45
hardrock
Notes from before the conversion: These examples will move a unit to the 1st position specified in a buildings model, in the second example - bunker1.
this move (building buildingPos 1); this move (bunker1 buildingPos 1);
In the default game buildings, the buildingPos is usually right behind a window. This can make it easy to place units in the windows of buildings, by putting the unit near a building and putting this in its init field:
this setPosATL ((nearestBuilding this) buildingPos 1);
The location returned by buildingPos is not reliable after the player has exited and then resumed the mission. For code that is executed immediately after the mission starts there is no problem. If buildingPos locations are to be accessed during the mission when the player may have exited and then resumed, save the locations you require at the start of the mission and use these saved locations in your subsequent scripts.
Posted on 2007-01-26 - 01:02
Kronzky
The highest index is not necessarily the highest position in a building! Check the z-value to find out the absolute height of a position.
Posted on 2011-01-08
.kju
Almost all buildings loose their building positions when they get (visually) damaged or destroyed. Some debris do still have building positions though. So it is no technical limitation. Just most damaged/destructed buildings models do not (yet?) have building positions. Keep in mind that a damaged or destroyed building is a different object instance (and model).