Space Engineers

Space Engineers

56 ratings
Fancy LCD Sign Script
   
Award
Favorite
Favorited
Unfavorite
File Size
Posted
Updated
1.042 MB
8 May, 2022 @ 8:26am
5 Aug, 2022 @ 4:11pm
4 Change Notes ( view )

Subscribe to download
Fancy LCD Sign Script

Description
Fancy LCD Sign Script 1.2
Changes:
  • 06/08/2022 (1.2):
    • Added workaround for signs breaking on dedicated servers. (Check description)
    • Fixed text centering, sign text should now be perfectly centred.
  • 10/05/2022 (1.1):
    • Changed the way in which multiple lines are formatted. (Updated description/guide).
    • Some minor code tweaks.

Summary:
A script which provides you with the ability to create better looking LCD signs such as:


Made using Malware's Visual Studio extension MDK-SE[github.com].

How to use:
Basic Setup:
  • Place a programmable block and load this script.
  • To create a sign, add the tag "FLCD" to anywhere in the LCD's name. (You can change this tag in the custom data, run the script with the argument "Update" afterwards)
  • Set the LCD content type to "Script" and leave the script selected as "None".
  • Once done, run the programmable block with the argument "get_blocks".
  • Each sign should then look something like:


Configuring a sign.
  • To modify the background and text colour of the sign, use the sliders in the terminal. CHECK HEADING BELOW.
  • Open up the custom data of the sign to modify it.
  • Enter the text of the sign on the "Sign Text" line.
  • Fill out other settings if needed.

IMPORTANT:
If you intend to use this script on dedicated servers, you will need to set the background and text colour before you place this script.

Formatting text:
If you want to insert multiple lines, place a vertical pipe character ("|") at the start of every new line, so for example:

Entering the sign text as:
Sign Text= |Ship Exit |WARNING: DEPRESSURIZED
Will actually show up as:
Ship Exit WARNING: DEPRESSURIZED

Modifying images:
  • The images on the left and right of the sign can be changed in the custom data.
  • To change the image shown, change the "Sprite" line to whatever image you want. Images can be found in the table at the bottom of this page. The default is "Arrow", an example from the list below is "Stop". NOTE: You can also use the direct data names incase it isn't available from the list.
  • You can change the colour of the image by changing the colour line, by default, its white, the value represents an RGB colour, so for example, red would be 255 0 0 and yellow would be 255 255 0.

Modifying the script settings:
If for whatever reason you don't want to use "FLCD" as the tag, or you want to change how often each LCD is refreshed, you can modify the scripts settings by opening up the custom data of the programmable block. After you are done making changes, run the programmable block with the argument "update", otherwise, your changes wont be implemented.
Options:
  1. Tag: Modify this to change how the script will get each sign block, scripts with the tag in their name will be converted to signs.
  2. Refresh Rate: This is how often the signs will be refreshed, you may want to set this option to be very frequent when creating or modifying signs and to something infrequent like 10 seconds when finished, this can help performance but is optional.


Available Images:
You can use the table below to find an image which you want to display, you can either type the nickname or the data name. (Data names are case sensitive!)

NOTE: Sprites which aren't listed in the table will still work if you use their direct data name, such as for example: "UVChecker".


Some Examples:
Example 1:


Custom Data for this sign:
[Fancy LCD Script - Config] Sign Text=Storage Font Family=Monospace Font Size=1.7 Text Top Margin=Auto Use Grid Background=False Grid Colour=Auto [Fancy LCD Script - Left Image] Sprite=Cubes Colour=80 120 255 Size=Auto Rotation Angle (Degrees)=0 Border (Pixels)=10 [Fancy LCD Script - Right Image] Sprite=Cubes Colour=80 120 255 Size=Auto Rotation Angle (Degrees)=0 Border (Pixels)=10

Example 2:


Custom Data for this sign:
[Fancy LCD Script - Config] Sign Text=NO ENTRY Font Family=Free Sans Font Size=2 Text Top Margin=35 Use Grid Background=False Grid Colour=Auto [Fancy LCD Script - Left Image] Sprite=Cross Colour=255 100 0 Size=Auto Rotation Angle (Degrees)=0 Border (Pixels)=10 [Fancy LCD Script - Right Image] Sprite=Cross Colour=255 100 0 Size=Auto Rotation Angle (Degrees)=0 Border (Pixels)=10

This particular example uses Draygo's FreeSans font mod if you are wondering, which can be found Here

Example 3:


Custom Data for this sign:
[Fancy LCD Script - Config] Sign Text=Elevator Font Family=Debug Font Size=2.5 Text Top Margin=25 Use Grid Background=False Grid Colour=Auto [Fancy LCD Script - Left Image] Sprite=Crosshair Colour=0 255 0 Size=70 70 Rotation Angle (Degrees)=-90 Border (Pixels)=10 [Fancy LCD Script - Right Image] Sprite=Crosshair Colour=0 255 0 Size=70 70 Rotation Angle (Degrees)=90 Border (Pixels)=10

Example 4:


Custom Data for this sign:
[Fancy LCD Script - Config] ; If you want to insert multiple lines, add a \"|\" character at the start of each newline, so for example: ; Sign Text= ; |Ship Exit ; |WARNING: DEPRESSURIZED Sign Text= |[Bridge] |Authorised Personnel Only Font Family=Monospace Font Size=0.85 Text Top Margin=Auto Use Grid Background=True Grid Colour=60 [Fancy LCD Script - Left Image] Sprite=Left Bracket Colour=50 100 255 Size=30 60 Rotation Angle (Degrees)=0 Border (Pixels)=10 [Fancy LCD Script - Right Image] Sprite=Right Bracket Colour=50 100 255 Size=30 60 Rotation Angle (Degrees)=0 Border (Pixels)=10


Popular Discussions View All (1)
0
19 Jun, 2022 @ 11:48am
Sprite Data List
Viruz
20 Comments
Souls 8 Aug, 2022 @ 12:10am 
@Viruz Was busy over the weekend but yeah it seems to be working at least to some level now, even on dedicated server. Thanks! In case it helps anything, it seems for me at least that if a screen is blank and not updating, power-cycling the screen seems to get it back to working order.
Viruz  [author] 5 Aug, 2022 @ 4:10pm 
Luckily there is a workaround, I've removed the code which changes the content type which seems to fix it. However, this means that you will need to set the content type to "Script" manually, make sure to do this BEFORE placing the script, additionally, make sure that you set the background and foreground colour you want before you setup the script. Doing so after will cause the screen to be blank.

Repasting the grid is also an option which will fix it.

I'll release a patch now and i'll make a bug report on the forums after I look further into it.
Viruz  [author] 5 Aug, 2022 @ 4:10pm 
@Souls OK I think I've found the issue, it seems to be caused by a bug, every time the signs need to refresh, the code sets each sign's content type to "Script" and the script selected to "None" (as this is how sprites are drawn). However, it seems that there is a bug on dedicated servers that if the content type is changed, then the LCD will be blank.

This also affects the "Colour" and "Background" properties in the terminal for the sign, changing these settings also causes the sign to be blank.
Souls 3 Aug, 2022 @ 6:10pm 
@Viruz no worries, thanks for looking into it!
Viruz  [author] 3 Aug, 2022 @ 2:33pm 
@Souls Sorry for the late reply, I did try it out on a few multiplayer servers and also a single player and hosted game and it does seem to break on dedicated servers with the same issue. I will try to figure out what the cause is tomorrow and release a fix.
Souls 2 Aug, 2022 @ 6:03pm 
I think I've done everything right, but nothing seems to show up. It does switch LCD's to script mode, but nothing shows on them, just blank coloured background. I think I heard something about issues with sprites and scripts in multiplayer, is this script confirmed to work in multiplayer or would that be the problem?
Ronin Planetary Industries 20 Jun, 2022 @ 4:26pm 
If this worked with "MMaster's Automatic LCDs 2"... just being able to use an ICON of an inventory item rather than the word in English... brilliant.
PH 19 Jun, 2022 @ 9:53pm 
Thank you!
Viruz  [author] 19 Jun, 2022 @ 11:51am 
@PH I've added a new discussion with the text version of the table.
Viruz  [author] 19 Jun, 2022 @ 11:33am 
@PH Thanks, i'm glad you like it!

I'll also make a discussion right now with the data in text.
There's also a page on the wiki which I used to help create the script here [github.com].