Space Engineers

Space Engineers

SIMPL | Ship Integrity Monitoring Program Lite (A sprite-based ship layout/floor plan script)
453 Comments
Leconite 24 May @ 3:31am 
Feature suggestion(s).
1. A way to put a line of user defined title text at the bottom or top of the display.
Something like the Radar script does, but with the ability to set scale and possibly text alignment.
2. A way to insert the grid name into the title text.
Something like
Ship $GridName Structural Integrity:
Displaying
Ship Large Grid 2355 Structural Integrity:

Also, as of the fieldwork update, projectors can highlight damaged armor blocks.
Has KSH extended the scripting API to provide access to that info?
Whiplash141  [author] 23 May @ 3:27pm 
hero <3
Wingnut 23 May @ 10:51am 
Got it. Thanks :steamthumbsup:
Leconite 23 May @ 7:08am 
Config example of multiple views on one display.

[SIMPL - Text Surface Config]
Number of views=3

[SIMPL - Legend Config]
Legend Scale=1
; Elements should range from -1 to 1 where 0 indicates centered
Position={X:-1 Y:-1}

[SIMPL - Display Config - View 1]
; Top Down View
; View axis values: X, Y, Z, NegativeX, NegativeY, NegativeZ
View axis=NegativeY
Rotation (deg)=180
Scale=7
; Elements should range from -1 to 1 where 0 indicates centered
Position={X:0 Y:-0.5}

[SIMPL - Display Config - View 2]
; Back View
; View axis values: X, Y, Z, NegativeX, NegativeY, NegativeZ
View axis=X
Rotation (deg)=270
Scale=8
; Elements should range from -1 to 1 where 0 indicates centered
Position={X:0 Y:0.25}

[SIMPL - Display Config - View 3]
; Side View, Front on Left.
; View axis values: X, Y, Z, NegativeX, NegativeY, NegativeZ
View axis=Z
Rotation (deg)=180
Scale=8
; Elements should range from -1 to 1 where 0 indicates centered
Position={X:0 Y:0.75}
Leconite 23 May @ 7:08am 
Yes, but you have to set it up manually.

Note "Scale=auto" does not play nice with multiple views, unless SIMPL generated abstract art is your thing. :-)
Wingnut 23 May @ 6:02am 
Is there a way to rotate the view in multiple axes on the same display?
brakdis 1 May @ 2:39pm 
the subgrid idea you may add will be useful in my case, i make some mech so that can help in a way
Whiplash141  [author] 28 Mar @ 4:52pm 
SIMPL will throttle it's execution to keep running low so I think you should be fine. SIMPL will also output performance metrics that will let you monitor the load at runtime.

The issue with waiting for proper support is that I haven't had the time to get back into recreational coding for months because of work, so you may be waiting for a while :(
Swann 28 Mar @ 1:12pm 
Rovers tend to have a lot of subgrids. I did learn how to use the custom group name. But I worry about the server hit having to run even just 3 copies of the script to cover some of the main sections of the rover. We wait patiently for proper multi-grid support.
BloodAngel099 14 Mar @ 5:31pm 
Perfect, sorry for the dumb question I now see the answer was just a couple lines above....
Whiplash141  [author] 13 Mar @ 11:36pm 
Change your view axis to Negative
BloodAngel099 13 Mar @ 4:16pm 
Is it possible to flip the image? I have rotated it but I now need to flip the image to orient it correctly with my base.
_Your__Nightmare_ 1 Mar @ 3:06am 
How do you rotate the view?
AkagiVoid 5 Jan @ 3:33pm 
Nope. >w>

Although, TY 4 educating meh n anyone else dats 2 lazy 2 read the manual or go through lines of code 2 answer dat one simple FAQ while U was half asleep. X3

And sawry dat I rudely disturbed U while U was trying 2 wake up. >w<
Whiplash141  [author] 5 Jan @ 2:30pm 
Wow... can you tell I typed that up right after I woke up? :steamfacepalm:
AkagiVoid 5 Jan @ 11:55am 
TY. >w<
Whiplash141  [author] 5 Jan @ 11:35am 
no timers needed at all. That behavior is expected. It is why the script says to use the arg in me to refresh to my process custom data changes. Block damage is seen automatically, configuration changes need to be fetched on demand
AkagiVoid 5 Jan @ 10:43am 
@Whiplash141
Do I need a timer 4 it 2 refresh the display 2 show dmg or changes 2 lcd custom data? ?w?
Because when i rotate image by 90 it doesn't update unless I do a refresh argument in program block, so does dat also need 2 happen for when it displays dmg as well? ?w?
Leconite 3 Jan @ 2:11am 
Probably not, but recompiling the script will reset the displays.
Helratz 2 Jan @ 4:09pm 
Hey Whiplash141. Love this script. Is there a way for it to ignore blocks you've purposely ground down?
Leconite 11 Nov, 2024 @ 1:51am 
It comes from all the non terminal blocks that are still functional, but on the verge of failure. Eventually, every ship of significant size comes with that smell; and the intermittent sparking sound effects. :-)
EpicSOB 10 Nov, 2024 @ 9:57pm 
:.( but i like the funny burning smell. lol
Whiplash141  [author] 10 Nov, 2024 @ 6:19pm 
No, because I don't want to slag peoples CPU's lol
EpicSOB 10 Nov, 2024 @ 6:14pm 
Lite? is thare an advance version i don't know about?
Leconite 6 Nov, 2024 @ 8:43am 
Conveyors are like armor blocks, you only get to know if they are missing. Maybe someday KSH will give us API access to the functional state of non terminal blocks, we know the capability is there, as a hand welder can give us the information visually, but in the typical KSH half implementation style, we can't get that info from a script.
Whiplash141  [author] 6 Nov, 2024 @ 6:03am 
You can't. Scripts can only differentiate between terminal blocks
Into 6 Nov, 2024 @ 4:09am 
How do I get it to display conveyors? As it is listed in Type Definition Listing
Leconite 23 Oct, 2024 @ 12:02pm 
Awesome, now I can get what I need with

|[Prop. Ground]
|Color=0, 0, 100, 100
|Block type=Wheels
|Block definitions=
|
|[Prop. Air]
|Color=0, 0, 100, 100
|Block type=Thrust
|Block definitions=
|

If I could comma separate multiple block types to combine thrusters & wheels under a single legend item, that would be perfect, however, I am happy with the new version.

Thank You! :-)
Whiplash141  [author] 23 Oct, 2024 @ 11:03am 
v1.14.0 has added more block type options. If those aren't sufficient, you get to list off block definitions.
Leconite 23 Oct, 2024 @ 9:57am 
It would be a "|Block definitions line=" with 100+ objects.
I might be wrong, but the script might be able to do this more quickly and accurately than the end users.
Leconite 23 Oct, 2024 @ 9:44am 
Yes, I am aware that I could disable the thrust category, set up a new category with Blocktype=Functional and literally spell it out to SIMPL. "Include every variation of thruster and wheel suspension in the game."; complete with long MyObjectBuilder... notation.

I was hoping that the below suggestion to include this into a future version of the script by default, would add value to SIMPL, make the UI a bit more intuitive, and negate the need for long complex, and potentially error prone config tweaking as a whole.

Like I said, FWIW, maybe it isn't worth it.
Whiplash141  [author] 23 Oct, 2024 @ 8:57am 
You can add whatever you want to the legend via the custom data. There are instructions in the custom data of the PB.
Leconite 23 Oct, 2024 @ 6:30am 
Suggestion, add wheel suspensions to what is picked up by the thrust group.
That way when I use SIMPL on a rover, the propulsion systems show up where expected.
Maybe rename the thrust label to Prop. or Propulsion.

FWIW :-)
Whiplash141  [author] 22 Oct, 2024 @ 6:07pm 
Nope
Into 22 Oct, 2024 @ 6:05pm 
To scan a specific block row
Whiplash141  [author] 22 Oct, 2024 @ 5:11pm 
@nick74racing: Yes

@Into: What do you mean by that? You can set the axis and rotation of the SIMPL views in custom data.
nick74racing 22 Oct, 2024 @ 4:57pm 
can u use this on ur plant base?
Into 22 Oct, 2024 @ 12:13pm 
Is it possible to show only a specific cross-section?
Leconite 19 Oct, 2024 @ 4:45am 
Maybe an event controller monitoring block integrity.

Probably a combination of your control seat, an AI defense block, and the above mentioned event controller, all triggering combat/defense routines might give you what you want.
LukeStrike 17 Oct, 2024 @ 10:24am 
@N0sc0p3dPwnd I'd like it too :) So whenever a ship is dammaged, it goes in "combat/defense" mode ...
For now I'm using the action of the control seats "when targeted" but it's not enought
LKS
strt>savage 16 Oct, 2024 @ 5:42pm 
Can I suggest an ability for this mod to be able to customize actions that are activated under specified average integrity percentage of a ship? For example to set an action like a timer block to be triggered when the overall ship integrity reaches 80%. I can't find any script like that so I'd love your thoughts on it
LukeStrike 14 Oct, 2024 @ 10:23pm 
@Whiplash141 Works perfectly now. Thanks !
LKS
Whiplash141  [author] 14 Oct, 2024 @ 11:57am 
Fix pushed in v1.13.3
LukeStrike 14 Oct, 2024 @ 11:47am 
@Whiplash141 thats fine I got the point to display at least 2 views (top and rear) even on a unique small fighter cockpit screen (you have to play with scales and positions but it works)
So what about the bug ?
LKS
Whiplash141  [author] 14 Oct, 2024 @ 10:56am 
No. That invokes a lot more stress on the renderer
LukeStrike 14 Oct, 2024 @ 9:41am 
Also ... I see that you can display multiple views on a simple screen ... but they "superpose" ? Is there a way that they "switch" f.e every second ? Like "page one" view from top, one second later "page two" view from rear etc ?
LKS
LukeStrike 14 Oct, 2024 @ 7:51am 
@Whiplash141 did you find where the "bug" comes from ? Maybe it's a problem with MyIni ? Thus the / should be replaced by something else like : or anything ?
LKS
Whiplash141  [author] 8 Oct, 2024 @ 9:02am 
Shit, I can replicate and I'll investigate a fix.
LukeStrike 8 Oct, 2024 @ 1:25am 
Hi,
It seems that there is a problem with Block definitions=
Everything after a / (ex: MyObjectBuilder_JumpDrive/LargeJumpDrive) is removed and sometimes it's the entire values ...
LKS
LukeStrike 6 Oct, 2024 @ 9:01am 
@Whiplash141 yes sorry I just realised that I was in an old version (1.10)
Thanks :)
LKS