nightingale

[1.6.x+] Contract Configurator [v1.27.1] [2018-12-28]

Recommended Posts

On 1/4/2019 at 4:45 AM, SoonerTed said:

So, the Contract Pack: Bases and Stations Reborn (version 3.7.1.1) contracts keep flickering in and out, then disappearing before I can accept them.  I'm using 1.27.1 of Contract Configurator on KSP 1.5.1.  If you need a log, a link to instructions on how to do that is appreciated.

Thanks!

On 1/4/2019 at 5:58 AM, nightingale said:

I did notice that the contract generation isn't working as smoothly as it used to.  It's on my list of things to check out.

The problem seems to come from the value "maxSimultaneous" not being set in the "CONTRACT_TYPE" of StationCore.cfg

Share this post


Link to post
Share on other sites
9 hours ago, altrue said:

The problem seems to come from the value "maxSimultaneous" not being set in the "CONTRACT_TYPE" of StationCore.cfg

Thanks! i was able to fix mine and post the fix to the other forum post!

Share this post


Link to post
Share on other sites
Posted (edited)

Hey fellow configurators of contracts,

I'm missing something simple it seems, but I can't find what it is. I've got an expression REQUIREMENT node that checks that a space station has no crew onboard but the REQUIREMENT or accompanying DATA node has an error in it somewhere. I used a DATA node to reference the station. Looking through the in-game log details, I see this:

"Cannot find method 'CrewCount' for class 'Double'." 

My DATA node specifies that it's of type 'Vessel', but is it being treated as a Double? Anyone else have this problem and has found the probable one line of code that is missing when this error comes up?

	REQUIREMENT
	{
		name = StationHasNoCrew
		type = Expression
		title = No Crew On Board
		
		expression = targetVesselKSSCore.CrewCount() == 0
		
		hideChildren = true
	}
	
	DATA
	{
		hidden = false
		
		type = Vessel
		title = Target KSS Core
		
		targetVesselKSSCore = AllVessels().Where(tvKSSCore => tvKSSCore.IsOrbiting() == true && tvKSSCore.VesselType() == Station && tvKSSCore.FreeDockingPorts() > 0 && tvKSSCore.ResourceCapacity(ElectricCharge) >= 1000 && tvKSSCore.ResourceCapacity(MonoPropellant) >= 10 && tvKSSCore.ResourceCapacity(Supplies) >= 100).SelectUnique()
		
		requiredValue = true
	}

 

Edited by Ahres
Added Code

Share this post


Link to post
Share on other sites
On 7/11/2018 at 12:06 PM, linuxgurugamer said:

@nightingale

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

PbnyFow.png

I took a look, and it appears the errors are coming from the HardScience.cfg.  When I looked into that, I saw:



        scienceSubjectsTemp1 = DifficultScienceSubjects().Where(s => s.Biome() == @biome)
        scienceSubjectsTemp2 = @scienceSubjectsTemp1.Where(s => s.Situation() == @situation)
        scienceSubjects = @scienceSubjectsTemp2.Where(s => s.CollectedScience() == 0.0 && s.Experiment() != asteroidSample).Random(3)

 

I'm wondering what the DifficultScienceSubjects() is, I can't find any documentation on it on the wiki.  I suspect that it is returning null, which would generate the displayed error.

Edit:  Got more details from the log:



ArgumentException: 'RA' is not a valid CelestialBody.
  at ContractConfigurator.ConfigNodeUtil.ParseCelestialBodyValue (System.String celestialName) [0x00000] in <filename unknown>:0 
  at ContractConfigurator.Util.Science.GetBiome (.ScienceSubject subject) [0x00000] in <filename unknown>:0 
  at ContractConfigurator.ExpressionParser.Method`2[ScienceSubject,ContractConfigurator.Biome].Invoke (.ScienceSubject obj) [0x00000] in <filename unknown>:0 
  at ContractConfigurator.ExpressionParser.Method`2[ScienceSubject,ContractConfigurator.Biome].Invoke (System.Object[] parameters) [0x00000] in <filename unknown>:0 
  at ContractConfigurator.ExpressionParser.ExpressionParser`1[ScienceSubject].ParseMethod[ScienceSubject] (ContractConfigurator.ExpressionParser.Token token, .ScienceSubject obj, Boolean isFunction) [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.ExpressionParser.ExpressionParser`1[T].ParseVarOrIdentifier (ContractConfigurator.ExpressionParser.Token token) [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.ExpressionParser.ExpressionParser`1[ScienceSubject].ParseMethod[ScienceSubject] (ContractConfigurator.ExpressionParser.Token token, .ScienceSubject obj, Boolean isFunction) [0x00000] in <filename unknown>:0 
Rethrow as Exception: Error parsing statement.
Error occurred near '*':
DifficultScienceSubjects().Where(s => s.Biome() == @biome)
...............................................* <-- HERE
  at ContractConfigurator.ExpressionParser.ExpressionParser`1[T].ParseExpression (System.String key, System.String expression, ContractConfigurator.ExpressionParser.DataNode dataNode) [0x00000] in <filename unknown>:0 
  at ContractConfigurator.ExpressionParser.ExpressionParser`1[T].ExecuteExpression (System.String key, System.String expression, ContractConfigurator.ExpressionParser.DataNode dataNode) [0x00000] in <filename unknown>:0 
  at ContractConfigurator.ConfigNodeUtil.ParseSingleValue[ScienceSubject] (System.String key, System.String stringValue, 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[List`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, List`1, Func`2)
ContractConfigurator.ConfigNodeUtil:ParseValue(ConfigNode, String, Action`1, IContractConfiguratorFactory, Func`2)
ContractConfigurator.DeferredLoadUtil:ExecuteLoad(DeferredLoadObject`1)
System.Reflection.MonoMethod:InternalInvoke(Object, Object[], Exception&)
System.Reflection.MonoMethod:Invoke(Object, BindingFlags, Binder, Object[], CultureInfo)
System.Reflection.MethodBase:Invoke(Object, Object[])
ContractConfigurator.<UpdateNonDeterministicValuesIterator>d__30:MoveNext()
System.Linq.<CreateConcatIterator>c__Iterator1`1:MoveNext()
ContractConfigurator.<GenerateContract>d__33:MoveNext()
ContractConfigurator.<ContractEnumerator>d__32:MoveNext()
ContractConfigurator.ContractPreLoader:Update()

 

Hey just wondering, did you ever figure out any solution for this? I just started having this issue today. Which is odd because my current career I've been playing for like a week and just started getting this issue now.

Share this post


Link to post
Share on other sites
Posted (edited)

I got this exception:

[ERR 00:30:16.006] ContractConfigurator.ConfiguredContract: Error initializing contract CONTRACT_TYPE [mMunOrbit]

[EXC 00:30:17.407] NullReferenceException: Object reference not set to an instance of an object
    ContractConfigurator.Extensions.CleanDisplayName (.CelestialBody body, Boolean lower)
    ContractConfigurator.Parameters.ReachState.BodyList ()
    ContractConfigurator.Parameters.ReachState.CreateDelegates ()
    ContractConfigurator.Parameters.ReachState..ctor (System.Collections.Generic.List`1 targetBodies, System.String biome, System.Collections.Generic.List`1 situation, Single minAltitude, Single maxAltitude, Single minTerrainAltitude, Single maxTerrainAltitude, Double minSpeed, Double maxSpeed, Double minRateOfClimb, Double maxRateOfClimb, Single minAcceleration, Single maxAcceleration, Double minDeltaVeeActual, Double maxDeltaVeeActual, Double minDeltaVeeVacuum, Double maxDeltaVeeVacuum, System.String title)
    ContractConfigurator.ReachStateFactory.Generate (Contracts.Contract contract)
    ContractConfigurator.ParameterFactory.Generate (ContractConfigurator.ConfiguredContract contract, IContractParameterHost contractParamHost)
    ContractConfigurator.ParameterFactory.GenerateParameters (ContractConfigurator.ConfiguredContract contract, IContractParameterHost contractParamHost, System.Collections.Generic.List`1 paramFactories)
    ContractConfigurator.ContractType.GenerateParameters (ContractConfigurator.ConfiguredContract contract)
    ContractConfigurator.ConfiguredContract.Initialize (ContractConfigurator.ContractType contractType)
    UnityEngine.Debug:LogException(Exception)
    ContractConfigurator.LoggingUtil:LogException(Exception)
    ContractConfigurator.ConfiguredContract:Initialize(ContractType)
    ContractConfigurator.<GenerateContract>d__33:MoveNext()
    ContractConfigurator.<ContractEnumerator>d__32:MoveNext()
    ContractConfigurator.ContractPreLoader:Update()

The exception occurred just after completing the manned orbit for 72 hours contract.  Now in Mission Control it shows that all of the requirements are met for Manned Mun Orbit, but it isn't offering the contract.

I am running with the Galileo planet pack.  Could that be the problem?  Is there any way (an edit of the .cfg?) that I can make it offer the contract?

Cheers!

Later edit: hmmm... also the "Minmus and Kerbol" mission isn't even showing up in the list.

 

Edited by gleedadswell
Adding additional information

Share this post


Link to post
Share on other sites
On 4/13/2019 at 1:44 AM, CoriW said:

Hey just wondering, did you ever figure out any solution for this? I just started having this issue today. Which is odd because my current career I've been playing for like a week and just started getting this issue now.

I have this issue as well.  I have a ton of mods installed.  GPP,/GEP KSIe, MKS/OKS and all the bells and whistles.   I looked page by page after linuxgurugamer's initial post and didn't see much further discussion on it.  Nor was I able to find anything on the forum page for Field Research or github.

Share this post


Link to post
Share on other sites

got an error window in KSP

KSP 1.7.0

Exception occured while saving ScenarioModule 'ContractPreLoader':
System.InvalidOperationException: Collection was modified; enumeration operation may not execute.
  at System.Collections.Generic.List`1+Enumerator[ContractConfigurator.ConfiguredContract].VerifyState () [0x00000] in <filename unknown>:0 
  at System.Collections.Generic.List`1+Enumerator[ContractConfigurator.ConfiguredContract].MoveNext () [0x00000] in <filename unknown>:0 
  at System.Linq.Enumerable+<CreateWhereIterator>c__Iterator1D`1[ContractConfigurator.ConfiguredContract].MoveNext () [0x00000] in <filename unknown>:0 
  at ContractConfigurator.ContractPreLoader.OnSave (.ConfigNode node) [0x00000] in <filename unknown>:0 

log:https://yadi.sk/d/RhZgFN25KP5ZHw

Share this post


Link to post
Share on other sites

@danielboro from looking at your log it looks like you have a contract defined without an agent. You get an exception about this 5118 times in the log you posted. Finding that needs the ModuleManager.ConfigCache

Share this post


Link to post
Share on other sites
10 hours ago, Tonka Crash said:

@danielboro from looking at your log it looks like you have a contract defined without an agent. You get an exception about this 5118 times in the log you posted. Finding that needs the ModuleManager.ConfigCache

thnaks

its 5118 because i keep the games running for days :) ill look for the file wen i get home.

Share this post


Link to post
Share on other sites
2 hours ago, danielboro said:

thnaks

its 5118 because i keep the games running for days :) ill look for the file wen i get home.

In the future, when you have a reproducible error, please just start the game, capture the error, and quit. Upload a small file instead of one days long. I makes it much easier to figure out what's going wrong because in your file there are lots of repeated exceptions unrelated to this problem. kOS seems to be throwing a lot of exceptions, I don't use it, so can't help. Also if you do compress the file, not everyone can handle 7z. Please share it as a .zip file. Most compression applications can output .zip even if it isn't their default format.

Share this post


Link to post
Share on other sites
6 hours ago, Tonka Crash said:

In the future, when you have a reproducible error, please just start the game, capture the error, and quit. Upload a small file instead of one days long. I makes it much easier to figure out what's going wrong because in your file there are lots of repeated exceptions unrelated to this problem. kOS seems to be throwing a lot of exceptions, I don't use it, so can't help. Also if you do compress the file, not everyone can handle 7z. Please share it as a .zip file. Most compression applications can output .zip even if it isn't their default format.

wily the errors in the log are (obviously) reproducible the window error was a (hopefully) 1 time event

https://yadi.sk/d/eU7PPNPlqxi73Q

the ModuleManager.ConfigCache as a.zip

i edited my save to add agent to the contract that didnt have one

 

most of then (all but 1) had "agentName = Field Research Team"
i looked at the files but didnt see any thing obviously different from the rest of the contract packs i have
thanks for all yuor help

Share this post


Link to post
Share on other sites
Posted (edited)

@danielboro Do you know what contract pack generated the problem contract?  Updating just the save file fixes the immediate problem, but doesn't address why it happened in the first place.

Edited by Tonka Crash

Share this post


Link to post
Share on other sites

I got lot of following, hopefully useless spam in log:

Spoiler

[ERR 00:46:00.290] Input is null for field 'agent' in config node 'CONTRACT'
   at System.Environment.get_StackTrace()
   at ConfigNode.AddValue(System.String name, System.String value)
   at Contracts.Contract.Save(.ConfigNode node)
   at ContractConfigurator.ContractPreLoader.OnSave(.ConfigNode node)
   at ScenarioModule.Save(.ConfigNode node)
   at ProtoScenarioModule..ctor(.ScenarioModule module)
   at ScenarioRunner.UpdateModules()
   at ScenarioRunner.GetUpdatedProtoModules()
   at Game.Updated(GameScenes startSceneOverride)
   at GamePersistence.SaveGame(System.String saveFileName, System.String saveFolder, SaveMode saveMode, GameScenes startScene)
   at GamePersistence.SaveGame(System.String saveFileName, System.String saveFolder, SaveMode saveMode)
   at KSCPauseMenu.<draw>m__9()
   at DialogGUIButton.OptionSelected()
   at DialogGUIButton.<Create>m__7()
   at UnityEngine.Events.InvokableCall.Invoke()
   at UnityEngine.Events.UnityEvent.Invoke()
   at UnityEngine.UI.Button.Press()
   at UnityEngine.UI.Button.OnPointerClick(UnityEngine.EventSystems.PointerEventData eventData)
   at UnityEngine.EventSystems.ExecuteEvents.Execute(IPointerClickHandler handler, UnityEngine.EventSystems.BaseEventData eventData)
   at UnityEngine.EventSystems.ExecuteEvents.Execute(UnityEngine.GameObject target, UnityEngine.EventSystems.BaseEventData eventData, UnityEngine.EventSystems.EventFunction`1 functor)
   at UnityEngine.EventSystems.StandaloneInputModule.ProcessMousePress(UnityEngine.EventSystems.MouseButtonEventData data)
   at UnityEngine.EventSystems.StandaloneInputModule.ProcessMouseEvent(Int32 id)
   at UnityEngine.EventSystems.StandaloneInputModule.ProcessMouseEvent()
   at UnityEngine.EventSystems.StandaloneInputModule.Process()
   at UnityEngine.EventSystems.EventSystem.Update()

Probably happening when game try to generate some new contract. Haven't yet pinpointed exact contract pack that cause this. But I also found this at beggining of log:

Quote

[WRN 00:02:46.114] Cannot create config from file 'D:\KSP_170\GameData\ContractConfigurator\Agencies\Agents.cfg'.

So, my guess is that some of contract packs use legacy system for contract generation or something. Am I right ?

Share this post


Link to post
Share on other sites
34 minutes ago, kcs123 said:
Quote

[WRN 00:02:46.114] Cannot create config from file 'D:\KSP_170\GameData\ContractConfigurator\Agencies\Agents.cfg'.

 

That's an empty file that doesn't contain config data, so you get a warning. You can delete it or rename it Agents.txt to clear the warning.

For the other problem see this post.

 

Share this post


Link to post
Share on other sites
15 hours ago, Tonka Crash said:

That's an empty file that doesn't contain config data, so you get a warning. You can delete it or rename it Agents.txt to clear the warning.

For the other problem see this post.

Thanks, I indeed have RealChutes mod, checking that first it seems to be fixed already since first report about it. Following your advice, I found in MM.ConfigCache this config that is suspisious to me:

Spoiler

UrlConfig
{
	parentUrl = ContractPacks/AnomalySurveyor/AnomalySurveyor
	CONTRACT_GROUP
	{
		name = AnomalySurveyor
		displayName = Anomaly Surveyor
		agent = Anomaly Surveyor Group
		tip = Surveying Anomalies...
		minVersion = 1.15.0
	}
}
UrlConfig
{
	parentUrl = ContractPacks/AnomalySurveyor/Bop_DeadKraken
	CONTRACT_TYPE
	{
		name = AS_Bop_DeadKraken
		group = AnomalySurveyor
		sortKey = 04.02
		genericTitle = Undiscovered anomaly on Joolean moons
		genericDescription = There's sure to be lots of interesting anomalies near Jool.  We just need to figure out which moons to take a closer look at.
		title = Investigate something odd on Bop
		description = Something in one of the craters on Bop caught our attention.  Go check it out.
		synopsis = Investigate the crater on Bop.
		completedMessage = Hmm....  any chance you're willing to get a sample?
		tag = SCANsat
		prestige = Exceptional
		targetBody = Bop
		agent = Anomaly Surveyor Group
		maxCompletions = 1
		rewardFunds = 110500
		rewardScience = 10.0
		rewardReputation = 3.3
		PARAMETER
		{
			name = WP0
			type = All
			title = Investigate the Bop anomaly
			PARAMETER
			{
				name = VesselIsType
				type = VesselIsType
				vesselType = EVA
			}
			PARAMETER
			{
				name = VisitWaypoint
				type = VisitWaypoint
				index = 0
				distance = 25
			}
		}
		BEHAVIOUR
		{
			name = WaypointGenerator
			type = WaypointGenerator
			WAYPOINT
			{
				name = Anomaly in a Crater
				icon = ContractPacks/AnomalySurveyor/Icons/unknown
				latitude = 68.4278362774429
				longitude = -242.991724273924
				altitude = 1.37536410811299
			}
		}
		BEHAVIOUR
		{
			type = DialogBox
			DIALOG_BOX
			{
				title = Dead Kraken
				condition = PARAMETER_COMPLETED
				parameter = WP0
				KERBAL
				{
				}
				TEXT
				{
					text = It looks like some sort of deep space kraken.  I'm glad it's dead, since we left the Krakensbane back at mission control.
				}
			}
		}
		REQUIREMENT
		{
			name = Orbit
			type = Orbit
			title = Must have orbited the correct Joolean moon
		}
		REQUIREMENT
		{
			name = WP1
			type = SCANsatLocationCoverage
			latitude = 68.4278362774429
			longitude = -242.991724273924
			title = Must have scanned the correct location on the target moon with the anomaly scanner
		}
	}
}

 

 All other contract packs found in MM cache have in second pair of UrlConfig{... config definitions} properly defined agent title. In first group it is always agent name and in second one is again definition of agent with title defined. AnomalySurveyor seems to missing that. But might be wrong about it, I'm only capable to compare two similar pieces of code and with some educated guess find what might be issue.

Are there any more convinient way to search trough MM cache with some keywords, beside "AGENT" to search all of possible places of wrong wriiten configs ? I will try to inspect folders of contract packs too, I will upload MM cache and logs if I fail to find culprit.

 

Share this post


Link to post
Share on other sites
Posted (edited)

@kcs123 @Brigadier @scottadges The missing title problem is such a recurring topic in this thread I decided that instead of sending people off on a tedious hunt for bugs, it's simpler to just have a patch to catch and fix the problem on the fly.

// Fix missing agent title string
@AGENT[*]:HAS[~title]
{
	title = #$name$	
}

This will just copy the name of the agent to the title field when an agent is missing it's title field. I've only seen a couple agents defined with different title and name fields, for most they're identical.

Instructions: Create a patch file (anyname.cfg) somewhere under GameData and include the text from the code box in the file.

Edited by Tonka Crash

Share this post


Link to post
Share on other sites
16 minutes ago, Tonka Crash said:

@kcs123 @Brigadier @scottadges The missing title problem is such a recurring topic in this thread I decided that instead of sending people off on a tedious hunt for bugs, it's simpler to just have a patch to catch and fix the problem on the fly.
.....
Instructions: Create a patch file (anyname.cfg) somewhere under GameData and include the text from the code box in the file.

Thanks a lot, that will indeed save a lot of time and will be foolproof whenever I try some ne contract pack that might have missing agent title in it.

Share this post


Link to post
Share on other sites
3 hours ago, Tonka Crash said:

Instructions: Create a patch file (anyname.cfg) somewhere under GameData and include the text from the code box in the file.

Just out of curiosity, if I have a couple of these small config fixes (not just for CC), is it wise to place them all in one MM patch file?  Or would individual named .cfgs in a my_mods folder, for example, under GameData be better?

Share this post


Link to post
Share on other sites
1 minute ago, Brigadier said:

Just out of curiosity, if I have a couple of these small config fixes (not just for CC), is it wise to place them all in one MM patch file?  Or would individual named .cfgs in a my_mods folder, for example, under GameData be better?

It doesn't matter. I have a whole directory tree. I started out with a patches.cfg for little things like this and once that got too big to easily find anything, I started creating individual files for each mod I was tweaking. 

Share this post


Link to post
Share on other sites
Posted (edited)

@Brigadier I thought of something else that can sometimes create problems. It is helpful to have all your person files in a directory that's alphabetically last in GameData. I use ZZZ_PersonalPatches. Alphabetic order in GameData can affect the order patches are applied to some degree. ModuleManager does several passes controlled by the directives :FIRST, :BEFORE, :AFTER,  & :FINAL. If you don't specify one of these the patch is applied between the :FIRST and :BEFORE passes with everything else that doesn't specify an ordering directive. On each pass the patches are applied in the order they are found which is alphabetic by subdirectory in GameData.

So, the patch I had above should work fine if it's alphabetically last in the GameData directory. No one should change an AGENT with one of the ordering directives, but that doesn't mean someone hasn't. It just hasn't been a problem for me yet. To be absolutely certain your patch is applied after everything else technically you also need :FINAL for the patches AND make sure it's in the alphabetically last directory, i.e:

// Fix missing agent title string
@AGENT[*]:HAS[~title]:FINAL
{
	title = #$name$	
}
Edited by Tonka Crash

Share this post


Link to post
Share on other sites
3 hours ago, Tonka Crash said:

the patch I had above should work fine if it's alphabetically last in the GameData directory.

Awesome Tonka, thanks for putting together this code for us. I love CC and had resigned myself to getting all the Agent issues :)

Muchas gracias!

Share this post


Link to post
Share on other sites

I've run into a strange problem and I'm wondering if anyone has encountered it before:

In my 1.7 career, I am running into limits on the number of contract despite having a fully upgraded mission control.  The limits are based on the significance of the contract & have varied over time.   The last time I looked, 1-star contracts are only allowed 5 active, 2-star allowed 3 active & 3-star allowed only 2.  I do have the newest version of Contract Configurator installed along with the following contract packs:

  • GAP
  • Anomaly Surveyor
  • Additional Progression Contracts
  • Sounding Rockets
  • Field Research (newly added for 1.7, but no change when I deleted it)
  • Tourism Plus (newly added for 1.7, but no change when deleted)
  • Career Evolution Contract (newly added for 1.7, no change when deleted)

When I deleted the 3 new contract packs, I also deleted & reinstalled Contract Configurator & deleted the MMConfigCache.

There is a slider in Contract Configurator settings for "Active Contract Multiplier" that I set all the way up in both 1.7 & previous versions.   I've even set up a new career, adding funds through the cheat menu to fully upgrade mission control & it is showing limits of 8, 6 & 4 for 1, 2 & 3-star contract.  I also went back and used the "regenerate current contracts" tool from the cheat menu in my main career & got the limits back to 8, 6 & 4.

I didn't remember ever running into this issue in previous versions, so I fired up my 1.6.1 copy of KSP & it does have limits also, but they are like ~50 1-star, ~40 2-star & ~30 3-star contracts allowed, which are well beyond what I would need at any time.

It almost appears that the Active Contract Multiplier isn't having any effect on 1.7

Share this post


Link to post
Share on other sites
Posted (edited)
13 hours ago, Cavscout74 said:

I've run into a strange problem and I'm wondering if anyone has encountered it before:

In my 1.7 career, I am running into limits on the number of contract despite having a fully upgraded mission control.  The limits are based on the significance of the contract & have varied over time.   The last time I looked, 1-star contracts are only allowed 5 active, 2-star allowed 3 active & 3-star allowed only 2. 

...

It almost appears that the Active Contract Multiplier isn't having any effect on 1.7

The significance of contracts, bugs me. It's not really based on what the contract actually is. The better your reputation the more stars, but this leads being starved of new contracts, especially if you have several exceptional long duration missions going on., I've addressed the problem a couple ways:

  1. I've gone into the contract packs I have and manually set or decreased the significance of contracts. This helps populate the lower tier slots. Any satellites in Kerbin SOI are Trivial, satellites elsewhere are no more than Significant. I have Bases and Stations contract pack and in it building a new base or station is exceptional, expansion significant, everything else is trivial. I also set the maintenance contracts to automatically accept.
  2. I don't know what Active Contract Multiplier is supposed to do, but I've increased the overall number of offers by bumping up the contract system's average available from 10 to 25. You can easily get swamped with contracts with this setting. This is set in the Squad/Contracts/Contracts.cfg or with a patch:
// Increase average number of contracts
@Contracts
{
    @AverageAvailableContracts = 25
}

 

Edited by Tonka Crash

Share this post


Link to post
Share on other sites
Posted (edited)
20 hours ago, Tonka Crash said:

I don't know what Active Contract Multiplier is supposed to do, but I've increased the overall number of offers by bumping up the contract system's average available from 10 to 25. You can easily get swamped with contracts with this setting. This is set in the Squad/Contracts/Contracts.cfg or with a patch: 

It's not the number of offers - I know about adjusting those already, I have mine at 20 I think - its the number of contracts I'm allowed to take that are ridiculously low in 1.7 vs previous versions.  I might have found my issue though:

In my 1.7 career, I accidentally smashed two loads of tourists into large objects (one into Kerbin due to a parachute staging error & the other into Mun due to not paying attention) which killed my total reputation.  I just got back into positive reputation this morning, and I'm showing I'm allowed to take like 9 one-star, 7 two-star & 5 three-star contracts compared to 8, 6 & 4 yesterday.  If the numbers continue going up, I'm going to guess that was the issue.  I'm usually pretty good at not executing tourists, so my rep usually never goes negative like that. 

When I have a chance later on, I'm going to load the cheaty second career I was using to troubleshoot, add a bunch of rep & see what happens.

Edit:   Confirmed, my issue was due to low reputation not anything wrong with Contract Configurator or any of the contract packs.

Edited by Cavscout74

Share this post


Link to post
Share on other sites
Just now, Cavscout74 said:

It's not the number of offers - I know about adjusting those already, I have mine at 20 I think - its the number of contracts I'm allowed to take that are ridiculously low in 1.7 vs previous versions.  I might have found my issue though:

In my 1.7 career, I accidentally smashed two loads of tourists into large objects (one into Kerbin due to a parachute staging error & the other into Mun due to not paying attention) which killed my total reputation.  I just got back into positive reputation this morning, and I'm showing I'm allowed to take like 9 one-star, 7 two-star & 5 three-star contracts compared to 8, 6 & 4 yesterday.  If the numbers continue going up, I'm going to guess that was the issue.  I'm usually pretty good at not executing tourists, so my rep usually never goes negative like that. 

When I have a chance later on, I'm going to load the cheaty second career I was using to troubleshoot, add a bunch of rep & see what happens.

That's it. I didn't think of reputation. Having a low or negative rep will definitely restrict the number of contracts you can take. Mine's tanked (-1000+) a couple times for reasons I still don't understand and I only noticed because of the severely reduced number of contracts.

Share this post


Link to post
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.