Space Engineers

Space Engineers

Not enough ratings
Projector alignment menu
By Survival Ready
The manual describes how to organize the three-button projector alignment menu using the EasyPlay script.
   
Award
Favorite
Favorited
Unfavorite
Introduction
One of the routine tasks of the game is to orient and align the projector blueprint to the desired boundaries. This tutorial demonstrates how to accomplish this task using the EasyPlay script, which allows you to do this through a two-level context menu using three control buttons.
https://steamcommunity.com/sharedfiles/filedetails/?id=2688952356
The menu allows you to control any number of projectors, but their number is still limited by the size of the screen on which the output is carried out. If the menu goes beyond the screen, then some of its items will simply not be visible, and screen scrolling is not supported.

The buttons can be placed either on the digital panel of any ship controller, or separately, which allows you to observe the process of blueprint orientation when changing its coordinates.


A demo craft is placed in the workshop and controls two projectors that allow you to print a Drone Raider and detach it from the printer for further play. You can use the script code located in the Custom Data of the EasyPlay block for your needs.
https://steamcommunity.com/sharedfiles/filedetails/?id=2967815459
Installation and setup
You will need a controller (cockpit, control station, pilot's seat) on the digital panel of which the control buttons will be placed, or a keypad with three buttons, or three separate buttons (for a small grid). You will also need a screen on which the menu will be displayed and, of course, a program block into which you need to load the EasyPlay script.

Now you need to copy the script code from the demo craft into the Custom Date field of your EasyPlay programm block


In the lcd variable, specify the name of the controller, LCD panel, or any other block that has a screen for output. For example:
* in square brackets you can specify the screen number to output lcd = "Cockpit[2]"

Then, in the main variable, you need to specify the exact names of the blocks of your projectors using the \N separator instead of those specified there. For example:
* list the names of your projectors with a delimiter \N main = "My Projector 1\NMy Projector 2\NMy Projector 3\NExit" * or use multiline notation main = "My Projector 1 My Projector 2 My Projector 3 Exit"

In @menu, remove the first line of code that is used for demo crafting. The print option to align the projector is also not needed.
@menu { * delete this line \lcd = cond(Oper of Control Seat = True : "Control Seat" : "PB EasyPlay") ...

Now all that's left is to place the controls on the controller's numeric pad, or in the button settings.
.
Specify the menu argument for the first button, menu(down) for the second button, and menu(up) for the third button. The first button brings up the menu on the screen, and the remaining ones move the pointer and change the values along the alignment axes.
Menu control
Press the 1st button to bring up the menu on the screen. Move the pointer to the desired projector name and press the 1st button again. The second level menu will appear on the screen — control of the projection coordinates along the axes, where the options Pos are the offset along the axis, and Rot is the rotation of the blueprint.

Now use the cursor buttons to select the desired option and press the 1st button again: the ":" sign (colon) will change to the "=" sign (equal)


The pointer buttons will then increment or decrement the value, and the blueprint will move accordingly. Press the 1st button again to return to menu pointer control. Actually, everything.

Note: the script uses the Custom Data field of the projectors, keep this in mind if other scripts also use this
2 Comments
Survival Ready  [author] May 1, 2023 @ 9:38am 
Thanks!
Apns May 1, 2023 @ 9:09am 
Awesome!