Space Engineers

Space Engineers

32 ratings
Sequencer v2
   
Award
Favorite
Favorited
Unfavorite
File Size
Posted
Updated
80.871 KB
21 Jul, 2017 @ 7:34pm
6 Jan, 2020 @ 3:14am
14 Change Notes ( view )

Subscribe to download
Sequencer v2

Description
[Not very] simple replacement for bunch of timer blocks

Back when I found a fatal flaw in Easy Automation (it wasn't written by me). This is major update for my attempt to fix this issue :). Basically, this is what first version was intended to be.

Features:
- multiple scripts executed by one block
- simultaneous execution of multiple scripts
- ability to start actions
- ability to change properties
- ability to run another programmable block
- ability to change text on lcd screen
- ability to send remote message
- wait for time period with sub second precision
- transparent save/load handling
- player input handling with Digi's Control Module


Digi's Control Module is optional, but it you want to handle input - you can found it there: https://steamhost.cn/steamcommunity_com/workshop/filedetails/?id=655948251


Demos:
"Ravric's Auroras Solar Array" - a simple sequncing demo (Ravric allowed me to use his creation): https://steamhost.cn/steamcommunity_com/sharedfiles/filedetails/?id=972470747
"IC Turtle E" - vtol and airlock: https://steamhost.cn/steamcommunity_com/sharedfiles/filedetails/?id=1085533957
"Ant" - use of Control Module, variables and tuples: https://steamhost.cn/steamcommunity_com/sharedfiles/filedetails/?id=1711835561

Installation:
- Install Programmable block ("Sequencer")
- Load Sequencer v2 script in "Sequencer"
- Put your code into Custom Data of "Sequencer"
- Every time then code changed you need to run "Sequencer" with "reset" or "parse" argument

Short language reference available inside the script.

Also full guide is available there:
https://steamhost.cn/steamcommunity_com/sharedfiles/filedetails/?id=1085342742

Many thanks to jamesmuell for help in development


User script debug:
Sometimes things does not works as expected.
You can use debug output to check why something does not work.
By default Sequencer shows only serious situations, but you can use /loglevel command to change that.
/loglevel
Will show all awaitable logging categories and its current levels.
/loglevel <cateroty|all> <newlevel>
will set level for specivied category. "all" will set loglevel for all categoties.
Available levels:
0 - none: no logs.
1 - error: something which causes Sequencer script to stop. It this message was shown - probably something is terribly broken.
2 - warning: Default level. Logs important transitions and user script troubles (like attempt to assign unsuported property)
3 - verbose: Log almost every action. Probably you want to set "imp" category to this level while you writting a script.


Also this script (as any another my script) supports DebugSrv v2 for logging.



Changelog:

2.2.7
- /transmit command temporary disabled due to ingame api changes. Sorry, I will fix it later

2.2.6
+ Digi's Control Module support (new commands: /addinput, /removeinput, /clearinputs, /setCMfilter)
* /text - support for surfaces
* blocks enumeration fix

2.2.5
+ /data Command to write into Custom Data

2.2.4
* deserialization fix

2.2.3
* wait intervals quantized to whole numbers fixed

2.2.2
* update handling improvements
* runtime rework

2.2.1
* save/load serialization fix

2.2
+ "type" filter (experimental)
+ use of builtin pb timer (timer block no longer used)
* /u character sequence parsing fixed
* other bugixes and optimizations

2.1.0
! order of /transmit and /text arguments is swapped
+ "status" argument
+ "Too Complex Exception" prevention now actually working.
* Invalid type syntax error message fixed
* script now trying to reparse script it have no parsed code

Unfortunarely I broke compitability for /transmit and /text commands in latest update. Order of arguments was changed. But now you can try to kill unlucky player with this command
/transmit "Antenna" Enemy :/action contains "" StartCountdown
;)

2.0.2
* Diagnostic message format

2.0.1
* color parsing fix

2.0
+ initial release
30 Comments
slipcasedrock2 2 Dec, 2022 @ 3:46am 
I'm rly slow at this game but this would clean up my amount of blocks a lot
Krypt  [author] 2 Dec, 2022 @ 3:44am 
I think it is? I removed antenna api at some point, because API it was using was removed from the game, but that is it?
slipcasedrock2 2 Dec, 2022 @ 3:17am 
wow is still a working option?
AnimaUltrix 10 Jan, 2020 @ 3:41pm 
thank you very much you are the best:lunar2019grinningpig:
Krypt  [author] 6 Jan, 2020 @ 3:34am 
Vindex, I'm temporary disable /transmit command. Rest of the script now works.
Krypt  [author] 5 Jan, 2020 @ 9:46pm 
Keen removed old radio protocol, apparently
Krypt  [author] 5 Jan, 2020 @ 9:06pm 
Hm. I will look into it
AnimaUltrix 5 Jan, 2020 @ 3:30am 
At this time, the script is broken :lunar2019shockedpig: :(
Krypt  [author] 31 Mar, 2019 @ 10:13am 
Some rare but serious timer related issues was introduced in 2.2. They are fixed now.
Krypt  [author] 14 Mar, 2019 @ 6:07pm 
prealopha in solar array demo missing some features (have no /transmit command, for example)
but since 2.0 where was no critical updates. Also, 2.2 does not require timer block anymore