build.scan_floors
Overview
- List floors and rooms in the current site with room indices, positions and wall-graph heights. Works in both play mode (character must be inside a building) and build mode. Use room_index with build.set_floor_color / build.set_floor_material. 'heights' gives each wall graph's base_height / floor_height / wall_height plus the derived bottom_height (base+floor, the Z the walls stand on) and top_height. That is where you read the elevation to pass as base_height when starting a room on a floor above 0 with building.construct_wall - later segments of the same room inherit it automatically. Room node coordinates are in SITE-RELATIVE CENTIMETRES, the same space as building.place_object. Paging applies to ROOMS, not floors: at most 'limit' rooms (200 by default) are listed across all floors, so compare 'count' against 'total_rooms' to detect truncation. room_index stays stable across pages.
Metadata
| Field | Value |
|---|---|
| Display | Scan Floors |
| Category | build |
| Access | Public |
| Scope | B1Standalone |
| Tags | Experimental |
| Aliases | — |
Parameters
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| floor_level | int | no | — | Filter by floor level (default: all floors) |
| limit | int | no | 200 | Maximum number of rooms to list across all floors. 0 means no limit. 'total_rooms' always reflects the true match count. |
| offset | int | no | 0 | Skip this many matching rooms before filling the arrays (for paging) |
Usage
await inzoi.cli.execute('build.scan_floors', {
floor_level: 0, // optional
limit: 200, // optional
offset: 0, // optional
});