Jump to content

nightingale

Members
  • Posts

    4,137
  • Joined

  • Last visited

Everything posted by nightingale

  1. Should be doable, but you're running into an initialization problem that I don't have a good answer for. In short, doesn't know what type $roverDeployed is, and it's guessing wrong. I made a change in the latest dev dll (just now) to add a bool() cast function, try this and see if it works: easyPlanets = bool($roverDeployed) ? HomeWorld().Children() : [ @kerbin ]
  2. @inigma - there's a special attribute that Contract Configurator introduces that you can set on the agency to prevent those - I can't remember where it's documented, but you can just look at the Anomaly Surveyor agency (or any of my contract packs) as an example.
  3. Was pretty busy during the Christmas break, and Contract Configurator issues piled up. I've worked through the critical ones and I'm going to focus on getting a Strategia beta out soon. Maybe even in the next week.
  4. That's the other option - it'll just be a pain to do that update (but the pain is only once). There's an undocumented feature, but trace=true in your contract_type, and it will turn verbose logging on for that contract only. I use it for my own debugging of the expression system, but it might work for you.
  5. Congrats! I've been thinking of dropping the listing of contract packs in the second post ever since the move to the new forum. It's a missive pain to update with this forum software (no way to add a row to the table without recreating the whole thing. Question to everyone: Do you find it useful? If not, do you just find your contract packs via CKAN or the forums?
  6. Seeing as 1000 is the max rep, you should be getting more than just trivial contracts. Could be contract requirements aren't being met. Could also be you disabled too much stuff. If 5 trivial contracts need to be generated, and the contract system can only generate 3, it won't try to generate significant contracts. So you need to be able to fill all the slots below. Also could happen if you've increased the contract limit in contracts.cfg.
  7. You'll continue to get the error. You can manually remove the bad contracts from your sfs file (be careful) or do a search and replace with Tekto / Kerbin.
  8. I'd raise that with @Ezriilc. As a workaround, I think you can just quick save and load and it'll trigger.
  9. Okay, that's a problem with backwards compatibility because the old versions were saving junk in one of the fields related to waypoint visibility. Releasing a hotfix, get it here. Contract Configurator 1.9.2.1 Fixed problem with loading waypoints from older versions of Contract Configurator (thanks SpaceNomad). Nope, the intention with that field is to disable a contract pack on the main menu if loading it would break a save game. No intention to handle it at such a low level, but if it's something you *really* want, then it's probably possible using child contract groups.
  10. Big bugfix release, thanks to @inigma, @severedsolo and @linuxgurugamer who have been patiently waiting on this release. Download now! Contract Configurator 1.9.2 Added minRateOfClimb and maxRateOfClimb to ReachState. Support negative altitudes in ReachState. Fixed major contract pre-loader exception on startup (thanks smjjames). Fixed error handling in expression parser (thanks severedsolo). Fixed HasCrew incorrectly only handling kerbals of type 'Crew' (thanks bertibott). Fixed exception in uniqueness checks that were done at the contract group level (thanks severedsolo). Fixed issue with SpawnPassengers always spawning passengers instead of whatever the contract specified (thanks inigma). Fixed issue with Vessel values not being properly saved in the VAB/SPH for uniqueness checks (thanks severedsolo). Fixed issue with the GROUP_ALL and CONTRACT_ALL uniqueness checks not working as advertised (thanks severedsolo). Fixed FacilityRequirement breaking down in the tracking station (thanks cordilon). Fixed a number of WaypointGenerator issues (thanks linuxgurugamer).
  11. Ah, I see. Yes, there is a DestroyVessel behaviour that you can set up to destroy a vessel on contract failure (although I've never tried it on the active vessel). What I mean though was that it didn't really make sense having that be tied to a contract, but I suppose using the autoAccept would work. Look for it on the CONTRACT_TYPE node. They are the same, it's the other values in the list that makes it different. Nothing at the moment, raise a GitHub request and I'll think about it (thought not in the near-term). Bug, may or may not be an easy fix, raise it and I'll investigate. I saw the post, but I think they just wanted longer durations to allow for the possibility of that type of maneuver, not necessarily to have a contract for both. Anyway, no, there is no way to add deadlines or combine contracts. Okay, looks like the issue is a higher priority then. Raise it and I'll see what I can do. Actually, one thing you can try is to have the VisitWaypoint as a child of the CollectScience. That may work, as I made changes to make that work with Duration timers before. No idea if it will be at the start of list of children (which is what you'd want) or at the end. Looking at what you have that means you'll unfortunately need a lot of duplication. Assuming you mean the distance at the time the contract is offered (that's when expressions are executed), then it is theoretically possible, but I'd need to add a function for it. Enhancement request. WaypointManager bug, please raise it on that GitHub.
  12. Docs are wrong, that was probably a copy + paste from SpawnKerbal (oops, sorry!). I'll just be making it support NewKerbal() type stuff instead of providing all those attributes though. Forget the state setting - I just meant that's what you'd normally do in other cases (like with ReachState). What you want is something like this: VesselParameterGroup |- VisitWaypoint \- CollectScience (completeInSequence = true)
  13. The documentation of the C# API is somewhat lacking - what you've linked to is what we've got, but they don't see a whole lot of maintenance (it's a lot of work). The best way how to figure out how to do something is to look at how others have done it. If you go to the Contract Configurator GitHub you can see lots and lots of examples (including a toolbar icon and GUI screens), although there are many ways to do many things. In terms of contract modding, definitely give Contract Configurator a whirl. There no coding necessary, although the fact that it has an expression language and C# extensibility means that you can find yourself doing more coding that you expected if you want to make something complex (but far, far less coding that doing the same thing from scratch, I assure you). Good luck!
  14. The second one should give you lots of warnings about unrecognized attributes, and you wouldn't just try random stuff that's not in the documentation, generate warnings, and then post that it doesn't work, would you? The first "works" only because it will automatically convert Kerbal to a string, but then ends up automatically generating a gender because it's lost the rest of the Kerbal info. Basically, I never added the new Kerbal support to the CREW nodes (guess I missed it). Raise a new enhancement request, please. Should fail it outright, so raise a bug on GitHub, please.
  15. Typically happens when you uninstall a planet pack. Raised #425, been meaning to eventually handle that better.
  16. Okay, finally got a chance to really dig in, and I can see why you were having issues, there were some nasty bugs that was really messing this up. I recommend you grab the dev version, as it actually works for what you're doing (and is the reason why the answers to the questions below may be things you previously tried. Just the parameter name, so something like "parameter = PARAM1 0" in your case. This was one of the very broken things though. Also fixed. Normally, this is where you'd want to use disableOnStateChange = false, but there's not state change back to incomplete for the experiment ones. What you need to do is set it with VisitWaypointFirst, then CollectScience with completeInSequence = true. This will prevent the CollectScience from being able to fire unless you're at the waypoint. Since the ternary expression is using a boolean to get a boolean, you can just do: hidden = @/numWaypoints < 5 Close, but it's the other way around - you want failWhenUnmet = true
  17. I didn't post anything to USI-LS, was suggesting that you do that. It doesn't look like a supply issue, but a bug.
  18. @kcs123 - definitely looks like USI-LS, I'd post the log and this exception over there: InvalidOperationException: Collection was modified; enumeration operation may not execute. at System.Collections.Generic.List`1+Enumerator[LifeSupport.VesselSupplyStatus].VerifyState () [0x00000] in <filename unknown>:0 at System.Collections.Generic.List`1+Enumerator[LifeSupport.VesselSupplyStatus].MoveNext () [0x00000] in <filename unknown>:0 at LifeSupport.LifeSupportMonitor.CleanupEmptyVessels () [0x00000] in <filename unknown>:0 at LifeSupport.LifeSupportMonitor.FixedUpdate () [0x00000] in <filename unknown>:0 USI-LS turns crew into tourists when they run out of food - that why it fits the issue you're having.
  19. This could be done by a mod, but it has nothing to do with Contract Configurator.
  20. Cool idea, raised #18 - although it may be a very long time before I get to it. Known issue (#409). I'm going to try to get that one in for Contract Configurator 1.9.2
  21. @linuxgurugamer - Your argument makes sense, and since it seems to work anyway, I'll keep the expressions in names stuff. What you're looking for is very similar to #401 in spirit (adding support for lists in attributes of WaypointGenerator in this case, rather than SpawnKerbal). Can you raise enhancements for the following: Support for list of names in RANDOM_WAYPOINT (and similar nodes) in WaypointGenerator Support for "chained" waypoints in RANDOM_WAYPOINT_NEAR (where they are near one after the other, rather than near a single one). I can't do anything directly for referring to a generated name, but if you use a numeric identifier like you're currently doing it's probably going to be the best solution.
  22. Every time you post the contract seems to be vastly different. Post the whole thing and I will look at it tonight. Also, I would recommend against using an expression for a name - I probably should make it more explicitly not supported.
×
×
  • Create New...