nightingale

[1.6.x+] Contract Configurator [v1.27.1] [2018-12-28]

Recommended Posts

Not Kerbinshaking but just to mention that using  CC +  Additional Progression Contracts 1.0 (7/23/16) , I encountered a World's First Landing on Kerbin completion when I jettisoned my heat shield (Mk1 capsule) and it hit the ground.  My capsule was still in the air under parachute and actually landed in the water.  I do not know if it is CC or APC.

Share this post


Link to post
Share on other sites
23 hours ago, nightingale said:

@WalterB - I can't reproduce your issue, even when using your save.  Does it consistently happen (if you reaccept the contract, does it get cancelled within 30 seconds)?  Does it get triggered when you do anything specific?

Sorry, forgot to include steps to reproduce :(

After accepting the Mun relay contract go to the tracking station, select one of the comsats and click the fly button to switch to it. No need to do anything when it's active, just go back to KSC and the contract should no longer be in the list of Active contracts.

Share this post


Link to post
Share on other sites

@nightingale Thanks very much for your consideration. Your mod has become a contract cornerstone for KSP. Thanks for your work.

Share this post


Link to post
Share on other sites
6 hours ago, jpkerman said:

Not Kerbinshaking but just to mention that using  CC +  Additional Progression Contracts 1.0 (7/23/16) , I encountered a World's First Landing on Kerbin completion when I jettisoned my heat shield (Mk1 capsule) and it hit the ground.  My capsule was still in the air under parachute and actually landed in the water.  I do not know if it is CC or APC.

@tjsnh - Can you confirm if this is an issue in Additional Progress or one that I need to dig into (just trying to get through all the confirmed issues to get a release out soon).

@WalterB - I still can't see to reproduce this one!  Can you try the dev build here and tell me if you still have the issue?

Share this post


Link to post
Share on other sites
Quote
On 24/07/2016 at 3:08 PM, nightingale said:

@WalterB - I can't reproduce your issue, even when using your save.  Does it consistently happen (if you reaccept the contract, does it get cancelled within 30 seconds)?  Does it get triggered when you do anything specific?

Sorry, forgot to include steps to reproduce :(

After accepting the Mun relay contract go to the tracking station, select one of the comsats and click the fly button to switch to it. No need to do anything when it's active, just go back to KSC and the contract should no longer be in the list of Active contracts.

Yeah... happening with me too, even with a fresh new save… But I will do some more tests before reporting, also, should be great if you include an option to disable/enable the new tab of the mission control.

Share this post


Link to post
Share on other sites
42 minutes ago, Heimder said:

Yeah... happening with me too, even with a fresh new save… But I will do some more tests before reporting, also, should be great if you include an option to disable/enable the new tab of the mission control.

 

Can you confirm its broken with the dev version linked above?

Share this post


Link to post
Share on other sites

@Hupf - I'm looking at your issue, and as far as I can tell you had DBT85's SCANsat contract pack (which is where the contract in question comes from), but no longer have it.  Did you uninstall it?

@MickB or @Benno, if you have a log & save for me, I'll take a look, but so far I've found no issue that would cause contracts to be lost as part of the upgrade.

Share this post


Link to post
Share on other sites

The release many of you have been waiting for...  now with increased contract limits!  It's not configurable (not yet at least), but this should hopefully be much more palatable.  The base limit was increased, and the limits will further increase with higher building levels.  With max reputation and building level, you're looking at limits of 16/13/9 (as opposed to 10/7/4).

Download here.

Contract Configurator 1.15.4

  • Increased base contract limits.
  • Increased contract limits based on building level.
  • Increased contract limits even more based on building level.
  • Fixed issue where contract limits could be exceeded in the Available tab of Mission Control (thanks severedsolo).
  • Fixed possible exception in HasCrew (thanks cpottinger).
  • Fixed issue with "ghost" contracts showing up as offered (thanks vardicd & severedsolo).
  • Fixed issue with MaxTechLevelUnlocked function (thanks hargn).
  • Removed MiniAVC.

Share this post


Link to post
Share on other sites

EDIT : Not tested with 1.15.4

Maybe the whole Tech expression parser is broken. I have another error with this :

DATA
{
	type = string
	satContractPrestige = Tech("generalRocketry").isUnlocked() ? "Trivial" : "Significant"
}

I got this error :

[ERR 18:17:38.199] ContractConfigurator.ContractType: CONTRACT_TYPE 'ComSatFirst': Error parsing satContractPrestige

[EXC 18:17:38.202] DataStoreCastException: Cannot cast from System.String to ContractConfigurator.Tech.
        ContractConfigurator.ExpressionParser.ExpressionParser`1[System.String].ConvertType[Tech] (System.String value)^M
        ContractConfigurator.ExpressionParser.ExpressionParser`1[System.String].ParseStatement[Tech] (System.String lval)^M
        Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation.^M
        System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture)^M
        System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters)^M
        ContractConfigurator.ExpressionParser.ExpressionParser`1[ContractConfigurator.Tech].ParseStatement[Tech] ()^M
        Rethrow as DataStoreCastException: Cannot cast from System.String to ContractConfigurator.Tech.^M
        ContractConfigurator.ExpressionParser.ExpressionParser`1[ContractConfigurator.Tech].ParseStatement[Tech] ()^M
        Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation.^M
        System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture)^M
        System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters)^M
        ContractConfigurator.ExpressionParser.ExpressionParser`1[T].GetCalledFunction (System.String functionName, Function& selectedMethod, Boolean isFunction)^M
        Rethrow as DataStoreCastException: Cannot cast from System.String to ContractConfigurator.Tech.^M
        ContractConfigurator.ExpressionParser.ExpressionParser`1[T].GetCalledFunction (System.String functionName, Function& selectedMethod, Boolean isFunction)^M
        ContractConfigurator.ExpressionParser.ExpressionParser`1[System.String].ParseMethod[String] (ContractConfigurator.ExpressionParser.Token token, System.String obj, Boolean isFunction)^M
        Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation.^M
        System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture)^M
        System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters)^M
        ContractConfigurator.ExpressionParser.ExpressionParser`1[System.String].ParseStatement[String] ()^M
        Rethrow as DataStoreCastException: Cannot cast from System.String to ContractConfigurator.Tech.^M
        ContractConfigurator.ExpressionParser.ExpressionParser`1[System.String].ParseStatement[String] ()^M
        Rethrow as Exception: Error parsing statement.^M
        Error occurred near '*':^M
        Tech("generalRocketry").isUnlocked() ? "Trivial" : "Significant"^M
        ......................* <-- HERE^M
        ContractConfigurator.ExpressionParser.ExpressionParser`1[T].ParseExpression (System.String key, System.String expression, ContractConfigurator.ExpressionParser.DataNode dataNode)^M
        ContractConfigurator.ConfigNodeUtil.ParseSingleValue[String] (System.String key, System.String stringValue, Boolean allowExpression)^M
        ContractConfigurator.ConfigNodeUtil.ParseValue[String] (.ConfigNode configNode, System.String key, Boolean allowExpression)^M
        ContractConfigurator.ConfigNodeUtil.ParseValue[String] (.ConfigNode configNode, System.String key, System.Action`1 setter, IContractConfiguratorFactory obj, System.String defaultValue, System.Func`2 validation)^M
        UnityEngine.Debug:LogException(Exception)^M
        ContractConfigurator.LoggingUtil:LogException(Exception)^M
        ContractConfigurator.ConfigNodeUtil:ParseValue(ConfigNode, String, Action`1, IContractConfiguratorFactory, String, Func`2)^M
        ContractConfigurator.ConfigNodeUtil:ParseValue(ConfigNode, String, Action`1, IContractConfiguratorFactory)^M
        System.Reflection.MethodBase:Invoke(Object, Object[])^M
        ContractConfigurator.ExpressionParser.DataNode:ParseDataNodes(ConfigNode, IContractConfiguratorFactory, Dictionary`2, Dictionary`2)^M
        ContractConfigurator.ContractType:Load(ConfigNode)^M
        ContractConfigurator.<LoadContractConfig>d__26:MoveNext()^M
        ContractConfigurator.ContractConfigurator:Update()

 

Edited by hargn
Not tested with 1.15.4

Share this post


Link to post
Share on other sites
3 hours ago, nightingale said:

@Hupf@MickB - I'm looking at your issue, and as far as I can tell you had DBT85's SCANsat contract pack (which is where the contract in question comes from), but no longer have it.  Did you uninstall it?

Now that you mention it, might as well be a good old case of "cum hoc ergo propter hoc". I'm usually syncing my save between a laptop and a desktop pc, while keeping mods up-to-date with ckan on both. So after updating the mods on the desktop and continuing playing there, I noticed the behaviour and attributed it to the recent update (with all the changes in the mission control interface). I cannot definitely confirm that on the desktop, the SCANsat contract pack is indeed not installed until next weekend, but on the laptop after upgrading ContractConfigurator to 1.15.3 I could not reproduce the error. If anything else comes up after checking, I'll comment on the issue on GitHub. Otherwise it was an error on my end - sorry to have wasted your time then :blush:

Share this post


Link to post
Share on other sites
5 hours ago, nightingale said:

Contract Configurator 1.15.4

  • Fixed issue with "ghost" contracts showing up as offered (thanks vardicd & severedsolo).

I fear even with the latest version the issue is not fixed, unless I've got something else going on, on my end. I undated, and re-completed old contracts in my list, and lo-and-behold:

jXCKV4K.jpg

 

I still have repeat contracts, and I'm reasonably sure that's not supposed to be a repeateable contract.

Edited by vardicd

Share this post


Link to post
Share on other sites

Since rework, my available contract list now is mess of already completed duplicates and ghosts. I'm not co concerned about unfair money but more about  ruining the save and contract system. Is there way to somehow put it in order? Like by editing the save or contracts.

Edited by Pol

Share this post


Link to post
Share on other sites
3 hours ago, vardicd said:

I fear even with the latest version the issue is not fixed, unless I've got something else going on, on my end. I undated, and re-completed old contracts in my list, and lo-and-behold:

I still have repeat contracts, and I'm reasonably sure that's not supposed to be a repeateable contract.

According to the contract it is... unless maxCompletions = 0 does something that I'm not aware of.

Share this post


Link to post
Share on other sites
11 minutes ago, severedsolo said:

According to the contract it is... unless maxCompletions = 0 does something that I'm not aware of.

Then perhaps I am mistaken, though It seems that I am not the only one still experiencing ghost contracts and already completed ones.

Share this post


Link to post
Share on other sites
Spoiler

78b1c7c654.png

 

(gap)Join SII contract  states 

      maxCompletions = 1
       maxSimultaneous = 1

 Build and fly your first airplane!

    maxCompletions = 1
       maxSimultaneous = 1

And I still see it despite completing

(SETI)Altitude record, orbit around kebin  

   maxCompletions = 1
    maxSimultaneous = 1

have completed but it offer it. 

I took "manned orbit for 72 hours" and completed it with debug menu and now there two completed records in history

If I take and decline it  - seems like it will dissapear(only old completed one is in history) but I'm afraid to screw something

 

I use kopernicus(don't think it's matter but I remember nightingale mentioned it make a difference)

And this is last version(because increased limits)

Also I noticed now:  

Spoiler

78db046ed3.png

This is new, previous version of rework counted it correctly. Or this is by design?

 

Edited by Pol
picture

Share this post


Link to post
Share on other sites

I'm looking into the repeat contract issue - I have a couple guesses, so I think it should be a relatively easy fix.

@Pol - In terms of that Strategia one, it was actually a bug in the last release (looks like I missed it in the changelog).  It's a contract that is automatically excepted, those don't count against the limit for two reasons:

  1. Because you don't get a choice in whether to take it
  2. If it did count and you were already at the limit, it could put you over.

Share this post


Link to post
Share on other sites
19 hours ago, nightingale said:

@WalterB - I still can't see to reproduce this one!  Can you try the dev build here and tell me if you still have the issue?

Ok, I installed 1.15.4 and I'm no longer able to reproduce using the steps I outlined earlier so I think it's fixed now but I'll keep an eye on it and let you know if it pops up again.

Thanks nightingale!

Share this post


Link to post
Share on other sites

@Pol - Can you send me a save file?  I'm as of yet unable to reproduce the duplicate contract issue.

Share this post


Link to post
Share on other sites

Hey @nightingale, the new update is amazing! Unfortunately, it appears to break @AlphaAsh's KerKonConCon.dll included with Kerbin-Side Jobs, which breaks both that contract pack and Kerbin-Side GAP. Since AA has bid farewell to KSP modding, is there any way we might be able to get support for Kerbal Konstructs' opened/closed bases on the Contract Configurator side, or is that beyond your purview here?

Share this post


Link to post
Share on other sites
9 minutes ago, theonegalen said:

Hey @nightingale, the new update is amazing! Unfortunately, it appears to break @AlphaAsh's KerKonConCon.dll included with Kerbin-Side Jobs, which breaks both that contract pack and Kerbin-Side GAP. Since AA has bid farewell to KSP modding, is there any way we might be able to get support for Kerbal Konstructs' opened/closed bases on the Contract Configurator side, or is that beyond your purview here?

Actually I already had a chat with @AlphaAsh and I'm planning on doing integrating KerKonConCon.dll into Contract Configurator.  That is to say, I'm going to do a KerKonConCOn conversion to Contract Configurator (KerKonConConConCon).

The code changes will be pretty small, I just haven't had a chance to do them yet.  Look for that in Contract Configurator 1.16.x.

Share this post


Link to post
Share on other sites

Well that one was a terrible one to track down.  Basically, if you cancel or decline a contract from anything other than the All tab, an exception is thrown.  That messes up mission control, and stuff doesn't get refreshed properly, which can allows contracts that should be removed from the list to stick around, which show up as duplicates.

New version here - let me know if there's any more issues of duplication (if there is, please provide screenshots and a save file).

Contract Configurator 1.15.5

  • Updated agent icons from Enceos.
  • Fixed issue introduced in 1.15.x with Prestige() function that incorrectly treated all contracts as Trivial.
  • Fixed issue with text for Funds/Science/Reputation requirements.
  • Fixed issue with sorting in Available tab of Mission Control.
  • Fixed exception when declining/cancelling contracts in Mission Control.

Share this post


Link to post
Share on other sites

At first glance new one is  fixed  it and everything is displayed properly now. Thanks.

Share this post


Link to post
Share on other sites

New to Contract Configurator. Like. Disappearing contracts and tourists. Not so like.

I will take a Tourism Plus contract to take some tourists to an asteroid. Build the rocket. Load the passengers on the pad. Launch. Intercept. Grab on. All good. But then, let's say I have to do something else and exit KSP. When I come back and reload, the module and crew are still attached to the asteroid where I left them but the tourists are gone and the contract has returned to the Available section.

And I have a Space Hotel contract (is that Kerbin Space Station?) that I will accept but not act on. (20,000 battery? What are the tourists using all that power for?) Leave KSP. Relaunch it and the contract has returned to the Available section.

I have noticed it with these two add-ons. Not so much with the more traditional contracts though I haven't done a systematic analysis.

Share this post


Link to post
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.