Jump to content

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


nightingale

Recommended Posts

My problem is not that because it was without asteroid day it was on a test game with no mods other than CC and my contract pack. To test only my contracts I disable every type of stock contract so after that I enable all of them and none appear.

Also I'll try to reproduce it later because now I'm not available to play ksp. After that a log

Ah yes, I remember this one now... I'm not sure what the triggers are for generating a new contract, but removing one from the list is the easiest one. So I wonder if having no contracts available to be generated puts you in a bad state. Try max time-warping a bit in the space centre and see if that does anything.

Link to comment
Share on other sites

Hey,

I keep getting this error. I'm trying to make a altitude record contract. How is this fixed?

The AltitudeRecord was dropped in KSP 1.0 (the underlying parameter in KSP went away). I didn't replace it since it can be done in other ways (such as ReachState with a minAltitude).

I couldn't find AltitudeRecord anywhere in the wiki, so it seems to be up to date - were did you get that from?

EDIT: ninja'd in my own thread... :)

Link to comment
Share on other sites

It's telling you that "AltitudeRecord" is not a valid parameter. I think what you want is this:

https://github.com/jrossignol/ContractConfigurator/wiki/ReachState-Parameter

Yup, that was the problem. Cheers!

- - - Updated - - -

The AltitudeRecord was dropped in KSP 1.0 (the underlying parameter in KSP went away). I didn't replace it since it can be done in other ways (such as ReachState with a minAltitude).

I couldn't find AltitudeRecord anywhere in the wiki, so it seems to be up to date - were did you get that from?

EDIT: ninja'd in my own thread... :)

I found it in the SampleContract example config :P

Link to comment
Share on other sites

Hey,

I m looking into some new contract possiblities and I m wondering how I can implement a part filter.

For example I only want to allow 2 specific engines, eg the LV-T30 and the Mk-55.

From the wiki I understand how to exclusively filter for one part, or one manufacturer:

PARAMETER
{
name = PartValidation
type = PartValidation

FILTER
{
category = Engine
}

VALIDATE_ALL
{
part = liquidEngine2
}
}

Would this work?

PARAMETER
{
name = PartValidation
type = PartValidation

FILTER
{
category = Engine
}

VALIDATE_ALL
{
part = liquidEngine2
}

VALIDATE_ALL
{
part = radialLiquidEngine1-2
}
}

Link to comment
Share on other sites

Hey,

I m looking into some new contract possiblities and I m wondering how I can implement a part filter.

For example I only want to allow 2 specific engines, eg the LV-T30 and the Mk-55.

From the wiki I understand how to exclusively filter for one part, or one manufacturer:

<snip>

That wouldn't work, because it would look for all parts being liquidEngine2, then look for all parts being radialLiquidEngine1-2 (so one or the other would end up failing). I couldn't think of a way to make it work, so I made a change that allows part to specified multiple times (grab the pre-release dll). It would then look like this:

[COLOR=#333333]PARAMETER
[/COLOR]{
name = PartValidation
type = PartValidation

FILTER
{
category = Engine
}

VALIDATE_ALL
{
part = liquidEngine2
part = radialLiquidEngine1-2
}
}

Link to comment
Share on other sites

Awesome! That will help a lot!

Looking at the manufacturer checking, is it possible to extend that to check for other part values in the future?

For example filtering for command pods and then only those which have a 2 kerbal capacity?

Or even further down the rabbit hole, filtering for liquid fuel/intake air only engines?

That could prove very helpful for more detailed mission, eg

"Build a craft to do whatever, but you are only allowed to use air breathing engines".

I could restrict the parts names in detail, but that would exclude mod engines.

Link to comment
Share on other sites

Awesome! That will help a lot!

Looking at the manufacturer checking, is it possible to extend that to check for other part values in the future?

For example filtering for command pods and then only those which have a 2 kerbal capacity?

Or even further down the rabbit hole, filtering for liquid fuel/intake air only engines?

That could prove very helpful for more detailed mission, eg

"Build a craft to do whatever, but you are only allowed to use air breathing engines".

I could restrict the parts names in detail, but that would exclude mod engines.

That would be a bit tricker, as it's a big effort to add even those small ones.

Both the examples you gave have workarounds though - for air breathing, you can require that they have no oxidizer on the landing pad (or runway). Capacity you can use HasCrewCapacity (not exactly the same, but close).

Link to comment
Share on other sites

I keep getting a error. Is there a problem in my syntax? http://imgur.com/a/ZMDu4

Match up your {} braces you may have extras or too few - it looks right from what you've posted, but the error is saying it's at the wrong level.

Also, try to post the contract definition + relevant excerpt from KSP.log - that's makes it far easier to support than looking at a screenshot.

Link to comment
Share on other sites

Match up your {} braces you may have extras or too few - it looks right from what you've posted, but the error is saying it's at the wrong level.

Also, try to post the contract definition + relevant excerpt from KSP.log - that's makes it far easier to support than looking at a screenshot.

Now the contract says its working but it does not give any parameters for the orbit. Screenshot File

Link to comment
Share on other sites

That would be a bit tricker, as it's a big effort to add even those small ones.

Both the examples you gave have workarounds though - for air breathing, you can require that they have no oxidizer on the landing pad (or runway). Capacity you can use HasCrewCapacity (not exactly the same, but close).

Ah, forgot about the resource parameter, thank you!

Another development idea:

Mission timer readouts.

After watching this video,

I wondered whether it is possible to work with the mission timer for contracts.

To allow for something like

- reach this state min x, max y hours after launch

- or more complex, make the rewards dependent on the mission timer in addition to the min/max values. The earlier you eg land on the Mun, the higher the payout. Like an optional bonus between the min and max values.

- and to top it off, the mission timer readouts for reaching the various contract stages could then be somehow implemented into the "success" popup.

Such a system would essentially allow the transformation of forum challenges into contracts, complete with timestamp.

Link to comment
Share on other sites

Ah, forgot about the resource parameter, thank you!

Another development idea:

Mission timer readouts.

After watching this video,

I wondered whether it is possible to work with the mission timer for contracts.

To allow for something like

- reach this state min x, max y hours after launch

- or more complex, make the rewards dependent on the mission timer in addition to the min/max values. The earlier you eg land on the Mun, the higher the payout. Like an optional bonus between the min and max values.

- and to top it off, the mission timer readouts for reaching the various contract stages could then be somehow implemented into the "success" popup.

Such a system would essentially allow the transformation of forum challenges into contracts, complete with timestamp.

I think you can get a good chunk of that functionality with just a few enhancements to the Timer Parameter (see [#257]):

  • Allow the player to specify when the timer starts (Contract Acceptance, Next Launch, Parameter Completion).
  • Allow the timer to just fail a parameter instead of failing the contract

Making rewards time-dependent would be more difficult, as it doesn't fit very well into the way KSP does it (you'd have to change the numbers on the fly, and the mission control GUI doesn't have a way to communicate that well). Better is to just have optional parameters. So if your contract/parameter is "go to the Mun", you could have an optional parameter that says "do it within 10 hours from launch" and give an extra reward. If you really want you can have them be stepped (but you don't want to go crazy and overwhelm the player).

As far as a mission timer - that's kind of an interesting idea, but a more difficult change.

Another cool think for AlphaAsh's air race would be waypoint "markers" that are big translucent cylindrical markers. That'd give it the real "racing game" feel. Not that I'm looking to implement that. :)

Link to comment
Share on other sites

I think you can get a good chunk of that functionality with just a few enhancements to the Timer Parameter (see [#257]):

  • Allow the player to specify when the timer starts (Contract Acceptance, Next Launch, Parameter Completion).
  • Allow the timer to just fail a parameter instead of failing the contract

This Would be great:D I'm very interested on these ones!

Link to comment
Share on other sites

The contracts don't seem to regenerate if they have been dismissed. How is this fixed?

Not accurate - they do come back, although depending on a huge variety of factors (your reputation, what other contracts are around, the availability of the CONTRACT_TYPE through maxSimultaneous, maxCompletions, how crowded the "slot" is, whether KSP decides it wants to generate more contracts at all) you may not see it right away.

If you're just doing playtesting, then the best thing to do is to use the "Clear Current Contracts" button in the KSP contracts debug window. That'll cause a full list regeneration.

Link to comment
Share on other sites

Not accurate - they do come back, although depending on a huge variety of factors (your reputation, what other contracts are around, the availability of the CONTRACT_TYPE through maxSimultaneous, maxCompletions, how crowded the "slot" is, whether KSP decides it wants to generate more contracts at all) you may not see it right away.

If you're just doing playtesting, then the best thing to do is to use the "Clear Current Contracts" button in the KSP contracts debug window. That'll cause a full list regeneration.

I think I fixed it. It mayyybe had something to do with the prestige of the contracts?

Anyways, how can I make a requirement disable if TACLS mod is detected? I cannot find info on the wiki about that.

Edited by Shurikeeen
Link to comment
Share on other sites

I think I fixed it. It mayyybe had something to do with the prestige of the contracts?

Anyways, how can I make a requirement disable if TACLS mod is detected? I cannot find info on the wiki about that.

You'd do that using module manager. Here's an example (not with TACLS, mind you).

Link to comment
Share on other sites

Emm were is the Function Reference Guide on the Wiki. I can't find it anywere;.; Or something replace it?

EDIT: Just find it individualy. But there's a part that still saying that that exist. You should delete that part

how can I make a requirement disable if TACLS mod is detected? I cannot find info on the wiki about that.

Something like this I think(Only with Module Manager)


REQUIREMENT:NEEDS[!TACLifeSupport]
{
the requirement
}

Edited by CosmoBro
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...