Space Engineers

Space Engineers

72 hodnocení
Blueprint Component Requirements
   
Ocenit
Přidat do oblíbených
Oblíbeno
Odebrat z oblíbených
Velikost souboru
Přidáno
Aktualizováno
97.146 KB
4. bře. 2016 v 2.40
4. dub. 2019 v 15.27
Poznámky ke změnám (14) – zobrazit

Klikněte na „Odebírat“ pro stažení položky
Blueprint Component Requirements

Popis
Blueprint Component Requirements
Tested for v1.189.044

This is a fork of Heisenboy's Blueprint Components

******Notice Heavy Armor, Slopes, etc. ******
Looks like the core SE code changed recently for how projectors report armor blocks. Due to this change this script can't tell the difference between armor types. If the core game is updated I'll get it to work again!

Bug report has been submitted at KSH like it or bump it maybe it'll be noticed quicker Bug Report[forum.keenswh.com]

I'm pretty sure this will be fixed so I'm holding off on doing funky armor block toggles for the time being.

*******************************************************

About:
Get a list of required components for a blueprint loaded in a projector. This is a fork of Heisenboy's Blueprint Components. It does not appear to be maintained, so I forked it! A while ago I punched out a fork so I could use it because I thought it was cool. There seemed to be requests for it to be updated so I decided to post this version. It does NOT have the item movement feature, I didn't add it because it needs to be updated that might come later if I'm up for it.

What this version does do is gets a list of all of the components for the blueprint (or a pretty good guess of it, there are still issues with it reading some blocks from the projector but many have been added since the original version was written!). It will check your inventory and give you a fancy dancy list that will auto scroll on an LCD screen.

How to use it:
1. Open your programmable block and load the "Blueprint Component Requirements" script from the workshop.
2. Set up a timer block every :01 seconds to run the programmable block and start the timer block.
3. You will need to add [BPLCD] to the name of your Display, this will work on Text panels/LCD's or any other HUD displayable terminal block.*
4. Your projector must have [BP] in it's name.*
5. Make sure your projector is on and load the blueprint you want to get the stats on. If you are running the script on a small ship you can only load small blueprints, same goes for a large ship.

Optional Scrolling:
Sometimes the list of components scrolls too fast. You can now manually control this via button panel or toolbar via programmable block arguments.
Accepted arguments
1. scrollup
2. scrolldown
3. autoscroll=on
4. autoscroll=off
5. toggleautoscroll

Example:
To Turn the scrolling off enter the following argument without quotes
"autoscroll=off"

More arguments:
  • rescanticks <int> - change rescan ticks on the fly
  • getrescanticks - echo's intRescanTicks
  • pscan - rescans projector
  • pscanon - rescans projector, projector must be on
  • pscanonloaded - rescans projector, projector must be on and loaded with a BP
  • reinit - reruns init method
  • debugon - turns debugging on
  • debugoff - turns debugging off
  • help - lists available arguments
  • settings - lists settings

Things that may be confusing:
1. This is still a work in progress, I know I'm missing a handful of blocks. I just wanted to get this cleaned up and knocked out it. WIP.
2. The data isn't accurate or it doesn't recognize all the blocks. Part of this is because of the way the blocks are getting pulled from the projector. The projector recognizes some blocks as the same, interior wall and armor block for example (this might have been fixed). The other part might be human error, yes you're welcome! :) There are a lot of blocks, I stole half the work from heisenboy! All I did was add a few dictionary entries and sorted all the blocks so they are in alphabetical order.
3. Why does it take so long on the loading screen. There is a tick saver so the program doesn't suck up as much processing power, it should also save some barfing on the display screen. Default has been changed to 10 ticks, if you need/want it shorter you can change the variable intRescanTicks to whatever you desire at the top of the code!
4. Loading saving and arguments. Lazy coder, currently not saving arguments for intRescanTicks and which projector was grabbed during init/rescans/etc. Two main reasons why are awaiting updates changes to PB and lack of knowledge/time :)


Additional Comments:

Cheers to the following for great comments and useful feature requests. I might have missed some so read the comments below!
[MFC] roj42, Thanks for getting in contanct with a hotfix while I've been MIA!
[1SC] Marneus
Xanthyn - Also check out Xanthyn's OSPREY to see this script in action!


******Notice changes for block names!!!******
version 2016040401 changes requirement of full names and using [BPCR] to [BP] for the projector and [BPLCD] for the LCD Text Panel. This was to make it easier for updates if you didn't want to change your LCD name to Text Panel, etc.
See the Change Log for more info somewhere over there --->
*******************************************************

** Note to self check out KSH Forums[forum.keenswh.com] Use RemainingBlocksPerType to gather block info instead of reading detailed info from projector. Will need to rewrite dictionaries to match.

Check out my workshop for other nifty creations!

Other Mods and scripts this goes well with
Projector Preview
Holographic Projector
Buttons for Projector Preview and Holographic Projector
Populární diskuze Zobrazit vše (2)
8
20. pro. 2019 v 22.09
"Block Name" is not in the dictionary, this block will not be calculated
the-phil
0
1. dub. 2016 v 3.00
Troubleshooting Guide
the-phil
Počet komentářů: 109
Dormant 22. lis. 2024 v 11.18 
@LeNi ya I had that problem as well. I just rewrote a brand new code that reads only vanilla components. Still working on the Modded materials side. I will be releasing the script within the next few hours or so.
LeNi 17. bře. 2024 v 8.11 
Yep cant connect LCD, script dead
[KpL]MiniBoot 20. pro. 2023 v 6.55 
Hi, is this script still live? I run into this problem where the script can run, but it doesnt connect to the LCD screen. Any suggestions? Currently running the revised script compiled by @Felsenuboot
Ligax 13. kvě. 2022 v 20.39 
Hello,

The script gives me values very much lower than what is really required, does it still work ?
Felsenuboot 18. lis. 2021 v 14.03 
Also struggled with the script. I merged @John Macmillan's, @KamiKatze's and @Francis' changes to the script.

You can download it on pastebin

#######################

https://pastebin.com/bB5um7GZ

#######################

or add /bB5um7GZ
KamiKatze 27. čvn. 2021 v 15.00 
This script needs some updates (Part 2/2)

Position:
"Large ship blocks from projector"

Added the following:

{"Grated Catwalk Corner", new Dictionary<string, int>{
{"Girder",4},
{"SmallTube",32},
{"Construction",24}
}},
{"Grated Catwalk Straight", new Dictionary<string, int>{
{"Girder",4},
{"SmallTube",32},
{"Construction",24}
}},
{"Sci-Fi Large Atmospheric Thruster", new Dictionary<string, int>{
{"SteelPlate",230},
{"Construction",60},
{"LargeTube",50},
{"MetalGrid",40},
{"Motor", 1100}
}},
{"Sci-Fi Atmospheric Thruster", new Dictionary<string, int>{
{"Motor",110},
{"MetalGrid",10},
{"LargeTube",8},
{"Construction",50},
{"SteelPlate",35}
}},
{"Hydrogen Engine", new Dictionary<string, int>{
{"Motor",12},
{"LargeTube",12},
{"Construction",70},
{"SteelPlate",100},
{"PowerCell",1},
{"Computer",4},
{"SmallTube",20}
}},
KamiKatze 27. čvn. 2021 v 14.59 
This script needs some updates (Part 1/2)
Additionally to the already mentioned updates/bugs here are my two cents:

Position:
"DisplayBlock = DisplayBlocks[0];
// find object type
/*"
Added:
MyObjectBuilder_TextPanel/SciFiLCDPanel5x5 // Sci-Fi LCD Panel 5x5
MyObjectBuilder_TextPanel/TransparentLCD // Transparent LCD


Position:
"Large ship blocks from projector"

Added the following:

{"Control Seat", new Dictionary<string, int>{
{"InteriorPlate", 30},
{"Construction",30},
{"Motor",2},
{"Computer",100},
{"Display",6}
}},
{"Grated Catwalk", new Dictionary<string, int>{
{"Girder",4},
{"SmallTube",20},
{"Construction",16}
}},
{"Grated Catwalk Wall", new Dictionary<string, int>{
{"Girder",4},
{"SmallTube",26},
{"Construction",20}
}},
Argus von Stein 16. kvě. 2021 v 11.59 
Update please. This script is very needed.
Francis 19. úno. 2021 v 23.58 
I noticed some typos in this. For regular non-large Thruster's , each entry of [type] thruster has an 's' at the end of the string. I.E. you have "Atmospheric Thrusters" when it should be "Atmospheric Thruster". This is also true in @John Macmillan 's version.
Additionally I have noticed that large grid "Cockpit" incorrectly is labled as using Interior Plates when it uses regular steel plates. This might have just been an update change however. (Perhaps the thruster names may have also been from an update?)
I was able to make the necessary change and get it working (along with adding Sci-Fi entries for all thrusters, as well as Industrial Cockpit.)
DarkSky 19. lis. 2020 v 15.55 
a few of your links dont work can you fix them, please?