Space Engineers - Fancy Status Displays Guide

Space Engineers - Fancy Status Displays Guide

Space Engineers - Fancy Status Displays Guide image 0

How to use the Fancy Status Displays script by Coffee for Space Engineers.

Guide To Fancy Status Displays

Initial Setup

  • Place down a programmable block.
  • Load the script by selecting the block in the terminal gui and click "Edit", "Browse Scripts".
  • The Fancy Status Displays script should be in the list if you subscribed to it.
  • Select it, click "Copy to editor" than hit "OK".

Usage

  • Generally the script allows you to display information about your grid blocks on any screen.
  • You do so by writing what you want to display into the custom data of the block that either is a screen itself, or holds the screen (cockpit, flightseat, programmable block, control station).

Keywords / How To Display Things

First thing to write down into the custom data of the screen or block with screens would be:

  • ShowStats

This tells the script to act on this block. Do a linebreak after it.

Next, if it is a block with multiple screens, you would have to write down the screen that shall be used to display the information. Do a linebreak after it. Skip this if it's a single screen.

  • Panel 0

Shows you something at the first screen.

  • Panel 1

Shows you something at the second screen and so on - you get the point.

Into the next line, you type what to display. You can use block names - the script then searches for all blocks wich are contaning the given string:

  • Battery

Displays all blocks containg "Battery" (e.g.: Battery 1, Battery 2, Miner Battery).

The second option would be to use a group name:

  • MyGroup

Displays all blocks contained in a group called "MyGroup".

Keyword Extensions

You could alternate the display method with these, by typing it after the block or group name.

  • :WideBar

Shows a single wide bar as a summary of single blocks instead of each block individually. Has to be the last keyword extension in a line.

  • ,optional

Shows optional info about a block insdead of the standard info. Has to be the first keyword extension in a line.

Only applicable to:

  • Batteries (shows power input/output instead of load percentage, the chargebar will stay at load percentage).
  • Hydrogen Engines (shows power input/output instead of hydrogen).
  • Reactors (shows uranium storage instead of power input/output).

Summary / Examples

Block With Multiple Screens

So let's say you have a cockpit, and you want to display information about your batteries wich all contain the string "Battery" on the second screen, you would have to type the following into the custom data of the cockpit:

  • ShowStats

Next you want to see the chargestate of all your Jumpdrives wich are all in a group called "MyJumpdrivesGroup", and you want to see it as a single wide bar on the first screen. On the same screen you want to further see the Hydrogen Engine H2 level whereat the Engine is called "Hydrogen Engine".

  • Panel 0

And on the third screen you want to see how much uranium your Reactor with the name "Reactor 1" has left:

  • Panel 2
  • Reactor 1,optional

In summary the custom data of the cockpit would then look like this:

  • ShowStats

Normal (single) screen:

Same as above, you just do not need to type wich panel, so the custom data would look like this:

  • ShowStats

Note that at the last line with the Hydrogen Engine, 2 extension keywords (optional & WideBar) are used, wich is also possible.

Shields

Two shield mods are supported at the moment:

  • Defense Shields
  • Energy Shields

Example for a single screen (Defense Shields mod with a shield controller named "[A] Shield Controller")

  • ShowStats

Example for a single screen (Energy Shields mod with a shield generator named "Large Shield Generator")

  • ShowStats

Script Configuration

In the config-section of the script, you can change some settings. Open the programmable block via "Edit" so you can see the config and the code of the script. The config looks like this:

//  ************************

//  Config  *****************

// Tag the script reacts to - write it to the custom data of your screen/cockpit

string lcdtag = "ShowStats";

// Tag to display either power or inventory if a block has both (in case of battery it's load percentage or input/output)

string optionaltag = "optional";

// Tag to display a large chargebar instead of each block individually

string widebartag = "WideBar";

// How often the script is updating

  • int scriptUpdatesPerMinute = 60;

// The fancy stuff  

// Any RGB-Color could be used from Black new Color(0, 0, 0) to White new Color(255, 255, 255)

     

Color frameColorFunctional = Color.Cyan;        //color if block is not damaged

Color frameColorNotFunctional = Color.Red;      //color if block is damaged

Color frameColorWideBar = Color.White;            //color wide bar

Color headlineColor = Color.White;              //headline for single blocks

Color headlineColorWideBar = Color.White;       //headline for wide bar

Color pictogramColor = Color.White;             //symols on single blocks

Color percentDisplayColor = Color.White;        //fillstate percentvalue on single blocks

The Tags

lcdtag, optionaltag and widebartag should only be changed if:

  • There is a conflict with another script

or

  • You don't like the name and want to use other keywords

If you for example want to change the lcdtag from ShowStats to DisplayStatus, the line must be modified like this:

  • string lcdtag = "DisplayStatus";
Script Updates - How Fast The Script Runs

If you want to save performance, you could change this line:

  • int scriptUpdatesPerMinute = 60;

to

  • int scriptUpdatesPerMinute = 30;

So the script will only update your screens every 2 seconds. Higher values than 60 will not make the script run faster for performance reasons.

The Fancy Colors

You can change every color listed here. I've provided you with a list you can use below the color-section.

If you want to change the headline from white to orange, make the line look like this:

  • Color headlineColor = Color.Orange;

You could also use RGB-values:

  • Color headlineColor = new Color(255, 255, 255);
Source: https://gameplay.tips/guides/7551-space-engineers.html					

More Space Engineers guilds