Jump to content

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


nightingale

Recommended Posts

Hello nightingale,

can you please tell me why the RemoteTech pack gives these warnings:


ContractConfigurator.PartUnlockedRequirement: CONTRACT_TYPE 'RT_EelooRelay', REQUIREMENT 'PartUnlocked' of type 'PartUnlocked': Error parsing part

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)


ArgumentException: 'RTGigaDish1' is not a valid Part.
at ContractConfigurator.ConfigNodeUtil.ParsePartValue (System.String partName) [0x00000] in <filename unknown>:0


at ContractConfigurator.ConfigNodeUtil.ParseSingleValue[AvailablePart] (System.String key, System.String stringValue, Boolean allowExpression) [0x00000] in <filename unknown>:0


at ContractConfigurator.ConfigNodeUtil.ParseValue[AvailablePart] (.ConfigNode configNode, System.String key, Boolean allowExpression) [0x00000] in <filename unknown>:0


at ContractConfigurator.ConfigNodeUtil.ParseValue[AvailablePart] (.ConfigNode configNode, System.String key, System.Action`1 setter, IContractConfiguratorFactory obj, .AvailablePart defaultValue, System.Func`2 validation) [0x00000] in <filename unknown>:0
UnityEngine.Debug:Internal_LogException(Exception, Object)
UnityEngine.Debug:LogException(Exception)
ContractConfigurator.LoggingUtil:LogException(Exception)
ContractConfigurator.ConfigNodeUtil:ParseValue(ConfigNode, String, Action`1, IContractConfiguratorFactory, AvailablePart, Func`2)
ContractConfigurator.ConfigNodeUtil:ParseValue(ConfigNode, String, Action`1, IContractConfiguratorFactory)
ContractConfigurator.PartUnlockedRequirement:Load(ConfigNode)
ContractConfigurator.ContractRequirement:GenerateRequirement(ConfigNode, ContractType, ContractRequirement&, IContractConfiguratorFactory)
ContractConfigurator.ContractRequirement:GenerateRequirement(ConfigNode, ContractType, ContractRequirement&, IContractConfiguratorFactory)
ContractConfigurator.ContractType:Load(ConfigNode)
ContractConfigurator.ContractConfigurator:LoadContractConfig()
ContractConfigurator.ContractConfigurator:Update()

I have modded the Giga dish, changed name and description, but it's still there. These warnings appear right when game loads the main menu.

The name needs to be "RTGigaDish1", or else Contract Configurator won't find it. Unless of course, you meant that you changed the title from "Reflectron GX-128" to something else (which Contract Configurator shouldn't care about). So if it really is the name that you changed, then you'll need to change it back or also change the contract .cfg files to match.

The impact is that the RT_EelooRelay contract (and probably several others) isn't loading and won't be available in your game until you fix the underlying issue.

Link to comment
Share on other sites

I just released my first version of this:

Spacetux - Unmanned Contracts, available at

https://kerbalstuff.com/mod/647/Spacetux%20-%20Unmanned%20Contracts

This contract pack contains a series of missions intended to add some more direction and depth to career mode.

It is recommended that you also install the Advanced Progression Contracts Forum Thread

I would like to give credit to tjsnh for his Advanced Progression Contracts. I got a lot of inspiration from his contracts and used several of his contracts as templates for these

This initial release only contains contracts for 5 missions to the Mun. It is going to be expanded to include every body in the system.

Link to comment
Share on other sites

I'm sure this is me doing something wrong.. so a little help please?

Basically, I'm trying to make the contract regenerate after a certain length of time. Initially I used cooldownDuration = 30d, which worked great.

Then I decided that I didn't like 30 days exactly... so I thought I'd make it random.

This is where I came unstuck

REQUIREMENT
{
name = Rotation
type = CompleteContract

contractType = KerbinCrewRotation

minCount = 0
cooldownDuration = Random(30, 120)d
}

I also tried Random(30d, 120d) but didn't get anywhere. Am I just typing it wrong? Or am I going to have to go about this another way?

Edited by severedsolo
Link to comment
Share on other sites

I'm sure this is me doing something wrong.. so a little help please?

Basically, I'm trying to make the contract regenerate after a certain length of time. Initially I used cooldownDuration = 30d, which worked great.

Then I decided that I didn't like 30 days exactly... so I thought I'd make it random.

This is where I came unstuck

REQUIREMENT
{
name = Rotation
type = CompleteContract

contractType = KerbinCrewRotation

minCount = 0
cooldownDuration = Random(30, 120)d
}

I also tried Random(30d, 120d) but didn't get anywhere. Am I just typing it wrong? Or am I going to have to go about this another way?

Ah, the date stuff... short answer is, expressions aren't supported there. Raise an issue on GitHub and I'll take a look for the next version.

Link to comment
Share on other sites

I just released my first version of this:

Spacetux - Unmanned Contracts, available at

https://kerbalstuff.com/mod/647/Spacetux%20-%20Unmanned%20Contracts

This contract pack contains a series of missions intended to add some more direction and depth to career mode.

It is recommended that you also install the Advanced Progression Contracts Forum Thread

I would like to give credit to tjsnh for his Advanced Progression Contracts. I got a lot of inspiration from his contracts and used several of his contracts as templates for these

This initial release only contains contracts for 5 missions to the Mun. It is going to be expanded to include every body in the system.

Congratulations on the release, the first post has been updated with a link to your post and kerbalstuff (sorry I didn't get to it earlier, was an otherwise busy day). Oh, and normally I'd rep you, but the forums says I need to spread the love to others first... so everyone go have a look at linuxgurugamer's stuff and send some rep his way if you like what you see!

Link to comment
Share on other sites

I have run into a problem, some parameters of contracts are not being recognized properly. For example if I take a contract for putting a vessel in orbit and put it in orbit it doesnt complete the parameter. It shows as an uncompleted item in the contract panel.

Sometimes it will recognize the completed parameter if I go to KSC and back to the vessel, but I guess this is not how it should be.

Since this has happened with contracts from different packs (including the RemoteTech one) I am assuming is CC itself and not a particular pack.

Sometimes it will recognize the completed parameter if I go to KSC and back to the vessel, but I guess this is not how it should be.

Link to comment
Share on other sites

I have run into a problem, some parameters of contracts are not being recognized properly. For example if I take a contract for putting a vessel in orbit and put it in orbit it doesnt complete the parameter. It shows as an uncompleted item in the contract panel.

Sometimes it will recognize the completed parameter if I go to KSC and back to the vessel, but I guess this is not how it should be.

Since this has happened with contracts from different packs (including the RemoteTech one) I am assuming is CC itself and not a particular pack.

Sometimes it will recognize the completed parameter if I go to KSC and back to the vessel, but I guess this is not how it should be.

Hmmm, I think I need this narrowed down a little bit more. Can you provide a screenshot of a specific instance of this happening? Have you noticed this when making your own contracts, or is this just with the various contract packs out there? Is this something that you've just started seeing since 0.7.0?

Link to comment
Share on other sites

One last teaser for the new contract pack:

8GaG5jm.png

Note that I realized I missed a small but important piece of functionality for the contract pack, so it will be released alongside 0.7.1. I'll also take the time to fix a couple other smalls bugs and enhancement requests that have cropped up.

Link to comment
Share on other sites

Ah, the date stuff... short answer is, expressions aren't supported there. Raise an issue on GitHub and I'll take a look for the next version.

Ah, I did wonder if that was the case. I was wondering if I'd have to somehow store it as a expression and then call the answer back, but it sounds like that wouldn't work either. Cheers for your help.

I'll raise the github issue when I get home from work, in the meantime as this is going to have to be a fixed amount of time, I'll open the question up to the floor:

Space Station crew rotation missions, is 30 days between missions too short? what period of time would you prefer?

Link to comment
Share on other sites

Hmmm is there a possibility to force CC into giving money when failing a contract and taking money when completing a contract ? When i tried it with a - in front of the reward it gave me error info that the value has to be larger than 0.

Link to comment
Share on other sites

Hmmm, I think I need this narrowed down a little bit more. Can you provide a screenshot of a specific instance of this happening? Have you noticed this when making your own contracts, or is this just with the various contract packs out there? Is this something that you've just started seeing since 0.7.0?

Never mind, I tried it in a clean install with this mod alone and it worked propperly.

Now Ill have to figure out what happened in my modded install.

Thanks for the quick reply.

Link to comment
Share on other sites

Hmmm is there a possibility to force CC into giving money when failing a contract and taking money when completing a contract ? When i tried it with a - in front of the reward it gave me error info that the value has to be larger than 0.

That's my own validation preventing it. I'll remove the validation and see what happens... if stock KSP allows it then fine, otherwise I'd need to do something special to get that working. Raised [#149] on GitHub.

Link to comment
Share on other sites

Never mind, I tried it in a clean install with this mod alone and it worked propperly.

Now Ill have to figure out what happened in my modded install.

Thanks for the quick reply.

I had a similar problem since upgrading to 0.7, none of the contracts in my career mode save would complete (the 18km Manned from SETI and the Artificial Satelite in Orbit one from Advance Progression, not recognizing Alitude and Orbit Situation respectively). Tried uninstalling a few suspected culprit mods and nothing seemed to fix it.

My solution was to regenerate the current contracts from the Debug Toolbar, Contracts, Tools Menu and then reaccept them all (although one from Advanced Progression didn't reappear and was sustituted by another one, but I guess it will come back eventually. I had First Orbital Satellite, but First Kerbal in Orbit was regenerated.). I then corrected my funds using the GovFunding Mod which I have installed anyway (make a note before you regenerate, you can end up with less or more funds depending on advances on contracts).

Note: I am not sure this is necessarily a bug with CC, as I had a Mission Controller 2 contract that was not completing too, something just went awry with contract system in general. I also updated Contracts Window Plus at the same time as CC which could of had an effect maybe.

Also, I noticed that in the Debug Toolbar, Contracts, Add menu all CC contracts are just displayed as "ConfiguredContract", where as those from Mission Controller 2 and Dmagic actually have the contract name, would be useful to have the name displayed there to enable manually regenerating a contract in these kinds of situations.

Finally, thanks for the awesome mod Nightingale, loving the customisability of these contract pacts, and after editing Advance Progression to suit my tastes a little bit, and realising how easy it is I have an idea for a small very simple contract that I might implement for my first foray into mod creation.

Link to comment
Share on other sites

Never mind, I tried it in a clean install with this mod alone and it worked propperly.

Now Ill have to figure out what happened in my modded install.

Thanks for the quick reply.

I have narrowed down the issue to the tech tree. I am using a custom tech tree I made and running it with Tech Manager. If I unlock one node of the tech tree CC stops recognizing the completion of contracts.

Guess Ill ask over there.

Link to comment
Share on other sites

I just released my first version of this:

Spacetux - Unmanned Contracts, available at

https://kerbalstuff.com/mod/647/Spacetux%20-%20Unmanned%20Contracts

This contract pack contains a series of missions intended to add some more direction and depth to career mode.

It is recommended that you also install the Advanced Progression Contracts Forum Thread

I would like to give credit to tjsnh for his Advanced Progression Contracts. I got a lot of inspiration from his contracts and used several of his contracts as templates for these

This initial release only contains contracts for 5 missions to the Mun. It is going to be expanded to include every body in the system.

Version 0.2.0 was just released. bug fixes and Minmus contracts added

Link to comment
Share on other sites

Its frustrating parsing the forums so I will ask it here. Is there anyone working rover contracts. I find it annoying that in a game that comes with rover parts that even the stock contracts dont generate rover contracts.

Link to comment
Share on other sites

Also, I noticed that in the Debug Toolbar, Contracts, Add menu all CC contracts are just displayed as "ConfiguredContract", where as those from Mission Controller 2 and Dmagic actually have the contract name, would be useful to have the name displayed there to enable manually regenerating a contract in these kinds of situations.

I believe changing this would require, more-or-less, a complete rewrite of how CC works, or a rewrite, on the stock side, of how Contracts are identified. All of the other contract addons are mostly hard-coded with a few configuration options, which is why they show up separately like that.

Link to comment
Share on other sites

I had a similar problem since upgrading to 0.7, none of the contracts in my career mode save would complete (the 18km Manned from SETI and the Artificial Satelite in Orbit one from Advance Progression, not recognizing Alitude and Orbit Situation respectively). Tried uninstalling a few suspected culprit mods and nothing seemed to fix it.

My solution was to regenerate the current contracts from the Debug Toolbar, Contracts, Tools Menu and then reaccept them all (although one from Advanced Progression didn't reappear and was sustituted by another one, but I guess it will come back eventually. I had First Orbital Satellite, but First Kerbal in Orbit was regenerated.). I then corrected my funds using the GovFunding Mod which I have installed anyway (make a note before you regenerate, you can end up with less or more funds depending on advances on contracts).

Note: I am not sure this is necessarily a bug with CC, as I had a Mission Controller 2 contract that was not completing too, something just went awry with contract system in general. I also updated Contracts Window Plus at the same time as CC which could of had an effect maybe.

I have narrowed down the issue to the tech tree. I am using a custom tech tree I made and running it with Tech Manager. If I unlock one node of the tech tree CC stops recognizing the completion of contracts.

Guess Ill ask over there.

Very strange, don't see why the two would be related, but KSP tends to do weird things when stuff goes wrong. If you post logs I'll have a look in case there's anything Contract Configurator related that jumps out.

Also, I noticed that in the Debug Toolbar, Contracts, Add menu all CC contracts are just displayed as "ConfiguredContract", where as those from Mission Controller 2 and Dmagic actually have the contract name, would be useful to have the name displayed there to enable manually regenerating a contract in these kinds of situations.
I believe changing this would require, more-or-less, a complete rewrite of how CC works, or a rewrite, on the stock side, of how Contracts are identified. All of the other contract addons are mostly hard-coded with a few configuration options, which is why they show up separately like that.

Exactly - adding to that list requires creating a new contract sub-class (ie. C# code), which is the antithesis of the whole idea behind Contract Configurator. I may at some point in the future add a similar function to my own debug window - but it's a fairly low priority. For my own testing I usually just spam the regenerate button until the one I want shows up.

Finally, thanks for the awesome mod Nightingale, loving the customisability of these contract pacts, and after editing Advance Progression to suit my tastes a little bit, and realising how easy it is I have an idea for a small very simple contract that I might implement for my first foray into mod creation.

The more the merrier. This has been a busy couple days for new contract packs (3 and counting, 4 when I release mine...)

Its frustrating parsing the forums so I will ask it here. Is there anyone working rover contracts. I find it annoying that in a game that comes with rover parts that even the stock contracts dont generate rover contracts.

Not that I'm aware of. Is this a "I want to know so I can work on it and not do the same thing someone else is doing?" or "I want this in my game?" question? If it's the latter, you may get more visibility posting a new thread on the General Add-On Affairs sub-forum.

Link to comment
Share on other sites

Its frustrating parsing the forums so I will ask it here. Is there anyone working rover contracts. I find it annoying that in a game that comes with rover parts that even the stock contracts dont generate rover contracts.

I'm currently working on my unmanned contracts, but would be willing to do rover contracts next. PM me with some ideas, I should be able to get to them shortly

Link to comment
Share on other sites

Very strange, don't see why the two would be related, but KSP tends to do weird things when stuff goes wrong. If you post logs I'll have a look in case there's anything Contract Configurator related that jumps out.

Exactly - adding to that list requires creating a new contract sub-class (ie. C# code), which is the antithesis of the whole idea behind Contract Configurator. I may at some point in the future add a similar function to my own debug window - but it's a fairly low priority. For my own testing I usually just spam the regenerate button until the one I want shows up.

The more the merrier. This has been a busy couple days for new contract packs (3 and counting, 4 when I release mine...)

Not that I'm aware of. Is this a "I want to know so I can work on it and not do the same thing someone else is doing?" or "I want this in my game?" question? If it's the latter, you may get more visibility posting a new thread on the General Add-On Affairs sub-forum.

Neither actually. I know since this is the parent mod for all the contract packs I figured you might now of some sort of pack that includes rovers on the horizon. Im sure now that it is possible to create contracts I am sure someone with the means to do so will make one. I for one know nothing about cfg, texturing, or modeling. I am just an extremely grateful consumer.

Link to comment
Share on other sites

So, about rover contracts. I haven't done a lot with rovers yet, so would like some ideas as to what a rover contract should require.

Either reply here or PM me with your ideas, questions, suggestions, etc.

The issue is I think that for rover missions they can often be more easily done by hoppers or planes so it would be difficult to enforce. You could say the situation must remain landed, but then any time catch air going a little too fast over a ridge they have to start over. You could say they must have wheels I supose but those can be thrown on anything. I would say you should require them to get very close to the target and as long as it's a lat/long and situation landed you wont get get video quality coordinate issues.

Link to comment
Share on other sites

The issue is I think that for rover missions they can often be more easily done by hoppers or planes so it would be difficult to enforce. You could say the situation must remain landed, but then any time catch air going a little too fast over a ridge they have to start over. You could say they must have wheels I supose but those can be thrown on anything. I would say you should require them to get very close to the target and as long as it's a lat/long and situation landed you wont get get video quality coordinate issues.

I don't think that would necessarily be an issue, as long as you said "must have wheels" to stop it being completed accidentally. I would like to think that if you downloaded a rover contract pack, you probably have some interest in doing rover missions so wouldn't "cheat"

Link to comment
Share on other sites

Very strange, don't see why the two would be related, but KSP tends to do weird things when stuff goes wrong. If you post logs I'll have a look in case there's anything Contract Configurator related that jumps out.

I run tests and figured out it was caused by something related to part unlocking. Certain modded tech tree nodes cause CC to stop working properly upon being unlocked, but only if they contain certain part as far as I can figure out.

This is a method for replicating the bug:

-A fresh install of KSP 0.9

-Install mods

-Contract Configurator 0.7.0 -Initial Contracts 1.0 (some contracts to do)

-ADIOS techtree 1.5 (a modded tech tree)

-Start a new carrer game with default parameters

-TechManager will pop up asking which tech tree to use

-For debugging purposes use the No Cost tree to unlock node freely

-In mission control take some contract (reach 18km is the easiest one)

-Unlock tech tree nodes. not all nodes trigger the bug, but in the ADIOS tech tree, the "miniaturized thrusters" node causes it, maybe other nodes as well.

-Launch a rocket and make it climb to 18km

Before unlocking tech nodes the contract will be completed instantly upon reaching the indicated height, however when unlocking certain nodes, like the one I indicated above the contract objective will not be completed. In the reach 18 km contract it will show as uncompleted even if you are flying over 18 km of height.

Here is a log from the game when the bug happened, take a look at the bottom, I think thats where the error is

http://pastebin.com/djZmDhKx

Thanks.

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