The CallStation Section

The CallStation section allows you to create call stations for your elevators. This is used for both Destination Dispatch and ordinary call buttons, especially to create advanced call button panels. This must be created within a Floor section, in order to specify what floor the call station is on. Call Stations are numbered, starting with 1, this is a global number, not per-floor, even though call stations are created individually on each floor.

The section headers and footers are similar to the ones in the Floor section.
To specify a single call station, you would type something like:
<CallStation 1>
and end it with:
<EndCallStation>
For a range of call stations, you would use something like:
<CallStations 2 to 10>
and end with:
<EndCallStations>

All parameters in a CallStation section are optional.

For Actions, here's the available action command names that can be used for custom controls:
(Floor number) (select floor)
Off
FireOff (set fire service phase 1 to Off for all elevators serviced by this call station)
FireOn (set fire service phase 1 to On for all elevators serviced by this call station)
FireBypass (set fire service phase 1 to Bypass for all elevators service by this call station)
Input1 (number 1 on keypad)
Input2 (number 2 on keypad)
Input3 (number 3 on keypad)
Input4 (number 4 on keypad)
Input5 (number 5 on keypad)
Input6 (number 6 on keypad)
Input7 (number 7 on keypad)
Input8 (number 8 on keypad)
Input9 (number 9 on keypad)
Input0 (number 0 on keypad)
InputMinus (minus on keypad)
InputStar (star on keypad)
InputBackspace (extra feature with character "<")
Up (call elevator up)
Down (call elevator down)

Variables:

%callstation% - number of the current call station, on the current floor
%floor% - the current floor

Parameters:

1. Name - sets the name of the call station
Example: Name = Call Station %callstation%

2. Controller - used to specify the controller this call station will be assigned to.
Example: Controller = 1

3. TimerDelay - specifies the key input timer delay, for keypads, in seconds. The default is 2 seconds.
Example: TimerDelay = 1

4. InvalidInput - specifies keypad input values that should be treated as invalid.
Example: InvalidInput = 13, 23

5. ShowDirection - determines if the destination indicator should show the direction of the elevator when showing it's ID. The default is true.
Example: ShowDirection = false

Commands:

1. SetPosition - sets the position of this call station, relative to the floor it's on.
Syntax: SetPosition X, Y, Z
Example: SetPosition -3, 4, 0

2. CreatePanel - creates a button panel
Syntax: CreatePanel texturename, rows, columns, direction, buttonwidth, buttonheight, spacingX, spacingY, tw, th
Example: CreatePanel Wall1, 5, 5, right, 0.15, 0.15, 0.3, 0.45, 0, 0

The CreatePanel command creates a button panel for the call station, similar to the elevator car section's CreatePanel command. Rows and Columns define the grid size of the panel. Direction is either "front", "back", "left" or "right", defining which direction the panel faces. SpacingX is the space (percent of a button's width) horizontally between each button, and spacingY is the space (percent of a button's height) vertically between each button. Not all positions need to be used; this is simply to provide a grid layout for the panel. This command also determines the width and height of the panel based on the spacing and button sizes. A simple formula for determining panel width or height is this - for width, it's (columns * buttonwidth) + (spacingX * (columns + 1)); for height, just swap columns with rows and spacingX with spacingY. If a texture is not specified, the back portion of the panel will not be shown.

3. AddControl - command for creating buttons, switches and knobs on the panel
Syntax: AddControl sound, row, column, width, height, hoffset, voffset, selection_position, command_name(s), texture_name(s)
Example 1: AddControl switch.wav, 2, 2, 1, 1, 0, 0, 1, 7, Button7

The AddControl command creates a control on the specified button panel (created with CreatePanel). The command_name(s) and texture_name(s) parameters allow you to specify a list of commands, and a list of textures to go along with those commands. A texture needs to be specified for every command; if you specify 3 commands and only 2 textures, you will get an error. The example shows a Destination Dispatch floor button for floor 7. Leave the sound field blank for no sound to be played. The selection_position parameter specifies the starting selection position, which is normally 1. For more examples, see the AddControl command in the Elevator Car section.

Available command names for call stations:

[floor number] (specify only the floor number to select the floor with the Dispatch Controller)

When this command is used, actions are created using the specified commands. The resulting names of the actions are the floor name, followed by a colon, then the CallStation name followed by another colon, and then the command name, in order to be unique to each floor and callstation. So the "7" command for Floor 1 Call Station 1 is created as an action named "Floor 1:Call Station 1:7", and you can specify more actions with that name to run multiple actions when that floor is selected.

4. AddIndicator - creates a destination indicator for this call station
Syntax: AddIndicator sound, texture_prefix, blank_texture, direction, CenterX, CenterZ, width, height, voffset, timer_duration
Example: AddIndicator mechchime9.wav, Button, Black, right, 0, 0, 0.5, 0.5, 1, 5

The AddIndicator command creates a destination indicator for the associated call station. Sound is the sound played when displaying the elevator's ID, and if an asterisk is specified, the asterisk is replaced with the elevator's ID (in this case, "A"), so "Sound*.wav" would change to "SoundA.wav". Texture_prefix specifies the base name of the texture used, so if "Button" is specified, an elevator ID of "A" would load the texture "ButtonA". Blank_texture is the texture to use when off. CenterX and CenterZ are relative to the call station center. Timer_duration specifies how long the elevator's ID should be displayed, in seconds. The error text used is both "??" and "XX", so make sure to load textures for those (such as "Button??"). The "??" value is displayed when a floor entry is invalid, and the "XX" entry means "error". For error sounds, since the "??" characters sometimes can't be used in filenames, the simulator will expand it to "Invalid", and "XX" to "Error", so as an example the sounds will be "SoundInvalid.wav" and "SoundError.wav", if "Sound*.wav" is used for the sound parameter.