======Tile====== ---- A **tile** is the primary building block of a [[map]] in RPG in a Box. Tiles are typically used to construct the ground, buildings, and other structures/architecture, and can be independently placed at any XYZ [[coordinate]] within the [[map]]. A tile's [[coordinate]] is unique among other tiles in the same [[map]], as only one tile is permitted per XYZ [[coordinate]]. As the player character and NPCs move around the [[map]], any tiles they step onto will act as terrain and determine the vertical positioning of the [[character|characters]]. =====Scripting===== Refer to the table below for a list of tile properties that can be accessed from a [[script]]. If the property's value can be changed using an [[script_syntax|assignment statement]], it will be noted in the description. ^Property^Description^ |.id|Entity ID of the tile, as set in the [[Map Editor]] from the [[Entity Properties]] panel. This can be used to either retrieve or change the ID of the tile.| |.type|Type of [[entity]], in this case the constant value TILE.| |.coord|[[Coordinate]] of the tile.| |.direction|[[Cardinal direction]] (NORTH, SOUTH, WEST, EAST) in which the tile is rotated. The default direction of an [[entity]] is SOUTH.| |.objects|An [[array]] of [[object|objects]] currently occupying the tile, or null if there are none.| |.characters|An [[array]] of [[character|characters]] currently occupying the tile, or null if there are none.| |.groups|An [[array]] of [[groups]] to which the tile is assigned. The [[array]] will be empty if the tile is not assigned to any [[groups]].| |.tags|An [[array]] of tags (as [[string|strings]]) for the tile, as set in the [[Voxel Editor]] from the [[Model Properties]] panel.| |.interact_cursor|Interaction cursor for the tile, as set in the [[Map Editor]] from the [[Entity Properties]] panel. This can be used to either retrieve or change the interaction cursor for the tile. Valid values include "default", "walk", "interact", "speak", "attack", or any custom cursor defined in your [[game configuration]].| |.property["x"]|Custom property stored on the tile, where "x" is a [[string]] containing the name of the property. This can be used to either retrieve or change the property's value.| |.model|Name of the tile's model (e.g. "grass").| |.frame|Current [[animation]] frame (as a [[number]], with the first frame being 1). This can be used to either retrieve or change the model's current frame. If this property is changed and an [[animation]] is playing, the [[animation]] will first be stopped.| |.animation|Name of the [[animation]] currently playing for this tile (as a [[string]]). Value will be null if no [[animation]] is playing.| |.animations|An [[array]] of [[animation]] names defined for this tile. The names will be [[string]] values.| |.attach_points|An [[array]] of [[attach_points|attach point]] names defined for this tile (across all [[animation]] frames). The names will be [[string]] values. The [[array]] will be empty if no [[attach points]] are defined.| |.attachment["x"]|[[Object]] attached to the tile, where "x" is the [[attach_points|attach point]] ID.| |.effect["x"]|[[Effect]] attached to the tile, where "x" is the [[attach_points|attach point]] ID.| |.textures|An [[array]] of texture names defined for this tile. The names will be [[string]] values.| |.terrain_type|[[terrain_types|Terrain type]] assigned to the tile (as a [[string]], or null if none is assigned).| |.waypoints|An [[array]] of waypoint names defined for this tile. This property will be null if the tile is not currently configured as a moving [[platforms|platform]].| |.north_tile|[[Tile]] to the north of this tile (if one is connected via navigation, otherwise null is returned).| |.south_tile|[[Tile]] to the south of this tile (if one is connected via navigation, otherwise null is returned).| |.west_tile|[[Tile]] to the west of this tile (if one is connected via navigation, otherwise null is returned).| |.east_tile|[[Tile]] to the east of this tile (if one is connected via navigation, otherwise null is returned).| ~~NOTOC~~