Jump to content

[1.10.1+] Contract Configurator [v1.30.5] [2020-10-05]


nightingale

Recommended Posts

On 7/11/2018 at 6:06 PM, linuxgurugamer said:

One of your contact packs, the FieldResearch, is generating errors (spamming the log), see this image:

 

So apparently this is still a thing 5 years later it seems? Was there ever found a solution to this?

I'm getting the exact same issue and the same exceptions in the log with this and another contract pack inspired by this one.

KSP.log

 

Link to comment
Share on other sites

3 hours ago, UltraJohn said:

So apparently this is still a thing 5 years later it seems? Was there ever found a solution to this?

The locations for HardScience,cfg are retrieved with a data node using the  DifficultScienceSubjects() call. The reference to it in the CC Wiki is found on the page https://github.com/jrossignol/ContractConfigurator/wiki/ScienceSubject-Type 

This call is dependent on a proper BiomeData.cfg in the GameData\Contratconfigurator folder. It is created when you first load KSP after installing CC. It does not automatically get updated on each reboot of the game, so if you install mods that significantly change Kerbin's Biomes or adds additional planets then Contract Configurator can start throwing a little temper tantrum when the call to the list of in-game biomes presents it with unknown objects. 

Presenting you with a log full of the following. From my glance it looks as the your OtherWorldsProgram has added things CC doesn't know about. 

Spoiler
[WRN 02:43:17.337] ContractConfigurator.ConfigNodeUtil: Got an unexpected exception trying to load 'scienceSubjectsTemp1' as a list:
[EXC 02:43:17.339] ArgumentException: 'OW' is not a valid CelestialBody.
	ContractConfigurator.ConfigNodeUtil.ParseCelestialBodyValue (System.String celestialName) (at <cfd80845287d48d4ac98392279f8d3b5>:0)
	ContractConfigurator.Util.Science.GetBiome (ScienceSubject subject) (at <cfd80845287d48d4ac98392279f8d3b5>:0)
	ContractConfigurator.ExpressionParser.Method`2[C,TResult].Invoke (C obj) (at <cfd80845287d48d4ac98392279f8d3b5>:0)
	ContractConfigurator.ExpressionParser.Method`2[C,TResult].Invoke (System.Object[] parameters) (at <cfd80845287d48d4ac98392279f8d3b5>:0)
	ContractConfigurator.ExpressionParser.ExpressionParser`1[T].ParseMethod[TResult] (ContractConfigurator.ExpressionParser.BaseParser+Token token, T obj, System.Boolean isFunction) (at <cfd80845287d48d4ac98392279f8d3b5>:0)
	System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at <9577ac7a62ef43179789031239ba8798>:0)
	Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation.
	System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at <9577ac7a62ef43179789031239ba8798>:0)
	System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) (at <9577ac7a62ef43179789031239ba8798>:0)
	ContractConfigurator.ExpressionParser.ExpressionParser`1[T].ParseVarOrIdentifier (ContractConfigurator.ExpressionParser.BaseParser+Token token) (at <cfd80845287d48d4ac98392279f8d3b5>:0)
	ContractConfigurator.ExpressionParser.ExpressionParser`1[T].ParseSimpleStatement[TResult] () (at <cfd80845287d48d4ac98392279f8d3b5>:0)
	ContractConfigurator.ExpressionParser.ExpressionParser`1[T].ParseStatementInner[TResult] () (at <cfd80845287d48d4ac98392279f8d3b5>:0)
	ContractConfigurator.ExpressionParser.ExpressionParser`1[T].ParseStatement[TResult] () (at <cfd80845287d48d4ac98392279f8d3b5>:0)
	ContractConfigurator.ExpressionParser.ListExpressionParser`1[T].ParseWhereMethod[TResult] (System.Collections.Generic.List`1[T] obj) (at <cfd80845287d48d4ac98392279f8d3b5>:0)
	ContractConfigurator.ExpressionParser.ListExpressionParser`1[T].ParseMethod[TResult] (ContractConfigurator.ExpressionParser.BaseParser+Token token, System.Collections.Generic.List`1[T] obj, System.Boolean isFunction) (at <cfd80845287d48d4ac98392279f8d3b5>:0)
	System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at <9577ac7a62ef43179789031239ba8798>:0)
	Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation.
	System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at <9577ac7a62ef43179789031239ba8798>:0)
	System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) (at <9577ac7a62ef43179789031239ba8798>:0)
	ContractConfigurator.ExpressionParser.ExpressionParser`1[T].ParseMethod[TResult] (ContractConfigurator.ExpressionParser.BaseParser+Token token, T obj, System.Boolean isFunction) (at <cfd80845287d48d4ac98392279f8d3b5>:0)
	ContractConfigurator.ExpressionParser.ListExpressionParser`1[T].ParseMethod[TResult] (ContractConfigurator.ExpressionParser.BaseParser+Token token, System.Collections.Generic.List`1[T] obj, System.Boolean isFunction) (at <cfd80845287d48d4ac98392279f8d3b5>:0)
	ContractConfigurator.ExpressionParser.ExpressionParser`1[T].ParseFunction (ContractConfigurator.ExpressionParser.BaseParser+Token token) (at <cfd80845287d48d4ac98392279f8d3b5>:0)
	ContractConfigurator.ExpressionParser.ExpressionParser`1[T].ParseSimpleStatement[TResult] () (at <cfd80845287d48d4ac98392279f8d3b5>:0)
	ContractConfigurator.ExpressionParser.ExpressionParser`1[T].ParseStatementInner[TResult] () (at <cfd80845287d48d4ac98392279f8d3b5>:0)
	ContractConfigurator.ExpressionParser.ExpressionParser`1[T].ParseStatement[TResult] () (at <cfd80845287d48d4ac98392279f8d3b5>:0)
	ContractConfigurator.ExpressionParser.ExpressionParser`1[T].ParseExpression (System.String key, System.String expression, ContractConfigurator.ExpressionParser.DataNode dataNode) (at <cfd80845287d48d4ac98392279f8d3b5>:0)
	Rethrow as Exception: Error parsing statement.
	Error occurred near '*':
	DifficultScienceSubjects().Where(s => s.Biome() == @biome)
	...............................................* <-- HERE
	ContractConfigurator.ExpressionParser.ExpressionParser`1[T].ParseExpression (System.String key, System.String expression, ContractConfigurator.ExpressionParser.DataNode dataNode) (at <cfd80845287d48d4ac98392279f8d3b5>:0)
	ContractConfigurator.ExpressionParser.ExpressionParser`1[T].ExecuteExpression (System.String key, System.String expression, ContractConfigurator.ExpressionParser.DataNode dataNode) (at <cfd80845287d48d4ac98392279f8d3b5>:0)
	ContractConfigurator.ConfigNodeUtil.ParseSingleValue[T] (System.String key, System.String stringValue, System.Boolean allowExpression) (at <cfd80845287d48d4ac98392279f8d3b5>:0)
	ContractConfigurator.ConfigNodeUtil.ParseValue[T] (ConfigNode configNode, System.String key, System.Boolean allowExpression) (at <cfd80845287d48d4ac98392279f8d3b5>:0)
	UnityEngine.DebugLogHandler:LogException(Exception, Object)
	ModuleManager.UnityLogHandle.InterceptLogHandler:LogException(Exception, Object)
	UnityEngine.Debug:LogException(Exception)
	ContractConfigurator.LoggingUtil:LogException(Exception)
	ContractConfigurator.ConfigNodeUtil:ParseValue(ConfigNode, String, Boolean)
	ContractConfigurator.ConfigNodeUtil:ParseValue(ConfigNode, String, Action`1, IContractConfiguratorFactory, List`1, Func`2)
	ContractConfigurator.ConfigNodeUtil:ParseValue(ConfigNode, String, Action`1, IContractConfiguratorFactory, Func`2)
	ContractConfigurator.DeferredLoadUtil:ExecuteLoad(DeferredLoadObject`1)
	System.Reflection.MethodBase:Invoke(Object, Object[])
	ContractConfigurator.<UpdateNonDeterministicValuesIterator>d__31:MoveNext()
	System.Linq.ConcatIterator`1:MoveNext()
	ContractConfigurator.<GenerateContract>d__30:MoveNext()
	ContractConfigurator.<ContractEnumerator>d__29:MoveNext()
	ContractConfigurator.ContractPreLoader:Update()

Steps to correct. 

  1.  rename or delete BiomeData.cfg and any copy of BiomeDataDefault.cfg in the GameData\Contratconfigurator folder
  2. reload KSP
  3. edit BiomeData.cfg and confirm it has entries for the new biomes/planets from the additional mods you have used.
Link to comment
Share on other sites

Thanks for the reply.

10 minutes ago, Caerfinon said:

Steps to correct. 

  1.  rename or delete BiomeData.cfg and any copy of BiomeDataDefault.cfg in the GameData\Contratconfigurator folder
  2. reload KSP
  3. edit BiomeData.cfg and confirm it has entries for the new biomes/planets from the additional mods you have used.

I've already gone ahead and deleted both BiomeData.cfg and BiomeDataDefault.cfg from CC before starting up my game, since I read about these files being a bit troublesome when you install new mods. So the log above is what happened after reloading KSP with neither of those files existing already. (Also no new BiomeDataDefault.cfg seems to re-generate?)

For point 3, I'm not sure what exactly I'm supposed to look for here? There is no CELESTIAL_BODY entry for body = OW. The closest from OtherWorlds is body = OWR2

BiomeData.cfg

So, I'm not sure what I can do from here to fix it.

Link to comment
Share on other sites

10 minutes ago, UltraJohn said:

So, I'm not sure what I can do from here to fix it.

Options (and having no experience with Otherworlds they are a shot in the dark at best): 

  1. Check the OtherWorld's configuration files to see it it loads a partial OW celestial body along side with the OWR2 entry that CC seems to recognize. 
  2. Edit your Biome.cfg and change the OWR2 to OW and reload. (Note: if point 1 did occur I would then expect CC to through exceptions on OWR2 afterwards)
  3. If both 1 & 2 fail I would follow up with the otherworlds developer to see why a celestial body named OW is occurring.
Link to comment
Share on other sites

2 hours ago, Caerfinon said:

Options (and having no experience with Otherworlds they are a shot in the dark at best): 

  1. Check the OtherWorld's configuration files to see it it loads a partial OW celestial body along side with the OWR2 entry that CC seems to recognize. 
  2. Edit your Biome.cfg and change the OWR2 to OW and reload. (Note: if point 1 did occur I would then expect CC to through exceptions on OWR2 afterwards)
  3. If both 1 & 2 fail I would follow up with the otherworlds developer to see why a celestial body named OW is occurring.

I've been looking around for a while now, and I can't really find anything named just 'OW' anywhere. I did find the file that defines both OWR1 and OWR2 which is this. Perhaps you can spot something that I can't?

Edit: also tried renaming OWR2 to OW in BiomeData.cfg, reloaded the game, issue still there in a fresh new save. The renaming gets reverted back to OWR2 once you load in.

Edited by UltraJohn
Link to comment
Share on other sites

27 minutes ago, UltraJohn said:

Perhaps you can spot something that I can't?

I've never used the mod nor am I familiar with Kopernicus so I would just be shooting in the dark.  I think option 3 and asking in the Otherworlds support forum/github would be your best bet.

If I was "trying" to debug this on my own, I would likely remove the entire OW1 config from that file and see if that resolved the issue. The Caveat here is that it might break you game save so make copies of your current persistent.sfs file and any patch files that you plan to alter before proceeding.  

Link to comment
Share on other sites

19 minutes ago, Caerfinon said:

I've never used the mod nor am I familiar with Kopernicus so I would just be shooting in the dark.  I think option 3 and asking in the Otherworlds support forum/github would be your best bet.

If I was "trying" to debug this on my own, I would likely remove the entire OW1 config from that file and see if that resolved the issue. The Caveat here is that it might break you game save so make copies of your current persistent.sfs file and any patch files that you plan to alter before proceeding.  

I asked him, but he said he's on vacation so he won't be looking at it for a while. However I did want to try out what you said, just in case.

Deleting OWR1 and OWR2 nodes from that file, caused the errors related to 'OW' to vanish! There is no definition for any OW planet in BiomeData.cfg anymore. I also tried removing OtherWorlds mod completely, and regenerating the BiomeData.cfg file and starting a fresh save. Now I'm only getting these errors below:

Spoiler

[WRN 21:42:42.381] ContractConfigurator.ConfigNodeUtil: Got an unexpected exception trying to load 'scienceSubjectsTemp1' as a list:
[EXC 21:42:42.383] NullReferenceException: Object reference not set to an instance of an object
    ContractConfigurator.ExpressionParser.SubjectParser+<>c.<RegisterMethods>b__2_17 (ContractConfigurator.Biome b) (at <cfd80845287d48d4ac98392279f8d3b5>:0)
    System.Linq.Lookup`2[TKey,TElement].Create (System.Collections.Generic.IEnumerable`1[T] source, System.Func`2[T,TResult] keySelector, System.Collections.Generic.IEqualityComparer`1[T] comparer) (at <351e49e2a5bf4fd6beabb458ce2255f3>:0)
    System.Linq.GroupedEnumerable`2[TSource,TKey].GetEnumerator () (at <351e49e2a5bf4fd6beabb458ce2255f3>:0)
    System.Linq.Enumerable+SelectEnumerableIterator`2[TSource,TResult].MoveNext () (at <351e49e2a5bf4fd6beabb458ce2255f3>:0)
    System.Linq.Enumerable+WhereEnumerableIterator`1[TSource].MoveNext () (at <351e49e2a5bf4fd6beabb458ce2255f3>:0)
    ContractConfigurator.Util.Science+<GetSubjects>d__13.MoveNext () (at <cfd80845287d48d4ac98392279f8d3b5>:0)
    System.Collections.Generic.List`1[T]..ctor (System.Collections.Generic.IEnumerable`1[T] collection) (at <9577ac7a62ef43179789031239ba8798>:0)
    System.Linq.Enumerable.ToList[TSource] (System.Collections.Generic.IEnumerable`1[T] source) (at <351e49e2a5bf4fd6beabb458ce2255f3>:0)
    ContractConfigurator.ExpressionParser.SubjectParser+<>c.<RegisterMethods>b__2_8 (System.Collections.Generic.List`1[T] biomes, System.Collections.Generic.List`1[T] exps) (at <cfd80845287d48d4ac98392279f8d3b5>:0)
    ContractConfigurator.ExpressionParser.Function`3[T1,T2,TResult].Invoke (T1 p1, T2 p2) (at <cfd80845287d48d4ac98392279f8d3b5>:0)
    ContractConfigurator.ExpressionParser.Function`3[T1,T2,TResult].Invoke (System.Object[] parameters) (at <cfd80845287d48d4ac98392279f8d3b5>:0)
    ContractConfigurator.ExpressionParser.ExpressionParser`1[T].ParseMethod[TResult] (ContractConfigurator.ExpressionParser.BaseParser+Token token, T obj, System.Boolean isFunction) (at <cfd80845287d48d4ac98392279f8d3b5>:0)
    ContractConfigurator.ExpressionParser.ListExpressionParser`1[T].ParseMethod[TResult] (ContractConfigurator.ExpressionParser.BaseParser+Token token, System.Collections.Generic.List`1[T] obj, System.Boolean isFunction) (at <cfd80845287d48d4ac98392279f8d3b5>:0)
    ContractConfigurator.ExpressionParser.ExpressionParser`1[T].ParseFunction (ContractConfigurator.ExpressionParser.BaseParser+Token token) (at <cfd80845287d48d4ac98392279f8d3b5>:0)
    ContractConfigurator.ExpressionParser.ExpressionParser`1[T].ParseSimpleStatement[TResult] () (at <cfd80845287d48d4ac98392279f8d3b5>:0)
    ContractConfigurator.ExpressionParser.ExpressionParser`1[T].ParseStatementInner[TResult] () (at <cfd80845287d48d4ac98392279f8d3b5>:0)
    ContractConfigurator.ExpressionParser.ExpressionParser`1[T].ParseStatement[TResult] () (at <cfd80845287d48d4ac98392279f8d3b5>:0)
    ContractConfigurator.ExpressionParser.ExpressionParser`1[T].ParseExpression (System.String key, System.String expression, ContractConfigurator.ExpressionParser.DataNode dataNode) (at <cfd80845287d48d4ac98392279f8d3b5>:0)
    Rethrow as Exception: Error parsing statement.
    Error occurred near '*':
    AllScienceSubjectsByBiomeExperiment([@biome1], @experiments1)
    .............................................................* <-- HERE
    ContractConfigurator.ExpressionParser.ExpressionParser`1[T].ParseExpression (System.String key, System.String expression, ContractConfigurator.ExpressionParser.DataNode dataNode) (at <cfd80845287d48d4ac98392279f8d3b5>:0)
    ContractConfigurator.ExpressionParser.ExpressionParser`1[T].ExecuteExpression (System.String key, System.String expression, ContractConfigurator.ExpressionParser.DataNode dataNode) (at <cfd80845287d48d4ac98392279f8d3b5>:0)
    ContractConfigurator.ConfigNodeUtil.ParseSingleValue[T] (System.String key, System.String stringValue, System.Boolean allowExpression) (at <cfd80845287d48d4ac98392279f8d3b5>:0)
    ContractConfigurator.ConfigNodeUtil.ParseValue[T] (ConfigNode configNode, System.String key, System.Boolean allowExpression) (at <cfd80845287d48d4ac98392279f8d3b5>:0)
    UnityEngine.DebugLogHandler:LogException(Exception, Object)
    ModuleManager.UnityLogHandle.InterceptLogHandler:LogException(Exception, Object)
    UnityEngine.Debug:LogException(Exception)
    ContractConfigurator.LoggingUtil:LogException(Exception)
    ContractConfigurator.ConfigNodeUtil:ParseValue(ConfigNode, String, Boolean)
    ContractConfigurator.ConfigNodeUtil:ParseValue(ConfigNode, String, Action`1, IContractConfiguratorFactory, List`1, Func`2)
    ContractConfigurator.ConfigNodeUtil:ParseValue(ConfigNode, String, Action`1, IContractConfiguratorFactory, Func`2)
    ContractConfigurator.DeferredLoadUtil:ExecuteLoad(DeferredLoadObject`1)
    System.Reflection.MethodBase:Invoke(Object, Object[])
    ContractConfigurator.<UpdateNonDeterministicValuesIterator>d__31:MoveNext()
    System.Linq.ConcatIterator`1:MoveNext()
    ContractConfigurator.<GenerateContract>d__30:MoveNext()
    ContractConfigurator.<ContractEnumerator>d__29:MoveNext()
    ContractConfigurator.ContractPreLoader:Update()

Which is atleast a different method call now. AllScienceSubjectsByBiomeExperiment()

From this contract pack. RAD_LocalFlight.cfg

DATA
{
	type = List<ScienceSubject>
	hidden = true

	scienceSubjectsTemp1 = AllScienceSubjectsByBiomeExperiment([@biome1], @experiments1)
	scienceSubjectsTemp2 = @scienceSubjectsTemp1.Where(s => s.Situation() == FlyingHigh || s.Situation() == FlyingLow)
	scienceSubjectsTemp3 = @scienceSubjectsTemp2.Where(s => !s.Experiment().ID().StartsWith("ROCScience_"))
	scienceSubjectsTemp4 = @scienceSubjectsTemp3.Where(s => s.CollectedScience() == 0.0)
	
	scienceSubjects = @scienceSubjectsTemp4.Random(8,12)
}

KSP.log

Link to comment
Share on other sites

Update.

The issue was related to a planet pack using multiple capitalized letters in the celestial body's name causing the regex to malfunction.

The problem lies at this code in CC where the regex is supposed to split out the biomes.

As you can see below, the regex is improperly recognizing the planet name "OWR2" as "OW" instead, due to having more than one capizalized letter.

BL7pd6O.png

where after changing the planet name to "Owr2" instead fixes the issue.

mkFylfv.png

So it seems that the regex either needs to be updated to account for this, or the planet pack configs must make sure not to capitalize too much. I've contacted the author of OtherWorlds to let him know of this, as that's probably the easier solution.

Thanks to @JonnyOThanfor helping figure this out!

Link to comment
Share on other sites

Heyo, wondering if anyone has knowledge on nested ALL parameters.

Have a contract that is structured like this:

PARAMETER
  		{
    			name = OrbitWrapper
       			title = Complete both orbits
	  		type = All
	  		notes = These orbits can be completed in any order.
     			completeInSequence = true
			
			PARAMETER
			{
				name = Orbit1Wrapper
				title = Complete orbit 1
				type = All
				disableOnStateChange = true
	
				PARAMETER
				{
					name = Orbit
					type = Orbit
					minPeA = @/startPeA
					minApA = @/startApA
					maxApA = @minApA + 100000
					targetBody = HomeWorld()
				}
	
				PARAMETER
				{
					name = Duration
					type = Duration
					duration =  @/FirstDuration
					preWaitText = Stay in specified orbit for
					waitingText = Orbiting...
					completionText = Orbits completed, you may alter your orbit now.
				}
			}
	
			PARAMETER
			{
				name = Orbit2Wrapper
				title = Complete orbit 2
				type = All
				disableOnStateChange = true
			
				PARAMETER
				{
					name = Orbit2
					type = Orbit
					minPeA = @/startPeA
					minApA = @/endApA
					maxApA = @minApA + 200000
					targetBody = HomeWorld()
				}
				
				PARAMETER
				{
					name = Duration2
					type = Duration
					duration =  @/SecondDuration
					preWaitText = Stay in specified orbit for
					waitingText = Orbiting...
					completionText = Orbits completed, you may fire retros when ready.
				}
			}
		}

 However, in game, I've noticed that the Orbit parameters do not display the requirements for completing the parameter. CC debug menu says that hideChildren is set to false, so I am not sure what else could cause the orbital requirements to hide beside it being a nested ALL parameter. Any idea what could cause this?

Link to comment
Share on other sites

Hi, I've been having this issue with a contract from the History of Spaceflight pack, where one contract will not load in-game, and I'm getting a warning in the log for the contract.

[WARNING] ContractConfigurator.ContractType: Errors encountered while trying to load CONTRACT_TYPE 'R-12'

Can anybody tell me why this is happening?

Full log: R-12.log

Edited by TomTheEye
Link to comment
Share on other sites

  • 1 month later...

I have the following data node in a custom contract.  The contract is trying to determine the amount of electric charge capacity the selected vessel has and calculate how much to add.  But the RecourceCapacity always returns 0.  Is this a known bug in CC or is there something wrong in the data node code?

    DATA
    {    
        type                 = Double
        requiredValue         = true
        title                = #SpaceStationPower_7
        tempStorage            = @/targetVessel1.ResourceCapacity(ElectricCharge)
        stationPwrStorage    = @/targetVessel1.ResourceCapacity(ElectricCharge)
        powerStorage        = Round(@/stationPwrStorage * Random(1.5, 3.0), 5.0)
        powerDelta            = Round(@/powerStorage - @/stationPwrStorage, 5.0)
        }

Link to comment
Share on other sites

  • 3 weeks later...

I got an unexpected exception, here's the error message.

Exception occured while loading contract parameter 'Crewmembers' in contract 'RP0.SoundingRocketAdvancedBio':
System.ArgumentException: Missing required value 'crewOnly'.
  at ContractConfigurator.ConfigNodeUtil.ParseValue[T] (ConfigNode configNode, System.String key, System.Boolean allowExpression) [0x0002b] in <696380f9894d4bf494f25ebb770077d6>:0 
  at ContractConfigurator.Parameters.HasCrew.OnParameterLoad (ConfigNode node) [0x00071] in <696380f9894d4bf494f25ebb770077d6>:0 
  at ContractConfigurator.Parameters.ContractConfiguratorParameter.OnLoad (ConfigNode node) [0x000be] in <696380f9894d4bf494f25ebb770077d6>:0 

Link to comment
Share on other sites

On 9/9/2023 at 10:37 AM, ksp player said:

I got an unexpected exception, here's the error message.

Exception occured while loading contract parameter 'Crewmembers' in contract 'RP0.SoundingRocketAdvancedBio':
System.ArgumentException: Missing required value 'crewOnly'.
  at ContractConfigurator.ConfigNodeUtil.ParseValue[T] (ConfigNode configNode, System.String key, System.Boolean allowExpression) [0x0002b] in <696380f9894d4bf494f25ebb770077d6>:0 
  at ContractConfigurator.Parameters.HasCrew.OnParameterLoad (ConfigNode node) [0x00071] in <696380f9894d4bf494f25ebb770077d6>:0 
  at ContractConfigurator.Parameters.ContractConfiguratorParameter.OnLoad (ConfigNode node) [0x000be] in <696380f9894d4bf494f25ebb770077d6>:0 

Looks like this issue only existed for 2 hours until NathanKell pushed a hotfix release.

Link to comment
Share on other sites

Found the problem in my log:
 

OnLevelWasLoaded was found on ContractConfigurator
This message has been deprecated and will be removed in a later version of Unity.
Add a delegate to SceneManager.sceneLoaded instead to get notifications after scene loading has completed 
(Filename:  Line: 369)

Script error: OnLevelWasLoaded
This message parameter has to be of type: int
The message will be ignored. 
(Filename: ./Runtime/Mono/MonoScriptCache.cpp Line: 265)

There are two errors here, one major, one minor.
The minor error is that "OnLevelWasLoaded" should not be used at all on the latest version of Unity.  
After this OnLevelWasLoaded has a bad paremeter to one of it's settings.

This is followed by a segfault and stack dump that probably isn't useful.

 

Link to comment
Share on other sites

45 minutes ago, Ruedii said:

...
There are two errors here, one major, one minor.

The minor error is that "OnLevelWasLoaded" should not be used at all on the latest version of Unity.  
After this OnLevelWasLoaded has a bad paremeter to one of it's settings.
...

 

Nevermind on the crash. 

The segfault was (somehow) caused by waterfall, unrelated to this other issue (Which should still be fixed.)   I don't know if it's related and I'm too lazy to reinstall waterfall (which I don't need) and remove contract configurator (which I do)

Link to comment
Share on other sites

4 hours ago, Gupyzer0 said:

Any idea on how to make a contract for an asteroid flyby???

Asteroids are not celestial objects so there is no possibility of a flyby orbit. If you could capture the "vessel name" of the target asteroid you might be able to use the rendezvous parameter to identify a near pass and call it a flyby 

Link to comment
Share on other sites

I'm getting the following error message when I load my save file and advises to post here for further information. I just click OK or Ignore and it seems to load without problems. Does anyone know what might be causing it?

 

Exception occured while loading contract parameter 'HasBiologicalSample' in contract 'RP0.SoundingRocketAdvancedBio':
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.ArgumentException: 'BioCapsule' is not a valid Part.
  at ContractConfigurator.ConfigNodeUtil.ParsePartValue (System.String partName) [0x00025] in <8d9727f1c7ce40b294e3f01494caf8da>:0
  at ContractConfigurator.ConfigNodeUtil.ParseSingleValue[T] (System.String key, System.String stringValue, System.Boolean allowExpression) [0x000f9] in <8d9727f1c7ce40b294e3f01494caf8da>:0
  at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke(System.Reflection.MonoMethod,object,object[],System.Exception&)
  at System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00032] in <9577ac7a62ef43179789031239ba8798>:0
   --- End of inner exception stack trace ---
  at System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00048] in <9577ac7a62ef43179789031239ba8798>:0
  at System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) [0x00000] in <9577ac7a62ef43179789031239ba8798>:0
  at ContractConfigurator.ConfigNodeUtil.ParseValue[T] (ConfigNode configNode, System.String key, System.Boolean allowExpression) [0x001f0] in <8d9727f1c7ce40b294e3f01494caf8da>:0
  at ContractConfigurator.ConfigNodeUtil.ParseValue[T] (ConfigNode configNode, System.String key, T defaultValue) [0x00012] in <8d9727f1c7ce40b294e3f01494caf8da>:0
  at ContractConfigurator.Parameters.PartValidation.OnParameterLoad (ConfigNode node) [0x00079] in <8d9727f1c7ce40b294e3f01494caf8da>:0
  at ContractConfigurator.Parameters.ContractConfiguratorParameter.OnLoad (ConfigNode node) [0x000be] in <8d9727f1c7ce40b294e3f01494caf8da>:0

Link to comment
Share on other sites

18 hours ago, Mark L said:

I'm getting the following error message when I load my save file and advises to post here for further information. I just click OK or Ignore and it seems to load without problems. Does anyone know what might be causing it?

 

Bad install most likely. What the error is saying is that you're missing a part with the name 'BioCapsule'.

Link to comment
Share on other sites

  • 4 weeks later...

While removing one of many contract packs ckan also deleted data of allready finished contracts. So right now all of my progress is back to zero. Is there any way to finish contracts without getting the rewards? I know about alt+f12 menu but i dont think finishing mission without rewards is possbile there.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...