======Request Coordinate====== ---- Prompts the player for a [[tile]] [[coordinate]] using a 3D selection cursor. The selected [[coordinate]] is returned by this function and can be stored into a property or variable for further action. While the selection cursor is active, the player can adjust it up and down using the move forward/backward keys or the up/down arrow keys (based on the range set by the minimum and maximum Z values). ====Signature:==== request_coordinate(start_z, min_z, max_z, step_z, validation_func) ^Argument^Description^Type^Required^ |start_z|Initial Z [[coordinate]] of the selection cursor.|[[Number]]|Yes| |min_z|Minimum Z [[coordinate]] allowed.|[[Number]]|Yes| |max_z|Maximum Z [[coordinate]] allowed.|[[Number]]|Yes| |step_z|Amount to change the Z [[coordinate]] by when adjusting up/down.|[[Number]]|Yes| |validation_func|Name of custom function that is called to validate the [[coordinate]] at the current cursor location. If supplied, this function should have one input argument, into which the current [[coordinate]] will be passed.|[[String]]|No| ====Example:==== function validate_coord($selected) begin if tile[$selected.x, $selected.y, $selected.z] != null then return false; end; $valid_coords = array[coord[7, 6, 0], coord[7, 5, 0], coord[7, 4, 0]]; return $valid_coords contains $selected; end; $result = request_coordinate(0, -64, 64, 16, "validate_coord"); //Results:// Prompts the player for a [[tile]] [[coordinate]], with a starting Z value of zero, a minimum Z value of -64, a maximum Z value of 64, and increments of 16. The custom "validate_coord" function is called to check if the [[coordinate]] at the current cursor location is valid (in this case, it's ensuring that there isn't an existing [[tile]] at that location and that the [[coordinate]] is one of three allowed locations in the $valid_coords [[array]] variable). Once the player selects a valid [[coordinate]], it will be stored into the $result variable. Use the **Request Coordinate** function as a way for the player to dynamically place tiles into the world, for example to build walls, bridges, or even houses. ---- ====Editor Node:==== ====Visual Demo:==== ~~NOTOC~~