Jump to content

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


nightingale

Recommended Posts

3 minutes ago, severedsolo said:

use disableOnStateChange but add "completeInSequence = true" to each parameter after the first.

I will try, but think I already experimented with that. Isn't Sequence supposed to do the same as having just the children with completeInSequence=true ?

7 minutes ago, severedsolo said:

Use a VPG to add a vessel definition to the vessel in situation A - then use that vessel definition in a second VPG so only that vessel can complete the contract.

Thanks, will try. So VPG does not do anything by itself ?

Do you think I also need to link the 2 steps in the sequence via more VPGs ? (in my testing it seems to work for A/B without VPG's define, strangely. Just not for the part parameter).

Link to comment
Share on other sites

52 minutes ago, TauPhraim said:

Thanks, will try. So VPG does not do anything by itself ?

Not really. A VPG is only good for two things, defining a vessel that will be used in a later contract/parameter and specifying that vessel later on. You can't use a defined vessel without defining it in an earlier VPG (ie you can't say define and use a vessel in the same VPG)

52 minutes ago, TauPhraim said:

Do you think I also need to link the 2 steps in the sequence via more VPGs ? (in my testing it seems to work for A/B without VPG's define, strangely. Just not for the part parameter).

Without knowing exactly what it is you are trying to achieve it's difficult to say, but I can't think of many situations where a combination of more than two VPGs would be needed, if you use completeInSequence once the vessel has been defined.

52 minutes ago, TauPhraim said:

I will try, but think I already experimented with that. Isn't Sequence supposed to do the same as having just the children with completeInSequence=true ?

Sequence is... touchy. It doesn't work at all in a VPG, and it doesn't work very well outside of one (well, it doesn't work quite the way you'd expect it to anyway). I find completeInSequence to be much more reliable.

Edited by severedsolo
Link to comment
Share on other sites

9 hours ago, severedsolo said:

Without knowing exactly what it is you are trying to achieve it's difficult to say, but I can't think of many situations where a combination of more than two VPGs would be needed, if you use completeInSequence once the vessel has been defined.

I'm aiming for simply: "bring a new vessel having a hitchiker container from A (ex Kerbin Orbit) to B (ex Kerbin Surface)".

I don't want the contract to complete if:

  • a vessel without the hitchiker part completes the route
  • the hitchiker part is dropped from the vessel before reaching B (Kerbin surface)
  • a vessel without the part completes the route, then docks with a hitchiker part upon arrival

With my current attempts using VPG, the first of these problems is happening: I can just focus on any vessel having the part, and the parameter will complete. Then using another vessel without the part, and going with it from A to B, will complete the contract.

Here's the current config, if you can have a look. Don't mind the targetbody/situations, I'm overriding them in code (that part seems to work, as the correct values are shown in game).

Link to comment
Share on other sites

5 minutes ago, TauPhraim said:

With my current attempts using VPG, the first of these problems is happening: I can just focus on any vessel having the part, and the parameter will complete. Then using another vessel without the part, and going with it from A to B, will complete the contract.

Thanks for the config, makes life easier.

If you move BeAtOrigin into VesselParameterGroupDefine and set disableOnStateChange = false on PartValidation under VesselParameterGroupDefine, then VesselParameterGroupDefine will only complete when both parameters are completed at the same time.

Then, only the vessel defined under VesselParameterGroupDefine will be able to complete VesselParameterGroupCatch. You also won't need a sequence as VesselParameterGroupCatch won't be able to complete, because the definition won't be there yet.

This won't do this bit though:

5 minutes ago, TauPhraim said:

the hitchiker part is dropped from the vessel before reaching B (Kerbin surface)


For that you need to put a second PartValidation into VesselParameterGroupCatch - also set that to disableOnStateChange = false. That way the second VPG cannot complete unless the player also has a Hitchiker when the defined vessel reaches the destination.

 

Edited by severedsolo
Link to comment
Share on other sites

24 minutes ago, severedsolo said:

Thanks for the config, makes life easier.

Thank you for helping !

I tried the changes you proposed. With this version I can "cheat" by having a vessel with the part in orbit (A), dropping the part, then moving to the surface (B), and finally docking to a suitable part that was conveniently waiting at site B.

Ideally, I'd like a vessel to be disqualified forever as soon as it loses the part. I don't know if this is possible.

Link to comment
Share on other sites

5 minutes ago, TauPhraim said:

I tried the changes you proposed. With this version I can "cheat" by having a vessel with the part in orbit (A), dropping the part, then moving to the surface (B), and finally docking to a suitable part that was conveniently waiting at site B.

Personally I'd just trust the player, but I think NoStaging will help with that: https://github.com/jrossignol/ContractConfigurator/wiki/NoStaging-Parameter (I personally wouldn't use it though, as it restricts designs of vessels)

Oh also - set disableOnStageChange to false in BeAtOrigin - otherwise it will complete for any vessel in orbit.

Edited by severedsolo
Link to comment
Share on other sites

23 hours ago, severedsolo said:

Personally I'd just trust the player, but I think NoStaging will help with that: https://github.com/jrossignol/ContractConfigurator/wiki/NoStaging-Parameter (I personally wouldn't use it though, as it restricts designs of vessels)

Oh also - set disableOnStageChange to false in BeAtOrigin - otherwise it will complete for any vessel in orbit.

Yes, I think trusting the player at some point is reasonable (there are much easier ways to cheat in KSP anyway). I'd just be a bit disappointed if, with all these options and parameters, achieving something robust was not possible.

You're right about the second part (if that's what you mean): the first vessel that gets at A will complete the first VPG, locking it to that vessel. Any other vessel will apparently not be considered after that. Unfortunately adding disableOnStageChange=false to the BeAtOrigin, and even to VesselParameterGroupDefine in addition, does not seem to change that.

Edited by TauPhraim
Link to comment
Share on other sites

5 minutes ago, TauPhraim said:

You're right about the second part (if that's what you mean): the first vessel that gets at A will complete the first VPG, locking it to that vessel. Any other vessel will apparently not be considered after that. Unfortunately adding disableOnStageChange=false to the BeAtOrigin, and even to VesselParameterGroupDefine in addition, does not seem to change that.

What I meant is, with it set to true the following can happen:

1) Vessel A arrives at BeAtOrigin - this completes the parameter, and locks it to complete.

2) Vessel B has a hitchiker, but is not at Origin, because BeAtOrigin is locked this completes the first VPG, but the definition is locked to Vessel B even though it's in the wrong place.

With disableOnStateChange set to false, both parameters must be true at the same time (if that's not the vessel the player was planning to use, that's tough luck, nothing we can do about that)

Link to comment
Share on other sites

25 minutes ago, severedsolo said:

What I meant is, with it set to true the following can happen:

1) Vessel A arrives at BeAtOrigin - this completes the parameter, and locks it to complete.

2) Vessel B has a hitchiker, but is not at Origin, because BeAtOrigin is locked this completes the first VPG, but the definition is locked to Vessel B even though it's in the wrong place.

What happens currently (with or without disableOnStageChange) is:

1) Vessel A arrives at BeAtOrigin - this completes the parameter, and locks it to complete and to Vessel A.

2) Vessel B has a hitchiker, is at Origin, but the contract is locked to Vessel A and won't accept vessel B

 

 

Link to comment
Share on other sites

I tried a new version, abandonning the idea of fixing the last problem (assuming that when you accept the contract, the first vessel that you manage to get to the origin conditions is the one you implicitely choose for the contract).

With that, I now have a problem when having several instances of the contract (with different vessels and origin/destination). It seems objectives complete for the wrong vessel (I can detail a case when a contract unexpectedly completes). I think this comes from the "define" identifier being the same, as it works across contracts according to the doc. Do I need to generate a random identifier for each accepted contract instance ? If so, can I use the Random() expression ? (it seems to generate integers).

Edited by TauPhraim
Link to comment
Share on other sites

With this new version, (where I generate a random ID for each contract instance to keep vessel groups separate), I am now having issues with PartValidation:

On contract generation/acceptation, the parameters are displayed correctly: "Vessel having part X" + "At least 1". But as soon as I focus on a vessel, even one without the part, the PartValidation parameters all complete. Also the "At least 1" line disappears, but I don't know if this is a consequence of the parameter completion, or the cause of the problem.

Exceptionally, the "At least 1" line will remain, and the contract work as intended. But this is very rare, and seems random.

Link to comment
Share on other sites

I don't understand why I'm not getting scansat contracts to do biome and low res scans of Duna. I completed the high res scan a few dozen days ago and since then I have been looking for low of biome scan contracts to come up.

From the contract configurator debug window it looks like all the requirement terms for the ScansatCoverage requirement are being met, but the requirement itself says it is unmet.
Link to comment
Share on other sites

The buttons "Toggle Active Orbits" and "Toggle Offered Orbits" just throw an exception in the log:

Exception handling event OnMapViewFiltersModified in class OrbitGenerator:System.NullReferenceException: Object reference not set to an instance of an object
  at ContractConfigurator.Behaviour.OrbitGenerator.OnMapViewFiltersModified (VesselTypeFilter filter) [0x00000] in <filename unknown>:0 
  at EventData`1[MapViewFiltering+VesselTypeFilter].Fire (VesselTypeFilter data) [0x00000] in <filename unknown>:0 
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42)

NullReferenceException: Object reference not set to an instance of an object
  at ContractConfigurator.Behaviour.OrbitGenerator.OnMapViewFiltersModified (VesselTypeFilter filter) [0x00000] in <filename unknown>:0 
  at EventData`1[MapViewFiltering+VesselTypeFilter].Fire (VesselTypeFilter data) [0x00000] in <filename unknown>:0 
UnityEngine.DebugLogHandler:Internal_LogException(Exception, Object)
UnityEngine.DebugLogHandler:LogException(Exception, Object)
UnityEngine.Logger:LogException(Exception, Object)
UnityEngine.Debug:LogException(Exception)
EventData`1:Fire(VesselTypeFilter)
ContractConfigurator.Util.TrackingStationUI:OfferedOrbitButtonClick()
UnityEngine.Events.InvokableCall:Invoke(Object[])
UnityEngine.Events.InvokableCallList:Invoke(Object[])
UnityEngine.Events.UnityEventBase:Invoke(Object[])
UnityEngine.Events.UnityEvent:Invoke()
KSP.UI.Screens.TrackingStationObjectButton:Update()
 
(Filename:  Line: -1)

Log:
https://www.dropbox.com/s/d1mqjmkf1jutl6u/2017-05-20-2 KSP.log.zip?dl=1

Link to comment
Share on other sites

@nightingale

So I think I have found an error.  It seems like it may be related to the issues brought up more than a year ago here.  This is very strange because it seems you corrected this  This literally just happened today.  It happens with my career save.  It also happens when loading the persistent save, and when loading my backup quick saves (#s 80 and 81 so far).

 Repetition steps:

Load career save.  Click on Tracking Station.  1 or 2 of my CactEye contracts (neither of which are close to expiry) fail with the notification icon. Appropriate Penaties are applied as the contract(s) have failed.  All of my completed SETI contracts are reset with no penalty: Go to Mission Control, shows SETI contracts available at 28 (should have been 0 at that point in my save).  3 of my active SETI contracts remain unharmed i.e. still active and still able to be completed.  1 active Grand Tour mission (no contract pack added for this, these are just what is available by default with Contract Configurator?) is also unaffected.  All of my other contracts (build base here, recon scan here, do a flyby of 'whatever planet' are all deactivated with no penalties.

Click to settings menu, Load Save, select closest to current date (happens to be Quicksave 81, created at Space Centre).  Repeat steps.  Same result.  Load next closet QuickSave. (#80).  Repeat.  Same result.

Here is the section in the log where I first noticed something that didn't seem right - note, it's from near the end of the log as I started from the bottom and worked up; and I can't remember why I did that.... sorry...  Here is the specific error I found within that section.

Here is my KSP version and Mod list.

 

Spoiler

KSP 1.2.2 Build 1622 Win Player x64

[x] Science

000 Filter Extensions

000 Filter Extensions configs

ASET

Auto Screenshots

B9 Aero

B9 Aero Legacy

B9 Animation Modules

B9 Part Switch

Better Time Warp

CactEye

Chatterer

Coatl Aerospace

CCK

CRP

CTT

Contract Configurator

Contract Packs - SETI Unmanned Before Manned

Cormorant Aeronology

Crowd Sourced Science

CTN - MAV

CTTP

Dark Side Tech

Decaying RTGs

Deployable Engines

DOE

DMagic Orbit Science

DMagic Science Animate

Extrasolar

FASA Lauch Towers 1.2.x fix

Firespitter

Hide Empty Tech nodes

Interstellar Fuel Switch

Janitor's closet

JSI - Camera

KAS

KEI

KCT dev

KER

KJR

KIS

Kopernicus

KSO

KSP - AVC

KW Rocketry

Mk IV Spaceplane

MechJeb2

MK3 Crew Mid Deck IVA

Modular Flight Integrator

Monthly budgests

Navy Fish DPAI

NF Constructions

NF Electrical

NF Props

NF Propulsion

NF Solar

NF Spacecraft

Nebula Decals and Nebula Handrails

Nehemiah Orbital Material Science

Neried Final Frontier

OPM

Persistant Rotation

Precise Node

REPO Soft TEcth Deep Freeze Cont'd

ScanSat

Science Relay

SETI Greeebhouse

smoke screen

SPD Hex Trusses

Texture Replacer

Thunder Aerospace TAC -LS

Toadius Tools

Trajectories

Trigger Tech KAC and TWP

Universal Storage

Vanguard Astrodynamics

Vanguard Tech - Ejection Seats

KSPI-E

WBI -  Actuators, DSEV, WBT, Kerbal Komets, Mobile Emitter

Xenon Hall Thrusters from NF Propulstion

Module Manager 2.7.6

Here is the complete log.

Please let me know if you require further information.

 

Thanks

 

Edited by smotheredrun
derp
Link to comment
Share on other sites

I got several of these:

ArgumentException: The requested value 'RELAY' was not found.
  at System.Enum.Parse (System.Type enumType, System.String value, Boolean ignoreCase) [0x00000] in <filename unknown>:0 
  at ContractConfigurator.ExpressionParser.EnumExpressionParser`1[ContractConfigurator.RemoteTech.HasAntennaParameter+AntennaType].ParseIdentifier (ContractConfigurator.ExpressionParser.Token token) [0x00000] in <filename unknown>:0 
  at ContractConfigurator.ExpressionParser.ExpressionParser`1[ContractConfigurator.RemoteTech.HasAntennaParameter+AntennaType].ParseVarOrIdentifier (ContractConfigurator.ExpressionParser.Token token) [0x00000] in <filename unknown>:0 
  at ContractConfigurator.ExpressionParser.ExpressionParser`1[ContractConfigurator.RemoteTech.HasAntennaParameter+AntennaType].ParseSimpleStatement[AntennaType] () [0x00000] in <filename unknown>:0 
Rethrow as Exception: Error parsing statement.
Error occurred near '*':
RELAY
.....* <-- HERE
  at ContractConfigurator.ExpressionParser.ExpressionParser`1[ContractConfigurator.RemoteTech.HasAntennaParameter+AntennaType].ParseExpression (System.String key, System.String expression, ContractConfigurator.ExpressionParser.DataNode dataNode) [0x00000] in <filename unknown>:0 
  at ContractConfigurator.ConfigNodeUtil.ParseSingleValue[AntennaType] (System.String key, System.String stringValue, Boolean allowExpression) [0x00000] in <filename unknown>:0 
  at ContractConfigurator.ConfigNodeUtil.ParseValue[AntennaType] (.ConfigNode configNode, System.String key, Boolean allowExpression) [0x00000] in <filename unknown>:0 
  at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (object,object[],System.Exception&)
  at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0 
Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation.
  at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0 
  at System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) [0x00000] in <filename unknown>:0 
  at ContractConfigurator.ConfigNodeUtil.ParseValue[Nullable`1] (.ConfigNode configNode, System.String key, Boolean allowExpression) [0x00000] in <filename unknown>:0 
UnityEngine.DebugLogHandler:Internal_LogException(Exception, Object)
UnityEngine.DebugLogHandler:LogException(Exception, Object)
UnityEngine.Logger:LogException(Exception, Object)
UnityEngine.Debug:LogException(Exception)
ContractConfigurator.LoggingUtil:LogException(Exception)
ContractConfigurator.ConfigNodeUtil:ParseValue(ConfigNode, String, Action`1, IContractConfiguratorFactory, Nullable`1, Func`2)
ContractConfigurator.ConfigNodeUtil:ParseValue(ConfigNode, String, Action`1, IContractConfiguratorFactory, Nullable`1)
ContractConfigurator.RemoteTech.HasAntennaFactory:Load(ConfigNode)
ContractConfigurator.ParameterFactory:GenerateParameterFactory(ConfigNode, ContractType, ParameterFactory&, ParameterFactory)
ContractConfigurator.ContractType:Load(ConfigNode)
ContractConfigurator.<LoadContractConfig>d__26:MoveNext()
ContractConfigurator.ContractConfigurator:PSystemReady()
EventVoid:Fire()
<Start>c__Iterator77:MoveNext()
UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)
 
(Filename:  Line: -1)

Issue is crossposted to:

Log:
https://www.dropbox.com/s/yiues5ewf09h4ja/2017-05-23-1 KSP.log.zip?dl=1

Edited by Gordon Dry
Link to comment
Share on other sites

23 hours ago, Gordon Dry said:

I got several of these:


ArgumentException: The requested value 'RELAY' was not found.
  at System.Enum.Parse (System.Type enumType, System.String value, Boolean ignoreCase) [0x00000] in <filename unknown>:0 
  at ContractConfigurator.ExpressionParser.EnumExpressionParser`1[ContractConfigurator.RemoteTech.HasAntennaParameter+AntennaType].ParseIdentifier (ContractConfigurator.ExpressionParser.Token token) [0x00000] in <filename unknown>:0 
  at ContractConfigurator.ExpressionParser.ExpressionParser`1[ContractConfigurator.RemoteTech.HasAntennaParameter+AntennaType].ParseVarOrIdentifier (ContractConfigurator.ExpressionParser.Token token) [0x00000] in <filename unknown>:0 
  at ContractConfigurator.ExpressionParser.ExpressionParser`1[ContractConfigurator.RemoteTech.HasAntennaParameter+AntennaType].ParseSimpleStatement[AntennaType] () [0x00000] in <filename unknown>:0 
Rethrow as Exception: Error parsing statement.
Error occurred near '*':
RELAY
.....* <-- HERE
  at ContractConfigurator.ExpressionParser.ExpressionParser`1[ContractConfigurator.RemoteTech.HasAntennaParameter+AntennaType].ParseExpression (System.String key, System.String expression, ContractConfigurator.ExpressionParser.DataNode dataNode) [0x00000] in <filename unknown>:0 
  at ContractConfigurator.ConfigNodeUtil.ParseSingleValue[AntennaType] (System.String key, System.String stringValue, Boolean allowExpression) [0x00000] in <filename unknown>:0 
  at ContractConfigurator.ConfigNodeUtil.ParseValue[AntennaType] (.ConfigNode configNode, System.String key, Boolean allowExpression) [0x00000] in <filename unknown>:0 
  at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (object,object[],System.Exception&)
  at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0 
Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation.
  at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0 
  at System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) [0x00000] in <filename unknown>:0 
  at ContractConfigurator.ConfigNodeUtil.ParseValue[Nullable`1] (.ConfigNode configNode, System.String key, Boolean allowExpression) [0x00000] in <filename unknown>:0 
UnityEngine.DebugLogHandler:Internal_LogException(Exception, Object)
UnityEngine.DebugLogHandler:LogException(Exception, Object)
UnityEngine.Logger:LogException(Exception, Object)
UnityEngine.Debug:LogException(Exception)
ContractConfigurator.LoggingUtil:LogException(Exception)
ContractConfigurator.ConfigNodeUtil:ParseValue(ConfigNode, String, Action`1, IContractConfiguratorFactory, Nullable`1, Func`2)
ContractConfigurator.ConfigNodeUtil:ParseValue(ConfigNode, String, Action`1, IContractConfiguratorFactory, Nullable`1)
ContractConfigurator.RemoteTech.HasAntennaFactory:Load(ConfigNode)
ContractConfigurator.ParameterFactory:GenerateParameterFactory(ConfigNode, ContractType, ParameterFactory&, ParameterFactory)
ContractConfigurator.ContractType:Load(ConfigNode)
ContractConfigurator.<LoadContractConfig>d__26:MoveNext()
ContractConfigurator.ContractConfigurator:PSystemReady()
EventVoid:Fire()
<Start>c__Iterator77:MoveNext()
UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)
 
(Filename:  Line: -1)

Issue is crossposted to:

Log:
https://www.dropbox.com/s/yiues5ewf09h4ja/2017-05-23-1 KSP.log.zip?dl=1

I will chime in this thread and provide some insight into this exception.

Both RemoteTech and CommNet Constellation (CNC) are installed in his installation. These mods are not compatible to each other because RemoteTech disables stock CommNet infrastructure and runs its own infrastructure but CNC requires stock CommNet infrastructure to operate (I should put this in my CNC page).

It is quite likely CNC is fighting with RT, resulting in data conflict related to RemoteTech and confusing ContractConfigurator. But I am not sure how this conflict occurred because RemoteTech never interacts with stock CommNet in anyway, other than the IsCommNetEnabled check and DisableCommNet command. I did not interfere with antenna parts in CNC v1.0.1.

Link to comment
Share on other sites

Hey everyone!  I was away this week on a business trip, so I wasn't around when 1.3 dropped.  Of course, I also haven't really been around for the past 6 months....

So yeah, KSP modding + stock KSP development + familty time all just added up to too much, and I'd already fallen behind on the modding side of things when I left Squad.  The intent was to take a bit of a break and then come back at things with a fresh perspective.  Unfortunately, each time I tried to come back, I was never able to really get back into it, and I didn't want to force myself.  And here were are 6 months later with no updates and no real communication.

So I'm not really sure what my long term plans for KSP are.  If there's anyone who is interested in becoming caretaker for any of my mods, I'll be willing to hear you out (just drop me a PM).  In the meantime though, I will be doing a 1.3 update pass, starting this weekend.  Not sure how long that will take (free time is still at a premium for me), but the intent is to get Contract Configurator and Waypoint Manager going fairly quickly.  As far as catching up on the thread...  no promises - once the release is in a good place I may try to go backwards to catch any major issues (although there are some in GitHub that will probably be the priority).

Link to comment
Share on other sites

thanks for the update, been wondering for a while now what your status was. Appreciate the v1.3 bump pass and to be honest of you only maintained these mods moving forward that'd be enough for me I think they are solid. Hopefully someone else can add new bells and whistles at some point but if not I wouldn't complain

Link to comment
Share on other sites

@nightingale welcome back!  And again thanks for the hard work.  We all do appreciate it.

Just as a quick note with respect to my post above on 20 May, I am still having that "contract progression reset" happen in all of my saves in that career I mentioned.  Not sure why, but it's still happening.  Tried to reproduce in a clean install with no luck... not really sure what else to do at this point.  If you have any thoughts or suggestions, please let me know.

Thanks again!

Link to comment
Share on other sites

@smotheredrun - I think this is your problem:

FormatException: Value is not equivalent to either TrueString or FalseString.
at System.Boolean.Parse (System.String value) [0x00000] in <filename unknown>:0
  at ContractsPlus.Contracts.WBIReturnHomeParam.OnLoad (.ConfigNode node) [0x00000] in <filename unknown>:0
  at Contracts.ContractParameter.Load (.ConfigNode node) [0x00000] in <filename unknown>:0
  at Contracts.Contract.Load (Contracts.Contract contract, .ConfigNode node) [0x00000] in <filename unknown>:0
  at Contracts.ContractSystem.LoadContract (.ConfigNode cNode) [0x00000] in <filename unknown>:0
  at Contracts.ContractSystem+<OnLoadRoutine>c__Iterator9A.MoveNext () [0x00000] in <filename unknown>:0
  at UnityEngine.SetupCoroutine.InvokeMoveNext (IEnumerator enumerator, IntPtr returnValueAddress) [0x00000] in <filename unknown>:0  

In 1.2, this type of exception breaks the load of the contract system, so I suspect that's why you're having some issues (I raised something to get that fixed in 1.3).  I don't know what the Wild Blue Industries parameter there is from, but if you can fix that it may resolve your issue.

Link to comment
Share on other sites

10 hours ago, nightingale said:

@smotheredrun - I think this is your problem:


FormatException: Value is not equivalent to either TrueString or FalseString.
at System.Boolean.Parse (System.String value) [0x00000] in <filename unknown>:0
  at ContractsPlus.Contracts.WBIReturnHomeParam.OnLoad (.ConfigNode node) [0x00000] in <filename unknown>:0
  at Contracts.ContractParameter.Load (.ConfigNode node) [0x00000] in <filename unknown>:0
  at Contracts.Contract.Load (Contracts.Contract contract, .ConfigNode node) [0x00000] in <filename unknown>:0
  at Contracts.ContractSystem.LoadContract (.ConfigNode cNode) [0x00000] in <filename unknown>:0
  at Contracts.ContractSystem+<OnLoadRoutine>c__Iterator9A.MoveNext () [0x00000] in <filename unknown>:0
  at UnityEngine.SetupCoroutine.InvokeMoveNext (IEnumerator enumerator, IntPtr returnValueAddress) [0x00000] in <filename unknown>:0  

In 1.2, this type of exception breaks the load of the contract system, so I suspect that's why you're having some issues (I raised something to get that fixed in 1.3).  I don't know what the Wild Blue Industries parameter there is from, but if you can fix that it may resolve your issue.

Ok, That looks like it's something to do with the Wild Blue Mod suite's science stuff.  In that save I'm using the DSEV mod and I do have one experiment contract active.  I'll post this into that forum and see if Angel-125 can shed some light on this.  If Angel can provide a solution, my contact progression should return to normal (provided I load a quicksave prior to the breakage?

Thanks!

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...