nightingale

[1.8.x+] Contract Configurator [v1.28.0] [2019-10-17]

Recommended Posts

3 hours ago, Gordon Dry said:

@Jacke @PiezPiedPy What confuses me is that the error always occurs after


[ModuleManager] Applying update Kerbalism/Support/ContractConfigurator/@CONTRACT_TYPE[*] to ContractPacks/HistoryofSpaceflight/Missions/SovietMissions/Kosmos/Kosmos 1-40/Kosmos-27/CONTRACT_TYPE

while MM patching - but this ContractPack has no single iteration of ModuleScienceLab mentioned anywhere ...

Patches are applied in order, so it's natural that it happens at the same point every time if you've not done anything that would change that order. Knowing earlier that it occurred only when this one contract is being modified would have been a big help! It could be that this lack is the very problem, but again I must point out that the fault appears to lie in Kerbalism's file; the file is written to account for a lot of options on where it might find the module it wants to modify, but if that module's not anywhere then it seems to be unprepared for this.

Honestly though, aside from a wordy error in the log I can't see that this is causing the problem you're seeing. It's far more likely to be related to the fact you appear to have multiple outdated mods and missing dependencies. Try getting everything updated first (you have AVC, use it!), then if it's still happening go through the usual problem-solving routines to identify the issue - for example, you could remove this single contract and see if it makes any difference. To be frank, that should have been the first thing you tried.

Share this post


Link to post
Share on other sites
[ERR 17:58:02.138] AssemblyLoader: Exception loading 'CC_RemoteTech': System.Reflection.ReflectionTypeLoadException: The classes in the module cannot be loaded.
  at (wrapper managed-to-native) System.Reflection.Assembly:GetTypes (bool)
  at System.Reflection.Assembly.GetTypes () [0x00000] in <filename unknown>:0
  at AssemblyLoader.LoadAssemblies () [0x00000] in <filename unknown>:0

Additional information about this exception:

 System.TypeLoadException: Could not load type 'ContractConfigurator.RemoteTech.RemoteTechProgressTracker+FakeSatellite' from assembly 'CC_RemoteTech, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'.

 System.TypeLoadException: Could not load type '<get_Antennas>d__35' from assembly 'CC_RemoteTech, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'.

 System.TypeLoadException: Could not load type '<FindNeighbors>d__39' from assembly 'CC_RemoteTech, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'.

No RemoteTech Contracts available in game, latest version of everything through CKAN.

KSP 1.4.5
Contract Configurator 1.25.0
Contract Pack: RemoteTech 2.14

Edited by BadManiac

Share this post


Link to post
Share on other sites
4 hours ago, BadManiac said:

[ERR 17:58:02.138] AssemblyLoader: Exception loading 'CC_RemoteTech': System.Reflection.ReflectionTypeLoadException: The classes in the module cannot be loaded.
  at (wrapper managed-to-native) System.Reflection.Assembly:GetTypes (bool)
  at System.Reflection.Assembly.GetTypes () [0x00000] in <filename unknown>:0
  at AssemblyLoader.LoadAssemblies () [0x00000] in <filename unknown>:0

Additional information about this exception:

 System.TypeLoadException: Could not load type 'ContractConfigurator.RemoteTech.RemoteTechProgressTracker+FakeSatellite' from assembly 'CC_RemoteTech, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'.

 System.TypeLoadException: Could not load type '<get_Antennas>d__35' from assembly 'CC_RemoteTech, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'.

 System.TypeLoadException: Could not load type '<FindNeighbors>d__39' from assembly 'CC_RemoteTech, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'.

No RemoteTech Contracts available in game, latest version of everything through CKAN.

KSP 1.4.5
Contract Configurator 1.25.0
Contract Pack: RemoteTech 2.14

It would be wise to post a link to the entire log file since the problem can actually exist elsewhere.  For example, it is not known if you have other mods installed and what their versions are.  Please read this thread and follow the steps offered there - How To Get Support (READ FIRST) - Technical Support (PC, modded installs) - Kerbal Space Program Forums.

Edited by Brigadier

Share this post


Link to post
Share on other sites
On 9/19/2018 at 8:27 PM, Brigadier said:

It would be wise to post a link to the entire log file since the problem can actually exist elsewhere.  For example, it is not known if you have other mods installed and what their versions are.  Please read this thread and follow the steps offered there - How To Get Support (READ FIRST) - Technical Support (PC, modded installs) - Kerbal Space Program Forums.

 

14 hours ago, GrayTech said:

@Brigadier I believe I have the same problem as @BadManiac.   I created an issue report on the github page.

I believe this is fixed by this PR: https://github.com/jrossignol/ContractConfigurator/pull/668 (though perhaps this is a different issue?)

 

In addition, does anyone know if there's a way to escape parameters when defining contracts?  An example is I have an experiment with a dash it it.  When CC tries to parse it, it tried to subtract the two parts of the experiment name instead of just treating the whole thing as a string.

Edited by rsparkyc

Share this post


Link to post
Share on other sites
On 8/19/2018 at 5:01 AM, QuakeIV said:

Any chance the debug reload contracts button will get fixed?  I have a pretty big modpack that requires around five to ten minutes to load, so I can't really make contracts for it if I can't load in contract changes while already ingame.

In the same boat here m8. Have a huge contract pack in the works but the lack of testing tools is proving a major downer.

The OP still lurks but he might be burned out or something. Quite tragic since this is the only gundam way to make good contracts and make career not suck.

Share this post


Link to post
Share on other sites
20 hours ago, GrayTech said:

Seems that that is likely the case.  Reverting to RemoteTech v1.8.12 resulted in the RemoteTech contracts reappearing.  

@BadManiac @Brigadier @GrayTech @rsparkyc Same issue.

Updated CC_RemoteTech.dll is available here: https://www.dropbox.com/s/3vhw8kteydjzwk2/CC_RemoteTech.dll?dl=0

Share this post


Link to post
Share on other sites

I'm having some trouble creating a contract that includes a rather particular part check.  The idea is I want to validate that certain types of parts are manufactured by certain manufacturers.  The following pseudo code describes what I'm trying to achieve:

For all Parts:category (A or B)
have manufacturer (C and/or D).

Let's say one of the part categories I'm checking is engines - as long as ALL the engines are manufactured by C and/or D we're fine, but if I have an engine made by manufacturer E then it should return FALSE.

I've tried various approaches using PartValidation code but I can't a method whereby a single PartValidation node can check for multiple types and multiple manufacturers.  While the PartValidation node allows for multiple "part = " statements and will check for any, that logic doesn't appear to extend to "category = " or "manufacturer = " statements.  Putting these in FILTER / VALIDATE_ALL nodes doesn't seem to work either (e.g. the below code will only check that I have an engine made by Company C - the check doesn't pass if it is made by Company D).

FILTER {category = Engine}
VALIDATE_ALL
{ manufacturer = Company C
  manufacturer = Company D}

I've also tried using boolean logic in the select / match statements but that doesn't appear to work either (I'm not sure boolean logic is allowed? - nb. I couldn't really understand from the wiki documentation how to use boolean OR logic correctly).

My next line of thinking is whether I need to use some sort of part count logic e.g. count(parts(Engine)) - (count(parts(Engine(manuf=Company C))) + count(parts(Engine(Manuf=Company D)))) - if 0 then TRUE, else FALSE.  Alternately whether I need to use a list / iterator function, but I'm not sure how I would be able to do either of those so thought I'd see if anyone else might know how to tackle this.  Appreciate any ideas. 

Share this post


Link to post
Share on other sites

Question: How often is the extended part module check validated?

Quote

    // Extended PartModule check.  This is used to look for very specific part
    // module attributes.  The MODULE node may contain any attribute, and those
    // attributes will be matched against the part modules in the parts.
    //
    // Required:  No (multiples allowed)
    //
    MODULE
    {
        name = ModuleScienceExperiment
        experimentID = mysteryGoo
    }
 

source: https://github.com/jrossignol/ContractConfigurator/wiki/PartValidation-Parameter

Only once at startup or also continuously during flight?

Edited by FreeThinker

Share this post


Link to post
Share on other sites

@FreeThinker, I'm having a similar issue with doing a part filter.  I'm trying to validate that my craft has a part that has a science experiment.  This is my contract, however it's saying that I have a part which contains the experiment even when it doesn't.

CONTRACT_TYPE   
{   
    name = Test
    title = Test
    description = Blah
    
    synopsis = Blah
    
    completedMessage = Congratulations! You Blahed
    
    sortKey = 902
    
    cancellable = true
    declinable = true
    autoAccept = false
    minExpiry = 0
    maxExpiry = 0
    maxCompletions = 0
    maxSimultaneous = 1
    deadline = 365  // 1 year
    
    targetBody = HomeWorld()
    
    prestige = Trivial
    advanceFunds = 20000
    rewardScience = 1
    rewardReputation = 5
    rewardFunds = 10000
    failureReputation = 5
    failureFunds = 10000
    
    PARAMETER
    {
        name = Test
        type = VesselParameterGroup
        title = Test Satellite

        PARAMETER
        {
            name = NewVessel
            type = NewVessel
            title = Launch a New Vessel
            hideChildren = true
        }
        PARAMETER
        {
            name = Crewmembers
            type = HasCrew
            minCrew = 0
            maxCrew = 0
            title = Uncrewed
            hideChildren = true
        }

        PARAMETER
        {
            name = Orbit
            type = Orbit

            minAltitude = 80000

            title = Just get to orbit
        }

        PARAMETER
        {
            name = PartValidation
            type = PartValidation

            FILTER {
                MODULE
                {
                    name = ModuleScinceExpirement
                    experimentID = barometerScan
                }
            }

            minCount = 1
        }
    }
}   

 

I'm guessing this is just plain broken?

Edited by rsparkyc

Share this post


Link to post
Share on other sites
57 minutes ago, Gordon Dry said:

@Lisias is the CC_RemoteTech.dll from the build
https://github.com/net-lisias-kspu/ContractConfigurator/releases/tag/RELEASE%2F1.25.0.2

already/also Kerbalism-compatible?

This release is exactly the last oficial release, plus the ISatellite fixes. Nothing more. My repos always have a CHANGE_LOG.md file where every release is described, by the way.

I don't have a savegame using Karbalism yet (I choose TAC-LS for my Tales of Kerbol). I can try to fix it on the WeekEnd, if no-one had did it yet. I will use Kerbalism in the next phase of the Tales. If you would be kind to provide me with the KSP.logs with the errors, I will give this a shot! :)

Share this post


Link to post
Share on other sites

Reading back through the last few pages I can't seem to find any definitive answer to whether CC works on KSP 1.4.5

CKAN seems to think not.

Share this post


Link to post
Share on other sites
1 hour ago, Bishop149 said:

Reading back through the last few pages I can't seem to find any definitive answer to whether CC works on KSP 1.4.5

CKAN seems to think not.

CKAN won't have been told otherwise, but it was working fine in 1.4.5 for me and many others. Just make sure you've told CKAN it's allowed to install anything related to 1.4.x and you should be good to go.

Share this post


Link to post
Share on other sites

Contracts to grab science from KSC do not work in 1.5.1... Separate tasks are shown as completed "in-flight", but when returning to contracts screen at KSC they are all shown as not completed. Also "Return any science from Kerbin" did not completed until I actually grab an experiment while flying, neither of ground experiments counted for that.

Share this post


Link to post
Share on other sites

I'm having some trouble with a couple of contracts that use RemoteTech parameters.

Basically, I took RP-1's contracts and ported them over to a standard RSS/RO modded save. Some of them include references to RemoteTech's communication parameters, like VesselConnectivity. Now, contracts that are build to work with non-stock parameters usually require a :NEEDS tag on the definition. Example from RemoteTech's own contract pack:

CONTRACT_TYPE:NEEDS[RemoteTech]

Obviously, this seems to work on that pack. However, RP-1's contracts aren't loaded. Not a single contract that depends on VesselConnectivity or KSCConnectivity gets loaded into the game, generating this log error (or similar, depending on the contract and the parameter):

[ERR 19:37:56.677] ContractConfigurator.ParameterFactory: CONTRACT_TYPE 'GeoComSatNetwork',PARAMETER 'VesselConnectivity' of type 'VesselConnectivity': Unknown parameter 'VesselConnectivity'.

Stuff I tried to do:

  • No tag (didn't work)
  • :NEEDS[RemoteTech] tag (didn't work)
  • :AFTER[RemoteTech] tag (didn't work + generated ModuleManager parsing exception)
  • placing the contracts on a "zzContracts" folder, to make sure they would load after RemoteTech (didn't work...)

What am I missing?

Share this post


Link to post
Share on other sites

Hello everyone.

Thanks for this mod and the related work. I feel like starting a UBM/RT career.

Any visibility from dear nightingale on the future developments of CC?

Thanks again

Share this post


Link to post
Share on other sites

nightingale is still around and active, He has about a dozen mods, just give him time to update them.

Share this post


Link to post
Share on other sites

Sure. I wasn't asking for an uptdate. Just to know if there was an expected timeline.

The updated dll seems to work. Thanks.

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.