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

GetStaticTilesArrayEx

Like GetStaticTilesArray, but searches for several static-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 static tile whose graphic is in the list is collected into a single result set.

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

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

DWS

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

DWS overload (legacy, returns count):

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

Pascal Script

function GetStaticTilesArrayEx(Xmin: Word; Ymin: Word; Xmax: Word; Ymax: Word;
  WorldNum: Byte; TileTypes: TWordDynArray; var FoundTilesArray: 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 — GetStaticTilesArray already accepts a list of tile types:

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

Pascal Example

var
  Tiles: TFoundTilesArray;
  Count: Word;
begin
  Count := GetStaticTilesArrayEx(2245, 2353, 2426, 2401, 0,
                                 [$0CCA, $0CCB, $0CCC], Tiles);
  AddToSystemJournal('Found tiles: ' + IntToStr(Count));
end.

Python Example

tiles = GetStaticTilesArray(2245, 2353, 2426, 2401, 0, [0x0CCA, 0x0CCB, 0x0CCC])
AddToSystemJournal(f'Found tiles: {len(tiles)}')

See Also

GetStaticTilesArray, GetLandTilesArrayEx, GetStaticTileData, ReadStaticsXY