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 — массив график тайлов для поиска: все статические тайлы, чья графика есть в списке, собираются в один общий результат.
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;
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,
TFoundTilesArrayis a fixed-size array of 1000 elements. - In DWS,
TFoundTilesArrayis a dynamic array (TArray<TFoundTile>).
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]: ...
var
Tiles: TFoundTilesArray;
Count: Word;
begin
Count := GetStaticTilesArrayEx(2245, 2353, 2426, 2401, 0,
[$0CCA, $0CCB, $0CCC], Tiles);
AddToSystemJournal('Found tiles: ' + IntToStr(Count));
end.
tiles = GetStaticTilesArray(2245, 2353, 2426, 2401, 0, [0x0CCA, 0x0CCB, 0x0CCC])
AddToSystemJournal(f'Found tiles: {len(tiles)}')
GetStaticTilesArray, GetLandTilesArrayEx, GetStaticTileData, ReadStaticsXY