Space Engineers

Space Engineers

Terminal Block Manager
99 Comments
Lyr4nx 5 Nov, 2023 @ 12:51pm 
A big thank you for this script!
Handagotes  [author] 2 Oct, 2023 @ 5:52pm 
My bad. Now it's fixed.
john72934 1 Oct, 2023 @ 6:08pm 
Still getting the same error as Rust Droid
(IMyTextPannel not contain "ShowText")
Handagotes  [author] 25 Sep, 2023 @ 10:12am 
Sorry for delay, the Issue should be fixed now.
Rusted Droid 15 Sep, 2023 @ 8:12am 
Just heads up for Recent SE change that make script to error with
(IMyTextPannel not contain "ShowText")
Delphin_1 8 Oct, 2022 @ 4:29pm 
this is awsome!
Rusted Droid 17 Sep, 2022 @ 2:38am 
Do this update make handling arguments to programing block more easy?
Zaƒlow 16 Sep, 2022 @ 9:27pm 
This is a great idea!
Tronix 19 Feb, 2022 @ 6:59am 
I love u man!!! :D :D :D Working fine! BIG TY!
Handagotes  [author] 19 Feb, 2022 @ 3:06am 
@Tronix I made fixes for argument handling in the last update. Now you need to enclose argument with ` symbol, like this: FOR Computer_[3D_Map] DO RUN `NEXT_PLANET 3`
Tronix 18 Feb, 2022 @ 2:14am 
First: I realy thanks u r so helpfull! ;)

This is the script:
https://steamhost.cn/steamcommunity_com/sharedfiles/filedetails/?id=1401180554

With this, can use one sound block for mutliple sound. U must use the sound name as argument.
Handagotes  [author] 18 Feb, 2022 @ 2:09am 
@Tronix I see, argument handling needs several fixes, I will work on it as soon as I can. Please write down script names that you're using arguments for.
Tronix 18 Feb, 2022 @ 1:40am 
@Handagotes

This is my script! I tried with 2 PB, as u see. Not worked for me :(

The color switch working, but run effects not...

[TBM SCRIPT]

WHEN ENABLED [A]_Shield_Emitter_-_Orion DO ONCE
FOR Offset_Lights_/_Bridge DO SET color TO 255 255 255
FOR Offset_Lights_/_Bridge DO SET blinkintervalseconds TO 0
FOR Computer_/_Sound DO RUN ShieldsOn
FOR Computer_[3D_Map] DO RUN NEXT_PLANET 3

WHEN DISABLED [A]_Shield_Emitter_-_Orion DO ONCE
FOR Offset_Lights_/_Bridge DO SET color TO 255 0 0
FOR Offset_Lights_/_Bridge DO SET blinkintervalseconds TO 2
FOR Computer_/_Sound DO RUN ShieldsOff
FOR Computer_[3D_Map] DO RUN NEXT_PLANET 3

* Error log:
* No errors found.
Handagotes  [author] 17 Feb, 2022 @ 11:37am 
@Tronix yes, exactly as you wrote.
Tronix 16 Feb, 2022 @ 4:24am 
Can i run PB wit hargument, like something this?

FOR Program_Block DO run argument
Bram 17 Mar, 2021 @ 12:13pm 
Great mod and script! If you do end up feeling like making the TBM2 it would be awesome if there was support for iterations and list comprehensions!
Rusted Droid 14 Feb, 2021 @ 11:27am 
Your script is handy that i do not need to have 8 timer blocks that are mostly only for ON/OFF usage.

1. I made battery manager with your script and emergency
logic if power fails turn on Hydrogen Engine. That cannot be done just by Timer blocks.
2. Simple Autoclose doors based on their "state" = Open

Mostly anything that require to "ask vaule from block" this script is great for.

Half-Life 1 Door
https://steamhost.cn/steamcommunity_com/sharedfiles/filedetails/?id=1767882718

Half-Life 1 Tram (PowerUp Chapter)
https://steamhost.cn/steamcommunity_com/sharedfiles/filedetails/?id=1789050065
Handagotes  [author] 13 Feb, 2021 @ 10:01pm 
Sorry, but I don't have plans on adding new features, because I'm not very proud of this script. Since I made it I learned much and would rather make TBM2 that will be much faster and will have all these cool features such as string handling and math, but I ran out of enthusiasm for this.
Rusted Droid 13 Feb, 2021 @ 4:13pm 
Any plan adding feature to rename grids?
Merge block generate new name after un-merge
(merge block better for like cargo storage or ship that can be modded by modules)

I must use this extra script for making grid name as old
https://steamhost.cn/steamcommunity_com/sharedfiles/filedetails/?id=1756783160
Celestite 8 Feb, 2021 @ 12:36pm 
i will be using easy automation instead
Handagotes  [author] 8 Feb, 2021 @ 12:31pm 
The only way I can think of is to create a really long script:
WHEN intensity = 0.1 DO ONCE
WAIT 10
SET intensity TO 0.2
WHEN intensity = 0.2 DO ONCE
WAIT 10
SET intensity TO 0.3
...
But this solution is not reasonable because it creates too much overhead.
Celestite 8 Feb, 2021 @ 12:10pm 
Is there the possibility to make loop systems say: intensity of light=1+1, wait 10 seconds, intensity of light 2+1, ad infinitum
Handagotes  [author] 24 Oct, 2020 @ 3:26am 
Thanks!
Rusted Droid 24 Oct, 2020 @ 3:20am 
Just here to say This is "must have" script for easy automation.
Celestite 27 Sep, 2020 @ 1:20pm 
Thanks
Handagotes  [author] 27 Sep, 2020 @ 1:47am 
WHEN DISABLED button_panel DO ONCE
<put terminal actions here>
ENABLE button_panel
This script can do the trick. Set the button's action to disable itself.
Celestite 26 Sep, 2020 @ 7:45pm 
A little questions is there a way for a button press to trigger the script?
Handagotes  [author] 10 Sep, 2020 @ 6:15pm 
@Burning82
I haven't tested for it. But it should work if modded block supports api of terminal actions and properties.
Shadow1180 10 Sep, 2020 @ 4:19pm 
Curious question, does this work with any modded blocks from the workshop? Or purely vanilla?
Celestite 27 Jul, 2020 @ 8:08am 
actually i got it to work
Handagotes  [author] 27 Jul, 2020 @ 8:05am 
@Celestite
Hi. This script is functional. Please write here your tbm script and the group name.
Celestite 27 Jul, 2020 @ 7:54am 
Is this script still functional?
I cant get it to detect my Arti mass group.
Handagotes  [author] 19 Nov, 2019 @ 9:03pm 
@Tronix
Since 1.192 update I can't suppress these warnings, sorry. But these are just warnings. Script should work fine despite of them. Just press 'Ok' in the editor, and if script works, you will see 'Terminal Block Manager >>>' message at the right bottom corner of terminal window.
Tronix 19 Nov, 2019 @ 3:29pm 
Hello! ;) Here is my problem, i can't compile...
Can u help?

https://steamhost.cn/steamcommunity_com/sharedfiles/filedetails/?id=1916571718
Handagotes  [author] 15 Nov, 2019 @ 11:57pm 
Hi @Tronix
Sure I will fix it if you answer what's wrong.
Tronix 15 Nov, 2019 @ 10:21am 
Please fix it! ;)
Handagotes  [author] 23 Aug, 2019 @ 7:41am 
@Rusted Droid Issue has been fixed.
Also please answer me in "Bug reports" discussion.
Rusted Droid 23 Aug, 2019 @ 1:57am 
Hello. After Today SE Economic Update, script has error:
(The language element "#pragma warning" is prohibited.)
I guess KSH make some alterations to API again...
Handagotes  [author] 30 Jul, 2019 @ 4:22am 
Additional property 'ShipSpeed' for cockpit/cryochamber/remote control blocks has been added in the recent update. Thanks for the request.
Rusted Droid 29 Jul, 2019 @ 1:18pm 
Hello again any plan of adding additional property for cockpit/remote "currentspeed". As Vanilla SE do not have wheel steering correction by speed. I was trying to do this by your script so steer angle will be reduced if jeep is going more than 20m/s to 3° (default is 20°). Thank you even for consideration.
Rusted Droid 20 Jun, 2019 @ 7:51am 
This is another nice example of utilizing > < = comparison symbols. Thank you!
Handagotes  [author] 20 Jun, 2019 @ 6:43am 
Since tbm does not support maths, you have to precalculate velocities for rotor and piston. For example, if rotor rotates from angle 0 to 360 with velocity 10 rpm, piston will need approximately 1.675 m/s to extend from 0 to 10 meters.
With this script for piston both blocks will stop almost at the same time.
when velocity of rotor > 0 do once
set velocity to 1.675

when velocity of rotor < 0 do once
set velocity to -1.675

when velocity of rotor = 0 do once
set velocity to 0
Rusted Droid 20 Jun, 2019 @ 1:07am 
Hi again, any example how program rotor angle (rotation) to piston linear (position) conversion? Example Piston with rotor block on top with platform. If platform spins to pre-set angle rage the piston will follow and will change position based on rotor angle. Like it wil act a screw elevator.
Rusted Droid 11 Jun, 2019 @ 6:04am 
Thank you! Now when wheel expodes for none reason durring flight script is able to add the dummy wheel and can land safely.
Handagotes  [author] 10 Jun, 2019 @ 10:25pm 
@Rusted Droid
Bug has been fixed in the recent update. Thanks for the report.
Usage: add_top_part
Rusted Droid 10 Jun, 2019 @ 11:01am 
Hi, I found that Suspension has action "Add Top Part" with spaces. The script is unable to find that action. AddTopPart, Add_Top_Part, Add&Top&Part or Add+Top+Part did not work. The actions is Listed in this list under mymotorsuspension https://github.com/malware-dev/MDK-SE/wiki/List-Of-Terminal-Properties-and-Actions#imymotorsuspension

And can be requested by Block Properties & Actions API Helper script
Rusted Droid 10 Jun, 2019 @ 5:22am 
Your script was part of my builds since i find it. Really easy to use, configurable update rate to not hog server and good to use with other scripts like this one:
(https://steamhost.cn/steamcommunity_com/sharedfiles/filedetails/?id=1756783160) or automatic lcd 2

Hope the TBM2 will be created.
Handagotes  [author] 10 Jun, 2019 @ 3:22am 
@Rusted Droid
I'm sorry, but TBM does not support string values. I have some ideas about updating the script (or just create TBM2), but I don't know when I will be able to do this.
Rusted Droid 10 Jun, 2019 @ 2:45am 
Hi, will be able to rename grid, based on set custom data name or block name reference if merge block is disconnected? Example i have battery pack with merge block that is attached to hauler as cargo. Battery pack and hauler has own ProgB with different script hearder (BP-Script / Hauler-script) Your script is able to check "isconnected" from merge block. but i do not know how to tell script to rename grid default generated name after dissconected.

One thing got in mind like this.
WHEN isconnected OF BPMerge = False DO ONCE
SET thisgridname TO BatteryPack555
Rusted Droid 18 Nov, 2018 @ 12:09pm 
@Handagotes Thank you. I find Your script really helpfull even for complex logic.