Jump to content

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


nightingale

Recommended Posts

5 hours ago, vagabond77 said:

Thanks!!! 

This tweak is valid in 1.7.2?

Your quote has me listed as who contributed the CFG, note that it's @Tonka Crash his contribution.

Having said that; there's no reason it would not work in 1.7.2 as it's a ModuleManager (mod) patch for a ContractConfigurator (mod) file. Even then if CC were to fix it the tweak would simply not do anything anymore, it won't break stuff.

Link to comment
Share on other sites

  • 2 weeks later...
On 5/17/2019 at 2:08 PM, 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.

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

Thanks for this. I came here with the same problem thinking it was a bug of some kind.

Link to comment
Share on other sites

Hi everyone,

I'd like some help to develop a contract(s) that will:

  1. Spawn fresh new kerbals in a part that has already been placed/ build on the surface of a planet.
  2. Allow for kerbals to be retired (not KIA or MIA) without penalty from the same part.

Reason 1: You travel all the way to a new solar system.  Even on the highest warp it takes several hours to actually arrive.  You land, mine and start using mods to build new craft and begin exploring.  Then, the unfortunate happens... your engineers and scientist all die in a most horrific crash!  How will you replace them?

Reason 2: People like the idea of an 'end game target'.  Setting up ACTUAL colonies on all bodies could do this.

Reason 3: with the upcoming release of the Tetrix TechTree (which is Simplex TechTree 2.0) I have a couple of colonization nodes in the end game.

I'd like to use Contract Configurator to spawn the kerbals.  Ideally, a modder would create a small .dll that does this, but as my skills are lacking, and a few approaches haven't resulted in this being taken up, I figured that CC could help!

So, what would happen, is that I'd have a part called colonialPart that contains a new resource: colonialBodies.  The resource simply shows that the colony is full of people.  Think of it as a closed ecosystem.  Don't worry about getting people in there, I'd also have a tanker.

Once the colonialPart is landed on a surface, the contract is able to be started.  After a certain time, it starts spawn kerbals to add to the kerbonaut core, but in the limited IVA seat of the part.  Possibly the contract could be declimable if you don't want a new kerbal at that time.

I've looked into the code, but I need some help.

CONTRACT_TYPE
	{
		name = spawnNewKerbal
		title = Spawn New Kerbal
		genericTitle = Spawn New Kerbal
	//	group = colonialGroup					//	Probably need to make this
		description = The colonial arcology is keen to export one of their own to the kerbonaut cause.  Please go and collect them.
		genericDescription = A new kerbonaut is ready at the colony.
		synopsis = Go and collect the new kerbonaut and give them a task to do.  Quick, before their air runs out otherwise they'll head back to the arcology.
		completedMessage = Well done for collecting the new kerbonaut.  Treat them well!
	//	agent = Techtrix Arcological Colonies
	    minExpiry = 0.0							// never expires right?
		maxExpiry = 0.0							// never expires right?
	//	deadline = no deadline is default?
		cancellable = false						// can't cancel the colonial contract
		declinable = true						// can decline the new kerbonaut.
		autoAccept = true						//	does this defeat the purpose of declinable?
		prestige = Exceptional
		targetBody = null						// assuming this is only where the colony part is right?
		maxCompletions = 0						// 0 is unlimited
		maxSimultaneous = 1						// I could specify one per colony part right?
	//	weight = 10.0							// Don't really need a weight I suspect
	//	DATA									// Is this used to specifiy that the colony part exists?!
	//		{
	//			type = Vessel
	//			targetVessel = AllVessels().Where(v => v.isOrbiting()).First()
	//		}
		PARAMETER								// that the generation resource amount has occured. 
			{
				name = has_colonialBodies
				type = HasResource
				resource = colonialBodies
				minQuantity = 20
				maxQuantity = 40
			}
		REQUIREMENT								//	that the part exists on the surface and has had a delivery of the colonialBodies resource.
			{
				name = is_colonialPart_present
				// GOING TO REALLY NEED HELP WITH THIS!
			}
		BEHAVIOUR								// not sure I need one yet
			{
				name = SpawnKerbal
				type = Behaviour
				KERBAL
					{
	//					kerbal = 				// not needed?
						kerbalType = Crew
						owned = true
						addToRoster = true
	//					targetBody = Kerbin 	// But I want to spawn where the colonialPart is?
	//					lat = 10.595910968977
	//					lon = 239.804476675472
	//					alt = 387.929475510377
					}
			}
	}

If you could PM with some advice, that would be awesome!  Thanks,

Peace.

Link to comment
Share on other sites

I haven't had any pings yet, I'm assuming that my contract in the post above isn't possible.

Would it be possible for a contract that when a resource reaches a certain level in a craft, a contract appears (or is able to be fulfilled) that allows for a kerbal to be spawned even nearby the part and reduce the resource to nill?  In a stock environment this could be done by manipulating the RTG code to produce the resource constantly.

That would work as an early iteration of the mod as a concept showcase and hopefully get some support for a coder.

Thanks for any advice.

Peace.

Link to comment
Share on other sites

  • 2 weeks later...

Hi guys,

 

I recently installed 1.7.3 and would like to play career with contracts. However, I noticed that most of the contract pack listed as supported on the first post are from the 1.2 to 1.4 era. Is it that people are not playing with contracts or it is because contract always work with every release and I should not bother checking out the version?

Link to comment
Share on other sites

2 hours ago, Frag2000 said:

or it is because contract always work with every release and I should not bother checking out the version?

I guess so. The contract system is fairly flexible and chooses parts and planets as it finds them in the game instead of only preprogrammed contracts. Some might not work with total system revamps - especially those with a "story line" - but most should be good. Just try them out, you can always finish them in the ALT+12 menu if they kerb out or remove contract packs should they behave strangely.

Link to comment
Share on other sites

On 7/26/2019 at 3:53 PM, Frag2000 said:

Hi guys,

 

I recently installed 1.7.3 and would like to play career with contracts. However, I noticed that most of the contract pack listed as supported on the first post are from the 1.2 to 1.4 era. Is it that people are not playing with contracts or it is because contract always work with every release and I should not bother checking out the version?

Many packs simply haven’t been (officially) updated. 

Many packs also have unofficial patches to fix bugs though. I recommend reading the last 2-3 pages of a pack’s thread to see what the latest ‘news and happenings’ around it was. 

Link to comment
Share on other sites

Hey guys, I use Custom Barn Kit to make a few changes to the KSC, including allowing a much higher contract limit.  It's actually unlimited at L3, which I currently have the upgrade for.  However I'm still artificially limited to just a few depending on the difficulty level.  I'm pretty sure it's Contract Configurator which is adding this limit.  I saw some posts back in 2016 for this feature to be configurable and/or disabled in settings, however I don't see any way to do that.  The only thing I've found so far is that the limits were raised.

I just don't want to have a limit on the number of open contracts I keep.  Just not the way I want to play my game.  Is there a way to change this that I haven't found, or is this a brick wall?

Link to comment
Share on other sites

On 11/30/2014 at 6:23 AM, nightingale said:

Contract Configurator 1.25.0

  • Added ExperienceTrait to parser.
  • Kerbal.ExperienceTrait now returns an ExperienceTrait instead of a localised string.
  • Increased max active contract multiplier slider maximum from 2.0 to 8.0.
  • Support for RemoteTech 1.8.10.3 (thanks wraithan).

This is the changelog for version 1.25.0. Where would I find this "max active contract multiplier slider"? 

Link to comment
Share on other sites

On 8/4/2019 at 4:17 AM, steddyj said:

just don't want to have a limit on the number of open contracts I keep.  Just not the way I want to play my game.  Is there a way to change this that I haven't found, or is this a brick wall?

This is limited by KSP itself.  Look in the "Gamedata/Squad/Contracts/Contracts.cfg" and there is a line "AverageAvailableContracts = ##"     You can edit that value (or write a MM patch) to increase it.  20-25 is usually a good figure.

On 8/11/2019 at 8:58 AM, madindehead said:

I had a quick question: Is it Contract Configurator that limits how many of each difficulty of contract you can have active at once? If so, is it easy to increase? I want to increase the number of active one (and maybe two) star contracts. 

The number of contracts of a given star rating is limited by a combination of reputation & Mission Control level.  The higher your reputation, the more contracts of each star rating you can have, with the total limited by mission control level.  I learned this when I smashed a load of tourists into the Mun & even with a level 3 mission control, I could only take like 3 each 1 & 2 star & two 3-star contracts or something like that.  Once my rep started getting out of the negative, the number of allowed contracts started to increase as well.

Link to comment
Share on other sites

4 hours ago, Cavscout74 said:

This is limited by KSP itself.  Look in the "Gamedata/Squad/Contracts/Contracts.cfg" and there is a line "AverageAvailableContracts = ##"     You can edit that value (or write a MM patch) to increase it.  20-25 is usually a good figure.

The number of contracts of a given star rating is limited by a combination of reputation & Mission Control level.  The higher your reputation, the more contracts of each star rating you can have, with the total limited by mission control level.  I learned this when I smashed a load of tourists into the Mun & even with a level 3 mission control, I could only take like 3 each 1 & 2 star & two 3-star contracts or something like that.  Once my rep started getting out of the negative, the number of allowed contracts started to increase as well.

OK thanks. My rep is pretty high. As much as I love the new contracts that I can add via CC, I personally don't like putting a limit on the total numbers of contracts that I can have active at once. Is there no way to change it? Why is there even a mention of a slider when it doesn't seem to exist? 

I think steddyj is asking for the same thing? He doesn't want a limit on his active contracts - the ones he has accepted (At least I think that's what he means)?

Edited by madindehead
Link to comment
Share on other sites

48 minutes ago, madindehead said:

OK thanks. My rep is pretty high. As much as I love the new contracts that I can add via CC, I personally don't like putting a limit on the total numbers of contracts that I can have active at once. Is there no way to change it? Why is there even a mention of a slider when it doesn't seem to exist? 

I think steddyj is asking for the same thing? He doesn't want a limit on his active contracts - the ones he has accepted (At least I think that's what he means)?

CC overrides ksp default

You can set it in the options

Link to comment
Share on other sites

I'm getting an error from CC that feels like it's causing performance issues. I feel like the game is hanging and slowing down when I'm trying to access CapCom to view my contracts. 

This is the error: 

ContractConfigurator.ContractType: CONTRACT_TYPE 'FS_HardScience': Error parsing scienceSubjectsTemp1
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/DebugBindings.gen.cpp Line: 51)

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()
 
(Filename:  Line: -1)

Log file here: https://drive.google.com/file/d/1-yYjU4uBAl4aJCLmkRGxe8dgRJWj86O3/view?usp=sharing

I added a few new contract packs yesterday and I removed one that I thought might be the problem but it's still happening. I can provide a mod list if required (Although I think it's in the log?). 

Seems it has come up before (two posts below). I'm removing some packs to see what the issue is. It's weird because my career has been fine for a while and I just started getting it yesterday :/ 

 

Update: I disabled the FieldResearch contract pack for now, from CC options, and the error seems to have disappeared. 

Update 2: I removed GEP (Grannus Expansion Pack) and the error seems to have disappeared for now. I'm not sure who needs to fix this - is it a GEP problem, a Contract Configurator problem or the contract pack?

Edited by madindehead
Possibly found the source of the error - but no long term fix.
Link to comment
Share on other sites

  • 3 weeks later...

Hi, I'm getting this error message from CC:

Spoiler

Exception occured while loading contract 'AnomalySurveyor.AS_Mun_Monolith.2':
System.NullReferenceException: Object reference not set to an instance of an object
  at FinePrint.WaypointManager.AddWaypoint (FinePrint.Waypoint waypoint) [0x00000] in <filename unknown>:0 
  at ContractConfigurator.Behaviour.WaypointGenerator.AddWayPoint (ContractConfigurator.Behaviour.WaypointData wpData) [0x00000] in <filename unknown>:0 
  at ContractConfigurator.Behaviour.WaypointGenerator.OnLoad (.ConfigNode configNode) [0x00000] in <filename unknown>:0 
  at ContractConfigurator.ContractBehaviour.Load (.ConfigNode configNode) [0x00000] in <filename unknown>:0 
  at ContractConfigurator.ContractBehaviour.LoadBehaviour (.ConfigNode configNode, ContractConfigurator.ConfiguredContract contract) [0x00000] in <filename unknown>:0 
  at ContractConfigurator.ConfiguredContract.OnLoad (.ConfigNode node) [0x00000] in <filename unknown>:0 

My GameData folder:

Spoiler

000_AT_Utils
000_ClickThroughBlocker
000_Toolbar
000_USITools
001_ToolbarControl
AquilaEnterprises
AutoAGL
B9PartSwitch
BonVoyage
Chatterer
CommNetVisualisation
CommunityCategoryKit
CommunityResourcePack
CommunityTechTree
ConfigurableContainers
ConnectedLivingSpace
ContractConfigurator
ContractPacks
CrewLight
CryoEngines
CryoTanks
CTTP
CustomBarnKit
DecayingRTGs
DeployableEngines
DistantObject
DMagicOrbitalScience
DMagicUtilities
DynamicBatteryStorage
EasyVesselSwitch
EL-MKS Departsing
EngineLightRelit
EnvironmentalVisualEnhancements
EvaFuel
FerramAerospaceResearch
Firespitter
FuseboxContinued
Galen
GroundConstruction
HeatControl
HideEmptyTechTreeNodes
Impact
InterstellarFuelSwitch
InterstellarHybridRocketry
JanitorsCloset
JSI
JX2Antenna
KAS
KerbalAtomics
KerbalConstructionTime
KerbalEngineer
KerbalHealth
KerbalInventorySystemNoFun
KIS
Kopernicus
kOS
KSP-AVC
KspCraftOrganizer
KSPTOTConnect
KWRocketry
LoadingScreenManager
MagiCore
MakingLessHistory
ModularFlightIntegrator
NavyFish
NearFutureElectrical
NearFutureElectricaNTRs
NearFutureProps
NearFuturePropulsion
NearFutureSolar
Nereid
notes
OPM
PersistentRotation
PlanetShine
PreciseManeuver
RCSBuildAid
RealChute
RealisticAtmospheres
RealPlume
RealPlume-Stock
ReCoupler
ReentryParticleEffect
REPOSoftTech
ReStock
RoverScience
SCANsat
scatterer
Science_Revisited
ScrapYard
SensibleScreenshot
ShipEffectsContinued
ShipManifest
SignalDelay
SmokeScreen
SpaceAge
SpaceY-Expanded
SpaceY-Lifters
StageRecovery
StationPartsExpansionRedux
StockVisualEnhancements
Strategia
SurfaceLights
SVT
TextureReplacer
ThroughTheEyes
Timekeeper
TooManyOrbits
TrackingStationEvolved
Trajectories
TriggerTech
TweakScale
UmbraSpaceIndustries
UniversalStorage2
UnmannedBeforeManned
UrgentContracts
WarpPlugin
WaypointManager
Wwwwwwwww
[x] Science!
MiniAVC.dll
ModuleManager.4.0.3.dll

I'm playing KSP 1.7.3 with CC 1.27.1.

Link to comment
Share on other sites

  • 1 month later...

Question. I cannot really start playing the GAP contract pack, because the first two missions are not showing. Looking at the contract configurator logs, I get a :

[WARNING] ContractConfigurator.ContractType: Errors encountered while trying to load CONTRACT_TYPE 'Wright-FirstFlight'
[WARNING] ContractConfigurator.ContractType: Errors encountered while trying to load CONTRACT_TYPE 'Wright-Glider'

Here are the logs themselves. How can I begin to look at fixing this problem?

http://www.mediafire.com/file/8jlmudwommw1mhq/GAP-contract_configurator_logs.zip/file
 

Link to comment
Share on other sites

I have a quick question has anyone had an issue with contract configurator cause some king of conflict with Kerbal Konstructs.  I have a new install and have narrowed down the reason that KK quits working is installing contract Configurator, I have looked through this post but havn't found anything that seems to help.

 

 

AFTER Trying some other things think it was an outdated version that I was getting on CKAN of KK not sure but everything is fine now.

Edited by fxcustoms
Figured out the issue
Link to comment
Share on other sites

Hello,

I would like to know if it is planned in the future updates of this mod to make it translatable.
There are a lot of texts that are hard coded and therefore inaccessible to a possible translation while many "Contract Pack" are, which gives a not very pleasant result for people who do not play in English, which is really regrettable for a mod like this one.

in any case thank you for the work done :) (and sorry for my poor English)

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