Space Engineers

Space Engineers

34 ratings
Elevator Piston Control
   
Award
Favorite
Favorited
Unfavorite
File Size
Posted
Updated
197.706 KB
Feb 24, 2020 @ 10:05pm
Aug 7, 2021 @ 8:53am
9 Change Notes ( view )

Subscribe to download
Elevator Piston Control

Description
Gives smooth acceleration and high top speed on your piston elevators! No more balancing between jerky starts and stops, or awkwardly long waits at slow speed. Allows you to assign floors and have buttons to go to each floor. Can play music while riding and activate timer blocks on each separate floor when it arrives. Music not included, but see my workshop page for a ding sound mod. Arguments and config options included in script text.
31 Comments
03dfa Sep 18, 2024 @ 1:20am 
is it possible to control multiple elevator on one grid?
morpheusfd Jul 25, 2023 @ 1:18pm 
I don't understand how to fix error "System.OutOfRangeException: index was out of range (etc.).
It come when I record Floor.
Is this because I ave two elevator in the same grid ?
(but I name group piston with 1 and 2 number)
DFPercush  [author] Sep 28, 2022 @ 11:31pm 
This script only controls a single elevator. There's no limit on the number of floors though.
糖酱今天又在摆烂 Sep 21, 2022 @ 6:36am 
Can I control multiple groups of elevators simultaneously?
Overclock Jul 6, 2022 @ 7:03am 
is there an upper limit to how many floors it can go to?
pixoe Mar 20, 2022 @ 2:26pm 
I keep getting this error

System.NullReferenceException:
Object reference not set to an
instance of an object
at Program.Ding(StringdroupName, String Suffix, String floorName, String action, list'1doorWaitList0
at Program.Main(String argument, UpdateTypeupdateSource)

no idea what to do
TheBlueChocolate Jan 25, 2022 @ 12:39pm 
BikeGoddess:
-Pistons must be in the elevator piston group
-To save a floor, set the pistons at your floor height, then run the programmable block with the argument to save a floor with the floor name right after the argument (I don't remember the argument) (Example: <theargument> [floor1])
-To go to a floor, run the PB with your floor name, no argument required other than the floor name.
BikeGoddess Jan 24, 2022 @ 5:14pm 
I'm confused, I've used this in past but its not making sense now. how do I get this to go to a specific floor?
TheBlueChocolate Aug 7, 2021 @ 2:09pm 
Yep, the hangar doors now works.
The timer bug is still there tho.

I named my "common" arrival timer block "Timer Block (elevator)". However I tried something : when I add all floors names to the "common" timer block's name, it work with every floors and open the floor doors when you arrive (It's not ideal but at least it work)

It seems the script is able to open the doors only if it detect the floor tag in any timer block's name. (even if the timer block is toggled off and have no action setup), and have trouble finding the "common" timer block if there is no floor tag.

Having a single timer block is still better than having one timer block per floor (or 2 before today's update when using hangar doors)

Thinking about it, the only suggestions I have now are not really usefull or could be achieved in other ways.
DFPercush  [author] Aug 7, 2021 @ 8:55am 
Ok, should be able to use hangar doors now. No timers required if that's all you need.

About the timers though, you should be able to have a common arrival timer. It's designed to look for a separate one for each floor, but if you just have a group with one timer in it, it will search by proximity and find the only one there is. *Unless*, possibly, you name your floor "2" and your timer is "Timer 2" . Personally, I use "1F", "2F" etc. Otherwise it might be good idea to take the numbers out of the timer name, unless that's actually what floor they go on.

Anyway let me know how it goes.