Install Steam
login
|
language
简体中文 (Simplified Chinese)
繁體中文 (Traditional Chinese)
日本語 (Japanese)
한국어 (Korean)
ไทย (Thai)
Български (Bulgarian)
Čeština (Czech)
Dansk (Danish)
Deutsch (German)
Español - España (Spanish - Spain)
Español - Latinoamérica (Spanish - Latin America)
Ελληνικά (Greek)
Français (French)
Italiano (Italian)
Bahasa Indonesia (Indonesian)
Magyar (Hungarian)
Nederlands (Dutch)
Norsk (Norwegian)
Polski (Polish)
Português (Portuguese - Portugal)
Português - Brasil (Portuguese - Brazil)
Română (Romanian)
Русский (Russian)
Suomi (Finnish)
Svenska (Swedish)
Türkçe (Turkish)
Tiếng Việt (Vietnamese)
Українська (Ukrainian)
Report a translation problem
https://steamcommunity.com/sharedfiles/filedetails/?id=3472701905
Program (1446,169): Error: Cannot implicitly convert type 'System.Collections.Generic.List<VRage.Game.ModAPI.Ingame.IMySli mBlock>' to 'VRage.Scripting. Memory SafeTypes.MemorySafeList<VRage.Game.ModAPI.Ingame.IMySlimBlock>'. An explicit conversion exists (are you missing a cast?)
Program (1478,169): Error: Cannot implicitly convert type 'System.Collections.Generic.List<VRage.Game.ModAPI.Ingame.IMySli mBlock>' to 'VRage.Scripting. Memory SafeTypes.MemorySafeList<VRage.Game.ModAPI.Ingame.IMySlimBlock>'. An explicit conversion exists (are you missing a cast?)
Program (1510,169): Error: Cannot implicitly convert type
'System.Collections.Generic.List<VRage.Game.ModAPI.Ingame.IMyEnt ity>' to
'VRage.Scripting. MemorySafeTypes.MemorySafeList<VRage.Game.ModAPI.Ingame.IMyEntity>'. An explicit conversion exists (are you missing a cast?)
and the same for "throws exception errors and crashes" - with no DATA to support the claims, there is nothing anyone can do to assist, other than to say IT MUST BE SOMETHING ON THE SERVERS YOU HAVE ISSUE WITH. Most likely they are running Torch and a PB Limiter, etc. (see loads of posts here and Discord - - - - well, it is well known about these script killer issues)
THE BASICS
Scroll through the code and look for these three lines (if you haven't made any changes to the code, this is likely where your issue is)
BuildAndRepairSystemGroupName = "USETHISNAMEONBARGROUP",
AssemblerGroupName = "USETHISNAMEONASSEMBLERGROUP",
DisplayNames = new [] { "USETHISNAMEONLCD", "Cockpit[0]" },
Use the name in the associated lines (they are not together, but they are the important ones) to make a Group with all the BARs that you want to use in this, another Group for the Assemblers and an LCD for the Display.
That is IT - no need for anything else (unless you have a huge base and/or want to get fancy)
But, you MUST set at least the BAR and Assembler Groups or "the script won't work" (because YOU didn't tell it what it can use!)
1 - Name as simply as you can.
2 - Review all names into the script and make SURE you put them in the right place.
I'm not a programmer at all, and had to spent couple of hours at least figuring out how to make my LCD's not show ALL the vast info, just what I wanted.
(((Sorry, Steam limit to 1000 characters 😢)))
static BuildAndRepairSystemQueuingGroup[] BuildAndRepairSystemQueuingGroups = {
new BuildAndRepairSystemQueuingGroup() {
BuildAndRepairSystemGroupName = "BaR System Base Earth",
AssemblerGroupName = "Ensambladores",
Displays = new [] {
new DisplayDefinition {
DisplayNames = new [] { "LCD BaR System 01", "Cockpit[0]" },
DisplayKinds = new [] { DisplayKind.ShortStatus},
DisplayMaxLines = 19,
DisplaySwitchTime = 4
} ,
DisplayNames = new [] { "LCD BaR System 02", "Cockpit[0]" },
DisplayKinds = new [] {DisplayKind.WeldTargets, DisplayKind.MissingItems },
DisplayMaxLines = 19,
DisplaySwitchTime = 4
} ,
new DisplayDefinition {
DisplayNames = new [] { "LCD BaR System 03", "Cockpit[0]" },
DisplayKinds = new [] { DisplayKind.MissingItems },
DisplayMaxLines = 19,
DisplaySwitchTime = 4
}
}
}
};
and certainly not the experience of those of us that use it all the time.
I did a fast search online and found https://www.youtube.com/watch?v=E_vco_MXSfQ - probably help you get going.
Anyone having issues in the last several days should CHECK OTHER MODS - various ones were broken with a recent SE update, but this one works just like it should.
To verify for yourself:
1. create a new world with ONLY the BaR mod
2. make a small base
3. add the BaR(s) on it
4. add the PB with this script (and set up all the stuff you need for Groups, etc..)
4. stock the base with ore and/or ingots
5. put some blocks for the BaR to build
6. see in the Assemblers that the stuff is queued
Once you verify that this works, then add your other mods one by one until you find the one that causes this script to give you errors.
"Caught exception during execution of script:Invalid property at Sandbox.MODAPI.Interfaces.TerminPropertyExtensions.CastTValue(ITerminalProperty)
and a bunch more for IMyTerminalBlock etc..
MOD_CRITICAL_ERROR: Nanobot Build and Repair System Queuing / Display / Scripting
2024-04-13 19:54:43.114 - Thread: 1 -> in file: Unknown
2024-04-13 19:54:43.114 - Thread: 1 -> MOD PARTIALLY SKIPPED, LOADED ONLY 1/6 PHASES, Following Error occured:
Object reference not set to an instance of an object.
Sandbox.Game
at Sandbox.Definitions.MyDefinitionManager.LoadDefinitions(List`1 contexts, List`1 definitionSets, Boolean failOnDebug, Boolean isPreload)
One issue though: what is the best way to handle expansion of the base? So far I was manually setting up all new B&R blocks and then adding them to the group. It is becoming quite tedious and I'm wondering if there is some simpler method.
Maybe there's some obscure mod conflict or it's being set up incorrectly. Either way, I configured it as described in the description and it works flawlessly.
BuildAndRepairSystems-[LOASC1]
Assemblers-all-[LOASC1]
I checked that all BuildAndRepairSystems are managed by the script.
After script compilation I could not change colour by middle mouse click anymore.
Application restart. I could change colour by middle mouse click.
I switched the script on. BuildAndRepairSystems stopped work.
I unchecked that all BuildAndRepairSystems are managed by the script. BuildAndRepairSystems started work.
I could not build any new block by left mouse click after that :(
Application restart. I could build a new block by left mouse click.
P.S. Display works in cockpit as expected.
I'm not sure if it's supposed to appear as a "mod" in the mods list when loading the game, but nothing is there either. I've double checked that it's installed, built a new block afterwards to no avail. Any advice please?
static BuildAndRepairSystemQueuingGroup[] BuildAndRepairSystemQueuingGroups = {}
nothing in the list, can't assemble anything....
not really 'convoluted' - it is pretty standard csharp programming (which, yeah, THAT makes it convoluted, but it isn't the BaR script's fault!)
Too hard to discuss setup/issues on this forum, but if you'd like to go over it, I have a special channel for #nanobot-build-and-repair-script on my Discord and I'm happy to see if I can help https://discord.gg/HWWKkHk5H9
DisplayNames = new [] { " BnRLCD ", " BnRCockpit " },
DisplayKinds = new [] { DisplayKind.MissingItems },
In this example:
(A) A LCD with the name "BnRLCD " will display the info we see cycling on the programable block.
(B) A cockpit (or any block with more then one display) with the name "BnRCockpit" will mirror the info we see cycling on the programable block on screen 0. (0 is the first screen)
(C) Since I only care about the missing components, I shortened the "Display Kinds" line to contain only "DisplayKind.MissingItems"