Skip to content
Menu
SteamAH
  • Cheat
  • Guide
  • Tips
  • Privacy Policy
  • Abuse
SteamAH
Space Engineers Advanced Automatic Elevator Control Script Guide

Space Engineers Advanced Automatic Elevator Control Script Guide

Posted on October 2, 2022October 2, 2022

For Space Engineers players, this guide will show you my script of the advanced automatic elevator control, let’s check it out.

 

AACES – Summary

This script can be used to create and manage complex but easy to setup elevators without the use of timers or sensors.

Link to script: Script

A single programmable block with this script can manage all the elevators on a grid including support for any grid size. This script is designed in such a way meaning that many of the steps needed in creating an elevator are done automatically (closing of doors, multi-floor management etc).

Individual elevator’s settings can be adjusted from within their configuration, you can adjust speed, door timings, elevator smoothness however you wish. You can even setup timers for when certain events happen like arrivals and departures making things such as elevator music and arrival dings possible.

How to Setup

A video setup example is available here and in the workshop previews: Link.

Text Setup Guide:
  1. Place a programmable block and load this script.
  2. Then place a door on the first floor, prefix the name of the door with [L1]. Note: The number in brackets represents what floor the door will be on. You can also place multiple doors per level.
  3. Now continue this by placing door’s at each level the elevator should stop at, it’s also important that you add the prefix to each door’s name, only this time, changing the number with the level of the appropriate floor. E.g. A door at level 4 should have the prefix [L4] in the name.
  4. Create your elevator cabin, place your pistons along the shaft axis. (Do not worry about the cab being flush with the level as you can adjust this later on).
  5. Once you are happy with your door and cab, you can now finally get it working, select each elevator block, (doors and pistons) and make a group, the group name needs to be formatted as such: [Elevator <Elevator Name>] where <Elevator Name> is a nickname decided by you, this can be anything. An example of a group name is: [Elevator PrimaryCargoElevator]. A nickname is needed as this is how you will refer to the elevator through commands.
  6. Then run the script with the argument “setup” to create the elevator. You will now have a functioning elevator! All you need to do now is setup commands and (optionally) reconfigure the settings of the elevator.

 

Important details to know:
  • An elevator requires a minimum of 2 floors to function, if there are less than 2 floors when you run the setup command, the elevator won’t work.
  • If your elevator shaft is wider (based on the placement of the door’s) than it is taller, you may have to manually set the axis in the configuration. E.g. If a 2 floor elevator has a 2 block difference in height, and a 3+ difference in width/length, you will have to manually specify the axis. (Y will work in most cases with vertical elevators however you may need to try X or Z in case it doesn’t work).
  • Do NOT use the minimum distance piston property to offset your elevator cab, it will not work on the other floors, instead use the dedicated offset property in the elevator config. (Have a look at the configuration section).
  • I recommend that you do not include spaces in the elevator nickname, you can still do this, however, you will have to add quotes surrounding the name when setting up commands which can be inconvenient if you forget, this is explained in more detail later on.

Elevator Configuration

By default, each elevator comes with a preloaded configuration, these default settings are optimised for the typical basic piston elevator to work out of the box. However, if you are building a more complex elevator, you may possibly need to modify the settings.

Luckily, this isn’t too hard, the configuration settings for each elevator are stored in the custom data box of the programmable block, opening it up will reveal a list of elevators with individual properties, you may be familiar with this type of config from other scripts.

Find the section in the custom data which contains the name of the elevator you want to modify the settings for, it will look something like: [AAECS – Elevator Name]. The list of fields below the section are all the settings for that elevator, simply modify the values which you want to change. The fields and their descriptions are available below:

Field
Description
Format
Desired Speed (M/S)
The maximum speed which the elevator will move at while at travelling between floors.
Decimal Number in M/S
Offset (M)
Set this value in metres to offset where the elevator will arrive at each floor. Set the offset to positive for the elevator to stop above the floor and negative for it to stop below it. This is useful when trying to make each floor flush with the elevator.
Decimal Number in Metres
Smooth elevator piston movement on Arrival and Departure (True/False)
Determines whether the elevator will slowdown or speed up when arriving or departing from a floor. Set to False for the elevator to stop as soon as it arrives. Higher speeds with this disabled may cause ou to fall.
Boolean value, True or False
Smoothing Method

Determines how the elevator will slowdown, default is “Linear”.

  • Half – The elevator will half its speed when within the smoothing distance. Only recommended for slow moving elevators.
  • Linear – The elevator will gradually slow down/speed up when arriving/departing.
  • Sine – The elevator will rapidly accelerate and decelerate when arriving/departing to/from a floor.
A value from 3 options:
-Half
-Linear
-Sine
Smoothing Distance (M)
The distance from the target floor to the elevator cab where the elevator will begin to slow down. When the elevator is within this range from the target floor, it will begin to slow down according to the “Smoothing Method” chosen.
Decimal number in Metres
Time spent at each floor inbetween calls (S)
The time spent per floor when the elevator has been called elsewhere. When the elevator arrives at floor X but needs to go to floor Y aswell, the elevator will arrive at X, wait this amount of seconds and proceed to Y.
Decimal number in seconds
Name of timer block to trigger when arriving
The name of a timer block which then be triggered whenever the elevator has arrived at a floor.
Name of timer block
Name of timer block to trigger when departing
The name of a timer block which then be triggered whenever the elevator has departed from a floor.
Name of timer block
Elevator Axis
The axis of the elevator shaft, the script needs to know the axis of the shaft to know the current state of the elevator. The script will automatically calculate this based on the position of all the elevator blocks when this value is set to “Auto”, however, you can also change this manually by entering an axis from X, Y and Z.
From values:
-X
-Y
-Z
-Auto

 

Elevator Car Doors

This script also comes with a way of handling doors which are on the elevator cab itself, the elevator cab doors will open when arriving at a floor and close when departing from a floor. Meaning that realistic and mostly safe elevators can be created.

To add these doors to the elevator, place the doors on the cab and add a prefix to the name of the doors, like with the level doors. Only this time, changing the prefix to [Elevator] since the door is located on the cab.

After doing this, add the blocks into the elevator group then run the “setup” command to fetch the blocks when you are done.

Level Exclusion

If you need a door on the cab to not open on a certain level because for example, the floor door
is placed oppositely on that level as opposed to other levels, you can exclude doors from opening on certain floors.

Excluded levels are stored in the custom data for each door. Open up the custom data of the door and you should see [Exclude: ] if you already have a working elevator. If you don’t see it, just add it manually.

Now after Exclude: you can type the floor number which you want the door to ignore, type multiple as a list like this: 1, 2, 3, 4, 5.

Example:
[Exclude: 1, 3, 6]

This will mean that the door will only open on floors 2, 4 and 5 and will not open on floors 1, 3 and 6.

An example diagram has been included where each door on the elevator cabin has its custom data shown (in their own highlighted boxes):
Space Engineers Advanced Automatic Elevator Control Script Guide

Display Signs

This script comes with the ability to make realistic looking display signs you would find in a real elevator such as:
Space Engineers Advanced Automatic Elevator Control Script Guide
To create one of these signs, place any LCD panel and add the prefix [Elevator] at the start of the name, then add it into the elevator group and run the setup command. You will now have a fully functioning status display sign which can be placed anywhere!

Please note, the font has to be monospace as the symbols will not render if it is any other font, there isn’t much I can do about this sorry. I may look into using sprites instead at some point in the future but I am not deciding on anything yet.

Commands

In order to actually use the elevator, you will need to setup commands. Commands are taken in as arguments. Run the script with the command as the argument to execute the command.

General Commands
Command
Description
setup
Fetches all elevators on the grid or on sub-grids.
update_settings
Updates each elevator’s configuration according to changes made to their configuration section in the custom data.
Elevator Action Commands:
Command
Description
goto <Elevator Name> <Action>

Moves the elevator according to the set action, actions can be floor numbers (e.g. goto TestElevator 3) or keywords: top, bottom, up or down. These options can be seen below:

  • up – Moves the elevator one floor above.
  • down – Moves the elevator one floor below.
  • top – Moves the elevator to the top floor.
  • bottom – Moves the elevator to the bottom floor (Floor 1).
  • Any Number – Moves the elevator to the specified number, IMPORTANT: Elevators start at 1.
Examples:

The elevator name for these examples is “PrimaryCargoElevator”

goto PrimaryCargoElevator 4

This will move the elevator to the fourth floor.

goto PrimaryCargoElevator bottom

This will move the elevator to the first floor.

goto PrimaryCargoElevator up

This will move the elevator one floor up.

IMPORTANT:

If the name of your elevator contains spaces (such as: Primary Cargo Elevator), you will need to surround the name of the elevator in quotes. E.g.

This will NOT work:

goto Primary Cargo Elevator 1

However this will:

goto “Primary Cargo Elevator” 1

This goes for all commands where you need to reference an elevator name.

reset <Elevator Name> –groundfloor

Resets the elevator queue, if you want to make the elevator also move to the ground floor, add the switch ‘–groundfloor’

Examples:
reset TestElevator –groundfloor

This will remove every call in the queue and set the target floor to the first floor.

reset TestElevator

This will remove every call in the queue but will keep the elevator at the current floor it is already at.

That’s all we are sharing today in Space Engineers Advanced Automatic Elevator Control Script Guide, if you have anything to add, please feel free to leave a comment below, you can also read the original article here, all the credits goes to the original author Viruz

MORE GAME GUIDES FOR YOU

Related Posts:

  • Space Engineers: Block Troubleshooting Guide
  • Space Engineers – Planetary Asteroid Rings Configuration Options
  • Space Engineers – How to Find Ores (Updated)
  • Space Engineers: How to Find Ores Post-Survival Update

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Disclaimer

All content cited is derived from their respective sources. If you think we have used your content without permission, Please go to the Abuse Page to contact us and we will be taking it seriously.

Recent Posts

  • MindsEye: How to Fix Crash Issues on Windows 10 & 11
  • MindsEye: How to Disable Depth of Field for Better Performance
  • Parasite Inside: Full Save + Maps [V0.3.5]
  • Car Dealer Simulator: 100% Achievement Guide
  • Sheepy: A Short Adventure – Save Files for the “SHEEPY STRONG” Achievement
©2025 SteamAH | Powered by SuperbThemes & WordPress