setTerrainHeight: Difference between revisions
Lou Montana (talk | contribs) m (Fix [brackets])  | 
				No edit summary  | 
				||
| Line 22: | Line 22: | ||
** are '''not''' updated and sent twice (old one then new one) if position edits are not exactly the same (see point above and {{Link|#Example 2}}).  | ** are '''not''' updated and sent twice (old one then new one) if position edits are not exactly the same (see point above and {{Link|#Example 2}}).  | ||
* Edited terrain heights are '''not''' saved inside savegames, they need to be restored manually on savegame load.  | * Edited terrain heights are '''not''' saved inside savegames, they need to be restored manually on savegame load.  | ||
* Known issues:  | |||
** Terrain sections can become invisible if the change is to extreme  | |||
** Walking on the edge of extreme height changes can catapult the player away  | |||
}}  | }}  | ||
Revision as of 17:04, 4 July 2022
Description
- Description:
 - 
Set the current terrain's altitude on provided location(s).
 - Groups:
 - Diagnostic
 
Syntax
- Syntax:
 - setTerrainHeight [positionAndAltitudeArray, adjustObjects]
 - Parameters:
 - positionAndAltitudeArray: Array of Array in format PositionASL - [[x1, y1, newASLHeight1], [x2, y2, newASLHeight2], ...]
 - adjustObjects: Boolean - (Optional, default true) if true then objects on modified points are moved up/down to keep the same ATL height
 - Return Value:
 - Nothing
 
Examples
- Example 1:
 - private _fnc_flattenTerrain = { params ["_start", "_a", "_b", "_h"]; private _newPositions = []; for "_xStep" from 0 to _a do { for "_yStep" from 0 to _b do { private _newHeight = _start vectorAdd [_xStep, _yStep, 0]; _newHeight set [2, _h]; _newPositions pushBack _newHeight; }; }; _newPositions; }; private _desiredTerrainHeight = 150; private _positionsAndHeights = [getPosWorld player, 50, 50, _desiredTerrainHeight] call _fnc_flattenTerrain; setTerrainHeight [_positionsAndHeights, true];
 - Example 2:
 - Bad example:
Good example:// first update setTerrainHeight [[[1000, 1000, 25], [1005, 1000, 25], [1000, 1005, 25], [1005, 1005, 25]]]; // second update - this will make the JIP queue keep both messages setTerrainHeight [[[1005, 1000, 50]]];// first update setTerrainHeight [[[1000, 1000, 25], [1005, 1000, 25], [1000, 1005, 25], [1005, 1005, 25]]]; // second update - this will update the JIP queue properly setTerrainHeight [[[1000, 1000, 25], [1005, 1000, 50], [1000, 1005, 25], [1005, 1005, 25]]];
 
Additional Information
- See also:
 - getTerrainInfo getTerrainHeight
 
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