Home API Manuals About Forum
Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

GetLandTilesArrayEx

Like GetLandTilesArray, but searches for several land-tile types at once within the rectangular area bounded by (Xmin, Ymin) – (Xmax, Ymax) in world WorldNum.

TileTypes is an array of tile graphics to match — every land tile whose graphic is in the list is collected into a single result set.

Как GetLandTilesArray, но ищет несколько типов ландшафтных тайлов сразу в прямоугольной области (Xmin, Ymin) – (Xmax, Ymax) в мире WorldNum.

TileTypes — массив график тайлов для поиска: все ландшафтные тайлы, чья графика есть в списке, собираются в один общий результат.

DWS

function GetLandTilesArrayEx(Xmin: Word; Ymin: Word; Xmax: Word; Ymax: Word;
  WorldNum: Byte; TileTypes: array of Word): TFoundTilesArray;

DWS overload (legacy, returns count):

function GetLandTilesArrayEx(Xmin: Word; Ymin: Word; Xmax: Word; Ymax: Word;
  WorldNum: Byte; TileTypes: array of Word; var LandTilesArray: TFoundTilesArray): Word;

Pascal Script

function GetLandTilesArrayEx(Xmin: Word; Ymin: Word; Xmax: Word; Ymax: Word;
  WorldNum: Byte; TileTypes: TWordDynArray; var LandTilesArray: TFoundTilesArray): Word;

In Pascal Script the TileTypes parameter is the named dynamic-array type TWordDynArray (not an open array of Word); you still pass it with an array literal [...].

Type definitions:

TFoundTile = packed record
  Tile: Word;
  X: SmallInt;
  Y: SmallInt;
  Z: ShortInt;
end;

// Pascal Script
TFoundTilesArray = array[0..999] of TFoundTile;

// DWS
TFoundTilesArray = TArray<TFoundTile>;

Notes:

  • In Pascal Script, TFoundTilesArray is a fixed-size array of 1000 elements.
  • In DWS, TFoundTilesArray is a dynamic array (TArray<TFoundTile>).

Python

In Python there is no separate Ex variant — GetLandTilesArray already accepts a list of tile types:

def GetLandTilesArray(Xmin: int, Ymin: int, Xmax: int, Ymax: int,
                      WorldNum: int, TileTypes: list[int]) -> list[FoundTile]: ...

Pascal Example

var
  Tiles: TFoundTilesArray;
  Count: Word;
begin
  // collect all water tiles of several graphics in the area
  Count := GetLandTilesArrayEx(1000, 1000, 1100, 1100, 0,
                               [$00A8, $00A9, $00AA, $00AB], Tiles);
  AddToSystemJournal('Found land tiles: ' + IntToStr(Count));
end.

Python Example

tiles = GetLandTilesArray(1000, 1000, 1100, 1100, 0, [0xA8, 0xA9, 0xAA, 0xAB])
AddToSystemJournal(f'Found land tiles: {len(tiles)}')

See Also

GetLandTilesArray, GetStaticTilesArrayEx, GetLandTileData