Hi everyone.
I have some troubles with Game v_1.0.4 + ContractConfigurator v_1.7.8 + AdvancedProgression v_4.5.
With CONTRACT_TYPE: 1) firstEVA 2) MunOrbitAndEVA. (Both "...type = CollectScience...experiment = evaReport...").
I've tried to change Progression.cfg, find answer in ContractConfigurator v_1.7.8 source and wiki - no result. Still ERROR message:
[QUOTE]ContractConfigurator.CollectScienceFactory: CONTRACT_TYPE 'firstEVA', PARAMETER 'CollectScience30001' of type 'CollectScience': Error parsing experiment
ArgumentException: An element with the same key already exists in the dictionary.[/QUOTE]
The only thing I've found - "recoveryMethod = None" now must be replaced to "recoveryMethod = Recover" because "None" is deprecated (possible - I use C++ not C#...).
KSP 1.0.5 - can't be solution (there are several bug-fixes there and that is all...). ContractConfigurator supposed to be v_1.8.1, 1.7.8 allows a lot of contract mods to work with KSP 1.0.4. Lower versions of ContractConfigurator - not an option too...
[U][B]Can anyone help and explain the cause of this error and exception? And how I can make AdvancedProgression fully functional again?[/B][/U]
[CODE][LOG 00:19:08.102] [INFO] ContractConfigurator.ContractConfigurator: Loading CONTRACT_GROUP: 'SpaceTuxGroup'[ERR 00:19:08.219] ContractConfigurator.CollectScienceFactory: CONTRACT_TYPE 'firstEVA', PARAMETER 'CollectScience30001' of type 'CollectScience': Error parsing experiment
[EXC 00:19:08.221] ArgumentException: An element with the same key already exists in the dictionary.
System.Collections.Generic.Dictionary`2[System.String,ScienceExperiment].Add (System.String key, .ScienceExperiment value)
ResearchAndDevelopment.loadExperiments ()
ResearchAndDevelopment.GetExperiment (System.String experimentID)
ContractConfigurator.ExpressionParser.ExperimentParser.ParseIdentifier (ContractConfigurator.ExpressionParser.Token token)
ContractConfigurator.ExpressionParser.ExpressionParser`1[T].ParseVarOrIdentifier (ContractConfigurator.ExpressionParser.Token token)
ContractConfigurator.ExpressionParser.ExpressionParser`1[ScienceExperiment].ParseSimpleStatement[ScienceExperiment] ()
Rethrow as Exception: Error parsing statement.
Error occurred near '*':
evaReport
.........* <-- HERE
ContractConfigurator.ExpressionParser.ExpressionParser`1[T].ParseExpression (System.String key, System.String expression, ContractConfigurator.ExpressionParser.DataNode dataNode)
ContractConfigurator.ConfigNodeUtil.ParseSingleValue[ScienceExperiment] (System.String key, System.String stringValue, Boolean allowExpression)
System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture)
Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation.
System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture)
System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters)
ContractConfigurator.ConfigNodeUtil.ParseValue
[List`1] (.ConfigNode configNode, System.String key, Boolean allowExpression)
UnityEngine.Debug:LogException(Exception)
ContractConfigurator.LoggingUtil:LogException(Exception)
ContractConfigurator.ConfigNodeUtil:ParseValue(ConfigNode, String, Action`1, IContractConfiguratorFactory, List`1, Func`2)
ContractConfigurator.CollectScienceFactory:Load(ConfigNode)
ContractConfigurator.ParameterFactory:GenerateParameterFactory(ConfigNode, ContractType, ParameterFactory&, ParameterFactory)
ContractConfigurator.ContractType:Load(ConfigNode)
ContractConfigurator.<LoadContractConfig>d__1e:MoveNext()
ContractConfigurator.ContractConfigurator:Update()
[ERR 00:19:08.290] ContractConfigurator.CompleteContractRequirement: contractType 'HighEVA' must either be a Contract sub-class or ContractConfigurator contract type
[LOG 00:19:09.841] [INFO] ContractConfigurator.ContractConfigurator: Loaded 201 out of 203 CONTRACT_TYPE nodes.
[LOG 00:19:09.844] [INFO] ContractConfigurator.ContractConfigurator: Contract Configurator 1.7.8 finished loading.[/CODE]
Progression.cfg looks like:
[CODE]CONTRACT_TYPE
{
name = FirstEVA
...
REQUIREMENT
{
name = CompleteContract30001
type = CompleteContract
contractType = FirstOrbitalKerbal
}
PARAMETER
{
name = CollectScience30001
type = CollectScience
targetBody = Kerbin
situation = InSpaceLow
location = Space
experiment = evaReport
recoveryMethod = None
// name = CollectScience30001
// type = CollectScience
// //targetBody = Kerbin
// situation = InSpaceHigh
// //location = Space
// experiment = evaReport
// recoveryMethod = Recover
}
}
[/CODE]