Space Engineers

Space Engineers

Not enough ratings
Personal Computer (WIP)
   
Award
Favorite
Favorited
Unfavorite
Type: Blueprint
File Size
Posted
Updated
834.959 KB
Mar 30, 2017 @ 1:34pm
Mar 31, 2017 @ 11:05am
2 Change Notes ( view )

Subscribe to download
Personal Computer (WIP)

Description
This is... Essentially a laptop. A work in progress laptop.
Version 2 now out.
Vanilla Version is also out here:
http://steamcommunity.com/sharedfiles/filedetails/?id=895397166

Here's what it does for now:
Allows for sending and receiving text messsages. Automatically blinks a notification light if you receive new messages.
Allows for a log to of all messages and commands received.
Can find all programmable blocks in a grid (currently serves no purpose).

Here's what it's supposed to do, but doesn't yet because it's a work in progress:
It is intended to be a portable personal computer. Like a laptop. Beyond its current functions as a simple text-message system, it is also intended to plug into any small ship (or, with an added rotor head to any large ship) to act as a modular interface for EVERYTHING. It is intended to find programmable blocks in the grid, get their methods, and then remotely access them using the keypad on your personal computer. A lofty goal. Probably won't achieve it.
An example would be having a programmable block that controls a number of hangar doors and another that displays a cargo manifest. You would be able to plug this computer into the grid and use its menus to first open and close its hangar doors without having to find the controls, and then check the cargo without having to go find the appropriate LCDs. And then send out IMs to all your fellow Space Engineers.

Current Features:
* Scrolling console interface with command selection
* Remote-Tamper security. Commands will only be carried out if sent with a special password called the Unique Identifier. The keypad uses this Unique Identifer by default.
* Instant-Messaging system. Send messages and receive messages from other programmable blocks. Automatically adds your PC's ID to your messages (IE: your message "I have cake" becomes "PCJohn: I have cake")
* Display that automatically puts line breaks in your text (when necessary)
* Realtime text updates in the log and messages menu.
* Blinking Notification light when new messages are received.

Features to be implemented:
* GetCommands method for OTHER programmable blocks, which should return a list of commands to be loaded into the Console interface menu.
* Remotely execute commands in OTHER programmable blocks using the Personal Computer.
* The ability to actually carry this around by hand. This is not currently possible, you would have to get a mod that gives your spacesuit a sort of landing gear-like locking function for your hand. And that's not something I know how to do.
* Public-Key Encryption for the message system to ensure privacy (We'll see if that happens)

Known Bugs:
* If Display fontsize is greater than 1, your PC will crash in the Sent/Received Messages menu. Using a fontsize of 1 or smaller did not exhibit problems. Your Text Input fontsize is irrelevant.
* Text Input sometimes shows the text from Display. If you check Text Input's textbox, it contains no text. This is due to a long-standing bug with LCD's in Space Engineers and has nothing to do with the computer malfunctioning. A simple workaround is to always keep some text in your Text Input screen. Or to just ignore it.

Required Mods:
* Small Ship Mega Block Pack - Required for the Keypad and the New Message Notification Light. Possibly for the displays as well, can't remember.
* V&WI Small Block Torpedo Parts - Absolutely critical. The programmable block, antenna, the batteries, and the merge block are all made with torpedo parts. Note, this mod will cause warnings on load, but it is completely functional, if a little annoying.

How to set up:
1) Paste or assemble one computer.
2) Change the PCID value to a unique string (IE: PCJon or PC15 or PCadefgy). Change the PCX part of all the computers' blocks to match that PCID value (IE: PCX CPU should become PCJon CPU, etc.).
3) Optional, not recommended: Change the UI value to a unique string (preferably something like "x53d"). Change the buttons on your keypad to use this UI value when sending commands. I hope to include a function that automatically updates your keypad in the next version.
4) Optional: Change the maxArchive value. This is the number of messages and log entries you can store. By default you can have up to 50 of each.
5) It is now ready for use, or you can paste or assemble another computer (just remember to repeat step 2 for each computer BEFORE adding more computers to the same grid)

How to use:
A) Main Menu:
1) You should have four options in your main menu: Log, Check Messages, Send Message, Discover.
2) Notice the selector (a ">" symbol on the left in your menu). Press button 1 to move it up, press button 2 to move it down
3) Move the selector to the desired option.
4) Press button 3. The computer will carry out the desired action.
B) Options
1) Activating Log will bring up the Log menu. Here you can see a log of past actions.
2) Activating Check Messages will bring up the message screen (and clear your notification if you have one)
3) Activaing Send Message will broadcast the text in the Text Input LCD, and will also do everything that Check Messages does.
4) Discover will bring up a screen that says "Discover".
C) In a Menu:
1) Press button 1 or 2 to scroll up and down.
3) Press button 3 to "refresh" last action. For the log, check messages, and discover buttons this just updates the screen, which happens automatically anyway. But, if you entered the messages screen via "Send Message", pressing 3 will send another message if there is a message in the Text Input.
4) Press button 4 to return to the previous Menu.

If you feel this mod has inspired you to try to make your own personal computers, go right ahead and take whatever you want from my computer's design and script, but fair warning: As pretty as the computer is, its programming is currently... Hella ♥♥♥♥♥♥♥ ugly. It's a mess of undocumented, redundant, inefficient code and hard-coded values. I'll clean it as I go, but don't expect miracles here.
3 Comments
GalaxyGuy  [author] Mar 31, 2017 @ 11:48am 
@jarhead it's out now if you want it.
GalaxyGuy  [author] Mar 31, 2017 @ 8:56am 
@jarhead I actually did. The thing was huge.
I'll try and see if I can improve it and release a vanilla version along with the version 2 I'm about to release
jarhead Mar 30, 2017 @ 8:19pm 
can you make a version that is vanilla only?