Jump to content

Contract Pack: Advanced Progression - REPLACED


tjsnh

Recommended Posts

Seems to be working for me, can you post a screenshot or two and a list of other mods you have installed?

I don't run too many mods myself, basically just this and a small parts pack, so it's possible there is an interaction causing problems.

Link to comment
Share on other sites

Thanks for the great mod, I love having a wide range of contracts.

I've been looking under KSP's hood and I saw this in KSP.log:

[WRN 20:26:14.576] ContractConfigurator.ConfigNodeUtil: Got an unexpected exception trying to load 'vessel' as a list:
[EXC 20:26:14.577] FormatException: Unknown char: W
System.Double.Parse (System.String s, NumberStyles style, IFormatProvider provider)
System.Double.Parse (System.String s, IFormatProvider provider)
System.Convert.ToDouble (System.String value, IFormatProvider provider)
System.String.System.IConvertible.ToDouble (IFormatProvider provider)
System.Convert.ToType (System.Object value, System.Type conversionType, IFormatProvider provider, Boolean try_target_to_type)
System.Convert.ChangeType (System.Object value, System.Type conversionType)
ContractConfigurator.ExpressionParser.NumericValueExpressionParser`1[System.Double].ParseNumericConstant ()
ContractConfigurator.ExpressionParser.ExpressionParser`1[System.Double].ParseToken ()
ContractConfigurator.ExpressionParser.ExpressionParser`1[System.Double].ParseSimpleStatement[Double] ()
Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation.
System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture)
System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters)
ContractConfigurator.ExpressionParser.ExpressionParser`1[System.Collections.Generic.List`1[System.String]].ParseStatement
[List`1] ()
Rethrow as Exception: Error parsing statement.
Error occurred near '*':
1Week Duration Orbiter
* <-- HERE
ContractConfigurator.ExpressionParser.ExpressionParser`1[System.Collections.Generic.List`1[System.String]].ParseExpression (System.String key, System.String expression, ContractConfigurator.ExpressionParser.DataNode dataNode)
ContractConfigurator.ConfigNodeUtil.ParseSingleValue
[List`1] (System.String key, System.String stringValue, Boolean allowExpression)
ContractConfigurator.ConfigNodeUtil.ParseValue
[List`1] (.ConfigNode configNode, System.String key, Boolean allowExpression)
UnityEngine.Debug:LogException(Exception)
ContractConfigurator.LoggingUtil:LogException(Exception)
ContractConfigurator.ConfigNodeUtil:ParseValue(ConfigNode, String, Boolean)
ContractConfigurator.ConfigNodeUtil:ParseValue(ConfigNode, String, Action`1, IContractConfiguratorFactory, List`1, Func`2)
ContractConfigurator.ConfigNodeUtil:ParseValue(ConfigNode, String, Action`1, IContractConfiguratorFactory, List`1)
ContractConfigurator.VesselParameterGroupFactory:Load(ConfigNode)
ContractConfigurator.ParameterFactory:GenerateParameterFactory(ConfigNode, ContractType, ParameterFactory&, ParameterFactory)
ContractConfigurator.ContractType:Load(ConfigNode)
ContractConfigurator.<LoadContractConfig>d__12:MoveNext()
ContractConfigurator.ContractConfigurator:Update()

This exception repeated for 1Week Duration Orbiter, 4 Kerbal Station Crew, 5 Kerbal Station Crew, 6 Month Crew, 1 Year Crew.

The recurring pattern seems to be that this exception only occurs with vessels that start with a number.

I changed advprog.cfg so the numbers are now in words (and I also fixed a couple of typos - I think you copy/pasted "one month" a couple of times too many :sticktongue: ).

I couldn't find your GitHub repo, so here's the patch (I have my entire KSP directory in Git):


From 687cd785bbdd82ea7367f0b9c1740df3a9ead5ae Mon Sep 17 00:00:00 2001
From: Amedee Van Gasse <[email protected]>
Date: Mon, 13 Apr 2015 01:26:59 +0200
Subject: [PATCH] Bugfix for Contract Pack: Advanced Progression

---
.../ContractPacks/AdvancedProgression/advprog.cfg | 28 +++++++++++-----------
1 file changed, 14 insertions(+), 14 deletions(-)

diff --git a/GameData/ContractPacks/AdvancedProgression/advprog.cfg b/GameData/ContractPacks/AdvancedProgression/advprog.cfg
index 42d2ae2..04b875c 100644
--- a/GameData/ContractPacks/AdvancedProgression/advprog.cfg
+++ b/GameData/ContractPacks/AdvancedProgression/advprog.cfg
@@ -2095,7 +2095,7 @@ REQUIREMENT
{
name = VesselParameterGroup29001
type = VesselParameterGroup
- define = 1Week Duration Orbiter
+ define = One Week Duration Orbiter
PARAMETER
{
name = HasCrew29001
@@ -2117,7 +2117,7 @@ REQUIREMENT
{
name = VesselParameterGroup29002
type = VesselParameterGroup
- vessel = 1Week Duration Orbiter
+ vessel = One Week Duration Orbiter
duration = 7d
title = Stay in orbit for one week
PARAMETER
@@ -2134,7 +2134,7 @@ REQUIREMENT
{
name = VesselParameterGroup29003
type = VesselParameterGroup
- vessel = 1Week Duration Orbiter
+ vessel = One Week Duration Orbiter
PARAMETER
{
name = ReturnHome29001
@@ -2430,7 +2430,7 @@ REQUIREMENT
{
name = VesselParameterGroup35001
type = VesselParameterGroup
- define = 4 Kerbal Station Crew
+ define = Four Kerbal Station Crew
PARAMETER
{
name = HasCrew35001
@@ -2449,7 +2449,7 @@ REQUIREMENT
{
name = VesselParameterGroup35002
type = VesselParameterGroup
- vessel = 4 Kerbal Station Crew
+ vessel = Four Kerbal Station Crew
duration = 30d
title = Stay in orbit for one month
PARAMETER
@@ -2492,7 +2492,7 @@ REQUIREMENT
{
name = VesselParameterGroup36001
type = VesselParameterGroup
- define = 5 Kerbal Station Crew
+ define = Five Kerbal Station Crew
PARAMETER
{
name = HasCrew36001
@@ -2511,9 +2511,9 @@ REQUIREMENT
{
name = VesselParameterGroup36002
type = VesselParameterGroup
- vessel = 5 Kerbal Station Crew
+ vessel = Five Kerbal Station Crew
duration = 90d
- title = Stay in orbit for one month
+ title = Stay in orbit for three months
PARAMETER
{
name = Orbit36002
@@ -2555,7 +2555,7 @@ REQUIREMENT
{
name = VesselParameterGroup37001
type = VesselParameterGroup
- define = 6 Month Crew
+ define = Six Month Crew
PARAMETER
{
name = HasCrew37001
@@ -2574,9 +2574,9 @@ REQUIREMENT
{
name = VesselParameterGroup37002
type = VesselParameterGroup
- vessel = 6 Month Crew
+ vessel = Six Month Crew
duration = 180d
- title = Stay in orbit for one month
+ title = Stay in orbit for six months
PARAMETER
{
name = Orbit37002
@@ -2989,7 +2989,7 @@ REQUIREMENT
{
name = VesselParameterGroup43001
type = VesselParameterGroup
- define = 1 Year Crew
+ define = One Year Crew
PARAMETER
{
name = HasCrew43001
@@ -3008,9 +3008,9 @@ REQUIREMENT
{
name = VesselParameterGroup43002
type = VesselParameterGroup
- vessel = 1 Year Crew
+ vessel = One Year Crew
duration = 1y
- title = Stay in orbit for one month
+ title = Stay in orbit for one year
PARAMETER
{
name = Orbit43002
--
2.1.4

Edited by Amedee
forum messed up my formatting
Link to comment
Share on other sites

Yeah, I'd rather not support vessel tags starting with numbers (complicates parsing, some cases that were clear before may become ambiguous). So I'd take Amedee's patch, as I may make what currently appears to be a warning into an error. :)

Link to comment
Share on other sites

A few private messages came in asking about the next release, plans for 1.0, and so on.

Short answer : TBD

Long answer : It depends on what changes with the contract system in 1.0 , as squad has said they plan on adding more contracts to the "midgame" which is where most of mine fall. Also, squad has tweeted/facebooked this mod at least twice, so there's a chance we might see some advanced-progression-ish contracts included in the 1.0 release. Also, it's likely that some of KSP's developer 'hooks' might change, so I anticipate an update to the Contract Configurator library is likely and squad has also said they are doing a rebalance pass on all the contract reward scales and part costs, so I'll need to adjust mine accordingly to "match up" with stock. So, the next release (which will be 4.0) will probably be about a week after the 1.0 release.

Until then, keep launching, and get on board the hype train!

Link to comment
Share on other sites

Also - if you have requests or suggestions for contracts that would "fit" with this pack, keep sending them over to me. Lots of good ideas have come in via private message, but don't hesitate to post here either.

I've already started working on the next update for after KSP 1.0 hits - should be another big one!

Link to comment
Share on other sites

RichKerman, good question.

I haven't used RSS, and I don't know how it interacts with the CC library I use (I assume the planets/etc have "correct" names in RSS, which would mean I'd need a specific contract pack for it where it was to send a probe to "moon" instead of "mun" and so on).

It's something I'll keep in mind after KSP 1.0 comes out, if I have time I'll play around with RSS and see if I can make it work.

Link to comment
Share on other sites

There's not much to do for RSS support in a contract pack (but you do need to use expressions for a few things). RSS uses the Kerbalized names, so you don't have to worry about that. What you do need is:

  1. Don't assume a celestial body is in a specific place. In RSS, Minmus represents Uranus. So if you want to do a contract that says "visit Kerbin's moons", then you can't hardcode them and need to do something like @targetBody.Children().
  2. Don't assume sizes of celestial bodies. For "reach space" wouldn't be altitude = 70000, but altitude = @targetBody.AtmosphereAltitude().
  3. If you are using waypoints at all (as far as I know you're not), and they are meant to be relative to something (ie. a location in KSC), then use the PQS offset tool in the alt-f10 window instead of hardcoded lat/lon.

That's the main ones, although I'm sure there's the potential for other little things. Have a look at the Tourism pack, it has very basic support for RSS and planet packs.

Link to comment
Share on other sites

Hi,

I accepted the contract to get one kerbal into space, but it says, the vessel must be an "orbiter", what part is that ? The contract is not fullfilled if i use another part or ship.

Also i noticed, that some parts of a contract get completet when i work on another contract and the whole contract is not completed at all.

Example:

Contract1:

- Orbit a kerbal

Contract2:

- Reach orbit

- Fly to mun

Then when i work on contract1 also the reach to mun contract gets partially completed (the reach orbit part)

This could be fixed if there is a main goal (fl to mun) and if this is achived all other sub assignments gets the ok.

Thanks!

PS: I'm planning on stying on 0.90 for a while, will this pack recive updates that work with 0.90 ?

Also im using the latest contract configurator :-)

Edited by ManuxKerb
Link to comment
Share on other sites

RichKerman, good question.

I haven't used RSS, and I don't know how it interacts with the CC library I use (I assume the planets/etc have "correct" names in RSS, which would mean I'd need a specific contract pack for it where it was to send a probe to "moon" instead of "mun" and so on).

It's something I'll keep in mind after KSP 1.0 comes out, if I have time I'll play around with RSS and see if I can make it work.

Alright, i believe alot of people play RSS + RO + RP0 :), that brings the game to the most realistic solar system experience possible, your missions pack would fit like a glove in it (RSS + RO) :)

Thread subscribed and voted!

@nightingale i'm also fan of your mods, you guys (modders) make this game reach the stars! :) Ty!

Edited by RickKermen
Link to comment
Share on other sites

Hi,

I accepted the contract to get one kerbal into space, but it says, the vessel must be an "orbiter", what part is that ? The contract is not fullfilled if i use another part or ship.

Also i noticed, that some parts of a contract get completet when i work on another contract and the whole contract is not completed at all.

Example:

Contract1:

- Orbit a kerbal

Contract2:

- Reach orbit

- Fly to mun

Then when i work on contract1 also the reach to mun contract gets partially completed (the reach orbit part)

This could be fixed if there is a main goal (fl to mun) and if this is achived all other sub assignments gets the ok.

Thanks!

PS: I'm planning on stying on 0.90 for a while, will this pack recive updates that work with 0.90 ?

Also im using the latest contract configurator :-)

We would need the complete contract name, if possible. What contract packs have you installed?

Do you have "Kerbin Shuttle Orbiter System" installed? Any other modpacks which might include an orbiter?

A copy of your peristant.sfs file would be useful, then we could see exactly what it is looking for.

Link to comment
Share on other sites

The contract pack is generating errors because you have vessel names beginning with a number.

ContractConfigurator doesn't allow that.

The errors are in the following:


1Week Duration Orbiter
4 Kerbal Station Crew
5 Kerbal Station Crew
6 Month Crew
1 Year Crew

When I edited the cfg and added a letter in front of each of these, it worked

This was a recent change to ContractConfigurator

LGG

Link to comment
Share on other sites

@linuxgurugamer

I found out that i used version 2.03 or so, the problem was fixed with an update to version 3.0. :-)

Also I changed the

1Week Duration Orbiter

4 Kerbal Station Crew

5 Kerbal Station Crew

6 Month Crew

1 Year Crew

To

One year etc.

And there is a typo, with the year station contract in the description, it is one month...

Link to comment
Share on other sites

@linuxgurugamer

I found out that i used version 2.03 or so, the problem was fixed with an update to version 3.0. :-)

Also I changed the

1Week Duration Orbiter

4 Kerbal Station Crew

5 Kerbal Station Crew

6 Month Crew

1 Year Crew

To

One year etc.

And there is a typo, with the year station contract in the description, it is one month...

glad to help

Link to comment
Share on other sites

All - There will be a minor update coming before KSP1.0 hits to implement some bugfixes.

Won't be a save-breaker, just some minor tweaks to address some bugs that have cropped up over the past few weeks.

Link to comment
Share on other sites

KSP 1.0 NOTE: As most have probably noticed, a large number of these contracts have been merged into the "stock" progression contract system with the release of KSP 1.0. I can think of no greater compliment towards a mod developer.

As it stands, I'll need to do more examination into the post-1.0 career mode before planning out the future of this contract pack :-)

Link to comment
Share on other sites

so im using this pack for my realism overhaul playthrough but im having problems with minmus. in rss minmus is uranus and so every contract that is for minmus i have to cheat past (not really a problem set rewards to zero and press complete) but it keeps on spamming the "return to minmus" i have cheat completed it over 30 times and it just keeps on spamming it.

is there an easy way to just remove all the minmus contracts or would i have to change all the contracts and their requirements?

Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

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