Space Engineers

Space Engineers

Not enough ratings
Instrument Panel Script C - by Lightwolf
   
Award
Favorite
Favorited
Unfavorite
File Size
Posted
Updated
20.529 KB
7 Jan, 2018 @ 5:19pm
8 Jan, 2018 @ 9:11am
2 Change Notes ( view )

Subscribe to download
Instrument Panel Script C - by Lightwolf

Description
This is part C of a script that displays an graphical Instrument Panel for LCD/Text Panel's.
it shows different states at once, speed, status of hydrogen-, oxygentanks, Battery's (Only if they Online and working)
also European time, Vehicle lights, Power- & oxygengenerators.


Requirement:
This script is to big, to fit just in one Programmable Block, you need three of them, so you need two more scripts

- Instrument Panel script (Part A)
- Instrument Panel script (Part B)



How to Install:
You need 3 Programmable Blocks,...
Put each script (A,B,C) in one of that Programmable Blocks.
At Top of script A you find the Available Settings.

---- Generals -----

[Inst.LCD - Script 2] <- Add this Nametag to the name of script B, ex: Before "ProgBlockA" after "ProgBlockB [Inst.LCD - Script 2]"
[Inst.LCD - Script 3] <- Add this Nametag to the name of script C

If you want, after this script, triggered another Programmable Block,
then add this Nametag [Inst.LCD - Script 4] into the next Programmable Block. WIP



Then you have to Copy and paste this NameTag to all LCD/Text Panel's you want show the Instrument Panel.
[Instrument Panel]



at default this script uses my Selfupdating System, if you want disable this, set
SelfUpdatingSys_Enabled from true into false.

below on SelfUpSys_perSecond you set the time in seconds the script will be updated.



----- Hydro,Oxygen and Battery Settings -----

To show Hydro or oxygen status, this Script needs to identifying the Hydrogentanks, to distinguish Oxygentank's or Hydrogentanks,
there for all of your Hydrogentank's needs to have the following NameTag in their name, you can also edit the word.
string Hydro_ident_String = "Hydro"; <- Nametag

Display Hydrogen Fuel Status on/off, (all Functional, enabled and Currently Used hydrotanks )
bool Hydro_Enabled = true; <- true enabled, false disabled

To Show only Specific hydrotank's
bool OnlyHydroWithNameTag = false; <- true enabled, false disabled

If OnlyHydroWithNameTag enabled put this Nametag to all of that Hydrotanks you want show.
string hydroTank_NameTag = "[Hydrotank]"; <- Nametag



Display Oxygen Generator Status on/off
bool OxygenGen_Enabled = true; <- true enabled, false disabled

If OxygenGen_Enabled is enabled, then put this NameTag to all oxygen generators, that represents your status,
minimum is to name one generator.
string oxyGen_NameTag = "[OxygenGen]"; <- Nametag



Display OxygenTank Fuel Status on/off, (all Functional, enabled and Currently Used Oxygentanks)
bool OxygenStatus = true; <- true enabled, false disabled

To Show only Specific oxygentank's
bool OnlyOxygenWithNameTag = false; <- true enabled, false disabled

IF OnlyOxygenWithNameTag enabled, then put this NameTag to all Hydrotank's you want show.
string oxygenTank_NameTag = "[Oxygentank]"; <- Nametag




Display Power Generator Status on/off
bool PowerGen_Enabled = true; <- true enabled, false disabled

If PowerGen_Enabled enabled, then put this NameTag to all power generators, that represents your status,
minimum is to name one generator
string powerGen_NameTag = "[PowerGen]"; <- Nametag



Display Battery Fuel Status on/off, (all Functional, enabled and Currently Used Battery's)
bool BatteryStatus = true; <- true enabled, false disabled

To Show only Specific Battery's
bool OnlyBatteryWithNameTag = false; <- true enabled, false disabled

If OnlyBatteryWithNameTag enabled, then put this Nametag to all Battery's you want show
string Battery_NameTag = "[Battery-Status]"; <- Nametag



----- Speedometer -----

Display Speedometer, Actual Speed of vehicle on/off
bool Speedometer = true; <- true enabled, false disabled

you can change the units of shown speed, choose M/S, Km/h or MPH.

To Show M/S:
bool MeterPerSecond_Enabled = true;
bool MilesPerHour_Enabled = false;

To Show Km/h:
bool MeterPerSecond_Enabled = false;
bool MilesPerHour_Enabled = false;

To Show MPH:
bool MeterPerSecond_Enabled = false;
bool MilesPerHour_Enabled = true;

Speedometer Speedlimit warning (Red letters), ex: 60 = 60 Km/h / MPH enabled 60 = 60 MPH
int Speedlimit = 60; <- set this to an Value you want



----- Other Settings -----

Enable or Disable Watch with actual realtime displayed
bool Watch_Enabled = true; <- true enabled, false disabled

Display Winker/Indicator symbol Left + Right on/off
bool Winker_Enabled = true; <- true enabled, false disabled

If Winker_Enabled enabled, then put this NameTag to one light of your left indicators / winkers
string winkerNameTag_L = "[Winker-L]"; <- Nametag

If Winker_Enabled enabled, then put this NameTag to one light of your right indicators / winkers
string winkerNameTag_R = "[Winker-R]"; <- Nametag




Display Headlights symbol on/off
bool HeadlightSign_Enabled = true; <- true enabled, false disabled

If HeadlightSign_Enabled enabled, then put this NameTag to one light of your headlights
string headlights_NameTag = "[Headlight]"; <- Nametag



Display Connector/Truck Coupling Hub Status on/off
bool CouplingHubStatus = true; <- true enabled, false disabled

There's a Truck symbol for the Connector Status,
bool ConVehSymbol = false; <- true enabled, false disabled

If CouplingHubStatus enabled, then put this NameTag to all Connector you want be a Sensor for That
string CouplingHub_NameTag = "[CouplingHub]"; <- Nametag



Display Landing Gear Status on/off
bool LandingGearStatus = true; <- true enabled, false disabled

If LandingGearStatus enabled, then put this NameTag to all all Landing gears you want be a Sensor for That
Minimum is one connector
string LandingGearStatus_NameTag = "[LandingGear-Status]"; <- Nametag



Display Wheel Breaks Enabled on/off
bool HandbrakeStatus = true; <- true enabled, false disabled

If HandbrakeStatus enabled, then put this NameTag to all of your flightseat, or remote control
minimum is one flightseat or one Remote Control
string HandbrakeStatus_NameTag = "[Handbrake-Status]"; <- Nametag



General Thanks to the Community, to all that share their knowledge, that helped me a lot to bring my scribts to life.
Thanks for that.
5 Comments
2yysforu 16 Mar, 2018 @ 9:12pm 
Great job, Simply Amazing!
Ninth Prophet 18 Jan, 2018 @ 10:13am 
Slight simspeed and framerate drops yes, but its steams network usage on other users that skyrockets - it also happens when the instrument scripts are the only 3 running with no similar problems with high numbers of other scripts.

So, host experiences intermittent dips in simspeed/framerate, but other users get their bandwidth sucked up by steam. Have yet to test it on grids smaller than 2000 blocks. Will toy with reducing update speed, thank you.
Lightwolf  [author] 18 Jan, 2018 @ 3:31am 
also important, if you dont use a ship, then turn the power of the ship off, then the reactor and all power supporting stuff will be disabled, so that means also the ProgBlock is Off.
you can also just disable the Part A Progblock to stopp the script.

so if all your stations/and ships are that way, it can help alot.
Lightwolf  [author] 18 Jan, 2018 @ 3:16am 
so if i understand correctly, you talking about Sim-Speed or/and Framerate drops, always my script is online.
You can try to reduce the update speed of my script, set SelfUpSys_perSecond = 5,
then it will update just every 5 seconds.

My Instrument Panel is a realy complex script, every time the scripts are called, it calclulate 1000 of things (just 1 ship and the three-part script).
So a simple Example, if you create a ship with 2 Motors, all is Fine, but if you have 1000 of them then you get also Problems. its the point what your PC, and the Game Engine are possible to handle (the total steam),
that means to many complex ships, and to many complex scripts, will result steam drops, still on singleplayer.
On Multiplayer, the system have to calculate, much more things as ordinary.
Ninth Prophet 17 Jan, 2018 @ 7:53pm 
So I've encountered a rather serious problem with this three-part script - for whatever reason, this can absolutely maim other players network usage in Steam in localhost multiplayer. I have this running on a ship with several other scripts, and when - and only when - this script is running, can the problem be observed. As soon as the programmable blocks running it are disabled, network usage drops back to normal from using all available resources Steam is permitted.