Space Engineers

Space Engineers

Projector Aligner
151 Comments
Spencer 17 Feb @ 7:04am 
hmm I think its got to do with groups I removed the group tag from the projectors and it works...going to keep testing this.
Spencer 17 Feb @ 6:57am 
Please let us know if or when this beautiful piece of work gets fixed!
Spencer 17 Feb @ 6:55am 
This is a great script and almost works, but it's broken, I am afraid. Firstly, the script doesn't compile without error, which is only a warning, so I gave it a try. Strangely, the first temporary cockpit I placed allowed me to use the arguments, but then once I tried putting it in a permanent place, any fiddling with arguments just broke the code on me. Weirdly even directly using arguments in the PB broke it but my temporary cockpit did just fine lol
Leconite 11 Sep, 2024 @ 5:17am 
I've never run it on a corner LCD in the normal orientation, so I don't know how that looks.
The corner LCD in the screenshot is placed sideways, and has it's rotation set to 90.
Brianetta  [author] 10 Sep, 2024 @ 12:56pm 
Weird. I haven't ever tried running it on those. Looks like the padding value might be part of the problem. I'll see if I can figure it out.
Leconite 10 Sep, 2024 @ 6:51am 
Jakewhistler 26 Aug, 2024 @ 3:42am 
@Brianetta I've tried what you said, I think I've gotten it the way you said but nothing's happening. I've got a "Not Configured" error on my control chair screen and on the program block screen.
Brianetta  [author] 25 Aug, 2024 @ 8:31am 
Just pop the config header and (optionally) the group name into the Custom Data on the remote control block. The script will take position input from the remote control when you take control of it.
Jakewhistler 25 Aug, 2024 @ 2:13am 
So, playing around with this a bit I got the script to run on a simpler setup with just batteries, a program block, a projector and a seat, and that worked before a nano builder randomly ground some things down. That shouldn't have happened. But for a few seconds there it worked. I can't get it running through the remote control block at all.
Jakewhistler 18 Aug, 2024 @ 5:23pm 
The remotes, that's an idea I hadn't thought of. I haven't done much with them at all, but I'll give it a try.
Brianetta  [author] 18 Aug, 2024 @ 9:52am 
This script has a grouping feature, but it's really so that one programmable block can handle several separate printers. Each printer can have one or more projectors, cockpit, screens, etc.

You can't really share a seat between groups, but you can certainly have a bunch of remote controls, with one per group, and have those on your seat's toolbar.
Leconite 18 Aug, 2024 @ 9:40am 
The ISL ship printer looks pretty cool for a pre-built solution.
Modifying it to support the full range of parts available in the MSGK will require a lot of projectors, which this script can easily accommodate.

If you like to experiment with ship designs, you may want to setup projectors into groups as described above to organize things based on the MSGK part set in use.

If you know what MSGK parts you want to use in a specific ship design, you could group them based on the ship design.

I don't know if this script supports turning on multiple projectors at the same time as a group, so you may be limited to creating your ship by sequentially printing out each part of your ship design, until you have a completed ship on the printer.

Brianetta can elaborate on that in more detail, I am sure.

The idea of using the ISL printer to build from the MSGK is really cool. :-)
Jakewhistler 18 Aug, 2024 @ 6:21am 
So, one PB to run all the projectors? I'll be honest, I've never gotten this script to work for myself, I use Spite's ISL Small Ship Projector. I want to be able to project and weld Gen.Knowledge's MSGK BP's from one machine, so that the you can line up all the parts of the ship you want to create, and switch between which projector you control.
Leconite 18 Aug, 2024 @ 5:09am 
Multiple projectors, absolutely yes.
Just add the [projector] tag to the custom data of the projectors you want to use with this; then run to PB with the rebuild argument.

I run this with an array of multiple projectors that use the same welding frame to print different small ships and drones.

Multiple PB's running this script on the same grid, I have no idea.
Why would I, when I have one PB to rule them all? :-)
Jakewhistler 18 Aug, 2024 @ 1:44am 
Is it possible to use this on a grid with more than one projector and more than one program block, but one seat?
Leconite 20 Jul, 2024 @ 2:14pm 
Thank you, fix verified, the script is now more idiot proof. :-)
Brianetta  [author] 20 Jul, 2024 @ 12:09pm 
Thanks for getting back to me. 1.2.2 should now fix this.
Leconite 19 Jul, 2024 @ 7:01pm 
Here is the config that I copied from the custom data of the industrial cockpit to the custom data of the helm
[projector]
display=2
scale=0.40

I forgot to change the index to an appropriate value for a helm.

After issuing a build command via hotbar action the script became unresponsive to both keys and hotbar commands issued from either industrial cockpit or helm.

After configuring the helm correctly
[projector]
display=1
scale=0.40

Then recompiling, the script worked as expected from both control points.

What I would have expected in the misconfigured state is
Keys and hotbar commands would work from both control points.
Display on the helm would not work.
A message in the details of the script's PB stating that something was wrong with the helm display config.

With the script unresponsive, and nothing indicating what was wrong, it took a while to figure it out.
Brianetta  [author] 17 Jul, 2024 @ 4:58pm 
Which configuration format were you using to specify the screen? Index in the heading, or index in the keys?
Leconite 15 Jul, 2024 @ 9:10am 
Script goes completely unresponsive from any control point when given an invalid display index for a control point.

This just bit me when copying the configuration from an industrial cockpit to a helm.

It would have been more helpful if the script logged that the helm was misconfigured, and kept functioning on the other control points..
Brianetta  [author] 31 May, 2024 @ 4:02pm 
This isn't a mod!
Abacus 21 May, 2024 @ 9:55am 
I love this mod and wish it was a vanilla feature.
MagnusEffect 20 May, 2024 @ 9:10pm 
thanks again for keeping this updated
Lunatricky 21 Jul, 2023 @ 1:57pm 
It's the least i could do! Thanks for the help and the feature!
Brianetta  [author] 21 Jul, 2023 @ 5:07am 
Thanks for the update; I thought I was going mad looking at the code!
Lunatricky 21 Jul, 2023 @ 4:47am 
Ok just to update you on my problem. Pretty sure it's a SE issue, I tested on a local hosted game and it worked fine, back to the server same issue. Then I remember to log off then back on and the projectors were all aligned.. It's a desynch between client and server so I assume there is nothing you can do about it. But still it's great to have the ability to save the projectors and load them aligned. Thank you so much for adding the feature and for all the help!
Lunatricky 19 Jul, 2023 @ 2:37pm 
Oh yeah forgot to mention that one is also failing yeah.
And I love how you can navigate the projectors using up amd down it's a nice touch.
Brianetta  [author] 19 Jul, 2023 @ 12:40pm 
At right. You can load it from the on-screen menu - let me know if that's failing.
Lunatricky 19 Jul, 2023 @ 11:54am 
No, the custom data of the projector isn't missing after the hangar save->load. Ence I though I may be missing somehting. That alone is of great help as I can then align it from the data values by hand just that it would be very nice to just run the script with argument "load" and have it done for me.
Brianetta  [author] 19 Jul, 2023 @ 3:00am 
Does the projector also lose its Custom Data? There's not much that the script can do in the face of external data loss. You could copy the Custom Data and paste it back in. Perhaps keep it in the Steam overlay notepad?
Lunatricky 19 Jul, 2023 @ 2:52am 
Hello Brianetta, I'm trying to use the save and load alignment feature you added. It's saving the projector alignment into the custom data but I can't get it to load them when the projector gets reset. I'm trying this on a server with Quantum Hangar plugin and when you hangar a grid the projector loses all it's settings, blueprint an alignment. Any idea what I'm doing wrong/missing?
Let me know if you need more. Thank you!
Brianetta  [author] 2 Jul, 2023 @ 9:40am 
All right, hopefully this is going to work for you. To add screens from other groups, or just to add a screen without taking the cockpit as a projector controller, use a numbered section heading in your Custom Data:

[projector_display1]
scale=0.5
color=FF7F00
group=Printer 2

These settings will be ignored by older versions of the script. Remember that the screens are numbered from zero, in the order that they show up in the terminal config.
Abacus 28 Jun, 2023 @ 6:42pm 
Thank you.
Brianetta  [author] 28 Jun, 2023 @ 3:34pm 
Alas, yes. It's because each group can only specify one screen per block at the moment. An alternative is to have several LCD panels mounted in view, each showing a different group. The idea behind groups is to run several printers at once; the only thing we can't do right now is more than one screen on a single multi-screen block (cockpit, sci fi buttons, etc)
Abacus 28 Jun, 2023 @ 2:45pm 
So for the time being I should use 1 PB for each projector/display grpup and have them in their own named groups?
Brianetta  [author] 28 Jun, 2023 @ 12:45pm 
There's currently no way to do that. It seems like something that it should do, though, so watch this space.
Abacus 27 Jun, 2023 @ 1:57pm 
If I want to use 1 control seat to monitor several projectors but have their info on different LCDs, what identifier would I need to put in the control seat custom data? I am working in a facility that will have multiple printers for different blueprints and would like to monitor them from a single location.
Lunatricky 29 May, 2023 @ 10:19am 
Thank you so much!
Brianetta  [author] 29 May, 2023 @ 10:04am 
That's been added.
Brianetta  [author] 30 Apr, 2023 @ 11:25am 
Hi Lunatricky!
No, the script can't do that at the moment. I'll look into adding it.
Lunatricky 30 Apr, 2023 @ 11:04am 
Hello Brianetta, awsome script you've got here!
Can it be used to save the offsets of a projector and put them on the projectors? I ask this because some serves reset the projectors on restarts and clear the blueprint and the offsets so every time you log in you need to realign the projectors.... if your script could be used to save the projector alignment and then put it on the projector you'd only need to load blueprints to it.
2yysforu 11 Oct, 2022 @ 9:06pm 
Okay thanks!
Brianetta  [author] 11 Oct, 2022 @ 5:16pm 
That's nothing to worry about. I'm deliberately using my default in that part of the script. The warning is superfluous.
2yysforu 9 Oct, 2022 @ 11:23pm 
Getting this error when I check the code here is a pic of it

https://prnt.sc/D5nk8LhuRulj
Nimizz 19 Feb, 2022 @ 5:18am 
I'll try it again later and see if I can get a clip of it
Brianetta  [author] 19 Feb, 2022 @ 2:35am 
I can't imagine why you'd hear a welder that wasn't there.
Nimizz 18 Feb, 2022 @ 6:28pm 
Very strange bug, I'm trying to use this on dedicated server (I only just saw the comments about multiplayer issues) but while setting up the programable block I can hear the projection turning on and off and then a few seconds later I can hear welders welding up blocks BUT i have no welders anywhere or active projections
Brianetta  [author] 8 Feb, 2022 @ 3:05pm 
It doesn't use block groups, and the argument is just "apply".

ALL of the configuration is written in the Custom Data of your programmable block, cockpit, projector(s) and screen(s). It knows which blocks to use because they have config. It knows which groups blocks are in because the config tells it.
Gonzi[RUS] 8 Feb, 2022 @ 12:43pm 
Hi! I can't get it how make it works. I just renamed my group "Ship Printer" and what exactly I must write as argument?

apply "Ship Printer" ? Or "Ship Printer" apply?

Nothing works.
Brianetta  [author] 4 Dec, 2021 @ 2:03am 
There are some known issues in multiplayer (screens don't always refresh, and control seats on static grid don't work unless you're the host) but I don't know if any that disable the programmable block. Have a word with the server's admin, in case they are using a plug-in to control what scripts can do.