Jump to content

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


nightingale

Recommended Posts

37 minutes ago, Warezcrawler said:

@nightingale I think I know why we are still having that bug, even though you fixed it. I believe there is a typo in the version check you do.

https://github.com/jrossignol/ContractConfigurator/blob/1.24.2/source/ContractConfigurator/ContractConfigurator.cs#L138-L139


Versioning v = Versioning.Instance as Versioning;
if (v.versionMinor == 1 && v.versionMinor == 4 && v.revision == 2)

I think it should have been 


if (v.versionMajor == 1 && v.versionMinor == 4 && v.revision == 2)

 

Yup, that's what I get for adding the version check at the last minute and not testing it.  Will get a fixed release out ASAP.

EDIT: And here it is!

Contract Configurator 1.24.3

  • Proper fix for last release (thanks Warezcrawler).
Edited by nightingale
Link to comment
Share on other sites

13 minutes ago, Gordon Dry said:

I get less parameter spam, but it's not gone...

But of course this helps a lot, from time to time I have to click-away 5 of them and that's it for a while.

Hmmmm, could you post screenshots of both the message text and the parameter text?  I'm just doing a simple message.Contains(parameter) as the check - so not sure what's throwing out off in your case.

Unless one parameter is causing more than one message?  That could do it too...

Link to comment
Share on other sites

4 hours ago, nightingale said:

Hmmmm, could you post screenshots of both the message text and the parameter text?  I'm just doing a simple message.Contains(parameter) as the check - so not sure what's throwing out off in your case.

Unless one parameter is causing more than one message?  That could do it too...

xb8wFZI.png

These kinds of messages aren't spammed at me, but they do pop up again on vessel switch. It should probably be noted that the ones I see now are all related to DMagic Orbital Science contracts, but not sure if that matters though. Scratch that, RemoteTech contracts from the contract pack too, it seems.

http://i.tivec.org/2018-04-03_06-51-21.mp4

Edit 2: Spoke to soon, this one happens about once per second for me currently:

 1rCZN8O.png

Edited by Tivec
Link to comment
Share on other sites

at least this has wildly reduced from ~100 messages to about 30 per vessel load for me. seems like this mod is doing the same job what browser developers do when they face the issues of anti-virus programs .. e.g. working around "stock" bug that are not their actual problems.

I'm thankful you take care of that @nightingale!

Edited by LatiMacciato
Link to comment
Share on other sites

7 minutes ago, LatiMacciato said:

at least this has wildly reduced from ~100 messages to about 30 per vessel load for me. seems like this mod is doing the same job what browser developers do when they face the issues of anti-virus programs .. e.g. working around "stock" bug that are not their actual problems.

I'm thankful you take care of that @nightingale!

I unfortunately didn't have time to look at this tonight, but should be able to tomorrow.  I'm guessing that the messages don't just fire for completed parameters (which is what I'm checking for).  Or it's duplicates for some other reason.  TBH I could probably do a hack right now and not even test...

EDIT: Okay, hack complete with zero testing.  Download the DLL here and replace in GameData/ContractConfigurator.  Please let me know if this works (or causes bad side effects or anything).

Edited by nightingale
Link to comment
Share on other sites

1 hour ago, nightingale said:

I unfortunately didn't have time to look at this tonight, but should be able to tomorrow.  I'm guessing that the messages don't just fire for completed parameters (which is what I'm checking for).  Or it's duplicates for some other reason.  TBH I could probably do a hack right now and not even test...

No rush please, it takes some time taking care of something that you did not cause. Great things need time, koffee and lots of enthusiasm!
I'm happy to hear you proceed there tho, I'll be able to sleep great today and happyly test when you release a stock bug fix!

IMHO SQUAD should prefer fixing things before adding in new features.

EDIT: ok I'll give some feedback once I tested it.

EDIT2: after i did a quick test "maintain stability for 10 seconds" and "landed" parameters are still reappearing.

*some* Log excerpts (hope this helps defining contract parameter types to artificially set incomplete too):

Spoiler

[LOG 09:40:45.048] [ContractParameter]:  on Contract Position satellite in stationary orbit of Minmus. set to Incomplete.
[LOG 09:40:45.049] [ContractParameter]:  on Contract Position satellite in stationary orbit of Minmus. set to Incomplete.
[LOG 09:40:45.051] [ContractParameter]:  on Contract Position satellite in a specific orbit of The Mun. set to Incomplete.
[LOG 09:40:45.052] [ContractParameter]:  on Contract Position satellite in a specific orbit of Kerbin. set to Incomplete.
[LOG 09:40:45.054] [ContractParameter]:  on Contract Position satellite in a polar orbit of The Mun. set to Incomplete.
[LOG 09:40:45.059] [ContractParameter]:  on Contract Extract ore from The Mun and deliver it to Kerbin. set to Incomplete.
[LOG 09:40:45.061] [ContractParameter]:  on Contract Build a new surface outpost on The Mun. set to Incomplete.
[LOG 09:41:14.430] [CurrencyConverter for Outsourced R&D]: 0 Funds taken, yields 0 Science
[LOG 09:41:14.431] [CurrencyConverter for Unpaid Research Program]: 0 Reputation taken, yields 0 Science
[LOG 09:41:14.435] Contract (Position satellite in stationary orbit of Minmus.): 'Maintain stability for ten seconds' complete!
[LOG 09:41:14.436] [ContractParameter]:  on Contract Position satellite in stationary orbit of Minmus. set to Complete.
[LOG 09:41:14.437] [CurrencyConverter for Outsourced R&D]: 0 Funds taken, yields 0 Science
[LOG 09:41:14.438] [CurrencyConverter for Unpaid Research Program]: 0 Reputation taken, yields 0 Science
[LOG 09:41:14.442] Contract (Position satellite in stationary orbit of Minmus.): 'Maintain stability for ten seconds' complete!
[LOG 09:41:14.444] [ContractParameter]:  on Contract Position satellite in stationary orbit of Minmus. set to Complete.
[LOG 09:41:14.445] [CurrencyConverter for Outsourced R&D]: 0 Funds taken, yields 0 Science
[LOG 09:41:14.447] [CurrencyConverter for Unpaid Research Program]: 0 Reputation taken, yields 0 Science
[LOG 09:41:14.450] Contract (Position satellite in a specific orbit of The Mun.): 'Maintain stability for ten seconds' complete!
[LOG 09:41:14.451] [ContractParameter]:  on Contract Position satellite in a specific orbit of The Mun. set to Complete.
[LOG 09:41:14.452] [CurrencyConverter for Outsourced R&D]: 0 Funds taken, yields 0 Science
[LOG 09:41:14.453] [CurrencyConverter for Unpaid Research Program]: 0 Reputation taken, yields 0 Science
[LOG 09:41:14.456] Contract (Position satellite in a specific orbit of Kerbin.): 'Maintain stability for ten seconds' complete!
[LOG 09:41:14.458] [ContractParameter]:  on Contract Position satellite in a specific orbit of Kerbin. set to Complete.
[LOG 09:41:14.459] [CurrencyConverter for Outsourced R&D]: 0 Funds taken, yields 0 Science
[LOG 09:41:14.460] [CurrencyConverter for Unpaid Research Program]: 0 Reputation taken, yields 0 Science
[LOG 09:41:14.463] Contract (Position satellite in a polar orbit of The Mun.): 'Maintain stability for ten seconds' complete!
[LOG 09:41:14.465] [ContractParameter]:  on Contract Position satellite in a polar orbit of The Mun. set to Complete.
[LOG 09:41:14.466] [CurrencyConverter for Outsourced R&D]: 0 Funds taken, yields 0 Science
[LOG 09:41:14.467] [CurrencyConverter for Unpaid Research Program]: 0 Reputation taken, yields 0 Science
[LOG 09:41:14.472] Contract (Extract ore from The Mun and deliver it to Kerbin.): 'Maintain stability for ten seconds' complete!
[LOG 09:41:14.474] [ContractParameter]:  on Contract Extract ore from The Mun and deliver it to Kerbin. set to Complete.
[LOG 09:41:14.475] [CurrencyConverter for Outsourced R&D]: 0 Funds taken, yields 0 Science
[LOG 09:41:14.476] [CurrencyConverter for Unpaid Research Program]: 0 Reputation taken, yields 0 Science
[LOG 09:41:14.481] Contract (Build a new surface outpost on The Mun.): 'Maintain stability for ten seconds' complete!
[LOG 09:41:14.483] [ContractParameter]:  on Contract Build a new surface outpost on The Mun. set to Complete.
[LOG 09:42:57.877] [ContractParameter]:  on Contract Position satellite in stationary orbit of Minmus. set to Incomplete.
[LOG 09:42:57.879] [ContractParameter]:  on Contract Position satellite in stationary orbit of Minmus. set to Incomplete.
[LOG 09:42:57.880] [ContractParameter]:  on Contract Position satellite in a specific orbit of The Mun. set to Incomplete.
[LOG 09:42:57.882] [ContractParameter]:  on Contract Position satellite in a specific orbit of Kerbin. set to Incomplete.
[LOG 09:42:57.884] [ContractParameter]:  on Contract Position satellite in a polar orbit of The Mun. set to Incomplete.
[LOG 09:42:57.886] [ContractParameter]:  on Contract Extract ore from The Mun and deliver it to Kerbin. set to Incomplete.
[LOG 09:42:57.887] [ContractParameter]:  on Contract Build a new surface outpost on The Mun. set to Incomplete.
[LOG 09:43:01.428] [CurrencyConverter for Outsourced R&D]: 0 Funds taken, yields 0 Science
[LOG 09:43:01.430] [CurrencyConverter for Unpaid Research Program]: 0 Reputation taken, yields 0 Science
[LOG 09:43:01.438] Contract (Test CAE-LV35 "Linkor" Service Module in flight over Kerbin.): 'Flying' complete!
[LOG 09:43:01.441] [ContractParameter]:  on Contract Test CAE-LV35 "Linkor" Service Module set to Complete.
[LOG 09:43:01.497] [ContractParameter]:  on Contract Extract ore from The Mun and deliver it to Kerbin. set to Incomplete.
[LOG 09:43:01.832] [ContractParameter]:  on Contract Test CAE-LV35 "Linkor" Service Module set to Incomplete.
[LOG 09:43:02.136] [CurrencyConverter for Outsourced R&D]: 0 Funds taken, yields 0 Science
[LOG 09:43:02.137] [CurrencyConverter for Unpaid Research Program]: 0 Reputation taken, yields 0 Science
[LOG 09:43:02.141] Contract (Extract ore from The Mun and deliver it to Kerbin.): 'Land your Ore on Kerbin' complete!
[LOG 09:43:02.142] [ContractParameter]:  on Contract Extract ore from The Mun and deliver it to Kerbin. set to Complete.
[LOG 09:43:02.280] [KerbNet Controller] Scanning Vessel [#SkyRanger]... Found [1] KerbNet Parts
[LOG 09:43:02.521] [KerbNet Controller] Scanning Vessel [#SkyRanger]... Found [1] KerbNet Parts
[LOG 09:43:02.902] [CurrencyConverter for Outsourced R&D]: 0 Funds taken, yields 0 Science
[LOG 09:43:02.904] [CurrencyConverter for Unpaid Research Program]: 0 Reputation taken, yields 0 Science
[LOG 09:43:02.910] Contract (Test CAE-LV35 "Linkor" Service Module in flight over Kerbin.): 'Flying' complete!
[LOG 09:43:02.912] [ContractParameter]:  on Contract Test CAE-LV35 "Linkor" Service Module set to Complete.
[LOG 09:43:02.920] [ContractParameter]:  on Contract Extract ore from The Mun and deliver it to Kerbin. set to Incomplete.
[LOG 09:43:02.975] [ContractParameter]:  on Contract Test CAE-LV35 "Linkor" Service Module set to Incomplete.
[LOG 09:43:02.977] [CurrencyConverter for Outsourced R&D]: 0 Funds taken, yields 0 Science
[LOG 09:43:02.979] [CurrencyConverter for Unpaid Research Program]: 0 Reputation taken, yields 0 Science
[LOG 09:43:02.983] Contract (Test CAE-LV35 "Linkor" Service Module in flight over Kerbin.): 'Flying' complete!
[LOG 09:43:02.984] [ContractParameter]:  on Contract Test CAE-LV35 "Linkor" Service Module set to Complete.
[LOG 09:43:03.046] [ContractParameter]:  on Contract Test CAE-LV35 "Linkor" Service Module set to Incomplete.
[LOG 09:43:03.164] [CurrencyConverter for Outsourced R&D]: 0 Funds taken, yields 0 Science
[LOG 09:43:03.166] [CurrencyConverter for Unpaid Research Program]: 0 Reputation taken, yields 0 Science
[LOG 09:43:03.182] Contract (Test CAE-LV35 "Linkor" Service Module in flight over Kerbin.): 'Flying' complete!
[LOG 09:43:03.184] [ContractParameter]:  on Contract Test CAE-LV35 "Linkor" Service Module set to Complete.
[LOG 09:43:03.634] [ContractParameter]:  on Contract Test CAE-LV35 "Linkor" Service Module set to Incomplete.
[LOG 09:43:03.748] [KerbNet Controller] Scanning Vessel [#SkyRanger]... Found [1] KerbNet Parts
[LOG 09:43:03.798] [CurrencyConverter for Outsourced R&D]: 0 Funds taken, yields 0 Science
[LOG 09:43:03.799] [CurrencyConverter for Unpaid Research Program]: 0 Reputation taken, yields 0 Science
[LOG 09:43:03.803] Contract (Test CAE-LV35 "Linkor" Service Module in flight over Kerbin.): 'Flying' complete!
[LOG 09:43:03.804] [ContractParameter]:  on Contract Test CAE-LV35 "Linkor" Service Module set to Complete.
[LOG 09:43:03.814] [KerbNet Controller] Scanning Vessel [#SkyRanger]... Found [1] KerbNet Parts
[LOG 09:43:03.815] [KerbNet Controller] Scanning Vessel [#SkyRanger]... Found [1] KerbNet Parts
[LOG 09:43:03.852] [ContractParameter]:  on Contract Test CAE-LV35 "Linkor" Service Module set to Incomplete.
[LOG 09:43:03.861] [KerbNet Controller] Scanning Vessel [#SkyRanger]... Found [1] KerbNet Parts
[LOG 09:43:03.979] [KerbNet Controller] Scanning Vessel [#SkyRanger]... Found [1] KerbNet Parts
[LOG 09:43:04.099] [CurrencyConverter for Outsourced R&D]: 0 Funds taken, yields 0 Science
[LOG 09:43:04.100] [CurrencyConverter for Unpaid Research Program]: 0 Reputation taken, yields 0 Science
[LOG 09:43:04.104] Contract (Test CAE-LV35 "Linkor" Service Module in flight over Kerbin.): 'Flying' complete!
[LOG 09:43:04.105] [ContractParameter]:  on Contract Test CAE-LV35 "Linkor" Service Module set to Complete.
[LOG 09:43:04.244] [ContractParameter]:  on Contract Test CAE-LV35 "Linkor" Service Module set to Incomplete.
[LOG 09:43:04.350] [KerbNet Controller] Scanning Vessel [#SkyRanger]... Found [1] KerbNet Parts
[LOG 09:43:04.433] [CurrencyConverter for Outsourced R&D]: 0 Funds taken, yields 0 Science
[LOG 09:43:04.434] [CurrencyConverter for Unpaid Research Program]: 0 Reputation taken, yields 0 Science
[LOG 09:43:04.438] Contract (Extract ore from The Mun and deliver it to Kerbin.): 'Land your Ore on Kerbin' complete!
[LOG 09:43:04.439] [ContractParameter]:  on Contract Extract ore from The Mun and deliver it to Kerbin. set to Complete.
[LOG 09:43:04.480] [KerbNet Controller] Scanning Vessel [#SkyRanger]... Found [1] KerbNet Parts
[LOG 09:43:04.535] [KerbNet Controller] Scanning Vessel [#SkyRanger]... Found [1] KerbNet Parts
[LOG 09:43:04.715] [KerbNet Controller] Scanning Vessel [#SkyRanger]... Found [1] KerbNet Parts
[LOG 09:43:04.925] [KerbNet Controller] Scanning Vessel [#SkyRanger]... Found [1] KerbNet Parts
[LOG 09:43:19.739] [CurrencyConverter for Outsourced R&D]: 0 Funds taken, yields 0 Science
[LOG 09:43:19.740] [CurrencyConverter for Unpaid Research Program]: 0 Reputation taken, yields 0 Science
[LOG 09:43:19.744] Contract (Position satellite in stationary orbit of Minmus.): 'Maintain stability for ten seconds' complete!
[LOG 09:43:19.746] [ContractParameter]:  on Contract Position satellite in stationary orbit of Minmus. set to Complete.
[LOG 09:43:19.747] [CurrencyConverter for Outsourced R&D]: 0 Funds taken, yields 0 Science
[LOG 09:43:19.748] [CurrencyConverter for Unpaid Research Program]: 0 Reputation taken, yields 0 Science
[LOG 09:43:19.752] Contract (Position satellite in stationary orbit of Minmus.): 'Maintain stability for ten seconds' complete!
[LOG 09:43:19.753] [ContractParameter]:  on Contract Position satellite in stationary orbit of Minmus. set to Complete.
[LOG 09:43:19.755] [CurrencyConverter for Outsourced R&D]: 0 Funds taken, yields 0 Science
[LOG 09:43:19.756] [CurrencyConverter for Unpaid Research Program]: 0 Reputation taken, yields 0 Science
[LOG 09:43:19.760] Contract (Position satellite in a specific orbit of The Mun.): 'Maintain stability for ten seconds' complete!
[LOG 09:43:19.761] [ContractParameter]:  on Contract Position satellite in a specific orbit of The Mun. set to Complete.
[LOG 09:43:19.762] [CurrencyConverter for Outsourced R&D]: 0 Funds taken, yields 0 Science
[LOG 09:43:19.763] [CurrencyConverter for Unpaid Research Program]: 0 Reputation taken, yields 0 Science
[LOG 09:43:19.767] Contract (Position satellite in a specific orbit of Kerbin.): 'Maintain stability for ten seconds' complete!
[LOG 09:43:19.769] [ContractParameter]:  on Contract Position satellite in a specific orbit of Kerbin. set to Complete.

 

Edited by LatiMacciato
Link to comment
Share on other sites

1 hour ago, nightingale said:

Got it, thanks @Tivec & @LatiMacciato.  My original fix was fine - and then I went and added extra checks that broke it (the version thing that was pointed out and the funds/science/rep checks were wrong).  So here it is!

Contract Configurator 1.24.4

  • Properly work around stock bug.

I can confirm this working fine now. Not a single excess message showing up :)

Edit: As a side note, I'm playing a SETI campaign, and through that (I think it is CustomBarnKit) I have multiple levels of upgrades on my facilities. Every time I update Contract Configurator, my Tracking Station reverts to the default level, and I have to go into the save file to set it to 0.2 which is the level 2 upgrade. I'm not sure it is CC causing this, but worth mentioning in case there's some sanity checking going on :)

Edited by Tivec
Link to comment
Share on other sites

39 minutes ago, Tivec said:

I can confirm this working fine now. Not a single excess message showing up :)

Edit: As a side note, I'm playing a SETI campaign, and through that (I think it is CustomBarnKit) I have multiple levels of upgrades on my facilities. Every time I update Contract Configurator, my Tracking Station reverts to the default level, and I have to go into the save file to set it to 0.2 which is the level 2 upgrade. I'm not sure it is CC causing this, but worth mentioning in case there's some sanity checking going on :)

I have no idea why updating a mod would do that, so I'm going to go ahead and say that we need @sarbian's expertise on this.

Link to comment
Share on other sites

4 hours ago, nightingale said:

I have no idea why updating a mod would do that, so I'm going to go ahead and say that we need @sarbian's expertise on this.

Me neither, but it has only happened when I've updated, so yeah, it's really weird :D Anyhow, It's nothing I can't recover from - it's just a matter of me setting the level in the save file.

Link to comment
Share on other sites

On 4/5/2018 at 5:50 AM, nightingale said:

Got it, thanks @Tivec & @LatiMacciato.  My original fix was fine - and then I went and added extra checks that broke it (the version thing that was pointed out and the funds/science/rep checks were wrong).  So here it is!

Contract Configurator 1.24.4

  • Properly work around stock bug.

You're the hero KSP needs, but not the one it deserves. Thanks a bunch!

ps. I never _really_ understood that Batman quote. It could either indicate that the hero is too good for who he's helping, or that he's a hero, but not quite as good as what the helpee deserves.. In any case, I mean the former :P

Edited by Jognt
Link to comment
Share on other sites

4 hours ago, JANXOL said:

Will the current version work with 1.3.1? And if not, where can I download previous versions?

As @Kwebib said, you can find older versions on the releases page, anything newer won't support 1.4.x.  Easiest for this kind of thing is always CKAN, though.

Link to comment
Share on other sites

@nightingale Question for you.

I have an idea for improving how some of the grindier side of Realism Progression Contracts work, but to do it i'd need access to the original cost of a vehicle, when it was launched - not the cost of the remaining bits when it finally satisfies the contract.  

Is there any way to do this with CC, or is it reasonable to add this through an extension?   

I know you could write a parameter for 'justlaunched', testing vessel state, and you could have a behaviour that runs off that parameter to grab the parts list for which there's a cost field - but I don't know that you could sum the costs in any fashion - and the behaviour could only write to the data store, which there's nothing per-vessel.

What I'd be trying to create is a contract that, once satisfied, starts trigger a repeated no-requirements contract that would give the player X amount of funds each month, for which X is some value - the cost of the vehicle the used to originally satisfy it.  IE 'no more grinding this repeatable, just assume the player is redoing them each month with his original LV'.  And then give another contract to redo-the contract if they want to try again with a cheaper vehicle. 

Link to comment
Share on other sites

@Maxsimal - What you're proposing sounds more like a mod to itself with light Contract Configurator integration - as opposed to a feature of CC itself.  Or maybe even several mods.

  1. A mod with the ability to give recurring payouts, and the ability (via a behaviour) for Contract Configurator to add/remove a recurring payment/reward.
  2. A mod that can do the tracking of the vessel original costs.  As you've mentioned, this really doesn't fit easily into the persistent data store in Contract Configurator very well - but doing it standalone wouldn't be terribly difficult.  Although there are ugly edge cases that you may already be considering (what's the cost of a vessel that was constructed through multiple launches?  What's the cost of the resulting vessels if you undock and split it?  These answers may be different for a station constructed in orbit versus something that docked to re-fuel, which aren't necessarily easy to tell apart.

Regardless, if you can solve the above problem, you can have one behaviour that looks at both of these mods (or components of a mod) to do the rewarding.  But as far as something in Contract Configurator itself, I don't see an easy/generic solution.

Link to comment
Share on other sites

I also confirm, the fix appears to work.

Thanks a bunch @nightingale!


edit:
Oh... scratch that.  It appears to still be popping up.  Less than before, but it is present.   This is a new vehicle with a new contract, so it's not a hold-over from missions I'd started before implementing the fixed mod.  Curious.  

https://i.imgur.com/4VrtihY.png

Still, thanks for the effort.  And if it is working for others, still props to you.

Edited by PTNLemay
Link to comment
Share on other sites

Howdy, RemoteTech made a change for a mod that is not released yet. That change added to the interface required for all RT Satellites, I put up a PR after testing this fix: https://github.com/jrossignol/ContractConfigurator/pull/659 there is a .zip file attached with a new CC_RemoteTech.dll if you want to get things working immediately. If the mod author would rather I don't share the dll, feel free to remove it or just ask and I will.

Edited by Wraithan
Link to comment
Share on other sites

Release time, too many people bugging me about RemoteTech. :D Download here!

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