Space Engineers

Space Engineers

72 个评价
Projector2Assembler
   
奖励
收藏
已收藏
取消收藏
文件大小
发表于
更新日期
461.194 KB
2018 年 8 月 21 日 下午 2:41
9 月 13 日 上午 6:28
30 项改动说明 ( 查看 )

订阅以下载
Projector2Assembler

描述
Queue all the components needed to build a blueprint on your assembler.

-----------

Projector2Assembler by Juggernaut93

With some code by nihilus from here:
https://forum.keenswh.com/threads/adding-needed-projector-bp-components-to-assembler.7396730/#post-1287067721

CHECK ALSO: Projector2LCD (also by Juggernaut93) to show info about missing components, ingots and ores.
Link: https://psteamcommunity.yuanyoumao.com/sharedfiles/filedetails/?id=1500259551

MODS COMPATIBILITY
  • By default the script is not compatible with mods adding new blocks or modifying their needed components.
  • The script can be made compatible with mods that modify or add new block definitions (but without adding new kinds of components to be assembled in an Assembler) running the following app: https://github.com/Juggernaut93/Projector2Assembler/releases
  • Run the .exe file and follow the instructions on screen. A file will be created with the line of text that needs to be added to the script.
  • The app should be runnable on Windows 10 without additional dependencies.
  • On older versions of Windows this package might be needed: https://www.microsoft.com/en-US/download/details.aspx?id=48145
  • If you have problems running the .exe app, you can run the .py executable using Python on the command line.

SETUP
  • You obviously need a programming block, a projector, an assembler
  • Run the script with this argument: ProjectorName;AssemblerName;lightArmor;staggeringFactor;fewFirst;onlyRemaining
    • All parameters are optional and can be left empty.
    • ProjectorName (default: Projector) is the name of the projector with the blueprint you want to build
    • AssemblerName (default: Assembler) is the name of the assembler that will produce the needed components
    • lightArmor is true (default) or false and tells the script to assume all the armor blocks listed by the projector are respectively Light Armor Blocks or Heavy Armor Blocks
    • staggeringFactor is a positive integer (10 by default) that tells the script how to stagger the production
    • fewFirst is true (default) or false and tells the script to queue the components in the assembler sorted by amount. If false, the order is undefined (currently it's alphabetical, but it's not guaranteed to stay the same in the future)
    • onlyRemaining is true or false (default) and tells the script whether to check for the components already in stock in the entire grid and to only queue the missing components in the assembler.
    By default the script doesn't check for subgrids. You can turn the feature on by setting the variable inventoryFromSubgrids to true. WARNING: queuing more than one blueprint at a time with this option on would result in the available components being subtracted by each blueprint, use CAREFULLY

HOW IT WORKS
  • The script gets from the projector the remaining blocks to build. Unfortunately, the projector is not precise about the type of armor blocks to build and only gives a generic "armor blocks". You can then specify if you want to assume all the blocks are light or heavy armor blocks, but keep in mind that the script will overproduce if you specify heavy blocks but not all your blocks are full cubes and/or you also have light blocks; it will (probably) underproduce if you specify light blocks but you have many heavy armor blocks.
  • The script then sorts the components needed to build such blocks (if you set fewFirst to true) by ascending amount and will divide the amount of components by staggeringFactor. It will then tell the assembler to produce the obtained amount of components staggeringFactor times.
  • EXAMPLE:
    • your blueprint requires 3000 steel plates, 1500 construction components and 300 metal grids
    • you run the script with fewFirst = true and staggeringFactor = 10
    • the script will tell the assembler to build 30 metal grids, 150 construction components and
      300 steel plates 10 times
    • This will ensure your welding process won't be blocked by the lack of a single component that might have ended up at the end of the queue, and you will get a nice proportion of each component without waiting too much
69 条留言
Juggernaut93  [作者] 10 月 19 日 下午 1:17 
You must follow the parameter format indicated in the README.
For example:
My Beautiful Projector;My big assembler 42;true;10;true;false
Beldroin 10 月 18 日 下午 11:51 
doesn't seem to work says wrong format
stsrwarsfan54 6 月 16 日 下午 10:05 
how does one set it up, im getting confused, run the ProjectorName argument, but it says it can't find it, even tho i have the projector and it's named projector, ive even tried renaming it to projectorname
mageg4 5 月 6 日 上午 6:36 
It works for some things. It seems like the hydrogen system is causing my issues. My planet side atoms thrusters vehicles are fine. My space side hydrogen build throws an unknown block exception and the .exe script doesn’t work.
Datarak 5 月 2 日 上午 10:31 
It is not working as of 2.05.2025.
bevhilk | FP 3 月 12 日 上午 7:23 
Works, as of 12.03.2025. cheers man, great script!
minemanyt70 1 月 8 日 下午 4:29 
I can not get it to work I have a projector, and a assembler, but the program freeks out whenever I put in the start up code
Iteration: Al Terra 2024 年 11 月 21 日 下午 1:40 
Thank you!!! This is the only mod like this that actually works. Life saver :steamhappy:
YggdrasSoftGaming 2024 年 11 月 19 日 上午 7:32 
So..... the program for adding new blocks is saying that my save has mods that add new components.... the only thing that adds new components in said save is the Contact update... which adds prototech components. Is there any chance you could update both the script and the program for the Contact update?
Glew 2024 年 8 月 11 日 上午 3:55 
Working for 1.204.0 as of 08/11/2024
https://pastebin.com/0YhCK9ff