Space Engineers

Space Engineers

CAT Net Laser Data Transfer
Loues.S.Cat  [developer] 15 May, 2015 @ 1:58pm
Support Thread
If you're having issues with the script feel free to post in here.
< >
Showing 1-10 of 10 comments
mrbojinkles 15 May, 2015 @ 2:17pm 
I'm looking to have the option to have the code write the incoming message to a separate LCD.
Loues.S.Cat  [developer] 15 May, 2015 @ 2:25pm 
You want that in addition to the current LCD display or instead of it?
mrbojinkles 15 May, 2015 @ 2:38pm 
Addition. That way I can see the regular readout, the other display will be for another code to fetch the string from. Basically, I have a spotter ship using Ansible Detector, it transmits the target data using your script, then its transmitted to another vessel that uses the data. for the data to be most easily accepted i need it to enter a stand-alone LCDs public text. I'm sorry for the hassle, I'm looking into learning C# so that I can just do these things myself.
Loues.S.Cat  [developer] 15 May, 2015 @ 2:40pm 
Well I can build in something quickly.
I'm not terribly familiar with C# myself.
SE is the first time I have ever used it.
I'll stick it in pastebin for you as soon as I can if that's all right.
mrbojinkles 15 May, 2015 @ 2:48pm 
Not sure what you mean by pastebin, but if you give me the code, and a foggy idea of where to stick it, I can hash the rest out.
Loues.S.Cat  [developer] 15 May, 2015 @ 3:23pm 
Originally posted by mrbojinkles:
Not sure what you mean by pastebin, but if you give me the code, and a foggy idea of where to stick it, I can hash the rest out.

I just stuck it all in one method.
If you have the basics of how C# works you could be able to adapt it to your needs.
The string Out is the outgoing message, since echos are kind of unavoidable in this script.
LCD_DISPLAY_MSG_TAG is the tag that Ids the LCD panels for it.
The method is used as 'UpdateMsgBoard( Outgoing );' at the end of the Update() method.
I'll have it up on pastebin in a moment and you'll be able to copy paste the entire thing in one go. Just give me a minute ^.^


const string LCD_DISPLAY_MSG_TAG = "[MSG]"; public void UpdateMsgBoard( string Out ) { if( LCD_DISPLAY_MSG_TAG != null ) { string[] Keys = new string[DATA_LOG.Count]; DATA_LOG.Keys.CopyTo( Keys, 0 ); StringBuilder Msgs = new StringBuilder(); string nl = ""; for( int e = 0; e < Keys.Length; e++ ) { if( !Keys[e].Equals( Out ) ) { Msgs.Append( nl + Keys[e] ); nl = "\n"; } } string Txt = Msgs.ToString(); var Blocks = new List<IMyTerminalBlock>(); GridTerminalSystem.GetBlocksOfType<IMyTextPanel>( Blocks ); for( int e = 0; e < Blocks.Count; e++ ) { if( Blocks[e].CustomName.Contains( LCD_DISPLAY_MSG_TAG ) ) { ((IMyTextPanel)Blocks[e]).WritePublicText( Txt, false ); } } } }

Pastbin link
http://pastebin.com/YTKjkpvm
At the end of the page there will be a box titled RAW Paste Data
Click inside that and hit Ctrl+A then Ctrl+C and you should copy the entire script and nothing else :)

Uhhh I changed the ship prefix to [CAT] you'll likely need to reset that to null or whatever prefix you use.
Last edited by Loues.S.Cat; 15 May, 2015 @ 3:32pm
mrbojinkles 16 May, 2015 @ 12:56pm 
Works Perfectly. Thank you very much!
Loues.S.Cat  [developer] 16 May, 2015 @ 12:57pm 
It's a very minimalist change. You should be able to build your own stuff around that one method I added to customise the way it works to you :)
MrFox 25 Dec, 2015 @ 7:44am 
Haveing an issue and nto sure whats wrong. i have a satlite set up with a radar that wrights on the LCD Public - LCD [OutGoing], and a Laser anti named Laser [NSR]. On the base side - LCD [NDS], Laser [NSR]. everything is set to me as the owner. so im not sure whats going on.
KEY:
LCD [OutGoing] = Outgoing messages from satlite Visa lcd screen
Laser [NSR] = Laser anti Network send receve
LCD [NDS] = LCD Network Display Screen
Simon 13 Feb, 2016 @ 10:05am 
i took your updated script, but the labeled LCD Panel won't show my custom message in my tagged LCD panel...

do i have to change more in that code except the prefix for the entire ship and the panel itself?

the sended message is at my recieving antennas name, but does not get pushed to that lcd

//edit the screens show "[1"
as my message contains brackets and ":" maybe he aboards too early? is "/" a marker to stop here?

// edit2: works now... do not use "/" in taht message, its the terminate marker...
Last edited by Simon; 13 Feb, 2016 @ 10:46am
< >
Showing 1-10 of 10 comments
Per page: 1530 50