Space Engineers

Space Engineers

Projector2LCD
205 Comments
Juggernaut93  [author] 13 Dec, 2024 @ 3:21pm 
I don't own the DLCs, but for many (all?) of the DLCs the block definitions were included in the base game, so I was able to build the list of recipes without owning them. However, I can't really tell if it works or not, sorry.
Doombad 8 Dec, 2024 @ 12:50pm 
Does this support all DLCs? (and thank you for making this)
Juggernaut93  [author] 8 Dec, 2024 @ 10:08am 
If you are using mods with custom components, they are not supported.
Dormant 23 Nov, 2024 @ 4:13pm 
i ran the block definition xtractor that you had mentioned but it says not supported. is there a updated version
Juggernaut93  [author] 9 Oct, 2024 @ 10:53am 
For example:
pname;lcd1;lcd2;;false;
if you have a projector called pname, two LCDs called lcd1 and lcd2, no third lcd, no light armor and want to use the average grid yield ports
Juggernaut93  [author] 9 Oct, 2024 @ 10:49am 
No, just write false
Eevee 1 Oct, 2024 @ 8:44pm 
so it would be something like the augment would be ;LCD1;LCD2;lightarmor:false; to set it to heavy armor? i ended up just modifying the script to use heavy armor by default instead of light armor.
Juggernaut93  [author] 1 Oct, 2024 @ 10:08am 
If you want light armor: true, if you wnt heavy armor, false
Eevee 30 Sep, 2024 @ 6:50am 
what do i need to type to enable heavy armor instead of light becuase i dont think i understand the instructions on how todo it ive tried putting lightarmor, heavyarmor ,lightarmorfalse ,lightarmor1 , lightarmor0 because the instructions seem as clear as mud about that for me.
Juggernaut93  [author] 29 Sep, 2024 @ 6:00am 
The problem is that, depending on the mod, you might get very wrong calculations if the new components are heavily used in the blueprint. I could just do it and send a warning about it, but I honestly don't have time to do these changes right now
the last TRUE gamer 29 Sep, 2024 @ 1:57am 
wouldnt be the worst thing if the support for addons didnt error out when it found a mod it didnt like and instead skipped over it and carry on instead...
Bikerstretch 8 Jul, 2024 @ 7:42am 
can anyone help on how the argument is ment to be laid out im having trouble working out how to get the script to work
Juggernaut93  [author] 15 Jun, 2024 @ 3:37am 
The problem might be that the script only supports classical LCDs (regular and wide). I don't play the game anymore and don't own the DLCs, so I can't test it with new types of LCD screens.
Angelwrith 13 Jun, 2024 @ 4:01am 
not sure if a further update has broken this but i get
"Program(61,7) Error: 'IMyTextPanel' does not contain a definition for 'WritePublicText' and no accessible extension method
'WritePublicText' accepting a first argument of type 'IMytextPanel' could be found (are you missing a using directive or an assembly reference?)"
MaxiThunder 5 Jun, 2024 @ 8:10am 
Thank you so much for the update!!!!
Neider Unchained 3 Jun, 2024 @ 6:38am 
@juggernaut93 thank you so much! I'll give it a spin as soon as I get the chance
Juggernaut93  [author] 1 Jun, 2024 @ 2:17pm 
Updated, it should hopefully work now.
Juggernaut93  [author] 27 May, 2024 @ 2:06pm 
I'll try to have a look at it next weekend. I'm pretty busy right now and I haven't played the game in a while.
Neider Unchained 25 May, 2024 @ 9:00pm 
Hi there! Thank you so much for writting this script, it has been a mainstay for me for years, I've noticed that the latest keen update might have broken it though, would you be able to take a look?

Last issue observed was "Caught exception during execution of script, the given key was not present in the dictionary"
LeNi 17 Mar, 2024 @ 9:19am 
Could you make the Holo LCD and transparent ones supported?
ScorpiusZA 28 Oct, 2023 @ 6:37am 
Are there size limits or issues with subgrids (which even the projector ignores). I'm trying to project a large grid ship and i am getting a whole slew of errors. This ship does employ pistons in a few places which i can work around when the ship is complete. However removing the subgrids is not helping. I test it with a much smaller large grid blueprint work fine and the LCD shows the information as intended, so its makes me wonder if there is a blueprint size limit.
Corpsy 22 Sep, 2023 @ 1:40pm 
I smoked out all the documentation, but didnt see the real name of the cabin from the new DLC in script until I inserted the line "Echo(blockName);"
Update of blockDD is too heavy IMHO, m.b. just diag message with name of undef block and concat DLCs and MODs units for manualy adding? Anyway, thank You, pall! )) PS im a litlbit dummy at these Qs:steamhappy: ))
Juggernaut93  [author] 22 Sep, 2023 @ 12:46pm 
Yes, I provided a tool to automatically update the blockDefinitionData. I just haven't run it yet recently and pushed the update, but everyone can do it manually as explained in the script readme.
Corpsy 22 Sep, 2023 @ 4:29am 
@Juggernaut93,
at last string blockDefinitionData after $cockpit have to insert
*SmallBlockCapCockpit=0:20,1:10,5:1,6:4,3:15,12:10
for supporting new cabin from last DLC.
infuture, need to modify function GetTotalComponents for catches undefined BLOCKs in blockDefinitionData. For example, i inserted in this function the string
Echo(blockName);
and i can see - why script was crushed.
and Thank You for your script!
Juggernaut93  [author] 20 Sep, 2023 @ 1:46pm 
The script does not support non-base game displays by default, simply because I don't have any DLCs. You would have to fix the code to do that. There is a check about the LCD block type, where if it does not belong to a regular or wide LCD it prints that error. You would have to modify that
Shamr0ck01 20 Sep, 2023 @ 8:38am 
Quick question? where would I need to modify this so it can use the transparent and holo lcds they are the same width as the stock ones but I get LCD is too small error?
Juggernaut93  [author] 24 Jul, 2023 @ 1:24pm 
Yes. With new blocks you have to run the script linked in the readme. If the mods also add new components, this is not supported.
Juggernaut93  [author] 14 Jul, 2023 @ 5:05pm 
Are you using mods?
CommradePotatoe 14 Jul, 2023 @ 8:58am 
Heya I tried to run the script with this argument (Test Projector;Wide LCD Panel;Wide LCD Panel 2;Wide LCD Panel 3;true;0) and got this response:

Caught exception during execution of script:The given key was not present in the dictionary.
at System.ThrowHelper.ThrowKeyNotFoundException()
at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
at Program.GetComponents(String definition)
at Program.GetTotalComponents(IMyProjector projector)
at Program.Main(String argument, UpdateType updateReason)
at Sandbox.Game.Entities.Blocks.MyProgrammableBlock.<>c__DisplayClass42_0.<ExecuteCode>b__0(IMyGridProgram program)
at Sandbox.Game.Entities.Blocks.MyProgrammableBlock.RunSandboxedProgramActionCore(Action`1 action, String& response)

This is my first time running a script so I apologize if there is something stupid Im doing wrong.
BigErn77 11 Jul, 2023 @ 6:16pm 
I ran the BlockDefinitionExtractor and it gives the error "Mods that add new building components are currently not supported!" I have hundreds of mods installed. Could you change the script to identify the offending mod(s)?
Juggernaut93  [author] 5 Jun, 2023 @ 1:23pm 
Updated pushed. Please let me know if it works now.
Juggernaut93  [author] 5 Jun, 2023 @ 12:40pm 
@Zaazik when I set my client language to Ukrainian, I still see the part about Effectiveness unchanged and the script still works, even if I restart the game and start a new game from scratch. Anyway I will add some more checks, just to avoid crashes.
Juggernaut93  [author] 5 Jun, 2023 @ 11:33am 
Ahh true, I probably wrote this code when most languages weren't supported yet. I'll sort this out soon, thank you for your report.
123 4 Jun, 2023 @ 5:49pm 
This func
private double GetRefineryEffectiveness(IMyRefinery r)
{
string info = r.DetailedInfo;
int startIndex = info.IndexOf(effectivenessString) + effectivenessString.Length;
string perc = info.Substring(startIndex, info.IndexOf("%", startIndex) - startIndex);
try
{
return effectivenessMapping[perc];
}
catch (Exception)
{
return int.Parse(perc) / 100d;
}
}

Throw exception on Ukrainian client lang
inpute string was not in a correct format

Need write something about that in config private const string effectivenessString = "Effectiveness:"; // the text shown in terminal which says the current effectiveness (= yield bonus) of the selected refinery

Or add try-catch for
return int.Parse(perc) / 100d;
With default
coolfarmer 20 May, 2023 @ 4:25pm 
@Juggernaut93, thank you! :)
Juggernaut93  [author] 20 May, 2023 @ 3:53pm 
@coolfarmer it's fine, you can publish it :)
coolfarmer 20 May, 2023 @ 1:10pm 
Hi @Juggernaut93, I'm not sure if this is the appropriate place to ask, but I wanted to inquire if you would grant me permission to upload a "Lite" version of your mod on the workshop. This version would exclude ingots and ores, focusing solely on components, DLCs and mod support. I am currently in the process of developing it, and it should be completed in a couple more days. Since I am utilizing a significant portion of your code, I wanted to seek your approval. I can keep it private for personal use, but if you permit me, I can share it here, providing a link to your mod as the original author. Thanks mate!
Juggernaut93  [author] 6 May, 2023 @ 4:11am 
Me neither, to be honest, my maintenance work has been minimal since I haven't played the game for a while now :)
Ki113N63R 5 May, 2023 @ 10:18pm 
I can't believe this still works.
IтѕOиℓуMє |☆| 26 Apr, 2023 @ 1:02pm 
Awesome man! I tested this and it works again! This script is seriously one of the most helpful scripts, Thanks!
Juggernaut93  [author] 26 Apr, 2023 @ 11:14am 
Hi, I have updated the script. It should now work with the blocks from the latest update. Please tell me if you still have issues in your game.
IтѕOиℓуMє |☆| 25 Apr, 2023 @ 1:33pm 
Have you had any chance updating the script? Would be awesome if you could. Its currently spitting out errors when you run the script.

Caught exception during execution of script: The given key was not present in the dictionary.
at
System.ThrowHelper.ThrowKeyNotFoundException()

at
System.Collections.Generic.Dictionary`2.get_item(TKey
Key)

at
Program.GetComponents(String
definition)

at
Program.GetTotalComponents(IMyProject
or
Projector)

at
Program.Main(String
argument,
UpdateType
UpdateReason)

at
Sandbox.Game.Entities.Blocks.MyProgra
mmableBlock.<>c__DisplayClass42_0.<
ExecuteCode>b__0(IMyGridProgram
program)

at
Sandbox.Game.Entities.Blocks.MyProgra
mmableBlock.RunSandboxedProgramAct
ionCore(Action`1
action,
String&
response)


Thnx!
Survival Ready 14 Mar, 2023 @ 4:25pm 
Serious work has been done :steamthumbsup:
Emperor of Piratini 26 Feb, 2023 @ 9:16am 
oh thanks
Juggernaut93  [author] 25 Feb, 2023 @ 2:55am 
Remove the "[]"! It's a relic of older versions to indicate optional parameters. Now every parameter is optional, I should update the README (and the script to the latest game version), but I'm currently too busy.
Emperor of Piratini 24 Feb, 2023 @ 2:02pm 
I copied [Foxtrot Projector];[Foxtrot Printer LCD];[LCDName2];[LCDName3];[True];[0] into my programming block yet it's not working, what exactly am I doing wrong?
Juggernaut93  [author] 29 Nov, 2022 @ 4:10am 
No problem, just reference the original one :)
mahshiara 28 Nov, 2022 @ 3:21pm 
Thank you! I was able to find the name from another mod :)

Would you mind if I re-uploaded your script with support for shield mods and certain weaponcore mods?
Juggernaut93  [author] 27 Nov, 2022 @ 1:23am 
@mahshiara I think the easiest way is to check the .sbc files added by the mod. They should specify the new blocks added and the new components too. It's been a while though, so my memory is not super fresh.