Jump to content

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


nightingale

Recommended Posts

Alright - I am 95% certain I'm hitting a CC bug. (1.1.3)

If you dock to a defined vessel (LKOStationNEW in my case) and then try to run science, the experiment will technically run, but no popup will appear, and it won't satisfy the CollectScience parameter.

Just in case it's my contract here it is: https://github.com/severedsolo/KerbinSpaceStation/blob/Dev-Branch/ScienceExperimentModule.cfg

output_log is here: https://www.dropbox.com/s/ivrtklna104p7ty/output_log.txt?dl=0

Edit: It seems it's even worse than that, it also prevents vessels from undocking from the defined vessel. Also, even if you recover the whole thing (ie the whole defined vessel) - you get no credit for science (either in points, or contract completion)

Edited by severedsolo
Link to comment
Share on other sites

i'll be back shortly.

I see the error messages now. My resolution was not good enough to fit the window on my screen :/

Now then: Apparently, I get these messages, but I cannot find any way to copy/paste them, so I'm going to type them out on my ipad...

[Error] ContractConfigurator.ContractType: CONTRACT_TYPE 'Mission1': Error parsing group

[Exception] System.ArgumentException : No contract group with name 'ContractGroup' at ContractConfigurator.CigNodeUtil.ParseSingleValue[ContractGroup](System.Stringkey.System.String stringValue, Boolean allowExpression) [0x0000] in <filename unknown>:0

After testing, it seems I didn't set up a contract group node in the .cfg

I have no idea why Mission1 is not a valid name for the ContractType


Update: Everything works correctly now! I created a contractgroup and now everything's fine. Edited by TruthQuark
UPDATE
Link to comment
Share on other sites

Athywren - I fixed HasAstronaut. It now checks on any crew roster change (including recovery/assignment to vessel) as well as on changing active vessels - so even if it's not 100% it should be a lot better than before. Let me know if you see any issues (link if you want to do early testing before release).

You are a beautiful person. I'll go check it now. :)

See my face? :D This is my happy face. Works perfectly.

Now, to make sure the mission objectives are clear to the end user, design a decent flag for the Kerbal Resources Department (the placeholder I'm using is amazingly ugly), maybe tweak the rewards, and get ready to release it into the wild when you update.

Link to comment
Share on other sites

This mod looks great! Just wondering, is it possible to use a duration parameter alone with no other parameters? In my case, make a single starting contract whose only function is to complete after 1 second, adding X amount of science as a reward.

It may sound strange, but that would save me literally hours of trying to figure out how to do it in c#. Thanks

Don't see any reason why it wouldn't work.

Alright - I am 95% certain I'm hitting a CC bug. (1.1.3)

If you dock to a defined vessel (LKOStationNEW in my case) and then try to run science, the experiment will technically run, but no popup will appear, and it won't satisfy the CollectScience parameter.

Just in case it's my contract here it is: https://github.com/severedsolo/KerbinSpaceStation/blob/Dev-Branch/ScienceExperimentModule.cfg

output_log is here: https://www.dropbox.com/s/ivrtklna104p7ty/output_log.txt?dl=0

Edit: It seems it's even worse than that, it also prevents vessels from undocking from the defined vessel. Also, even if you recover the whole thing (ie the whole defined vessel) - you get no credit for science (either in points, or contract completion)

Hard to say, since I reworked a bunch of stuff in CollectScience (including the section in question) for 1.2.0. I suspect the bug will be gone with the new release, please test and let me know (releasing today if everything goes well).

Link to comment
Share on other sites

Hi there,

thanks for this mod, I use it with some contract packs. I don't achieve to reach parameter : traint = pilot.

I tried with both pilot kerbal in MK1 pod command but this parameter is in red at the beginning of each flight.

Could you help me please ?

Thanks

Link to comment
Share on other sites

Hi there,

thanks for this mod, I use it with some contract packs. I don't achieve to reach parameter : traint = pilot.

I tried with both pilot kerbal in MK1 pod command but this parameter is in red at the beginning of each flight.

Could you help me please ?

Thanks

I need a bit more info. Can you show me the contract you've configured? I assume there's no validation errors/warnings in the alt-f10 debug menu?

Link to comment
Share on other sites

I need a bit more info. Can you show me the contract you've configured? I assume there's no validation errors/warnings in the alt-f10 debug menu?

Hi

a screenshot here :

http://imgur.com/dx0wyXV

The contract is called Launch a kerbal into orbit.

I see that there's problem with spacetux, dunno how to check this

Thanks a lot !

Link to comment
Share on other sites

New version out! Download now!

Contract Configurator 1.2.0

  • Reduced ratio of stock vs. contract configurator contracts further to favor non-contract configurator a little more.
  • Support in CollectScience for multiple experiments.
  • Added activeUniqueValue flag for DATA nodes to check unique values for active/offered contracts only.
  • Misc new functions for science expressions.
  • Lots of fixes to science expression internals.
  • Improved error handling for contract generation failures.
  • Fixed uniqueValue in DATA nodes to work with Vessels.
  • Fixed issue where ContractComplete throws errors if the related contract didn't load.
  • Fixed issue with defaulting of targetBody on behaviours when an expression was used for the main targetBody.
  • Fixed issue with WaypointGenerator behaviour getting inititalized twice (thanks AlphaAsh).
  • Fixed issue with SpawnKerbal/SpawnVessel not working at all for splashed Kerbals/vessels (thanks AlphaAsh).
  • Fixed HasAstronaut to check for changes to kerbals in more scenarios (thanks Athywren).
  • Fixed expression parser issue that prevented contract notes from showing up correctly in Tourism Plus investory contract (thanks khearn).
  • Minor bug fixes.

- - - Updated - - -

http://imgur.com/a/setcF

is that you need ? Thanks

I don't know from which contract pack this mission comes from

It's from tjsnh's Advanced Progression. I just tried it, and that same contract worked for me. Double check with the new release (and make sure you're up to date on the contract pack as well). Also, check the obvious stuff, like making sure you have a pilot on board and you haven't played around with the professions (or don't have mods that do weird things to them).

Link to comment
Share on other sites

I just downloaded and installed last version, same for contract packs but it was already good.

I have 2 contracts from Tourism pack I think, and here is what I have :

http://imgur.com/CwVMbrT

Tourists are OK but still problem with pilot. I have these mods :

http://imgur.com/4HtUjbw

all are up to date, maybe one is in conflict ?

Thanks

Link to comment
Share on other sites

New version out! Download now!

Contract Configurator 1.2.0

  • Reduced ratio of stock vs. contract configurator contracts further to favor non-contract configurator a little more.
  • Support in CollectScience for multiple experiments.
  • Added activeUniqueValue flag for DATA nodes to check unique values for active/offered contracts only.
  • Misc new functions for science expressions.
  • Lots of fixes to science expression internals.
  • Improved error handling for contract generation failures.
  • Fixed uniqueValue in DATA nodes to work with Vessels.
  • Fixed issue where ContractComplete throws errors if the related contract didn't load.
  • Fixed issue with defaulting of targetBody on behaviours when an expression was used for the main targetBody.
  • Fixed issue with WaypointGenerator behaviour getting inititalized twice (thanks AlphaAsh).
  • Fixed issue with SpawnKerbal/SpawnVessel not working at all for splashed Kerbals/vessels (thanks AlphaAsh).
  • Fixed HasAstronaut to check for changes to kerbals in more scenarios (thanks Athywren).
  • Fixed expression parser issue that prevented contract notes from showing up correctly in Tourism Plus investory contract (thanks khearn).
  • Minor bug fixes.

- - - Updated - - -

It's from tjsnh's Advanced Progression. I just tried it, and that same contract worked for me. Double check with the new release (and make sure you're up to date on the contract pack as well). Also, check the obvious stuff, like making sure you have a pilot on board and you haven't played around with the professions (or don't have mods that do weird things to them).

Sounds awesome.

One question though:

Is there a way to reward science upon contract failure? I see failurefunds and failurereputation, but no failurescience.

If there isn't a way, is it possible to create a 'ghost' contract that completes the moment you accept it and rewards science?

Link to comment
Share on other sites

Hard to say, since I reworked a bunch of stuff in CollectScience (including the section in question) for 1.2.0. I suspect the bug will be gone with the new release, please test and let me know (releasing today if everything goes well).

Sorry still not working =/ it freed up the docking - but the science still doesn't apply properly, and I can't recover the vessel. If it helps I'm trying to recover a CrewReport - the vessel says it recovered I get the "these crew members are back" screen - but the vessel is still there.

Edit: don't know if it helps, but I deleted the science contract in my pack, and I was able to recover the vessel. So it looks like it falls over when it checks the CollectScience parameter on recovery?

Edit2: also I'm getting:

Exception occured while saving contract contract 'Evacuate':
System.NullReferenceException: Object reference not set to an instance of an object
at ContractConfigurator.ConfiguredContract.OnSave (.ConfigNode node) [0x00000] in <filename unknown>:0

occasionally.

Save: https://www.dropbox.com/s/1toby7nw6aewmzv/Testbed.zip?dl=0

Edited by severedsolo
Link to comment
Share on other sites

I just downloaded and installed last version, same for contract packs but it was already good.

I have 2 contracts from Tourism pack I think, and here is what I have :

http://imgur.com/CwVMbrT

Tourists are OK but still problem with pilot. I have these mods :

http://imgur.com/4HtUjbw

all are up to date, maybe one is in conflict ?

Thanks

Sounds like one is in conflict... but none of them jump out as something that would cause a problem. Can you provide a log file, and I'll take a look to see if that helps?

Sounds awesome.

One question though:

Is there a way to reward science upon contract failure? I see failurefunds and failurereputation, but no failurescience.

If there isn't a way, is it possible to create a 'ghost' contract that completes the moment you accept it and rewards science?

Note that failureFunds and failureReputation are funds/rep that are taken away on contract failure. So without C# code, there's no way to reward anything on contract failure. In terms of the ghost contract, you can do a dummy parameter (like the timer) and set the autoAccept on the contract to true (like the stock speed/distance/height record contracts).

Sorry still not working =/ it freed up the docking - but the science still doesn't apply properly, and I can't recover the vessel. If it helps I'm trying to recover a CrewReport - the vessel says it recovered I get the "these crew members are back" screen - but the vessel is still there.

Edit: don't know if it helps, but I deleted the science contract in my pack, and I was able to recover the vessel. So it looks like it falls over when it checks the CollectScience parameter on recovery?

Edit2: also I'm getting:

Exception occured while saving contract contract 'Evacuate':
System.NullReferenceException: Object reference not set to an instance of an object
at ContractConfigurator.ConfiguredContract.OnSave (.ConfigNode node) [0x00000] in <filename unknown>:0

occasionally.

Save: https://www.dropbox.com/s/1toby7nw6aewmzv/Testbed.zip?dl=0

I have a possible fix for your issue, can you try the dev version here?

EDIT: Too much going on at once - I have a fix for the OnSave exception, need a new log under 1.2.0 for CollectScience.

Edited by nightingale
Link to comment
Share on other sites

Sounds like one is in conflict... but none of them jump out as something that would cause a problem. Can you provide a log file, and I'll take a look to see if that helps?

Sure, how do I do that ?

Thanks

Link to comment
Share on other sites

Note that failureFunds and failureReputation are funds/rep that are taken away on contract failure. So without C# code, there's no way to reward anything on contract failure. In terms of the ghost contract, you can do a dummy parameter (like the timer) and set the autoAccept on the contract to true (like the stock speed/distance/height record contracts).

Something like this?


PARAMETER
{
name = All
type = All
title = 1 second
TIMER
{
name = Timer
type = Timer
duration = 1s
}
}

Link to comment
Share on other sites

Sure, how do I do that ?

Thanks

See this post.

Something like this?


PARAMETER
{
name = All
type = All
title = 1 second
TIMER
{
name = Timer
type = Timer
duration = 1s
}
}

From the documentation:

PARAMETER{
name = Timer
type = Timer


// The duration the timer is set to. Can specify values in years (y),
// days (d), hours (h), minutes (m), seconds (s) or any combination of
// those.
duration = 1s
}

No need to wrap it in an All parameter.

Link to comment
Share on other sites

Hello,

Just received a message when playing KSP related to Contract Configurator. Here is the message windows content:

Exception occured while attempt to generate contract of type 'TargetedMunImpact':

System.NullReferenceException: Object reference not set to an instance of an object

at ContractConfigurator.Behaviour.WaypointGenerator.Initialize () [0x00000] in <filename unknown>:0

at ContractConfigurator.Behaviour.WaypointGenerator..ctor (ContractConfigurator.Behaviour.WaypointGenerator orig, Contracts.Contract contract) [0x00000] in <filename unknown>:0

at ContractConfigurator.Behaviour.WaypointGeneratorFactory.Generate (ContractConfigurator.ConfiguredContract contract) [0x00000] in <filename unknown>:0

at ContractConfigurator.BehaviourFactory.GenerateBehaviours (ContractConfigurator.ConfiguredContract contract, System.Collections.Generic.List`1 behaviourNodes) [0x00000] in <filename unknown>:0

at ContractConfigurator.ContractType.GenerateBehaviours (ContractConfigurator.ConfiguredContract contract) [0x00000] in <filename unknown>:0

at ContractConfigurator.ConfiguredContract.Generate () [0x00000] in <filename unknown>:0

This seems to be related to a contract pack I have installed. The thing about "TargetedMunImpact" suggest it could be from the Spacetux - Unmanned Contracts pack.

I received this exact same error 3 times. I am using Contract Configurator 1.2.0

Edited by Galenmacil
Link to comment
Share on other sites

Hello,

Just received a message when playing KSP related to Contract Configurator. Here is the message windows content:

Exception occured while attempt to generate contract of type 'TargetedMunImpact':

System.NullReferenceException: Object reference not set to an instance of an object

at ContractConfigurator.Behaviour.WaypointGenerator.Initialize () [0x00000] in <filename unknown>:0

at ContractConfigurator.Behaviour.WaypointGenerator..ctor (ContractConfigurator.Behaviour.WaypointGenerator orig, Contracts.Contract contract) [0x00000] in <filename unknown>:0

at ContractConfigurator.Behaviour.WaypointGeneratorFactory.Generate (ContractConfigurator.ConfiguredContract contract) [0x00000] in <filename unknown>:0

at ContractConfigurator.BehaviourFactory.GenerateBehaviours (ContractConfigurator.ConfiguredContract contract, System.Collections.Generic.List`1 behaviourNodes) [0x00000] in <filename unknown>:0

at ContractConfigurator.ContractType.GenerateBehaviours (ContractConfigurator.ConfiguredContract contract) [0x00000] in <filename unknown>:0

at ContractConfigurator.ConfiguredContract.Generate () [0x00000] in <filename unknown>:0

This seems to be related to a contract pack I have installed. The thing about "TargetedMunImpact" suggest it could be from the Spacetux - Unmanned Contracts pack.

I received this exact same error 3 times. I am using Contract Configurator 1.2.0

Thanks! I'll looking into this and get a fix out hopefully soon.

Link to comment
Share on other sites

The On Save issue is (so far) so good on latest dev version - but I wasn't getting it every time so hard to be sure.

Log excerpt for science bug:


Checking crewReport@KerbinInSpaceLow against

(Filename: C:/buildslave/unity/build/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 56)

NullReferenceException: Object reference not set to an instance of an object
at ContractConfigurator.Parameters.CollectScienceCustom.CheckSubject (System.String exp, .ScienceSubject subject) [0x00000] in <filename unknown>:0

at ContractConfigurator.Parameters.CollectScienceCustom.OnExperimentDeployed (.ScienceData scienceData) [0x00000] in <filename unknown>:0

at EventData`1[ScienceData].Fire (.ScienceData data) [0x00000] in <filename unknown>:0

at ModuleScienceExperiment+.MoveNext () [0x00000] in <filename unknown>:0

Full log: https://www.dropbox.com/s/ivrtklna104p7ty/output_log.txt?dl=0

Link to comment
Share on other sites

The On Save issue is (so far) so good on latest dev version - but I wasn't getting it every time so hard to be sure.

Log excerpt for science bug:


Checking crewReport@KerbinInSpaceLow against

(Filename: C:/buildslave/unity/build/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 56)

NullReferenceException: Object reference not set to an instance of an object
at ContractConfigurator.Parameters.CollectScienceCustom.CheckSubject (System.String exp, .ScienceSubject subject) [0x00000] in <filename unknown>:0

at ContractConfigurator.Parameters.CollectScienceCustom.OnExperimentDeployed (.ScienceData scienceData) [0x00000] in <filename unknown>:0

at EventData`1[ScienceData].Fire (.ScienceData data) [0x00000] in <filename unknown>:0

at ModuleScienceExperiment+.MoveNext () [0x00000] in <filename unknown>:0

Full log: https://www.dropbox.com/s/ivrtklna104p7ty/output_log.txt?dl=0

I think I found the issue - when you get a chance, please grab the latest dll from GitHub and git it another go - I'll probably release tomorrow afternoon.

Link to comment
Share on other sites

Hello.

I come with a new set of problems.


CONTRACT_TYPE
{
name = Mission0
title = The World Ends
group = ContractGroup
description = The Kerbals once formed a vast civilization that spanned their entire planet. Simple-minded yet technologically advanced, they saw their home as their playground and never dream of going higher than the sky. Over the course of millennia, they drained their planet dry. However, millions of light years away, a massive star collapses to form a black hole. The energies released as gamma rays converge on the Kerbol System and blast it with billions of yottajoules of energy. All life is extinguished on Kerbin's hemisphere instantly. The atmosphere bursts into flame and the oceans rise as titanic walls of steam. In the last instants before the thermal wave engulfs the planet, a few scientists and engineers manage to reach underground bunkers lock themselves up.
synopsis = The Beginning.
completedMessage = The sensors detect cool, dry air outside. Slowly, the bunker doors open...
agent = TheSurvivors
minExpiry = 1000.0
maxExpiry = 1000.0
deadline = 1000.0
cancellable = False
declinable = False
autoAccept = False
prestige = Trivial
targetBody = Kerbin
maxCompletions = 1
maxSimultaneous = 1
rewardScience = 20.0
rewardReputation = 0.0
rewardFunds = 0.0
failureReputation = 0.0
failureFunds = 0.0
advanceFunds = 0.0
weight = 1.0
PARAMETER
{
name = Timer
type = Timer
duration = 10s
}
}
{
name = Mission1
title = The Beginning
group = ContractGroup
description = The world ended with a violent flash of gamma ray light. It's been 100 years now. We survived in this bunker, but it isn't the only one we built. Others could have pulled through, in other protected facilities... Can we visit the old research center to see if there's anyone left? They built the first bunkers. Government officials would have been the first to be protected. They'd know what to do.
synopsis = The first steps.
completedMessage = Sadly, it seems that we're on our own now. There's no trace left of the green cities, nor any government. You're the highest authority now.
agent = TheSurvivors
minExpiry = 1000.0
maxExpiry = 1000.0
deadline = 1000.0
cancellable = False
declinable = False
autoAccept = False
prestige = Trivial
targetBody = Kerbin
maxCompletions = 1
maxSimultaneous = 1
rewardScience = 5.0
rewardReputation = 20.0
rewardFunds = 1000.0
failureReputation = 0.0
failureFunds = 0.0
advanceFunds = 0.0
weight = 1.0
PARAMETER
{
name = All
type = All
title = Send a Pilot
PARAMETER
{
name = HasCrew
type = HasCrew
trait = Pilot
minCrew = 1
}
PARAMETER
{
name = VisitWaypoint
type = VisitWaypoint
index = 0
distance = 10000.0
title = Get within 10km to get a good look.
}
}
BEHAVIOUR
{
name = WaypointGenerator
type = WaypointGenerator
WAYPOINT
{
name = Ruins
targetBody = Kerbin
icon = thermometer
altitude = 1000.0
latitude = -1.8
longitude = -72.0
}
}
}

First of all, the debug window shows no problems, but here they are:

-Mission0 becomes available. If the player accepts it, he automatically gains the rewards (20 science) but the contract never completes. It gets stuck at time 0:00:00:01 and just lingers in the contract window.

-Mission1 never becomes available. It doesn't even show up in the debug window.

Link to comment
Share on other sites

http://imgur.com/a/setcF

is that you need ? Thanks

I don't know from which contract pack this mission comes from

Hi, I totally reinstall all my mods, one by one, it seems I don't have "trait : pilot" problem anymore.

I still have red and yellow in spacetux contracts as in screenshots, is that normal ?

Thanks a lot for your help

edit : "trait pilot" problem comes from french translation. Exactly same KSP folder, without it works, with FR translation it doesn't work anymore

Edited by dureiken
Link to comment
Share on other sites

More information:

I currently have 7 missions.

I tried started with putting them inside one .cfg file, like this:


CONTRACT_TYPE
{
Mission0
}
CONTRACT_TYPE
{
Mission1
}

but only mission 0 loaded into the game. No error report, all green (except for the last two, where I changed Agent. The second Agent, defined exactly the same way as the first one, is incomprehensibly bugged out as an error).

I tried placing each Mission into separate .cfg files, so that my ContractGroup folder contained Mission0.cfg, Mission1.cfg and so on.

All missions appeared in the Alt+F10 debug menu, all green, no error messages.... but only Mission0 actually appears in the offered menu. The rest of the missions never appear.

Here's my entire ContractGroups folder: https://www./folder/nhl767xihh9r0/ContractGroup

Here are some screenshots:

Javascript is disabled. View full album
Edited by TruthQuark
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...