Jump to content

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


nightingale

Recommended Posts

Is it just me, or using this mod remove's the record default contracts and the "launch a new vessel contract"? The only contract I can do in the beginning is the 18KM and that is tad difficult

Contract Configurator doesn't remove any contracts - but gives the ability to remove contracts. It's probably a specific contract pack that is giving you grief (perhaps the Advanced Progression one?).

Link to comment
Share on other sites

Contract Configurator doesn't remove any contracts - but gives the ability to remove contracts. It's probably a specific contract pack that is giving you grief (perhaps the Advanced Progression one?).

I'll try to find which pack does it, but starting the game with only a 18KM altitude contract and no record contracts is a bit odd, Be back in a bit

EDIT1: Its not advanced progression

Edited by guto8797
Link to comment
Share on other sites

I'll try to find which pack does it, but starting the game with only a 18KM altitude contract and no record contracts is a bit odd, Be back in a bit

EDIT1: Its not advanced progression

I can't say too much more without seeing what contract packs you have installed. A log file, screenshot of the Contract Configurator debug menu (alt-f10) or listing of your GameData/ and GameData/ContractPacks directory.

Link to comment
Share on other sites

I can't say too much more without seeing what contract packs you have installed. A log file, screenshot of the Contract Configurator debug menu (alt-f10) or listing of your GameData/ and GameData/ContractPacks directory.

Got it, its initial contracts, made by the guy behind SETI i think. It kinda looks interesting, the SETI mod, would anyone recommend it?

Edited by guto8797
Link to comment
Share on other sites

Initial contracts replaces the record contracts with 3 different ones. Rewards are around the same though. You should be able to get up to 18KM with just the second SRB you get (the science for that can be gotten from KSC).

As fas as SETI, I highly recommend it.

Link to comment
Share on other sites

Initial contracts replaces the record contracts with 3 different ones. Rewards are around the same though. You should be able to get up to 18KM with just the second SRB you get (the science for that can be gotten from KSC).

As fas as SETI, I highly recommend it.

SETI seems nice, but it also looks like it wouldn't play very well with other mods, including contract packs. Any major mods that are incompatible or just unbalanced? (Like starter manned contracts when the mod focuses on unmanned)

Link to comment
Share on other sites

SETI seems nice, but it also looks like it wouldn't play very well with other mods, including contract packs. Any major mods that are incompatible or just unbalanced? (Like starter manned contracts when the mod focuses on unmanned)

Might be best to move this conversation over to the SETI thread.

Assuming you are talking about SETIctt, Yemo has worked quite hard to make a lot of major mod compatible.

If you are talking about SETI Contracts. There are no comparability issues. There are some unmanned contracts early on, but they aren't going to stop you from doing manned contracts. He disables the first contracts and explore body contracts and replaces them with his own version.

Link to comment
Share on other sites

Another question for all of you smart people. I have looked through as many contract packs as are available, but I cannot find the information that I need.

I am trying to make a probe require power generation. I know it is possible as it is in stock contracts, but I cannot find the expression that will allow it. I appreciate your help!!

Link to comment
Share on other sites

Another question for all of you smart people. I have looked through as many contract packs as are available, but I cannot find the information that I need.

I am trying to make a probe require power generation. I know it is possible as it is in stock contracts, but I cannot find the expression that will allow it. I appreciate your help!!

Just because it's possible in stock contracts, doesn't mean that it's implemented in Contract Configurator. This one doesn't look like it has ideal coverage, but there's a couple ways to get something along these lines:

  1. HasResource with ElectricCharge > 0. Not quite power generation, but depending on what you're trying to do this may be good enough.
  2. PartValidation with a check for ModuleGenerator. You'll probably also need a second one under an Any with a check for ModuleDeployableSolarPanel.

The ideal solution would be similar to the PartModuleTypeUnlocked requirement (I would just add that to the PartValidation). If this is something you need, raise a GitHub request, and I'll get it into the next release.

Link to comment
Share on other sites

Base construction (CosmoBro) did it this way which will cover almost everything (including most mods, exception being the reactors from NFT)


PARAMETER
{
name = Any
type = Any
hideChildren = true
title = Can Generate Power
PARAMETER
{
name = Solar
title = Solar
type = PartValidation
hideChildren = true
partModule = ModuleDeployableSolarPanel
minCount = 1
}
PARAMETER
{
name = Generator
title = RTG
type = PartValidation
hideChildren = true
partModule = ModuleGenerator
minCount = 1
}
PARAMETER
{
name = Generator1
title = Fuel Cell
type = PartValidation
hideChildren = true
part = FuelCell
minCount = 1
}
PARAMETER
{
name = Generator2
title = Fuel Cell Array
type = PartValidation
hideChildren = true
part = FuelCellArray
minCount = 1
}
}

~edit - Here is what severedsolo did with his Space Station contracts:


PARAMETER
{
name = RTGSolar
type = Any
title = Have one of the following power generators

PARAMETER
{
name = PartValidationRTG
type = PartValidation
hideChildren = true
title = 1 or more solar panels

// PartModule(s) to check for. Optional, and can be specified multiple times.
partModule = ModuleDeployableSolarPanel

// Minimum count, default = 1
minCount = 1
}

PARAMETER
{
name = PartValidationSolar
type = PartValidation
hideChildren = true
title = 1 or more generators

// PartModule(s) to check for. Optional, and can be specified multiple times. Looking for an RTG
partModule = ModuleGenerator

// Minimum count, default = 1
minCount = 1
}
PARAMETER:NEEDS[NearFutureSolar]
{
name = PartValidationNearFutureSolar
type = PartValidation
title = 1 or more curved solar panels
hideChildren = true
partModule = ModuleCurvedSolarPanel
minCount = 1
}
PARAMETER:NEEDS[NearFutureElectrical]
{
name = PartValidationNearFutureReactors
type = PartValidation
title = 1 or more fission reactors
hideChildren = true
partModule = FissionReactor
minCount = 1
}
PARAMETER:NEEDS[NearFutureElectrical]
{
name = PartValidationNearFutureRTGs
type = PartValidation
title = 1 or more radioisotope generators
hideChildren = true
partModule = ModuleRadioisotopeGenerator
minCount = 1
}
}

Edited by Nori
Link to comment
Share on other sites

Two questions about autoaccept..

Does autoaccepted contracts count for the active contract limit?

Second is there a way to notify the player that they have a contract that has been autoaccepted?

I ask the second question because in my experience the stock record contracts are just kind of there, but unless you look for them you don't really know they are...

Link to comment
Share on other sites

Two questions about autoaccept..

Does autoaccepted contracts count for the active contract limit?

They do not.

Second is there a way to notify the player that they have a contract that has been autoaccepted?

I ask the second question because in my experience the stock record contracts are just kind of there, but unless you look for them you don't really know they are...

The Message behaviour is an unobtrusive way to notify them (or at least it would be if I had a setting to allow it to trigger on contract accept like some others do). If that's what you want, raise a GitHub request.

Another option is the DialogBox behaviour, but that would be highly obtrusive.

Third, if you want it to show up using the "green text" that sometimes appears on screen for a couple seconds, I could add that either as a new behaviour or as a variant of the Message behaviour. If you want this one, again raise a GitHub request.

Link to comment
Share on other sites

I shall contemplate and get back to you.

One quick question about the first option. Can a background color or different text color be applied to that? Or maybe larger text? I just ask because I use KCT and whenever you build a rocket you get a little bit of science. He set it up to show as a message in the upper left, but it is white small text and is easy to miss.

Oooh I thought of something. What about the message center that shows completed contracts? Is it possible to put something there? Not saying that I necessarily would want to, just exploring all the options to better evaluate.

Link to comment
Share on other sites

I shall contemplate and get back to you.

One quick question about the first option. Can a background color or different text color be applied to that? Or maybe larger text? I just ask because I use KCT and whenever you build a rocket you get a little bit of science. He set it up to show as a message in the upper left, but it is white small text and is easy to miss.

Oooh I thought of something. What about the message center that shows completed contracts? Is it possible to put something there? Not saying that I necessarily would want to, just exploring all the options to better evaluate.

Option 1 is putting it in the message center. :)

Option 2 is the dialog boxes, which are pretty flexible (you can change size and color, but not the background color). I'm also going to be adding something to it for timed dialog boxes (instead of clicking okay, it'll disappear in X seconds).

Option 3 would just use the green notification text, I wouldn't allow any customizability (it's a stock KSP function that I would plug into).

Link to comment
Share on other sites

Yeah, was definitely Arsonide's FinePrint - I'm fairly certain RoverDude never touched contracts in a mod (although I guess the Asteroid Day thing counts).

Ah, yes, rover contracts were tricky. Fun fact: when I initially started work on Fine Print, I set out to have more to do in the game. My first two ideas were rover contracts, and surface sample contracts. The initial rover contract actually asked you to drive four kilometers in any direction. In the first version, you could even drive four kilometers in circles. Sometimes it had a side objective to do a "sick jump" in low gravity. Eventually I realized that it was more fun to actually drive towards something. Ironically, both of these early ideas were eventually folded into what is now the more all encompassing survey contract.

For the Asteroid Day addon, I did the contract and scenario logic that spawns the asteroids from the telescope.

Link to comment
Share on other sites

There is something wrong with the Data node for Vessel types (I think).

Basically, my initial "launch the Kerbin/Mun/Minmus Space Station" contracts are not working. Now, all my requirements are coming back green, but nothing is happening. This makes me think it's the data node, as I know this will fail "silently" if it can't find anything.

I know it was working at my last release (22 days ago) - which rather suggests something has gone wrong with the 1.7.x branch.

I'll give you a log if you need it, but I had a look and couldn't see anything helpful. I did try and force a generation through the debug menu, and got "generated contract KerbinStationCore" - then a few lines down "Kerlington is no longer offering contract "Launch the Kerbin Space Station!" - as I said, not helpful.

Reproduction steps:

1) Install KSS and unlock the relevant nodes (happy to provide a save if you want it).

2) Use the CC menu to turn off all the other contracts (not dependent, but it's easier to see if you do that).

3) Profit (or not).

Link to comment
Share on other sites

I have been playing RP0, RO, RSS campaign game for about 2 weeks. I have started getting this error:

Exception occured while loading contract parameter 'ReachAlt' in contract 'SoundingRocketMedium':

System.ArgumentException: 'Earth' is not a valid CelestialBody.

at ContractConfigurator.ConfigNodeUtil.ParseCelestialBodyValue (System.String celestialName) [0x00000] in <filename unknown>:0

at ContractConfigurator.ConfigNodeUtil.ParseSingleValue[CelestialBody] (System.String key, System.String stringValue, Boolean allowExpression) [0x00000] in <filename unknown>:0

at ContractConfigurator.ConfigNodeUtil.ParseValue[CelestialBody] (.ConfigNode configNode, System.String key, Boolean allowExpression) [0x00000] in <filename unknown>:0

at ContractConfigurator.ConfigNodeUtil.ParseValue[CelestialBody] (.ConfigNode configNode, System.String key, .CelestialBody defaultValue) [0x00000] in <filename unknown>:0

at ContractConfigurator.Parameters.ReachState.OnParameterLoad (.ConfigNode node) [0x00000] in <filename unknown>:0

at ContractConfigurator.Parameters.ContractConfiguratorParameter.OnLoad (.ConfigNode node) [0x00000] in <filename unknown>:0

I have S.A.V.E installed and restored a previous game to before this error appeared, but no matter how far I go back, I always get this error on loading the save game.

Please help. Thanks a bunch!

Link to comment
Share on other sites

Recently upgraded to 1.7.3 as well as to SCANsat 14.2. I started running Exception Detector to troubleshoot why I was getting so many errors in the debug log in my career mode save, and I'm getting lots of exceptions being generated such as the below.

ContractConfigurator.ContractConfigurator+<GetAllTypes>d__2c.MoveNext: 1

ContractConfigurator

ContractConfigurator.ExpressionParser.EnumExpressionParser.ParseIdentifier: 3

SCANsat

SCANsat.SCANUtil.getElevation:

Thanks for the help!

EDIT: I don't think its the fault of this mod. I'll check with SCANsat

Edited by thunder175
Link to comment
Share on other sites

There is something wrong with the Data node for Vessel types (I think).

Basically, my initial "launch the Kerbin/Mun/Minmus Space Station" contracts are not working. Now, all my requirements are coming back green, but nothing is happening. This makes me think it's the data node, as I know this will fail "silently" if it can't find anything.

I know it was working at my last release (22 days ago) - which rather suggests something has gone wrong with the 1.7.x branch.

I'll give you a log if you need it, but I had a look and couldn't see anything helpful. I did try and force a generation through the debug menu, and got "generated contract KerbinStationCore" - then a few lines down "Kerlington is no longer offering contract "Launch the Kerbin Space Station!" - as I said, not helpful.

Reproduction steps:

1) Install KSS and unlock the relevant nodes (happy to provide a save if you want it).

2) Use the CC menu to turn off all the other contracts (not dependent, but it's easier to see if you do that).

3) Profit (or not).

Just gave it a try, appeared to work normally for me. Can you add trace=true in your CONTRACT_TYPE, get a log and send it my way?

- - - Updated - - -

I have been playing RP0, RO, RSS campaign game for about 2 weeks. I have started getting this error:

Exception occured while loading contract parameter 'ReachAlt' in contract 'SoundingRocketMedium':

System.ArgumentException: 'Earth' is not a valid CelestialBody.

at ContractConfigurator.ConfigNodeUtil.ParseCelestialBodyValue (System.String celestialName) [0x00000] in <filename unknown>:0

at ContractConfigurator.ConfigNodeUtil.ParseSingleValue[CelestialBody] (System.String key, System.String stringValue, Boolean allowExpression) [0x00000] in <filename unknown>:0

at ContractConfigurator.ConfigNodeUtil.ParseValue[CelestialBody] (.ConfigNode configNode, System.String key, Boolean allowExpression) [0x00000] in <filename unknown>:0

at ContractConfigurator.ConfigNodeUtil.ParseValue[CelestialBody] (.ConfigNode configNode, System.String key, .CelestialBody defaultValue) [0x00000] in <filename unknown>:0

at ContractConfigurator.Parameters.ReachState.OnParameterLoad (.ConfigNode node) [0x00000] in <filename unknown>:0

at ContractConfigurator.Parameters.ContractConfiguratorParameter.OnLoad (.ConfigNode node) [0x00000] in <filename unknown>:0

I have S.A.V.E installed and restored a previous game to before this error appeared, but no matter how far I go back, I always get this error on loading the save game.

Please help. Thanks a bunch!

Someone else reported something similar... seems to be something messed up with RSS or Kopernicus - sounds for some reason the planet name is getting set back to Kerbin.

- - - Updated - - -

Recently upgraded to 1.7.3 as well as to SCANsat 14.2. I started running Exception Detector to troubleshoot why I was getting so many errors in the debug log in my career mode save, and I'm getting lots of exceptions being generated such as the below.

Thanks for the help!

EDIT: I don't think its the fault of this mod. I'll check with SCANsat

Fair enough. If you decide you do need some support here, please provide a bigger excerpt of the exception message - there's not enough there to work with. ;)

Link to comment
Share on other sites

Just gave it a try, appeared to work normally for me. Can you add trace=true in your CONTRACT_TYPE, get a log and send it my way?

- - - Updated - - -

Someone else reported something similar... seems to be something messed up with RSS or Kopernicus - sounds for some reason the planet name is getting set back to Kerbin.

- - - Updated - - -

Fair enough. If you decide you do need some support here, please provide a bigger excerpt of the exception message - there's not enough there to work with. ;)

Thanks and will do! I think I figured out the issue late last night. It was SCANsat that was generating the problem via a messed up upgragde to OPM 1.8. The config files were calling for height maps that were in the wrong spot or missing. A delete and redownload of a fresh copy of OPM 1.8 solved the issue. Sorry for the post. I was confused as to which mod was causing it given the list of generated exceptions. I added this information to the SCANsat thread in case others are having issues. Thanks so much for the wonderful mods!

Link to comment
Share on other sites

New release, lots and lots of little bug fixes. Download now!

Contract Configurator 1.7.4

  • Improved Sigma Binary support (contracts won't get offered for barycenters unless they've been specifically written with that in mind).
  • Changed triggers for Message behaviour to make consistent with other similar behaviours.
  • Fixed issue with loading settings when a contract pack is removed (thanks hyper1on).
  • Fixed duplication issue with settings app launcher icon (thanks ObsessedWithKSP).
  • Fixed issues with hidden parameters being a little to aggressive in hiding children.
  • Fixed completely broken Exclude and ExcludeAll methods (whoops).
  • Fixed FacilityRequirement to actually work outside the space center.
  • Fixed rare contract load exception from part modules without a name field.
  • Fixed issue with conversions from Vessel to VesselIdentifier (thanks severedsolo).
  • Fixed errors in log from loading using legacy values on ChangeVesselOwnership and other behaviours. Now correctly outputs a warning.

Link to comment
Share on other sites

When you disable a contract pack, am I correct in thinking it removes any Active Contracts that you may have that are associated with the said contract pack that has just been disabled? If so, is there any way to counteract this?

I haven't tested, but it should still work even though disabled (ie. stay in the active list). If it doesn't, let me know and I can look into changing that behaviour.

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