> For the complete documentation index, see [llms.txt](https://docs.settlers-united.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.settlers-united.com/s4-lua-api-de/su-library-functions/su.buildings/su.buildings.getbuildingsinarea.md).

# SU.Buildings.GetBuildings

## SU.Buildings.GetBuildings(buildingIDs, playerID, buildingType, buildingState=Buildings.ALL)

Gibt die Entity-IDs der Gebäude (sowohl fertige als auch Baustellen) im gegebenen Bereich zurück.

#### Parameter

* `buildingIDs`: **Ziel-Tabelle**: Eine vor dem Funktionsaufruf erstellte Tabelle (z. B. `local buildingIDs = {}`, siehe Beispiel unten), die dann von dieser Funktion mit den gefundenen Entity-IDs befüllt wird. **Achtung**: Bereits enthaltene Daten in dieser Tabelle werden dabei überschrieben!
* `playerID`: ID des Spielers (1-8), Index 0 ungültig, -1 wenn keine Spieler gefiltert werden sollen
* `buildingType`: ID des Gebäude-Typs (siehe [Enum-Tabelle](/s4-lua-api-de/api-enums/buildings.md)), -1 wenn keine Gebäude-Typen gefiltert werden sollen
* `buildingState` (optional): Gebäudestatus nach dem gesucht werden soll (siehe [Buildings](/s4-lua-api-de/api-enums/buildings.md))

#### Rückgabewerte

* `number` (Anzahl): Die Gesamtzahl der gefundenen Gebäude.
* **Hinweis***:* Die eigentlichen Entity-IDs werden nicht als Rückgabewert geliefert, sondern direkt in die als ersten Parameter übergebene Ziel-Tabelle geschrieben.
* **Sortierung** von `buildingIDs`: Wird kein Spieler und/oder Gebäude-Typ gefiltert (`-1`), sind die **IDs** zuerst nach `playerID [1-NumOfPlayers]`, dann nach `buildingType` und schlussendlich von **neu nach alt** **sortiert** (jedoch **nicht nach** `buildingState`).

#### Beispiel

```lua
local buildingIDs = {}    -- oder einmalig global definiert
local numBuildings = SU.Buildings.GetBuildings(buildingIDs, playerId, buildingType)
```
