Space Engineers

Space Engineers

174 ratings
Ship Layout
   
Award
Favorite
Favorited
Unfavorite
File Size
Posted
Updated
14.465 KB
11 May, 2019 @ 1:53pm
21 May, 2019 @ 2:10pm
2 Change Notes ( view )

Subscribe to download
Ship Layout

Description
This script displays the layout and health status of your ship or station using the new LCD drawing APIs.

To use run this script and add e.g. 'ShipLayout 0' or 'ShipLayoutHealth' to the CustomData of an LCD.
You can force a refresh of the display by running the script again from the PB.

It's recommended to have the LCD on the same grid as the PB.

Note: Multigrid ships are not supported! It can only draw the layout for the grid the PB is on.
Note: The wide LCD doesn't work either and it draws in the wrong place.
64 Comments
DadBear (IGH) 9 Jun, 2024 @ 2:08pm 
Just tried this mod and it works as advertised
Cyfen 13 Apr, 2024 @ 8:11pm 
I put ShipLayoutHull and got it to display in rotation
Thundercraft 20 Feb, 2024 @ 1:54am 
Any chance of this script getting an update?
Five years is a long time...
luisitofernandezfaba 3 Feb, 2024 @ 10:00am 
no funciona
Amaia 24 Dec, 2022 @ 8:34am 
Can we get an update on this. Currently I keep getting an error saying the script has to much junk in it or complex, cant remember which, either way sometimes the program block gets terminated. Maybe my ship is too large, I dont know, either way maybe we can get some fixes? Great script still!
TemporalWr4ith 13 Oct, 2022 @ 4:24pm 
Do you think you can upload this Script on mod.io there's non exist for XBOX :\
Arthur 10 Jun, 2022 @ 7:56am 
Your Rotation table is broken, some axis are Mirrored, others work fine, and terminal blocks that don't have any function, like toilet, Bed, and desks show as damaged blocks, even if is on 100% health
Hottage 17 Mar, 2022 @ 12:12pm 
A small suggestion, please change:
GridTerminalSystem.GetBlocksOfType<IMyTextSurfaceProvider>(lcds, block => block.CustomData.Contains("ShipLayout") && !block.CustomData.Contains("ShipLayoutHealth") && block.CubeGrid == grid);
GridTerminalSystem.GetBlocksOfType<IMyTextSurface>(healthbars, block => block.CustomData.Contains("ShipLayoutHealth"));

To:

GridTerminalSystem.GetBlocksOfType<IMyTextSurfaceProvider>(lcds, block => block.CustomData.Contains("ShipLayout") && !block.CustomData.Contains("ShipLayoutHealth") && block.CubeGrid == grid);
GridTerminalSystem.GetBlocksOfType<IMyTextSurface>(healthbars, block => block.CustomData.Contains("ShipLayoutHealth") && block.CubeGrid == grid);

This will prevent scripts on docked ships from overwriting the health data for the main ship (causes weird display flickering when grids try to update each other's LCDs).

Thanks!
Gray 30 Aug, 2021 @ 5:40pm 
@Zanders3 or whoever can solve this please:

I have my ship view set to ShipLayout 1 which is a view from above, only, this view appears to be reversed, so it's like looking from below because the longer weapon on the left nose side of my ship shows as on the right nose side of the image?

I went through all the image options up to ShipLayout 23 and found that ShipLayout 13 is the view that appears to be the same view but from below, as the blocks are much darker...and is correctly showing the gun in the correct spot

So basically i need the top down view flipped over, any ideas? PS i looked through the script and....as if i could work it out !! XD
Radler15 30 May, 2021 @ 1:10pm 
Hej there is it possible to run 2 PB's on each Main grid and sub grid and then display both images on the main grid Lcd's? So like is there any way to number the blocks and lcd's? I know Multi-Grid is not supported , so that one PB can't output both sub and main grid, but idk if that accounts to that exact scenario.