Jump to content

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


nightingale

Recommended Posts

25 minutes ago, Caerfinon said:

Thanks for the response, just one follow-up.  I was reviewing the wiki and for for partModuleType, the only values allowed are  Antenna, Battery, Dock, Generator, Grapple, Wheel?  For PartModules, the only examples include  ModuleReactionWheel and ModuleSAS.

Link to comment
Share on other sites

21 minutes ago, HawkEngineer said:

partModuleType

these are defined by the game in ContractDefs. See https://www.kerbalspaceprogram.com/ksp/api/class_fine_print_1_1_contract_defs.html There are only those. So this type of validation not so useful. 

22 minutes ago, HawkEngineer said:

PartModules

Any valid PartModule will do as long as it is loaded from stock or a mod at startup. The wiki ones are just two examples. 

Link to comment
Share on other sites

  • 1 month later...

I just noticed on my first EVA science collection that I have a lot of warnings in the log about "<scienceexperiment> is unknown, assuming a standard experiment". Most start with the suffix "bd" (maybe BDB?) and the other are from station science "rocketFuels" "advFuels" etc. I can not find the station science experiments, so I'm wondering if I should take out that contract pack and stick to the contracts from the mod, but it seems so cheaty that my EVA gives me like 17 experiments. The error log is:

KSP.log

I'm sure it's because the contract packs are old and the science experiments it's looking for don't exist, but I can't find any sciencedef file or something to remove or add the experiments.  Any help is much appreciated. If there's another log I should post let me know.

Link to comment
Share on other sites

  • 1 month later...

Has anyone else experienced any issues with toggling the orbit and waypoints in the tracking station recently?

I genuinely thought this was a stock feature and found it very valuable. However with a clean install it doesn't appear to toggle in real time only on a scene change.

Link to comment
Share on other sites

Hi, I got a bunch of these errors:

Spoiler

[ERR 02:49:36.019] ContractConfigurator.RemoteTech.HasAntennaFactory: CONTRACT_TYPE 'OWR_DestinationHell', PARAMETER 'HasAntenna' of type 'HasAntenna': Error parsing antennaType

[EXC 02:49:36.021] ArgumentException: Requested value 'TRANSMIT' was not found.
    System.Enum+EnumResult.SetFailure (System.Enum+ParseFailureKind failure, System.String failureMessageID, System.Object failureMessageFormatArgument) (at <9577ac7a62ef43179789031239ba8798>:0)
    System.Enum.TryParseEnum (System.Type enumType, System.String value, System.Boolean ignoreCase, System.Enum+EnumResult& parseResult) (at <9577ac7a62ef43179789031239ba8798>:0)
    System.Enum.Parse (System.Type enumType, System.String value, System.Boolean ignoreCase) (at <9577ac7a62ef43179789031239ba8798>:0)
    ContractConfigurator.ExpressionParser.EnumExpressionParser`1[T].ParseIdentifier (ContractConfigurator.ExpressionParser.BaseParser+Token token) (at <7cf636bf2f2f4038af6634d8e4f57459>:0)
    ContractConfigurator.ExpressionParser.ExpressionParser`1[T].ParseVarOrIdentifier (ContractConfigurator.ExpressionParser.BaseParser+Token token) (at <7cf636bf2f2f4038af6634d8e4f57459>:0)
    ContractConfigurator.ExpressionParser.ExpressionParser`1[T].ParseSimpleStatement[TResult] () (at <7cf636bf2f2f4038af6634d8e4f57459>:0)
    ContractConfigurator.ExpressionParser.ExpressionParser`1[T].ParseStatementInner[TResult] () (at <7cf636bf2f2f4038af6634d8e4f57459>:0)
    ContractConfigurator.ExpressionParser.ExpressionParser`1[T].ParseStatement[TResult] () (at <7cf636bf2f2f4038af6634d8e4f57459>:0)
    ContractConfigurator.ExpressionParser.ExpressionParser`1[T].ParseExpression (System.String key, System.String expression, ContractConfigurator.ExpressionParser.DataNode dataNode) (at <7cf636bf2f2f4038af6634d8e4f57459>:0)
    Rethrow as Exception: Error parsing statement.
    Error occurred near '*':
    TRANSMIT
    ........* <-- HERE
    ContractConfigurator.ExpressionParser.ExpressionParser`1[T].ParseExpression (System.String key, System.String expression, ContractConfigurator.ExpressionParser.DataNode dataNode) (at <7cf636bf2f2f4038af6634d8e4f57459>:0)
    ContractConfigurator.ConfigNodeUtil.ParseSingleValue[T] (System.String key, System.String stringValue, System.Boolean allowExpression) (at <7cf636bf2f2f4038af6634d8e4f57459>:0)
    ContractConfigurator.ConfigNodeUtil.ParseValue[T] (ConfigNode configNode, System.String key, System.Boolean allowExpression) (at <7cf636bf2f2f4038af6634d8e4f57459>:0)
    System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at <9577ac7a62ef43179789031239ba8798>:0)
    Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation.
    System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at <9577ac7a62ef43179789031239ba8798>:0)
    System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) (at <9577ac7a62ef43179789031239ba8798>:0)
    ContractConfigurator.ConfigNodeUtil.ParseValue[T] (ConfigNode configNode, System.String key, System.Boolean allowExpression) (at <7cf636bf2f2f4038af6634d8e4f57459>:0)
    ContractConfigurator.ConfigNodeUtil.ParseValue[T] (ConfigNode configNode, System.String key, System.Action`1[T] setter, ContractConfigurator.IContractConfiguratorFactory obj, T defaultValue, System.Func`2[T,TResult] validation) (at <7cf636bf2f2f4038af6634d8e4f57459>:0)
    UnityEngine.DebugLogHandler:LogException(Exception, Object)
    ModuleManager.UnityLogHandle.InterceptLogHandler:LogException(Exception, Object)
    UnityEngine.Debug:LogException(Exception)
    ContractConfigurator.LoggingUtil:LogException(Exception)
    ContractConfigurator.ConfigNodeUtil:ParseValue(ConfigNode, String, Action`1, IContractConfiguratorFactory, Nullable`1, Func`2)
    ContractConfigurator.ConfigNodeUtil:ParseValue(ConfigNode, String, Action`1, IContractConfiguratorFactory, Nullable`1)
    ContractConfigurator.RemoteTech.HasAntennaFactory:Load(ConfigNode)
    ContractConfigurator.ParameterFactory:GenerateParameterFactory(ConfigNode, ContractType, ParameterFactory&, ParameterFactory)
    ContractConfigurator.ContractType:Load(ConfigNode)
    ContractConfigurator.<LoadContractTypeConfig>d__31:MoveNext()
    ContractConfigurator.<FinalizeContractTypeLoad>d__30:MoveNext()
    UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)

KSP.log

Link to comment
Share on other sites

8 hours ago, John007qwe said:

I got a bunch of these errors

You should post the contract.cfg file that is causing the error to check that syntax is proper.  

Also you should tun on contract debugging. See the file ContractConfigurator.cfg.default in GameData/ContractConfiguator folder for instructions to enable debug logging. 

It doesn't seem to like a number of the "OWR" contracts that fail on similar parsing errors 

[ERR 02:49:36.050] ContractConfigurator.RemoteTech.HasAntennaFactory: CONTRACT_TYPE 'OWR_GalacticCandy', PARAMETER 'HasAntenna' of type 'HasAntenna': Error parsing antennaType
[EXC 02:49:36.052] ArgumentException: Requested value 'TRANSMIT' was not found.

Could be a possible CC conflict with Remotetech.

Link to comment
Share on other sites

15 hours ago, Caerfinon said:

You should post the contract.cfg file that is causing the error to check that syntax is proper.  

Also you should tun on contract debugging. See the file ContractConfigurator.cfg.default in GameData/ContractConfiguator folder for instructions to enable debug logging. 

It doesn't seem to like a number of the "OWR" contracts that fail on similar parsing errors 

[ERR 02:49:36.050] ContractConfigurator.RemoteTech.HasAntennaFactory: CONTRACT_TYPE 'OWR_GalacticCandy', PARAMETER 'HasAntenna' of type 'HasAntenna': Error parsing antennaType
[EXC 02:49:36.052] ArgumentException: Requested value 'TRANSMIT' was not found.

Could be a possible CC conflict with Remotetech.

Well I turned on the debugger file, but I'm not sure what I should be looking for? I don't see anything change in that regard. I would open the ingame CC overlay, but it doesn't open when I hit alt+f10 for some reason.

Anyway, I think the error might have something to do with the OtherWorldsReboot (OWR) contracts, as I recently just installed this planet pack.

Here's one of the contract files, which I think might be the issue as the exceptions seem to point to these contract names.

StellarExplorationCercani.cfg:

Spoiler

CONTRACT_TYPE
{
    name = OWR_OrangeCandle
    group = OWR_StellarExplorationCercani
    sortKey = 001

    title = #LOC_OWR_Contract_OrangeCandle_Title
    description = #LOC_OWR_Contract_OrangeCandle_Description
    genericDescription = #LOC_OWR_Contract_OrangeCandle_GenericDescription
    synopsis = #LOC_OWR_Contract_OrangeCandle_GenericDescription
    completedMessage = #LOC_OWR_Contract_OrangeCandle_Completion
    
    minExpiry = 0.0
    maxExpiry = 0.0
    deadline = 0
    
    cancellable = false
    declinable = false
    maxCompletions = 1
    maxSimultaneous = 1
    
    prestige = Significant
    
    rewardFunds = 50000.0
    rewardScience = 100.0
    rewardReputation = 10.0
    advanceFunds = 20000.0
    
    REQUIREMENT
    {
        name = PartUnlocked
        type = PartUnlocked

        part = InfraredTelescope
    }

    PARAMETER
    {
        name = NewVessel
        type = NewVessel
    }

    PARAMETER
    {
        name = Orbit
        type = Orbit

        minAltitude = 100000
            
        targetBody = Sun()
    }

    PARAMETER
    {
        name = HasAntenna
        type = HasAntenna

        antennaType = TRANSMIT
        minAntennaPower = 100.0
    }
        
    MODULE
    {
        name = ModuleScienceExperiment

        label = Experiment
        experimentID = infraredTelescope
    }

    PARAMETER
    {
        name = HasResource
        type = HasResource

        resource = ElectricCharge
    }
}

CONTRACT_TYPE
{
    name = OWR_DreamsOfTheUnknown
    group = OWR_StellarExplorationCercani
    sortKey = 002

    title = #LOC_OWR_Contract_DreamsOfTheUnknown_Title
    description = #LOC_OWR_Contract_DreamsOfTheUnknown_Description
    genericDescription = #LOC_OWR_Contract_DreamsOfTheUnknown_GenericDescription
    synopsis = #LOC_OWR_Contract_DreamsOfTheUnknown_GenericDescription
    completedMessage = #LOC_OWR_Contract_DreamsOfTheUnknown_Completion
    
    minExpiry = 0.0
    maxExpiry = 0.0
    deadline = 0
    
    cancellable = false
    declinable = false
    maxCompletions = 1
    maxSimultaneous = 1
    
    prestige = Exceptional
    
    rewardFunds = 1000000.0
    rewardScience = 500.0
    rewardReputation = 85.0
    advanceFunds = 200000.0
    
    REQUIREMENT
    {
        name = CompleteContract
        type = CompleteContract
            
        contractType = OWR_OrangeCandle
        minCount = 1
    }

    PARAMETER
    {
        name = ReachState
        type = ReachState

        targetBody = Cercani

        maxAltitude = 1350000000000
    }

    PARAMETER
    {
        name = HasAntenna
        type = HasAntenna
    
        minAntennaPower = 100.0
    }

    PARAMETER
    {
        name = HasResource
        type = HasResource

        resource = ElectricCharge
    }
}

//-------------------------
// Troni Contracts
//-------------------------

CONTRACT_TYPE
{
    name = OWR_Cercani_b
    group = OWR_StellarExplorationCercani
    sortKey = 010

    title = #LOC_OWR_Contract_Cercani_b_Title
    description = #LOC_OWR_Contract_Cercani_b_Description
    genericDescription = #LOC_OWR_Contract_Cercani_b_GenericDescription
    synopsis = #LOC_OWR_Contract_Cercani_b_GenericDescription
    completedMessage = #LOC_OWR_Contract_Cercani_b_Completion
    
    minExpiry = 0.0
    maxExpiry = 0.0
    deadline = 0
    
    cancellable = false
    declinable = false
    maxCompletions = 1
    maxSimultaneous = 1
    
    prestige = Exceptional
    
    rewardFunds = 500000.0
    rewardScience = 250.0
    rewardReputation = 50.0
    advanceFunds = 100000.0
    
    REQUIREMENT
    {
        name = CompleteContract
        type = CompleteContract
            
        contractType = OWR_DreamsOfTheUnknown
        minCount = 1
    }

    PARAMETER
    {
        name = ReachState
        type = ReachState

        targetBody = Troni

        minAltitude = 0
    }

    PARAMETER
    {
        name = HasAntenna
        type = HasAntenna
    
        minAntennaPower = 100.0
    }

    PARAMETER
    {
        name = HasResource
        type = HasResource

        resource = ElectricCharge
    }
}

CONTRACT_TYPE
{
    name = OWR_DestinationHell
    group = OWR_StellarExplorationCercani
    sortKey = 011

    title = #LOC_OWR_Contract_DestinationHell_Title
    description = #LOC_OWR_Contract_DestinationHell_Description
    genericDescription = #LOC_OWR_Contract_DestinationHell_GenericDescription
    synopsis = #LOC_OWR_Contract_DestinationHell_GenericDescription
    completedMessage = #LOC_OWR_Contract_DestinationHell_Completion
    
    minExpiry = 0.0
    maxExpiry = 0.0
    deadline = 0
    
    cancellable = false
    declinable = false
    maxCompletions = 1
    maxSimultaneous = 1
    
    prestige = Exceptional
    
    rewardFunds = 750000.0
    rewardScience = 400.0
    rewardReputation = 80.0
    advanceFunds = 250000.0
    
    REQUIREMENT
    {
        name = CompleteContract
        type = CompleteContract
            
        contractType = OWR_Cercani_b
        minCount = 1

        hideChildren = true
    }

    BEHAVIOUR
    {
        name = OrbitGenerator
        type = OrbitGenerator

        FIXED_ORBIT
        {
            targetBody = Troni

            ORBIT
            {
                SMA = 686750
                ECC = 0.75
                INC = 85
                MNA = 0
                LAN = 1.23825
                LPE = -65

                EPH = 0
                REF = 1
            }
        }
    }

    PARAMETER
    {
        name = Sequence
        type = Sequence

        failWhenCompleteOutOfOrder = false

        PARAMETER
        {
            name = ReachSpecificOrbit
            type = ReachSpecificOrbit

            index = 0

            deviationWindow = 5.0
        }

        PARAMETER
        {
            name = All
            type = All

            PARAMETER
            {
                name = CollectScience1
                type = CollectScience

                targetBody = Troni
                experiment = gravityScan

                recoveryMethod = None
            }

            PARAMETER
            {
                name = CollectScience2
                type = CollectScience

                targetBody = Troni
                experiment = magnetometer

                recoveryMethod = None
            }

            PARAMETER
            {
                name = CollectScience3
                type = CollectScience

                targetBody = Troni
                experiment = temperatureScan

                recoveryMethod = None
            }
        }
    }

    PARAMETER
    {
        name = HasAntenna
        type = HasAntenna

        antennaType = TRANSMIT
        minAntennaPower = 100.0
    }

    PARAMETER
    {
        name = HasResource
        type = HasResource

        resource = ElectricCharge
    }
}

//-------------------------
// Vassa Contracts
//-------------------------

CONTRACT_TYPE
{
    name = OWR_Cercani_c
    group = OWR_StellarExplorationCercani
    sortKey = 020

    title = #LOC_OWR_Contract_Cercani_c_Title
    description = #LOC_OWR_Contract_Cercani_c_Description
    genericDescription = #LOC_OWR_Contract_Cercani_c_GenericDescription
    synopsis = #LOC_OWR_Contract_Cercani_c_GenericDescription
    completedMessage = #LOC_OWR_Contract_Cercani_c_Completion
    
    minExpiry = 0.0
    maxExpiry = 0.0
    deadline = 0
    
    cancellable = false
    declinable = false
    maxCompletions = 1
    maxSimultaneous = 1
    
    prestige = Exceptional
    
    rewardFunds = 500000.0
    rewardScience = 250.0
    rewardReputation = 50.0
    advanceFunds = 100000.0
    
    REQUIREMENT
    {
        name = CompleteContract
        type = CompleteContract
            
        contractType = OWR_DreamsOfTheUnknown
        minCount = 1
    }

    PARAMETER
    {
        name = ReachState
        type = ReachState

        targetBody = Vassa

        minAltitude = 0
    }

    PARAMETER
    {
        name = HasAntenna
        type = HasAntenna
    
        minAntennaPower = 100.0
    }

    PARAMETER
    {
        name = HasResource
        type = HasResource

        resource = ElectricCharge
    }
}

CONTRACT_TYPE
{
    name = OWR_FrozenSun
    group = OWR_StellarExplorationCercani
    sortKey = 021

    title = #LOC_OWR_Contract_FrozenSun_Title
    description = #LOC_OWR_Contract_FrozenSun_Description
    genericDescription = #LOC_OWR_Contract_FrozenSun_GenericDescription
    synopsis = #LOC_OWR_Contract_FrozenSun_GenericDescription
    completedMessage = #LOC_OWR_Contract_FrozenSun_Completion
    
    minExpiry = 0.0
    maxExpiry = 0.0
    deadline = 0
    
    cancellable = false
    declinable = false
    maxCompletions = 1
    maxSimultaneous = 1
    
    prestige = Exceptional
    
    rewardFunds = 750000.0
    rewardScience = 500.0
    rewardReputation = 80.0
    advanceFunds = 250000.0
    
    REQUIREMENT
    {
        name = CompleteContract
        type = CompleteContract
            
        contractType = OWR_Cercani_c
        minCount = 1

        hideChildren = true
    }

    PARAMETER
    {
        name = ReachSpecificOrbit
        type = ReachSpecificOrbit

        index = 0

        deviationWindow = 5.0
    }

    BEHAVIOUR
    {
        name = OrbitGenerator
        type = OrbitGenerator

        FIXED_ORBIT
        {
            targetBody = Vassa

            ORBIT
            {
                SMA = 686750
                ECC = 0.75
                INC = 85
                MNA = 0
                LAN = 1.23825
                LPE = -65

                EPH = 0
                REF = 1
            }
        }
    }

    PARAMETER
    {
        name = CollectScience
        type = CollectScience

        targetBody = Vassa
        situation = FlyingHigh
        experiment = barometerScan

        recoveryMethod = RecoverOrTransmit
    }

    PARAMETER
    {
        name = CollectScience
        type = CollectScience

        targetBody = Vassa
        situation = FlyingHigh
        experiment = atmosphereAnalysis

        recoveryMethod = RecoverOrTransmit
    }

    PARAMETER
    {
        name = HasAntenna
        type = HasAntenna

        antennaType = TRANSMIT
        minAntennaPower = 100.0
    }

    PARAMETER
    {
        name = HasResource
        type = HasResource

        resource = ElectricCharge
    }
}

//-------------------------
// Pequar Contracts
//-------------------------

CONTRACT_TYPE
{
    name = OWR_Cercani_d
    group = OWR_StellarExplorationCercani
    sortKey = 030

    title = #LOC_OWR_Contract_Cercani_d_Title
    description = #LOC_OWR_Contract_Cercani_d_Description
    genericDescription = #LOC_OWR_Contract_Cercani_d_GenericDescription
    synopsis = #LOC_OWR_Contract_Cercani_d_GenericDescription
    completedMessage = #LOC_OWR_Contract_Cercani_d_Completion
    
    minExpiry = 0.0
    maxExpiry = 0.0
    deadline = 0
    
    cancellable = false
    declinable = false
    maxCompletions = 1
    maxSimultaneous = 1
    
    prestige = Exceptional
    
    rewardFunds = 500000.0
    rewardScience = 250.0
    rewardReputation = 50.0
    advanceFunds = 100000.0
    
    REQUIREMENT
    {
        name = CompleteContract
        type = CompleteContract
            
        contractType = OWR_DreamsOfTheUnknown
        minCount = 1
    }

    PARAMETER
    {
        name = ReachState
        type = ReachState

        targetBody = Pequar

        minAltitude = 0
    }

    PARAMETER
    {
        name = HasAntenna
        type = HasAntenna
    
        minAntennaPower = 100.0
    }

    PARAMETER
    {
        name = HasResource
        type = HasResource

        resource = ElectricCharge
    }
}

CONTRACT_TYPE
{
    name = OWR_SistersOfTheSands
    group = OWR_StellarExplorationCercani
    sortKey = 031

    title = #LOC_OWR_Contract_SistersOfTheSands_Title
    description = #LOC_OWR_Contract_SistersOfTheSands_Description
    genericDescription = #LOC_OWR_Contract_SistersOfTheSands_GenericDescription
    synopsis = #LOC_OWR_Contract_SistersOfTheSands_GenericDescription
    completedMessage = #LOC_OWR_Contract_SistersOfTheSands_Completion
    
    minExpiry = 0.0
    maxExpiry = 0.0
    deadline = 0
    
    cancellable = false
    declinable = false
    maxCompletions = 1
    maxSimultaneous = 1
    
    prestige = Exceptional
    
    rewardFunds = 750000.0
    rewardScience = 450.0
    rewardReputation = 80.0
    advanceFunds = 250000.0
    
    REQUIREMENT
    {
        name = CompleteContract
        type = CompleteContract
            
        contractType = OWR_Cercani_d
        minCount = 1

        hideChildren = true
    }

    BEHAVIOUR
    {
        name = OrbitGenerator
        type = OrbitGenerator

        FIXED_ORBIT
        {
            targetBody = Pequar

            ORBIT
            {
                SMA = 12456000
                ECC = 0.6
                INC = 23
                MNA = 0
                LAN = -1.1
                LPE = 2

                EPH = 0
                REF = 1
            }
        }
    }

    PARAMETER
    {
        name = Sequence
        type = Sequence

        failWhenCompleteOutOfOrder = false

        PARAMETER
        {
            name = ReachSpecificOrbit
            type = ReachSpecificOrbit

            index = 0

            deviationWindow = 5.0
        }

        PARAMETER
        {
            name = All
            type = All

            PARAMETER
            {
                name = CollectScience1
                type = CollectScience

                targetBody = Pequar
                experiment = gravityScan

                recoveryMethod = None
            }

            PARAMETER
            {
                name = CollectScience2
                type = CollectScience

                targetBody = Pequar
                experiment = magnetometer

                recoveryMethod = None
            }
        }
    }

    PARAMETER
    {
        name = HasAntenna
        type = HasAntenna

        antennaType = TRANSMIT
        minAntennaPower = 100.0
    }

    PARAMETER
    {
        name = HasResource
        type = HasResource

        resource = ElectricCharge
    }
}

//-------------------------
// Nienna Contracts
//-------------------------

CONTRACT_TYPE
{
    name = OWR_Cercani_e
    group = OWR_StellarExplorationCercani
    sortKey = 040

    title = #LOC_OWR_Contract_Cercani_e_Title
    description = #LOC_OWR_Contract_Cercani_e_Description
    genericDescription = #LOC_OWR_Contract_Cercani_e_GenericDescription
    synopsis = #LOC_OWR_Contract_Cercani_e_GenericDescription
    completedMessage = #LOC_OWR_Contract_Cercani_e_Completion
    
    minExpiry = 0.0
    maxExpiry = 0.0
    deadline = 0
    
    cancellable = false
    declinable = false
    maxCompletions = 1
    maxSimultaneous = 1
    
    prestige = Exceptional
    
    rewardFunds = 500000.0
    rewardScience = 250.0
    rewardReputation = 50.0
    advanceFunds = 100000.0
    
    REQUIREMENT
    {
        name = CompleteContract
        type = CompleteContract
            
        contractType = OWR_DreamsOfTheUnknown
        minCount = 1
    }

    PARAMETER
    {
        name = ReachState
        type = ReachState

        targetBody = Nienna

        minAltitude = 0
    }

    PARAMETER
    {
        name = HasAntenna
        type = HasAntenna
    
        minAntennaPower = 100.0
    }

    PARAMETER
    {
        name = HasResource
        type = HasResource

        resource = ElectricCharge
    }
}

CONTRACT_TYPE
{
    name = OWR_GalacticCandy
    group = OWR_StellarExplorationCercani
    sortKey = 041

    title = #LOC_OWR_Contract_GalacticCandy_Title
    description = #LOC_OWR_Contract_GalacticCandy_Description
    genericDescription = #LOC_OWR_Contract_GalacticCandy_GenericDescription
    synopsis = #LOC_OWR_Contract_GalacticCandy_GenericDescription
    completedMessage = #LOC_OWR_Contract_GalacticCandy_Completion
    
    minExpiry = 0.0
    maxExpiry = 0.0
    deadline = 0
    
    cancellable = false
    declinable = false
    maxCompletions = 1
    maxSimultaneous = 1
    
    prestige = Exceptional
    
    rewardFunds = 750000.0
    rewardScience = 450.0
    rewardReputation = 80.0
    advanceFunds = 250000.0
    
    REQUIREMENT
    {
        name = CompleteContract
        type = CompleteContract
            
        contractType = OWR_Cercani_e
        minCount = 1

        hideChildren = true
    }

    PARAMETER
    {
        name = Sequence
        type = Sequence

        failWhenCompleteOutOfOrder = false

        PARAMETER
        {
            name = ReachStateOrbit
            type = ReachState

            targetBody = Nienna

            situation = ORBITING
            minAltitude = 300000
        }

        PARAMETER
        {
            name = Flyby
            type = Any

            PARAMETER
            {
                name = ReachStateFlybyKevari
                type = ReachState

                targetBody = Kevari

                situation = ESCAPING
                minAltitude = 0
                minRateOfClimb = 0
            }

            PARAMETER
            {
                name = ReachStateFlybyCrons
                type = ReachState

                targetBody = Crons

                situation = ESCAPING
                minAltitude = 0
                minRateOfClimb = 0
            }

            PARAMETER
            {
                name = ReachStateFlybyNiko
                type = ReachState

                targetBody = Niko

                situation = ESCAPING
                minAltitude = 0
                minRateOfClimb = 0
            }
        }
    }

    PARAMETER
    {
        name = HasAntenna
        type = HasAntenna

        antennaType = TRANSMIT
        minAntennaPower = 100.0
    }

    PARAMETER
    {
        name = HasResource
        type = HasResource

        resource = ElectricCharge
    }
}

//-------------------------
// Prima-Secunda Contracts
//-------------------------

CONTRACT_TYPE
{
    name = OWR_Cercani_f
    group = OWR_StellarExplorationCercani
    sortKey = 050

    title = #LOC_OWR_Contract_Cercani_f_Title
    description = #LOC_OWR_Contract_Cercani_f_Description
    genericDescription = #LOC_OWR_Contract_Cercani_f_GenericDescription
    synopsis = #LOC_OWR_Contract_Cercani_f_GenericDescription
    completedMessage = #LOC_OWR_Contract_Cercani_f_Completion
    
    minExpiry = 0.0
    maxExpiry = 0.0
    deadline = 0
    
    cancellable = false
    declinable = false
    maxCompletions = 1
    maxSimultaneous = 1
    
    prestige = Exceptional
    
    rewardFunds = 500000.0
    rewardScience = 250.0
    rewardReputation = 50.0
    advanceFunds = 100000.0
    
    REQUIREMENT
    {
        name = CompleteContract
        type = CompleteContract
            
        contractType = OWR_DreamsOfTheUnknown
        minCount = 1
    }

    PARAMETER
    {
        name = ReachState
        type = ReachState

        targetBody = PrimaSecunda

        minAltitude = 0
    }

    PARAMETER
    {
        name = HasAntenna
        type = HasAntenna
    
        minAntennaPower = 100.0
    }

    PARAMETER
    {
        name = HasResource
        type = HasResource

        resource = ElectricCharge
    }
}

CONTRACT_TYPE
{
    name = OWR_WaltzOfIce
    group = OWR_StellarExplorationCercani
    sortKey = 051

    title = #LOC_OWR_Contract_WaltzOfIce_Title
    description = #LOC_OWR_Contract_WaltzOfIce_Description
    genericDescription = #LOC_OWR_Contract_WaltzOfIce_GenericDescription
    synopsis = #LOC_OWR_Contract_WaltzOfIce_GenericDescription
    completedMessage = #LOC_OWR_Contract_WaltzOfIce_Completion
    
    minExpiry = 0.0
    maxExpiry = 0.0
    deadline = 0
    
    cancellable = false
    declinable = false
    maxCompletions = 1
    maxSimultaneous = 1
    
    prestige = Exceptional
    
    rewardFunds = 750000.0
    rewardScience = 400.0
    rewardReputation = 80.0
    advanceFunds = 250000.0
    
    REQUIREMENT
    {
        name = CompleteContract
        type = CompleteContract
            
        contractType = OWR_Cercani_f
        minCount = 1

        hideChildren = true
    }

    PARAMETER
    {
        name = CollectSciencePrima
        type = CollectScience

        targetBody = Prima
        situation = InSpaceLow
        
        experiment = temperatureScan
        recoveryMethod = RecoverOrTransmit
    }

    PARAMETER
    {
        name = CollectScienceSecunda
        type = CollectScience

        targetBody = Secunda
        situation = InSpaceLow
        
        experiment = temperatureScan
        recoveryMethod = RecoverOrTransmit
    }

    PARAMETER
    {
        name = HasAntenna
        type = HasAntenna

        antennaType = TRANSMIT
        minAntennaPower = 100.0
    }

    PARAMETER
    {
        name = HasResource
        type = HasResource

        resource = ElectricCharge
    }
}

 

I also noticed this error: 

[ERR 16:53:45.735] ContractConfigurator.ParameterFactory: CONTRACT_TYPE 'AS_Jool_Monolith', PARAMETER 'Monolith' of type 'Monolith': Unknown parameter 'Monolith'.

Which I think is from Anomaly Surveyor contract pack if I'm not mistaken. 

Here's Jool_Monolith.cfg:

Spoiler

// Contract for the Jool monolith anomaly.
//   Author: nightingale

CONTRACT_TYPE
{
    name = AS_Jool_Monolith
    group = AnomalySurveyor

    sortKey = 05.00
    genericTitle = Undiscovered anomaly near Jool
    genericDescription = If we mess around with things that shouldn't be messed with, we may end up somewhere interesting.

    title = Investigate the monolith signal at Jool
    description = We've traced latest monolith signal to Jool.  We don't know exactly where in the Jool system, but we're confident that if you can make it there we'll be able to figure it out.
    synopsis = Find out what's in the Jool system.
    completedMessage = Well, that was certainly interesting...

    // Level 3 prestige
    prestige = Exceptional

    targetBody = Jool

    // Always offered by the Anomaly Surveyor Group
    agent = Anomaly Surveyor Group

    // Can only do this contract once
    maxCompletions = 1

    // Contract rewards
    rewardFunds = 200000.0
    rewardScience = 40.0
    rewardReputation = 8.6

    PARAMETER
    {
        name = Sequence
        type = Sequence
        title = Investigate the situation

        hiddenParameter = Monolith

        PARAMETER
        {
            name = VesselParameterGroup
            type = VesselParameterGroup

            define = Discovery One

            PARAMETER
            {
                name = HasCrew
                type = HasCrew

                minCrew = 1
                trait = Pilot
            }

            PARAMETER
            {
                name = HasCrew
                type = HasCrew

                minCrew = 1
                trait = Scientist
            }

            PARAMETER
            {
                name = ReachState
                type = ReachState

                situation = ORBITING
            }
        }

        PARAMETER
        {
            name = Rendezvous
            type = Rendezvous

            title = Approach within 20km of the unknown object
            distance = 20000

            vessel = Discovery One
            vessel = Monolith
        }

        PARAMETER
        {
            name = Monolith
            type = Monolith
        }
    }

    BEHAVIOUR
    {
        type = DialogBox

        DIALOG_BOX
        {
            title = The Star Jeb is Born

            condition = PARAMETER_COMPLETED
            parameter = Monolith

            position = CENTER
            width = 0.2

            IMAGE
            {
                url = ContractPacks/AnomalySurveyor/Images/starjeb.dds.noload
            }

            BREAK
            {
            }

            TEXT
            {
                text =  And so it was that $starJebName became an immortal being known as "The Star Jeb".  After the Star Jeb's transcendence, the Jool monolith disappeared - no one knows if it will ever reappear.\n\nAs for the Star Jeb, they have the ability to advance Kerbal science and the Kerbal Space Program to great new heights, and yet they've done absolutely nothing.\n\nIn fact, rumor has it that they haven't even called their mother.
                fontSize = 16
            }
        }

        DIALOG_BOX
        {
            condition = PARAMETER_COMPLETED
            parameter = Monolith

            KERBAL
            {
            }

            TEXT
            {
                text = $starJebName.FirstWord() is coming back...\n\nRight?
            }
        }
    }

    BEHAVIOUR
    {
        name = SpawnVessel
        type = SpawnVessel

        deferVesselCreation = true

        VESSEL
        {
            name = Monolith

            craftURL = ContractPacks/AnomalySurveyor/Monolith/Monolith.craft
            vesselType = Unknown
            owned = False

            ORBIT
            {
                SMA = 8001000.30496466
                ECC = 7.42530592330278E-06
                INC = 0
                LPE = 90.5321508078686
                LAN = 102.402138847893
                MNA = 1.56146499268263
                EPH = 446551.435125314
                REF = 8
            }
        }
    }

    REQUIREMENT
    {
        type = Any

        title = Must have visited similar anomalies, and triggered something unexpected
        hideChildren = true

        REQUIREMENT
        {
            type = CompleteContract
            contractType = AS_Mun_Monolith.0
        }

        REQUIREMENT
        {
            type = CompleteContract
            contractType = AS_Mun_Monolith.1
        }

        REQUIREMENT
        {
            type = CompleteContract
            contractType = AS_Mun_Monolith.2
        }

        REQUIREMENT
        {
            type = CompleteContract
            contractType = AS_Mun_Monolith.3
        }
    }

    REQUIREMENT
    {
        type = Expression

        title = [Currently broken in newer versions of KSP - fix in the works]

        expression = 1 == 0
    }
}
 

 

Link to comment
Share on other sites

1 hour ago, John007qwe said:

doesn't open when I hit alt+f10 for some reason

This is typically caused by an issue with Nvidia In-Game Overlay which uses “Alt + F10” to save the last 5 minutes of the game as a video.  You can change the Nvidia setting, I use ALT-CTR-F10.

There should be a file copy of the output under GameData/ContractConfigurator/logs.

1 hour ago, John007qwe said:

might have something to do with the OtherWorldsReboot (OWR) contracts

The parameter definitions are correct for standard Contract Configurator however, something you have installed has modified the radios so that the types and power settings are no longer recognized and the exceptions are thrown. 

You have the following options available to you to fix it. 

  1. Hunt down the cause of your radio setting s being changes and fix that. 
  2. Stop using OWR contracts
  3. Edit the OWR Contract files and  change all instances of
    1.  this
      •  
            PARAMETER
            {
                name = HasAntenna
                type = HasAntenna
        
                antennaType = TRANSMIT
                minAntennaPower = 100.0
            }

         

    2. to this
      •     PARAMETER
            {
                name = HasAntenna
                type = HasAntenna
            }

From what I can see the contracts don't  force you to transmit data to complete them so checking that you "can" is not necessarily required.  The change just makes sure you have an antenna onboard. 

The third option is probably the quickest way to stop the errors and continue using the contract pack in a modified form. 

   

1 hour ago, John007qwe said:

Here's Jool_Monolith.cfg

The Monolith contract is borked. Best to just delete it. 

Edited by Caerfinon
Link to comment
Share on other sites

17 minutes ago, Caerfinon said:

This is typically caused by an issue with Nvidia In-Game Overlay which uses “Alt + F10” to save the last 5 minutes of the game as a video.  You can change the Nvidia setting, I use ALT-CTR-F10.

Thanks, that was exactly the problem!

17 minutes ago, Caerfinon said:

Hunt down the cause of your radio setting s being changes and fix that. 

The only thing it could be would be RemoteTech I think? I'm not sure what else would change it. If not, then I will just delete the part of the contract files as you said.

19 minutes ago, Caerfinon said:

The Monolith contract is borked. Best to just delete it. 

Thanks, will do!

Link to comment
Share on other sites

  • 2 weeks later...

Hi everyone,
sorry in advanced if i am just slow.
So i have been searching far and wide to find a way to create a repair contract. Did i miss something or is that not possible with contract configurator?
Mainly i am trying to spawn a broken vehicle and then send  a Kerbal to use the engineers fix part action.

Edited by Morphyum
Link to comment
Share on other sites

5 hours ago, Morphyum said:

Mainly i am trying to spawn a broken vehicle and then send  a Kerbal to use the engineers fix part action.

Contract configurator currently has no way to determine the use of the fix part action, however you could spawn a vessel that is missing a key part and then use a part validation parameter to check for the existence of  of the key part. Then have your engineer rendezvous with the vessel, attach the missing part using EVA Construction or  KIS/KAS and then swirtch to the now repaired vessel so the validation will trigger to complete the contract.    

Link to comment
Share on other sites

  • 2 weeks later...
There's fixes for rather substantial memory/GameEvent leaks in this release.
 

What's Changed

Edited by siimav
Link to comment
Share on other sites

  • 2 weeks later...

New mod dependency

ContractConfigurator now depends on HarmonyKSP. For CKAN users this will be installed automatically but others will need to download the latest release from here.

What's Changed

Edited by siimav
Link to comment
Share on other sites

  • 1 month later...
Link to comment
Share on other sites

  • 4 weeks later...

Hello. I play with mods and have put different mods on contracts. It became much more interesting to play, but there was a problem. The fact is that the Contract Configurator mod limits the maximum number of possible contracts. Since I have different mods for contracts, I want to execute them in parallel. Some tasks, such as visiting ALL the planets and moons, can take years. Because of this, I can't take other assignments. I tried to find the settings in *.cfg, but I didn't find anything similar. Maybe I was just looking in the wrong place. Downloading updates from Git, I studied the mod code and found a method where the maximum number of contracts is calculated. Simply increasing the number in the code solved my problem. If possible, I would like to ask you to put these settings in a *.cfg file so that the user can easily change the maximum number of tasks. Maybe we can make some kind of multiplier that will increase the maximum number of tasks, or an additional variable that will be 0 by default, and in cfg it can be replaced with any value to increase the maximum number of tasks. If there are such settings, please tell me where to look for them? I don't want to interfere in your creativity for nothing because of such a trifle =)

Link to comment
Share on other sites

@Apophis705 Did you already go into the Contract Configurator section of the stock difficulty settings menu and crank the "Active Contract Multiplier" up to 8 (the max the slider allows)? With that set you will get limits of 75 trivial, 59 significant and 44 exceptional contracts. I've never hit this limit but if that still isn't enough, you can edit the save file (take a backup first) and set PARAMETERS -> ContractConfiguratorParameters -> ActiveContractMultiplier to whatever figure you want.

The individual contract groups still contain limits to the number of simultaneous contracts that they will offer that varies from contract pack to contract pack.

EDIT: note, the contact_group limit can be overridden using ModuleManager patches, either on a case-by-case approach or applying a global multiplier to the maxSimultaneous field.

Edited by Aelfhe1m
extra info
Link to comment
Share on other sites

4 hours ago, Aelfhe1m said:

@Apophis705 Did you already go into the Contract Configurator section of the stock difficulty settings menu and crank the "Active Contract Multiplier" up to 8 (the max the slider allows)? With that set you will get limits of 75 trivial, 59 significant and 44 exceptional contracts. I've never hit this limit but if that still isn't enough, you can edit the save file (take a backup first) and set PARAMETERS -> ContractConfiguratorParameters -> ActiveContractMultiplier to whatever figure you want.

The individual contract groups still contain limits to the number of simultaneous contracts that they will offer that varies from contract pack to contract pack.

EDIT: note, the contact_group limit can be overridden using ModuleManager patches, either on a case-by-case approach or applying a global multiplier to the maxSimultaneous field.

Yes, I saw the ActiveContractMultiplier multiplier in the code, but I didn't find it in the game =). Now I've searched again, he's nowhere to be found. I can only set it up when I start a new game. But I added the mod after the game started. I have now edited my saved game. It helped, thanks =).

Link to comment
Share on other sites

2 hours ago, Apophis705 said:

Yes, I saw the ActiveContractMultiplier multiplier in the code, but I didn't find it in the game =). Now I've searched again, he's nowhere to be found. I can only set it up when I start a new game. But I added the mod after the game started. I have now edited my saved game. It helped, thanks =).

How to get to those settings in an ongoing save:

  • Start KSP and load a save game
  • At the space centre view Press escape to get the pause menu (or click button in top right of screen)
  • Choose settings
  • Press the button labelled "Difficulty Options" at the top of the new window
  • Click the buttons down the left side of the next window for individual mod options (one should be labelled Contract Configurator)
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...