User Tools

Site Tools


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).


request_coordinate(start_z, min_z, max_z, step_z, validation_func)
start_zInitial Z coordinate of the selection cursor.NumberYes
min_zMinimum Z coordinate allowed.NumberYes
max_zMaximum Z coordinate allowed.NumberYes
step_zAmount to change the Z coordinate by when adjusting up/down.NumberYes
validation_funcName 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.StringNo


function validate_coord($selected) begin
  if tile[$selected.x, $selected.y, $selected.z] != null then
    return false;
  $valid_coords = array[coord[7, 6, 0], coord[7, 5, 0], coord[7, 4, 0]];
  return $valid_coords contains $selected;
$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:

request_coordinate.txt · Last modified: 2022/03/14 21:43 by justin