Jump to content

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


nightingale

Recommended Posts

9 hours ago, Jim Starluck said:

So, I looked through the changelog and poked around in game searching for it...

 

...there's still no setting or config file we can use to turn off or adjust the "show all contracts all the time" thing, is there?

Nope, and it's likely to stay that way.

Link to comment
Share on other sites

1 hour ago, nightingale said:

Nope, and it's likely to stay that way.

That is disappointing.

A big part of the reason I like Career over either of the other two modes is because contracts can help give me direction, when I'm feeling aimless in the sandbox. But having every single one available all the time kind of negates that; makes it harder to settle on which contracts to take, too easy to take some of them over and over.

If this is how it's going to stay, I may just wind up uninstalling Configurator -- and all the contract packs that rely on it. And I'd rather not do that. ;.;

 

Link to comment
Share on other sites

13 minutes ago, Jim Starluck said:

That is disappointing.

A big part of the reason I like Career over either of the other two modes is because contracts can help give me direction, when I'm feeling aimless in the sandbox. But having every single one available all the time kind of negates that; makes it harder to settle on which contracts to take, too easy to take some of them over and over.

If this is how it's going to stay, I may just wind up uninstalling Configurator -- and all the contract packs that rely on it. And I'd rather not do that. ;.;

It's something I may revisit when I have time - but that's something that is in very short supply, so it's not likely that I would even consider this in the near future (< 3 months).  Sorry!

Link to comment
Share on other sites

20 hours ago, Jim Starluck said:

That is disappointing.

A big part of the reason I like Career over either of the other two modes is because contracts can help give me direction, when I'm feeling aimless in the sandbox. But having every single one available all the time kind of negates that; makes it harder to settle on which contracts to take, too easy to take some of them over and over.

If this is how it's going to stay, I may just wind up uninstalling Configurator -- and all the contract packs that rely on it. And I'd rather not do that. ;.;

 

Talk to your contract pack authors. The ability to make contracts not always appear is there, you just have to write it into the pack.

So to give an example:

In Bases and Stations, there is a contact where you have to evacuate your space station. People complained because under the new system, that contract always generated (which is silly). So, I make CC roll a random number between 1 and 10, if the roll is 2 or under, that contract generates, otherwise it doesn't. (Ie, it only has a 20% chance of appearing). It's not difficult to write in, but the authors would need to add it.

I feel Tourism Plus needs this. Easy tourism missions all the time kinda feels a bit OP, and they pay quite well too.

BTW: Stock has this problem too. Under the new weighting system, if you are spamming easy contracts, that's basically all you are going to see.

Edited by severedsolo
Link to comment
Share on other sites

Does the last version of this mod work with latest version of infernal robotics? I read here and there that they were incompatible.

Edit: I just want more missions about doing experiments in kerbin atmosphere or landed, because they disapear very quickly in career. Is this mod going to help me, or is there a simpler way I can get those early missions later?

Edited by Agustin
Link to comment
Share on other sites

3 hours ago, Agustin said:

Does the last version of this mod work with latest version of infernal robotics? I read here and there that they were incompatible.

Nobody's ever reported anything like that here, so I have to assume it works.

3 hours ago, Agustin said:

Edit: I just want more missions about doing experiments in kerbin atmosphere or landed, because they disapear very quickly in career. Is this mod going to help me, or is there a simpler way I can get those early missions later?

Maybe.  Contract Configurator doesn't add any contracts on its own, it's a toolset for contract packs.  There's a number that do stuff with experiments, but you can try my Field Research contract pack.

Link to comment
Share on other sites

7 hours ago, nightingale said:

Nobody's ever reported anything like that here, so I have to assume it works.

Maybe.  Contract Configurator doesn't add any contracts on its own, it's a toolset for contract packs.  There's a number that do stuff with experiments, but you can try my Field Research contract pack.

This changed my game entirely! Thank you so much! I installed your contract packs and some other as well and I now have a lot of missions to do Ohhh... So glad I installed this... I also installed X science and similar things it changed everything. For the first time I am building and using planes and going all over kerbin.. Also using the timer mod. Sorry to post this nonsense... I am so grateful for all of you-

Edited by Agustin
Link to comment
Share on other sites

3 hours ago, pwhk said:

I have submitted several issues on Github when writing my own contract pack, can anyone take a look? @nightingale

I've seen them, but haven't had a chance to look into them.  It's a busy time with family, so it's not likely that I'll be able to in the next couple days, but will try to early next week.

Link to comment
Share on other sites

9 hours ago, nightingale said:

I've seen them, but haven't had a chance to look into them.  It's a busy time with family, so it's not likely that I'll be able to in the next couple days, but will try to early next week.

Family and christmas first, thats for sure. I would say. :)

Link to comment
Share on other sites

On 12/21/2016 at 10:31 PM, severedsolo said:

Talk to your contract pack authors. The ability to make contracts not always appear is there, you just have to write it into the pack.

So to give an example:

In Bases and Stations, there is a contact where you have to evacuate your space station. People complained because under the new system, that contract always generated (which is silly). So, I make CC roll a random number between 1 and 10, if the roll is 2 or under, that contract generates, otherwise it doesn't. (Ie, it only has a 20% chance of appearing). It's not difficult to write in, but the authors would need to add it.

I feel Tourism Plus needs this. Easy tourism missions all the time kinda feels a bit OP, and they pay quite well too.

BTW: Stock has this problem too. Under the new weighting system, if you are spamming easy contracts, that's basically all you are going to see.

Yeah I did find it weird that I'd now get a bunch of ever-present Field Research and Tourism contracts, but what is really a problem for me is that there is now this weird thing where CC contracts periodically are offered or withdrawn while I'm on the Mission Control screen. What's worse is that if I was looking at a contract at the time, regardless of which contract it is (it could even be active or completed), it would deselect and I have to select it again.

Also I dislike the stock weighting system. I find if I get a bunch of contracts of type X early on, and I accept them early on, well, that particular career save will get a lot more contracts of type X, creating an unstable equilibrium. I pretty much turned it off using the stock contracts.cfg

Edited by Spheniscine
Link to comment
Share on other sites

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

the CC window was open

i left the game to run and rerturnd after ~ 2h

this message was on

i reopened CC window it worked as normal

Link to comment
Share on other sites

1. Is it possible to require a stationary (is this KEO?) orbit to be over KSC?

2. What is the difference between STATIONARY and SYNCHRONOUS for orbit types?

3. For the new parameters of AntennaTransmitPower and AntennaRelayPower, how are they used?  I'm guessing PARAMETER { name = XYZ, type = AntennaRelayPower, minRelayPower = 0.0, maxRelayPower = 200.0 }

4. Without RemoteTech installed, is there any way to test KSC connectivity?

5. Can AllVessels().Where() retrieve only vessels with a specific parameter (e.g. has a specific part, or has AntennaRelayPower above some value)?

Edited by WuphonsReach
added question #5
Link to comment
Share on other sites

So, not sure if I have a bug in maxCompletions and maxSimultaneous

https://github.com/WuphonsReach/KSP-StockAntennaBalance/blob/e7ec0d72b5eb7efc512ce76e1e319fee9405f2ad/Contract_KEO_HG5R.cfg

https://github.com/WuphonsReach/KSP-StockAntennaBalance/blob/e7ec0d72b5eb7efc512ce76e1e319fee9405f2ad/ContractGroup.cfg

Brand new career save (nothing installed except my contract files, Contract Configurator 1.22.2 and ModuleManager 2.7.5).  According to the settings in the contract group and type:

  • ContractGroup - maxCompletions is undefined (defaults to unlimited)
  • ContractGroup - maxSimultaneous is set to 3
  • ContractType - maxCompletions is 5
  • ContractType - maxSimultaneous is set to 1

Looking at the contract in-game shows:

9jrHBEg.png

Which is odd, as I have not run any contracts yet in this career save.

Here's the debug log from the log/ folder.  No errors.

Spoiler

Debug information for CONTRACT_TYPE 'SYBSAB_KEO_HG5R':

Configuration:
CONTRACT_TYPE
{
	targetBody = @StockAntennaBalance:homeworld
	advanceFunds = 18000.0
	failureFunds = 10000.0
	failureReputation = 2.0
	rewardFunds = 48000.0
	rewardReputation = 10.0
	rewardScience = 0.0
	maxSimultaneous = 1
	maxCompletions = 5
	prestige = Trivial
	deadline = 300
	motivation = generic
	subject = generic
	topic = relay satellite
	notes = Please note that this must be a new relay satellite, constructed after the contract is accepted.
	completedMessage = Success! The relay satellite is up and running around @StockAntennaBalance:homeworld.
	synopsis = We want you to build a new communications satellite using a relay antenna of at least 2.0G power (such as the HG-5R or HG-55R antenna) and place it into stationary orbit around @StockAntennaBalance:homeworld.
	title = Launch stationary relay satellite around @StockAntennaBalance:homeworld.
	group = StockAntennaBalance
	name = SYBSAB_KEO_HG5R
	DATA
	{
		relayVessels = AllVessels().Where(v => (v.VesselType() == Relay) && (v.CelestialBody() == @targetBody) && (v.IsOrbiting()))
		requiredValue = false
		type = List<Vessel>
	}
	PARAMETER
	{
		targetBody = @/targetBody
		title = Launch a new relay satellite.
		type = NewVessel
		name = NewVessel
	}
	PARAMETER
	{
		targetBody = @/targetBody
		minQuantity = 1200.0
		resource = ElectricCharge
		title = Have at least @minQuantity electric charge (EC) storage.
		type = HasResourceCapacity
		name = HasResourceCapacityEC
	}
	PARAMETER
	{
		targetBody = @/targetBody
		dissassociateVesselsOnContractCompletion = true
		dissassociateVesselsOnContractCompletion = true
		duration = 15d
		title = Place satellite into a stable orbit for @duration.
		type = VesselParameterGroup
		name = VesselParameterGroup
		PARAMETER
		{
			targetBody = @/targetBody
			partModule = ModuleSAS
			type = PartValidation
			name = PartValidationSAS
		}
		PARAMETER
		{
			targetBody = @/targetBody
			partModule = ModuleCommand
			type = PartValidation
			name = PartValidationCommand
		}
		PARAMETER
		{
			targetBody = @/targetBody
			part = SYB_Squad_HighGainAntenna
			part = HighGainAntenna5
			type = PartValidation
			name = PartValidationAntenna
		}
		PARAMETER
		{
			targetBody = @/targetBody
			minQuantity = @/HasResourceCapacityEC/minQuantity * 0.1
			resource = ElectricCharge
			title = Maintain at least @minQuantity electric charge
			type = HasResource
			name = HasResourceEC
		}
		PARAMETER
		{
			targetBody = @/targetBody
			deviationWindow = 3.0
			index = 0
			displayNotes = true
			type = ReachSpecificOrbit
			name = ReachSpecificOrbit0
		}
	}
	BEHAVIOUR
	{
		type = OrbitGenerator
		name = OrbitGenerator
		RANDOM_ORBIT
		{
			targetBody = @/targetBody
			deviationWindow = 2.0
			eccentricity = 0.0
			inclinationFactor = 0.8
			type = STATIONARY
		}
	}
	REQUIREMENT
	{
		targetBody = @/targetBody
		type = Orbit
		name = Orbit
	}
	REQUIREMENT
	{
		targetBody = @/targetBody
		tech = basicScience
		type = CanResearchTech
		name = CanResearchTech1
	}
}

Data Nodes:
SYBSAB_KEO_HG5R
    StockAntennaBalance:name = StockAntennaBalance, deterministic = True
    StockAntennaBalance:displayName = Stock Antenna Balance, deterministic = True
    StockAntennaBalance:minVersion = 1.22.2, deterministic = True
    StockAntennaBalance:maxCompletions = 0, deterministic = True
    StockAntennaBalance:maxSimultaneous = 3, deterministic = True
    StockAntennaBalance:disabledContractType = [], deterministic = True
    StockAntennaBalance:agent = null, deterministic = True
    StockAntennaBalance:sortKey = Stock Antenna Balance, deterministic = True
    StockAntennaBalance:tip = Cutting the Cord..., deterministic = True
    StockAntennaBalance:homeworld = Kerbin (CelestialBody), deterministic = True
    name = SYBSAB_KEO_HG5R, deterministic = True
    trace = False, deterministic = True
    title = Launch stationary relay satellite around Kerbin., deterministic = True
    tag = , deterministic = True
    description = null, deterministic = True
    topic = relay satellite, deterministic = True
    subject = generic, deterministic = True
    motivation = generic, deterministic = True
    notes = Please note that this must be a new relay satellite, constructed after the contract is accepted., deterministic = True
    synopsis = We want you to build a new communications satellite using a relay antenna of at least 2.0G power (such as the HG-5R or HG-55R antenna) and place it into stationary orbit around Kerbin., deterministic = True
    completedMessage = Success! The relay satellite is up and running around Kerbin., deterministic = True
    agent = null, deterministic = True
    minExpiry = 5, deterministic = True
    maxExpiry = 100, deterministic = True
    deadline = 300, deterministic = True
    cancellable = True, deterministic = True
    declinable = True, deterministic = True
    autoAccept = False, deterministic = True
    prestige = [ Trivial ], deterministic = True
    targetBody = Kerbin (CelestialBody), deterministic = True
    maxCompletions = 5, deterministic = True
    maxSimultaneous = 1, deterministic = True
    rewardFunds = 48000, deterministic = True
    rewardReputation = 10, deterministic = True
    rewardScience = 0, deterministic = True
    failureFunds = 10000, deterministic = True
    failureReputation = 2, deterministic = True
    advanceFunds = 18000, deterministic = True
    relayVessels = [], deterministic = False
    genericTitle = Launch stationary relay satellite around Kerbin., deterministic = True
    genericDescription = null, deterministic = True
    sortKey = Launch stationary relay satellite around Kerbin., deterministic = True

	NewVessel
	    type = NewVessel, deterministic = True
	    name = NewVessel, deterministic = True
	    targetBody = Kerbin (CelestialBody), deterministic = True
	    rewardFunds = 0, deterministic = True
	    rewardReputation = 0, deterministic = True
	    rewardScience = 0, deterministic = True
	    failureFunds = 0, deterministic = True
	    failureReputation = 0, deterministic = True
	    optional = False, deterministic = True
	    disableOnStateChange = null, deterministic = True
	    completeInSequence = False, deterministic = True
	    hidden = False, deterministic = True
	    hideChildren = False, deterministic = True
	    title = Launch a new relay satellite., deterministic = True
	    notes = null, deterministic = True
	    completedMessage = null, deterministic = True
	
	HasResourceCapacityEC
	    type = HasResourceCapacity, deterministic = True
	    name = HasResourceCapacityEC, deterministic = True
	    targetBody = Kerbin (CelestialBody), deterministic = True
	    rewardFunds = 0, deterministic = True
	    rewardReputation = 0, deterministic = True
	    rewardScience = 0, deterministic = True
	    failureFunds = 0, deterministic = True
	    failureReputation = 0, deterministic = True
	    optional = False, deterministic = True
	    disableOnStateChange = null, deterministic = True
	    completeInSequence = False, deterministic = True
	    hidden = False, deterministic = True
	    hideChildren = False, deterministic = True
	    title = Have at least 1200 electric charge (EC) storage., deterministic = True
	    notes = null, deterministic = True
	    completedMessage = null, deterministic = True
	    minQuantity = 1200, deterministic = True
	    maxQuantity = 1.79769313486232E+308, deterministic = True
	    resource = PartResourceDefinition, deterministic = True
	
	VesselParameterGroup
	    type = VesselParameterGroup, deterministic = True
	    name = VesselParameterGroup, deterministic = True
	    targetBody = Kerbin (CelestialBody), deterministic = True
	    rewardFunds = 0, deterministic = True
	    rewardReputation = 0, deterministic = True
	    rewardScience = 0, deterministic = True
	    failureFunds = 0, deterministic = True
	    failureReputation = 0, deterministic = True
	    optional = False, deterministic = True
	    disableOnStateChange = null, deterministic = True
	    completeInSequence = False, deterministic = True
	    hidden = False, deterministic = True
	    hideChildren = False, deterministic = True
	    title = Place satellite into a stable orbit for 15 days., deterministic = True
	    notes = null, deterministic = True
	    completedMessage = null, deterministic = True
	    duration = 15 days, deterministic = True
	    define = null, deterministic = True
	    defineList = null, deterministic = True
	    vessel = [], deterministic = True
	    dissassociateVesselsOnContractFailure = True, deterministic = True
	    dissassociateVesselsOnContractCompletion = True, deterministic = True
	    hideVesselName = False, deterministic = True
	
		PartValidationSAS
		    type = PartValidation, deterministic = True
		    name = PartValidationSAS, deterministic = True
		    targetBody = Kerbin (CelestialBody), deterministic = True
		    rewardFunds = 0, deterministic = True
		    rewardReputation = 0, deterministic = True
		    rewardScience = 0, deterministic = True
		    failureFunds = 0, deterministic = True
		    failureReputation = 0, deterministic = True
		    optional = False, deterministic = True
		    disableOnStateChange = null, deterministic = True
		    completeInSequence = False, deterministic = True
		    hidden = False, deterministic = True
		    hideChildren = False, deterministic = True
		    title = null, deterministic = True
		    notes = null, deterministic = True
		    completedMessage = null, deterministic = True
		    minCount = 1, deterministic = True
		    maxCount = 2147483647, deterministic = True
		    part = [], deterministic = True
		    partModule = [ ModuleSAS ], deterministic = True
		    partModuleType = [], deterministic = True
		    category = null, deterministic = True
		    manufacturer = null, deterministic = True
		
		PartValidationCommand
		    type = PartValidation, deterministic = True
		    name = PartValidationCommand, deterministic = True
		    targetBody = Kerbin (CelestialBody), deterministic = True
		    rewardFunds = 0, deterministic = True
		    rewardReputation = 0, deterministic = True
		    rewardScience = 0, deterministic = True
		    failureFunds = 0, deterministic = True
		    failureReputation = 0, deterministic = True
		    optional = False, deterministic = True
		    disableOnStateChange = null, deterministic = True
		    completeInSequence = False, deterministic = True
		    hidden = False, deterministic = True
		    hideChildren = False, deterministic = True
		    title = null, deterministic = True
		    notes = null, deterministic = True
		    completedMessage = null, deterministic = True
		    minCount = 1, deterministic = True
		    maxCount = 2147483647, deterministic = True
		    part = [], deterministic = True
		    partModule = [ ModuleCommand ], deterministic = True
		    partModuleType = [], deterministic = True
		    category = null, deterministic = True
		    manufacturer = null, deterministic = True
		
		PartValidationAntenna
		    type = PartValidation, deterministic = True
		    name = PartValidationAntenna, deterministic = True
		    targetBody = Kerbin (CelestialBody), deterministic = True
		    rewardFunds = 0, deterministic = True
		    rewardReputation = 0, deterministic = True
		    rewardScience = 0, deterministic = True
		    failureFunds = 0, deterministic = True
		    failureReputation = 0, deterministic = True
		    optional = False, deterministic = True
		    disableOnStateChange = null, deterministic = True
		    completeInSequence = False, deterministic = True
		    hidden = False, deterministic = True
		    hideChildren = False, deterministic = True
		    title = null, deterministic = True
		    notes = null, deterministic = True
		    completedMessage = null, deterministic = True
		    minCount = 1, deterministic = True
		    maxCount = 2147483647, deterministic = True
		    part = [ HighGainAntenna5, SYB.Squad.HighGainAntenna ], deterministic = True
		    partModule = [], deterministic = True
		    partModuleType = [], deterministic = True
		    category = null, deterministic = True
		    manufacturer = null, deterministic = True
		
		HasResourceEC
		    type = HasResource, deterministic = True
		    name = HasResourceEC, deterministic = True
		    targetBody = Kerbin (CelestialBody), deterministic = True
		    rewardFunds = 0, deterministic = True
		    rewardReputation = 0, deterministic = True
		    rewardScience = 0, deterministic = True
		    failureFunds = 0, deterministic = True
		    failureReputation = 0, deterministic = True
		    optional = False, deterministic = True
		    disableOnStateChange = null, deterministic = True
		    completeInSequence = False, deterministic = True
		    hidden = False, deterministic = True
		    hideChildren = False, deterministic = True
		    title = Maintain at least 120 electric charge, deterministic = True
		    notes = null, deterministic = True
		    completedMessage = null, deterministic = True
		    minQuantity = 120, deterministic = True
		    maxQuantity = 1.79769313486232E+308, deterministic = True
		    resource = ElectricCharge, deterministic = True
		
		ReachSpecificOrbit0
		    type = ReachSpecificOrbit, deterministic = True
		    name = ReachSpecificOrbit0, deterministic = True
		    targetBody = Kerbin (CelestialBody), deterministic = True
		    rewardFunds = 0, deterministic = True
		    rewardReputation = 0, deterministic = True
		    rewardScience = 0, deterministic = True
		    failureFunds = 0, deterministic = True
		    failureReputation = 0, deterministic = True
		    optional = False, deterministic = True
		    disableOnStateChange = null, deterministic = True
		    completeInSequence = False, deterministic = True
		    hidden = False, deterministic = True
		    hideChildren = False, deterministic = True
		    title = null, deterministic = True
		    notes = null, deterministic = True
		    completedMessage = null, deterministic = True
		    index = 0, deterministic = True
		    displayNotes = True, deterministic = True
		    deviationWindow = 3, deterministic = True
		
	OrbitGenerator
	    type = OrbitGenerator, deterministic = True
	    name = OrbitGenerator, deterministic = True
	    targetBody = null, deterministic = True
	
		ORBIT_0
		    type = STATIONARY, deterministic = True
		    count = 1, deterministic = True
		    altitudeFactor = 0.8, deterministic = True
		    inclinationFactor = 0.8, deterministic = True
		    eccentricity = 0, deterministic = True
		    deviationWindow = 2, deterministic = True
		    targetBody = Kerbin (CelestialBody), deterministic = True
		
	Orbit
	    type = Orbit, deterministic = True
	    name = Orbit, deterministic = True
	    title = null, deterministic = True
	    hideChildren = False, deterministic = True
	    targetBody = Kerbin (CelestialBody), deterministic = True
	    checkOnActiveContract = False, deterministic = True
	    invertRequirement = False, deterministic = True
	    checkType = null, deterministic = True
	
	CanResearchTech1
	    type = CanResearchTech, deterministic = True
	    name = CanResearchTech1, deterministic = True
	    title = null, deterministic = True
	    hideChildren = False, deterministic = True
	    targetBody = Kerbin (CelestialBody), deterministic = True
	    checkOnActiveContract = False, deterministic = True
	    invertRequirement = False, deterministic = True
	    tech = [ basicScience ], deterministic = True
	

Output log:
[INFO] ContractConfigurator.ContractType: Loading CONTRACT_TYPE: 'SYBSAB_KEO_HG5R'
[INFO] ContractConfigurator.ContractType: Successfully loaded CONTRACT_TYPE 'SYBSAB_KEO_HG5R'

 

Is there a reason that ActualCompletions() isn't just:
 

Quote

return ConfiguredContract.CompletedContracts.Count(c => c.contractType != null && c.contractType.name == name);

(you changed that back on July 6th)

Edited by WuphonsReach
Link to comment
Share on other sites

@WuphonsReach Forgive me if I'm missing something obvious, but isn't that showing what you would expect? From the screenshot you posted, it looks like it is saying that you have not completed the contract 5 times yet (that is, it "met" the requirement of ContractType MaxCompletions being 5) and you do not have more than 3 offered/active Stock Antenna Balance contracts at a time (that is, it "met" the requirement of ContractGroup MaxSimultaneous being 3). That matches with what you said, namely, that you haven't run any contracts yet in that save. From your picture, it looks like if you perform an orbit of Kerbin and are able to research Basic Science, you will then meet all of the requirements, and the contract will be offered. Isn't that what's supposed to happen?

Link to comment
Share on other sites

According to the wiki, I should be able to set a requirement{} block which is only true if a particular tech is not researched.

https://github.com/jrossignol/ContractConfigurator/wiki/CanResearchTech-Requirement

But requirement{} blocks don't have a "Not" set, unlike parameters.  How do you specify that you want the contract to be offered if tech A is researched, but not if tech B is researched?

Link to comment
Share on other sites

5 hours ago, WuphonsReach said:

2. What is the difference between STATIONARY and SYNCHRONOUS for orbit types?

I don't know about the contracts specifics, but:

STATIONARY orbits are fixed over a location. They must be equatorial and at the exact right altitude. Eccentricity is 0 and Ap and Pe are equal to the correct altitude for that orbit type.

SYNCHRONOUS orbits pass over the same location at the same time every day. They are generally similar to stationary orbits in that they orbit prograde around the planet with a 24 (for Earth) or 6 (for Kerbin) hour orbit that is likely pretty circular, but that is not necessary so long as, every 24 or 6 hours, they are at the exact same spot. They could be very eccentric, retrograde, polar, even 3 or 2 hours long... doesn't matter so long as at the same time every day they're over the same spot.

Link to comment
Share on other sites

https://github.com/jrossignol/ContractConfigurator/wiki/HasAntenna-Parameter

That example uses "minPower" and "maxPower", when it's in the code as "minAntennaPower" and "maxAntennaPower".  The following PARAMETER works in my tests.

PARAMETER
{
    name = AntennaRelayPower
    type = HasAntenna
    antennaType = RELAY
    minAntennaPower = @/minAntennaPowerG * 1000000000
    //maxAntennaPower = 
}

(I have yet to complete a contract with it, but it did parse correctly.)

Link to comment
Share on other sites

43 minutes ago, WuphonsReach said:

According to the wiki, I should be able to set a requirement{} block which is only true if a particular tech is not researched.

https://github.com/jrossignol/ContractConfigurator/wiki/CanResearchTech-Requirement

But requirement{} blocks don't have a "Not" set, unlike parameters.  How do you specify that you want the contract to be offered if tech A is researched, but not if tech B is researched?

I haven't played with this personally, but I think you would need to use the invertRequirement function, described on this page: https://github.com/jrossignol/ContractConfigurator/wiki/Requirements

Link to comment
Share on other sites

13 hours ago, WuphonsReach said:

But requirement{} blocks don't have a "Not" set, unlike parameters.  How do you specify that you want the contract to be offered if tech A is researched, but not if tech B is researched?

 

12 hours ago, Merkov said:

I haven't played with this personally, but I think you would need to use the invertRequirement function, described on this page: https://github.com/jrossignol/ContractConfigurator/wiki/Requirements

What Merkov said - you'd put "invertRequirement = true" under the requirement for tech B.

Quote

5. Can AllVessels().Where() retrieve only vessels with a specific parameter (e.g. has a specific part, or has AntennaRelayPower above some value)?

Yup. That's exactly what that function is for. You can filter by anything in the Vessel Methods on the wiki

Quote

3. For the new parameters of AntennaTransmitPower and AntennaRelayPower, how are they used?  I'm guessing PARAMETER { name = XYZ, type = AntennaRelayPower, minRelayPower = 0.0, maxRelayPower = 200.0 }

See Docs

Edited by severedsolo
Link to comment
Share on other sites

Does it matter where the agencies folders included with many mods is located? I'm noticing that a lot of mods by default have the agencies folder in the gamedata folder instead of inside their own mod folder, and a lot of them also have a file called agents.cfg, which creates conflicts. 

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