Space Engineers

Space Engineers

H2O2 Control Program v1.0
61 Comments
Degrath 20 May, 2023 @ 11:02pm 
''Script execution terminated, script is too complex. Please edit and rebuild script'' Used to work just fine not any longer> Anyone got a fix for this?
コイ 23 Jun, 2022 @ 1:36pm 
do we have a video tutorial of this ?
royalrollin 28 May, 2022 @ 3:07pm 
The old version 0.6 (Pre-Aplha) is working. Maybe that info is help´s...
Wallie 11 May, 2022 @ 8:55am 
Getting the same error message also
Hawkwar 21 Apr, 2022 @ 2:18am 
Ellesar I get the same message ever since the last update. Can only hope he updates at some point.
Ellesar 👑 18 Apr, 2022 @ 8:02am 
18 days since my comment and no feedback... i guess this script is dead.
Ellesar 👑 31 Mar, 2022 @ 1:30pm 
After loading the script in Programmable Block i got the following message:
''Script execution terminated, script is too complex. Please edit and rebuild script''
well i guess its broken then
Tunla 2 Jan, 2022 @ 2:30pm 
This is a really nice script, but It took a little while to figure out how to use. Regardless, very good job, this has really helped me know whats going on with O2 systems in my world.

One feature request I have, that is, if you are still supporting this script, would be a break down of independent conveyor areas/zone/etc . I like that you give an option to control isolated systems independently, but it would also be nice to see how much O2 is in each "zone" or conveyor system.

In my example, I have independent life support conveyor areas for redundancy that are separate from my main base conveyor and vent system. It would be nice to see how my life support areas are doing on Ice, O2, and H2 (Bottle refills) versus seeing the overall total for all system.

Thanks for the excellent script!
Chris C 26 Oct, 2021 @ 3:56pm 
Thanks for your reply but i still can't get it to work, i have tried following along with your video but the information is different compared to the script.
i have tried putting the seat name into different areas but still unable. I think i will just use it as information only.
AlfRomeo80  [author] 25 Oct, 2021 @ 5:07pm 
Hi! To use the screens of your control seat enter "@H2O2Control" to the Custom Data field of the control seat.
If you want to use commands sitting in the control seat you have to use the command given in the readme section of the script followed by "~ H2O2ControlSeat", in your case.
Chris C 24 Oct, 2021 @ 6:30pm 
Sorry it also says
H2 / O2 Control: Disabled
shifting ice: Disabled
Chris C 24 Oct, 2021 @ 6:29pm 
In relation to

argument "resetErrors"
deletes all error messages
ERROR: 1 of 1
command ignored
use "... ~ block name" to
select the control screen

I named my control seat as H2O2ControlSeat and i can't find anywhere to put it for the screens to work on the control seat. so where do i put H2O2ControlSeat command
BinaryKiller Recoded 15 Aug, 2021 @ 7:10pm 
Please make one for Life'tech's Power mod, so I can monitor the Deuterium gases and power usage :D
Корсар 19 Jul, 2021 @ 7:24pm 
Thank you very much!!!
AlfRomeo80  [author] 19 Jul, 2021 @ 1:30pm 
For every command you have to tell the script which block is showing the "H2O2ControlScreen" you want to control. You have to enter the blocks name behind the command seperated with the ~.
Let's say you have a control seat showing the "H2O2ControlScreen" on one of its screen and the seat is named "H2O2ControlStation". The command should be:

select+ ~ H2O2ControlStation
Корсар 18 Jul, 2021 @ 4:29am 
Does anyone have it working?
Any command raises an error.

argument "resetErrors"
deletes all error messages
ERROR: 1 of 1
command ignored
use "... ~ block name" to
select the control screen
Корсар 4 May, 2021 @ 6:26pm 
The commands do not work for me.
-------- H2/O2 Control Program --------
argument "resetErrors"
deletes all error messages
ERROR: 1 of 1
command ignored
use "... ~ block name" to
select the control screen

max. Conveyors available: 1
H2 / O2 Control: disabled
shifting ice: disabled
AlfRomeo80  [author] 7 Mar, 2021 @ 5:26pm 
You have to enter "@H2O2Control" to the custom data field of your control seat. Then after reopen the custom data field you should have a list of all scrrens the control station provides and in the readme section a list of all available screens to display.
At the top of the script you have the commands listed you can use with the G-Menu of your control seat.
For example: "select=0 ~ BlockName"
BlockName is the custom name of the control seat.
With the control screen you can activate or deactivate the farm alignment.
royalrollin 7 Mar, 2021 @ 2:53pm 
How do I select a display from a controlstation to control the menu screen?
Hawkwar 26 Feb, 2021 @ 1:03pm 
I am an English speaker so dont use translations. Although you could make separate language versions.... although the time issue could be rough.
AlfRomeo80  [author] 26 Feb, 2021 @ 5:58am 
Hi! Sadly I'm limited with this script because of the character limit for ingame scripts in SE.
I was thinking to get rid of the translations the users can make to the scipt output strings. If I make all scripts only in english language I could save a lot of characters. The output strings can't get compressed with the MDK mod, so there is a lot to gain.

All people reading this could help me to vote if the translation is used with my scripts. If nobody uses the translations I could easily remove them.
anzellott 24 Feb, 2021 @ 3:29pm 
Can You Make it Have The Option To Show The Fullness of Only Certain Tanks?
Hawkwar 12 Jan, 2021 @ 5:20pm 
I'm in the middle of moving house right now but give me until next weekend 23/24 JAN and if I haven't solved it I will invite you into the world if your available and you can look at it first hand. Right now I have very low bandwidth internet in my hotel.
AlfRomeo80  [author] 12 Jan, 2021 @ 5:16pm 
I'm sorry! I never had this error but I keep trying to reproduce it and solve the issue.
Hawkwar 12 Jan, 2021 @ 4:59pm 
H2O2 script and yes it is the same error regardless. I am just calling it the script equivalent of klang at this point.
AlfRomeo80  [author] 12 Jan, 2021 @ 4:57pm 
Now I'm mixing up things. Are you talking about the H2O2 script or the Room Control script?

Does the error occurs even if you load the script and compile it without any changes?
Hawkwar 12 Jan, 2021 @ 4:31pm 
That was all the info in the box and the complete error message. Just have to live with using different scripts at this point.
AlfRomeo80  [author] 12 Jan, 2021 @ 4:24pm 
To be honest, I've no ideas how many rooms are possible. In theory several thousands, but I've no idea at which number od rooms the script crashes for some reasons.

Are there more infos at the info box of the programmable block than the one you posted?
If so, can you post the whole error message?
Hawkwar 12 Jan, 2021 @ 3:57pm 
Out of curiosity how many rooms will this do?
Hawkwar 12 Jan, 2021 @ 3:52pm 
Tried different values in there- only using one conveyor system. No change. Shame this looked good. I use the Power Control Script and its great.
AlfRomeo80  [author] 12 Jan, 2021 @ 10:52am 
My first idea is a problem with the amount of conveyor systems.
What did you entered at "const string maxCS=#"?
Hawkwar 11 Jan, 2021 @ 9:41pm 
I get the following error Caught exception during execution of script:The type initializer for `Program` threw an exception. at Program..ctor()

Any ideas? Tried reloading the PB and the game same error.
AlfRomeo80  [author] 5 Jan, 2021 @ 12:34pm 
While running the most perfomance costs are drawing the screens. The more blocks your grid has the more symbols have to be calculated.
I'm worried about the first run of the script. When all blocks get read out of the grid and the cutom data fields are parsed needs a lot of performance. That's why I only checking one kind of block on one run of the script and seperated the boot up prozess into several runs.
You can try the option fastBoot=false to switch every bootup run from 10 ticks to each 100 ticks.
What would be easy to implement is a RunOnce option. Then the script would only run once and you can update everything with a timer block.
MoreLoong_Dragon 5 Jan, 2021 @ 1:47am 
Looks great! I Will give it a try later :D
By the way, what about its performance cost (like average runtime)? Scripts that frequently move items within even a reasonably large conveyor system gave me a PTSD of performance impact (especially on servers). Maybe there could be an option that makes ice relocating, device control, solar alignment, and status refresh executes slower (i.e. ice relocated every 10 secs and status refreshed manually) in case of performance needed?
aaronlukemarshall 19 Nov, 2020 @ 11:26am 
Wow seems like a lot bugs then, hopefully they get it fixed on the next update. Cant wait to try out your next version though!
AlfRomeo80  [author] 18 Nov, 2020 @ 4:37pm 
Hi! Sorry, it a little bit late. But I'm still working with the next version. I've to make a lot of changes. Adding an automatic airlock control is not as easy as I had imagine. The doors and vents do crazy stuff. All doors of a room are closed, but the vent blows the air to the next room, where the vent of the airlock sucks the air in again!? If I manully open and close the door again all works fine, but if the door is closed by the script it isn't airtight! Strange things going on in my world.

The issue with the hydrogen of the engines is not a bug, it's on purpose.
There is no way in the game to get the hydrogen out of the engines tank again. The value you see is the available amount of hydrogen. The amount you can use with your engines or thruster or bottles... The hydrogen stored in the engine isn't available anymore, but for the engine it is stored in.
aaronlukemarshall 15 Oct, 2020 @ 9:15am 
Found a visual bug where by hydrogen stored in the engines is not correctly account for on the overall program screen bar in my case its 2000M3 (4 x Engines) short of what it should be the total is correct but the actual displayed available is wrong.
aaronlukemarshall 13 Oct, 2020 @ 4:34am 
Exactly that buddy. All the data points are in the custom data in the right blocks already and looks like its being read by the script this would just a massive functionality with little effort.
AlfRomeo80  [author] 12 Oct, 2020 @ 3:16pm 
I can imagine to add a entry to the setup section of vents, doors and oxygen tanks like "airlock=1" to count the airlocks and match doors, vents and tanks as a group of a specific airlock.
Then I could add commands "pressurize airlock" and "depressurize airlock" to control these airlocks. After this all doors of the specific airlock would open, if the pressure of the other side is the same like inside the airlock.
Is this something you are thinking of?
aaronlukemarshall 12 Oct, 2020 @ 11:53am 
1 feature I would like to see added, I would love to see airlock control utilising vents and lcds using the proper airlock method or even simple airlock method, the custom data is working well on the doors have set up an entire ship with a dozen or so rooms and multiple doors and passageways, to really add the polish controlling those doors base on a single button push would be awesome, as the doors are already handled by the script.
aaronlukemarshall 8 Oct, 2020 @ 5:10pm 
The power script works really nicely at auto control, I know the issue with the gas is annoying and you can't filter what is produced as you say it wastes huge amount of ice making both. I think the generators should be switched on controlled like the power control version whereby thresholds are set of min and then the level they should charge up the tanks too, I think we'll have to accept for the time being that both gasses are generated. If you using hydrogen engines the generators should be on to produce that loop back cycle of power generation and gas production. Setting tank priorities for drainage would be good where by you can setup a reserve amount for other uses. That's all i got for the minute.
AlfRomeo80  [author] 8 Oct, 2020 @ 5:00pm 
I've seen you are using the Power Control Script, too.
Do you have any suggestions for the automatic control of the H2O2 Control Script working simular to the other one?
When shoueld the generators getting switched on?
I'm still struggeling with this because you can't control the generators if they are producing hydrogen or oxygen. At the beginning I was thinking about a lower limit of hydrogen and oxygen to start the generators, but as I said you can't control the gas generation. If there is enough storage available always both gases are produced. Then the script is waisting ice producing a gas your ship doesn't realy need.
aaronlukemarshall 8 Oct, 2020 @ 4:29pm 
https://steamhost.cn/steamcommunity_com/sharedfiles/filedetails/?id=2252056184

Being put to good use in my updated ships reactor compartment
aaronlukemarshall 8 Oct, 2020 @ 4:22pm 
But I have to say I am really enjoying the scripts! Thank you for your continued efforts. :shen:
aaronlukemarshall 8 Oct, 2020 @ 4:17pm 
I managed to fix one of the problems, It seemed one of the lasers was causing issues with EntityID. Deleted the block and rebuilt a new one and its all working now.
I understand what you mean by the jumps, but its the graphical images that jump as opposed to the title text when using sensors. :trilogo::jcdenton:
AlfRomeo80  [author] 8 Oct, 2020 @ 3:46pm 
As I said everything related to the doors and rooms is still experimental. At he moment I'm writing the script with a new business logic, because adding the room screens to the script wasn't planned at the beginning. The way I handled the movement of the cursor and the selection doesn't work with two different lists in one screen. (list of air vents and list of doors at room screens)
I'm trying to publish the next version of the script at the and of october.
AlfRomeo80  [author] 8 Oct, 2020 @ 3:46pm 
First of all, thank you for your effort helping me to find issues.
Jumping sreens:
I'm not sure what you mean with jumpy screens. Is the alignment of the symbols jumping?
If you leave the sensor area the screens woun't be updated anymore. The last schown infos are freeezing, but the calculations in the background are still done. If you reenter the sensor area the screen will show the current data. This could be noteced as a jump, because the screen changes from the last update to the current status at once.
script throwing an exception:
The message you have written tells me, the script trying to add a block or screen to the saved data, which is allready saved or has the same name or EntityID as an allready saved one.
Could you tell me a little bit more informations of this message? Which method, list or dictionary is throwing this exception?
aaronlukemarshall 8 Oct, 2020 @ 2:14pm 
On more testing, I have a large ship, with many airlock, which the script has auto written too, but the script throws an exception directly after booting saying that the their an item with the same key has already been added. :wrench:
aaronlukemarshall 5 Oct, 2020 @ 12:11pm 
After some testing LCD's seems a bit jumpy with the displayed data on refreshing of the script data but the titles seem untouched by this jump its seen on any LCD that is controlled via a sensor under the LCD Custom data, the function of the sensor works where by data is shown when in sensor range though :wrench: Everything else is working well currently.
aaronlukemarshall 27 Sep, 2020 @ 2:04am 
I will give a test of the 0.7 Script and let you know, the script alignment is working really well in my opinion and better so than that of the solar version oddly.