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

GetLandTilesArray

Searches for land tiles of type TileType within the rectangular area bounded by (Xmin, Ymin) – (Xmax, Ymax) in world WorldNum.

In Python, TileTypes is a list (supports searching for multiple tile types at once).

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

В Python TileTypes — список (поддерживает поиск нескольких типов одновременно).

DWS

function GetLandTilesArray(Xmin: Word; Ymin: Word; Xmax: Word; Ymax: Word;
  WorldNum: Byte; TileType: Word): TFoundTilesArray;

DWS overload (legacy, returns count):

function GetLandTilesArray(Xmin: Word; Ymin: Word; Xmax: Word; Ymax: Word;
  WorldNum: Byte; TileType: Word; var LandTilesArray: TFoundTilesArray): Word;

Pascal Script

function GetLandTilesArray(Xmin: Word; Ymin: Word; Xmax: Word; Ymax: Word;
  WorldNum: Byte; TileType: Word; var LandTilesArray: TFoundTilesArray): Word;

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

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

Pascal Example

var
  Tiles: TFoundTilesArray;
  i, Count: Integer;
begin
  Tiles := GetLandTilesArray(1000, 1000, 2, 2, WorldNum);
  Count := Length(Tiles);
  AddToSystemJournal('Found land tiles: ' + IntToStr(Count));

  for i := 0 to Count - 1 do
    AddToSystemJournal(
      'Tile=' + IntToStr(Tiles[i].Tile) +
      ' X=' + IntToStr(Tiles[i].X) +
      ' Y=' + IntToStr(Tiles[i].Y) +
      ' Z=' + IntToStr(Tiles[i].Z)
    );
end.

Python Example

tiles = GetLandTilesArray(1000, 1000, 2, 2, WorldNum())
AddToSystemJournal(f'Found land tiles: {len(tiles)}')

for tile in tiles:
    AddToSystemJournal(
        f'Tile={tile.Tile} X={tile.X} Y={tile.Y} Z={tile.Z}'
    )

See Also

GetLandTileData, GetStaticTilesArray