Space Engineers

Space Engineers

30 ratings
[UHI] CSBD 1.1.1
   
Award
Favorite
Favorited
Unfavorite
File Size
Posted
Updated
272.054 KB
26 May, 2022 @ 2:43pm
28 Sep, 2023 @ 4:11pm
13 Change Notes ( view )

Subscribe to download
[UHI] CSBD 1.1.1

In 1 collection by jezor
UnHinged Industries
20 items
Description
General purpose UI for basic ship systems.

All UnHinged Industries scripts can be found on GitHub[github.com].



[www.wtfpl.net]
[github.com]


This is my first attempt at creating a general-purpose UI to control basic ship systems.

It consists of multiple screens which can be easily navigated using the numerical keyboard.

The script has some customization options and should work out of the box as long as you use a reasonable naming convention for all of your blocks.

Also available on mod dot io[spaceengineers.mod.io].

Controls



This script is meant to be controlled with the numerical keyboard. For best experience, go to keyboard controls settings of the game and assign each toolbar action to a corresponding numerical keyboard button. Then, set up a toolbar to trigger the programmable block this script is placed in with the following arguments:
  • 5 - CLICK
  • 8 - UP
  • 2 - DOWN
  • 4 - LEFT
  • 6 - RIGHT
  • 7 - WELCOME
  • 9 - RESET

Thrusters



Four thruster categories are supported: Maneuvering, Braking, Boost and Gravity. The script will detect each category automatically based on block names, e.g. a thruster block named "My Ship Boost Thruster" will be assigned to the "Boost Thrusters" category.

Batteries



Two battery categories are supported: Main and Backup. As with thrusters, battery categories are determined by name. Batteries containing the word "Battery" will be assigned to the main category, while batteries containing the word "Backup" will be assigned to the backup category.

Parking



This screens is responsible for controling parking / docking / landing sequence. Magnetic plates and landing gears with "Landing Gear" in the name will be considered as landing gears.

If your landing gear can extend / retract by triggering a timer, and the timer name contains "Landing Gear", and components which are toggled during this process are in a group with name containing "Landing Gear Toggle Components", the "GEAR EXTEND" option will be available to use.

Additionally, connector blocks with name containing "Parking" may be locked using the last option.

Gas Tanks



This screen allows you to toggle all oxygen and all hydrogen tanks on the ship. These do not need any special naming and will work out of the box.

Lights



The lights screen contains four categories which may be assigned the same way as thrusters, by naming light blocks with either of the following words: "Cruise", "Navigation", "Search" and "Parking".

Cabin



Cabin lights can be assigned by naming the light blocks with the word "Cabin".

Cabin doors and hangar work similarly to landing gears: based on timers and a block group. Door requires a timer with name containing "Cabin" and a block group with name containing "Cabin Toggle Components". Hangar requires a timer with name containing "Hangar" and a block group with name containing "Hangar Toggle Components".

Finally, the air vent is any air vent with name containing the word "Cabin".

Setup



The setup screen contains customization options. All of these are toggled ON by default and will be saved in the Custom Data of programmable block this script is running from. The customization options include:
  • colors - whether the font color should be changed for each screen
  • scroll bar - enables the scroll bar showing position within screens (above screen name)
  • top status - enables the top bar displaying battery charge and tanks fill percentage
  • show empty - when turned off, the options that are not supported for the current grid will not be displayed


Booting Screen



Two variables at the top of the script are responsible for the booting screen and may be modified to customize the script without affecting any functionality:
  • isBooting - if changed to false, the booting screen will never be displayed
  • bootingTimeTotal - booting time (in milliseconds), set to five seconds by default


Controlled grid

All grids that are mechanically connected (by pistons, rotors, or hinges) will be affected by this script. If you connect to another grid with a connector or a magnetic plate, that grid will not be affected.

Destroyed blocks

When a block in a given category is not functional (e.g. grinded down), the category will display "ERR" and will not be clickable. If the block is completely destroyed, resetting the system (press 9) will remove the error.

Mixed state

If blocks within a single category have different states (e.g. some oxygen tanks are set to stockpile, while others are not), the category will display "MIX". Clicking on the category will set all blocks to the default state.
5 Comments
Kickstand Optional 5 Nov, 2024 @ 5:14pm 
I was so excited for this but I can't seem to get it to do anything. The boot screen runs, but then the arguments won't actually navigate me through the menus.
lucakrowinkel 20 Sep, 2022 @ 8:17am 
The green of reminds of Fallout computers :p
heavy 29 Jul, 2022 @ 2:19am 
sweet mate, no pressure. enjoy your holiday!
jezor  [author] 29 Jul, 2022 @ 12:50am 
Thanks!

Currently only printing to programmable block is supported because all the formatting is adjusted to match the dimensions of it.

I'm currently on holidays for a week but will try to tinker with it when I'm back and see if I can get it on other LCDs (:
No promises though!
heavy 27 Jul, 2022 @ 9:38pm 
love this script, looking forward to incorporating it in some of my builds. am wondering if it's possible to display the interface on LCD screens other than the programmable block? would really increase the versatility if so