Jump to content

nightingale

Members
  • Posts

    4,137
  • Joined

  • Last visited

Posts posted by nightingale

  1. Update time, and this is a big one.  I'm going to release this one as a pre-release, for a couple reasons:

    • I'm going to be unavailable this weekend.  If it breaks, too bad!
    • I changed a LOT of stuff while doing the localization.  I put a lot of testing time in, but there's a good chance I missed something.

    With that, here's the updates:

    Contract Configurator 1.30.0

    • Recompile against KSP 1.10.1.
    • Localization support.
    • Added Format() function to expressions to support better contract pack localization.
    • Partial translation for Chinese Simplified (thanks @tinygrox).
    • Support for Breaking Ground science.
    • Support for comet science.
    • Added Mission Control icons for Sentinel (KSP 1.3) and Robotics (Breaking Ground) stock contracts.
    • Significant cleanup of string addition to reduce garbage generation.
    • Support all tracking station object size classes up to I in SpawnVessel.
    • Allow apostrophe in AgentParser, fixes Kerbin-Side Jobs.
    • Improved some validation in Requirement nodes to throw certain errors at contract validation time instead of at run-time.
    • Fixed issue where biomes without a Celestial Body (targetBody) specified weren't smart enough to figure out which body they were for.
  2. 44 minutes ago, baldamundo said:

    Thank you! I feel realy stupid for not having realised that lol. Don't want to speak too soon, but it seems like removing the offending mod has made the rest of my contracts start behaving themselves. Is that how it works? One faulty contract mod capable of screwing up the whole system?

    Yup.  That's the risk of KSP mods.  In general, stuff is better these days than it used to be (because stock has more exception handling to not break on misbehaving mods), but an exception in a mod can still stop a stock module from executing.  In this particular case it sounds like the failure to load the contract from this one mod caused the whole contract system to stop.

  3. 5 hours ago, baldamundo said:

    Am getting a lot of exceptions in my log that look like this:
     

    
    
    [LOG 10:45:04.644] [IM:8/15/2020 10:45:04 AM]: Trying to generate an impact contract
    [EXC 10:45:04.648] MissingMethodException: Default constructor not found for type kerbal_impact.ImpactContract
    	System.RuntimeType.CreateInstanceMono (System.Boolean nonPublic) (at <ad04dee02e7e4a85a1299c7ee81c79f6>:0)
    	System.RuntimeType.CreateInstanceSlow (System.Boolean publicOnly, System.Boolean skipCheckThis, System.Boolean fillCache, System.Threading.StackCrawlMark& stackMark) (at <ad04dee02e7e4a85a1299c7ee81c79f6>:0)
    	System.RuntimeType.CreateInstanceDefaultCtor (System.Boolean publicOnly, System.Boolean skipCheckThis, System.Boolean fillCache, System.Threading.StackCrawlMark& stackMark) (at <ad04dee02e7e4a85a1299c7ee81c79f6>:0)
    	System.Activator.CreateInstance (System.Type type, System.Boolean nonPublic) (at <ad04dee02e7e4a85a1299c7ee81c79f6>:0)
    	System.Activator.CreateInstance (System.Type type) (at <ad04dee02e7e4a85a1299c7ee81c79f6>:0)
    	Contracts.Contract.Generate (System.Type contractType, Contracts.Contract+ContractPrestige difficulty, System.Int32 seed, Contracts.Contract+State state) (at <c1858a3f77504bd1aaa946fdccf84670>:0)
    	Contracts.ContractSystem.GenerateContract (System.Int32 seed, Contracts.Contract+ContractPrestige difficulty, System.Type contractType) (at <c1858a3f77504bd1aaa946fdccf84670>:0)
    	Contracts.ContractSystem.GenerateContract (System.Int32& seed, Contracts.Contract+ContractPrestige difficulty) (at <c1858a3f77504bd1aaa946fdccf84670>:0)
    	Contracts.ContractSystem.GenerateContracts (System.Int32& seed, Contracts.Contract+ContractPrestige difficulty, System.Int32 count) (at <c1858a3f77504bd1aaa946fdccf84670>:0)
    	Contracts.ContractSystem.RefreshContracts () (at <c1858a3f77504bd1aaa946fdccf84670>:0)
    	Contracts.ContractSystem+<UpdateDaemon>d__47.MoveNext () (at <c1858a3f77504bd1aaa946fdccf84670>:0)
    	UnityEngine.SetupCoroutine.InvokeMoveNext (System.Collections.IEnumerator enumerator, System.IntPtr returnValueAddress) (at <5aeafee3fea24f37abd1315553f2cfa6>:0)

    Any idea what it means? Have been having some irregularities trying to fulfill contracts from the HistoryOfSpaceflight contract pack, and struggling a bit to work out if the problem's with the contract pack, with Contract Configurator, some sort of compatibility issue, or just me being stupid.

    EDIT: Argh. This is driving me a bit mad. Doesn't look like it's CC that's causing this, but can't for the life of my work out what is. Not getting any errors on a clean install with only Contract Configurator & History of Spaceflight. Getting the same errors on my modded install even when I remove all contract-related mods - and seems to be causing a bunch of issues with contracts, the most annoying being completed contracts not being recorded properly.

    The contract in question, kerbal_impact.ImpactContract, isn't a Contract Configurator contract.  You should post over on the thread for Impact!

    EDIT: Looks like this was already posted about 6 months ago with no response, so you may not have much luck getting this one solved.

  4. @kspnerd122 - Please stop spamming the thread - you can edit your old post if you need to add new information.

    I had asked to post your KSP.log file because there is lots of information that will allow us to help you find your problem (like confirming what version of Strategia and other mods you have).  If you're going to play on such an old version of KSP,  you need to be careful of what version of mods you use, because there is rarely support for backwards compatibility.  In the case of Strategia, see below:

    Strategia 1.8.0

    • Rebuild for KSP 1.8.0
    • Minor typo correction (thanks Galenmacil).

    Strategia 1.7.3

    • Rebuild for KSP 1.5.x.
    • Fixed active strategy text in facility right-click menu (thanks avalancha).

    So for KSP < 1.8.0 you want to be on Strategia 1.7.3.

  5. 4 hours ago, kspnerd122 said:

    When does this activate?

    after the first launch, my old strats are gone but when will the new ones appear.

    Same for contract configurator.

    the mods will not activate, if this mod needs me to orbit the homeworld then fine, but if it is a bug, I hope you can fix it soon.

    my admin building looks like stock, but without strategies.

    Should be "active" from the get-go.  I'll need a KSP.log to be able to say what's going wrong.

  6. 2 hours ago, kspnerd122 said:

    The mod will not work, It shows the default strategies.

    Which version of KSP?  How did you install (CKAN vs. manual)?  If manual, do you have all the dependencies (Contract Configurator, Custom Barn Kit, Module Manager)?  Please provide a KSP.log - that will usually tell us what's gone wrong.

  7. Just so everyone knows, I haven't forgotten about this pack.  The goal is to get Contract Configurator working properly on KSP 1.10 (biggest issue being vessel spawning), then revisit this.  What needs to be done:

    • Fix the Jool stuff (it's seriously broken, and it's more than just vessel spawning).
    • Add randolith support
    • Go through this thread for other suggestions (I see a few valid things from just skimming).
  8. Okay, hopefully this is the last release against KSP 1.8, and should be stable.  Next up I'm going to try to solve all the vessel spawning issues against KSP 1.9, then move on to KSP 1.10.

    Contract Configurator 1.28.3

    • More changes to AgentParser, now commas are disallowed as part of agent names (thanks Tonas1997).
    • Fixed requirements being regenerated incorrectly on some contracts, resolves issues with "flickering" of contracts in mission control (thanks severedsolo).
  9. @severedsolo - Yeah, that's an old bug, but your post gave me enough hints that I think I finally know what's going on.  The requirement nodes get "soft-copied" from the contract type to the contract instance when the contract is created.  So in a sense the contract and contract type are "sharing" the requirement node, and when there is a new check for a generating a different contract of the same type, the value in the requirement gets change,d invalidating the original contract.

    I think this used to work because the contract generator used to create a copy of the contract and I changed how that worked when redoing the mission control screen.

    I should be able to fix this, but I'll need to do some tests.

  10. 21 hours ago, pap1723 said:

    Hello all! I am looking for a solution to the following situation. I want to pay an amount of funds based on how much of a resource was delivered to a specific orbit. This isn't something that can be set in the contract beforehand, it all depends on what the player does.

    Basically it works as a BONUS payout. So there will be the regular reward in the contract, and then based on how much resources there are, it is paid out in addition. I am almost positive I have made contracts with bonus payouts before, but cannot remember the syntax on it.

    Thanks!

    Right now the only way to do any kind of sliding scale is using a tier system with optional parameters (set optional=true on a parameter).  Each tier would be a separate parameter:

    PARAMETER
    {
        type=HasResource
    
        resource = LiquidFuel
        minQuantity = 100.0
        rewardFunds = 1000.0
    
        optional=true
    }
    
    PARAMETER
    {
        type=HasResource
    
        resource = LiquidFuel
        minQuantity = 200.0
        rewardFunds = 2000.0
    
        optional=true
    }
    
    ... etc

    You may also want a "hold for 5 seconds" type parameter as well - otherwise I'm not sure what order KSP will look at the parameters in and it may not register all the tier parameters.

  11. On 7/7/2020 at 3:25 PM, Tonas1997 said:

    I've just launched my RealAgencies mod and someone brought to my attention a possible problem with the agent parser in CC version 1.28.2 (1.28.1 seems to work fine):

    Yeah, I was way overzealous in fixing the previous agency parsing bug and allowed a bunch of special characters (including commas).  I've made a fix to disallow commas in agency names.  There should be no reason for that to be needed in the name since it's not used in stock agencies and the name is just an identifier (the title can have anything you want in it still).  Can you test out this quick patch and let me know if it works for you?  Just replace the ContractConfigurator.dll with the linked one.

    Quote

    P.S. the problem with the incoherent HasResource nodes I mentioned on the previous page keeps happening; the configs I posted there should help with diagnosing the bug. The contract itself has these two lines:

    
    minQuantity = Round((Pow(Random(0.5,1.5) * (0.3 + UnlockedTech().Count() / 100),2)*2500)/2,100) * 8
    title = Have a ComSatPayload of at least @minQuantity units on the craft

    In what situation could minQuantity present different values on these two lines? Now that I think of it, I only ever saw this happening on contracts with more than one simultaneous instance...

    I'll have a look, it could be a number of things.  It could be that it's somehow not treating the title as non-deterministic (ie. keeping the same value forever).  It could be a scoping issue (picking up the minQuantity from another parameter).  None of these things *should* happen though, the way you've done it is supposed to work.  Just curious - if you put minQuantity as a variable in a DATA node instead, does that still misbehave?

    1 hour ago, HawkEngineer said:

    One more request for help which I have been trying to figure out for the last several hours.  In the contract example below, I am able to select the biome randomly but when I use the @/targetBiome in the reach state parameter and collect science parameter, I keep getting a parsing error.  Any help or thoughts would be appreciated.

    I think your problem is that targetBiome is a List<Biome>.  So you have a list of one biome, but the parameter needs one single Biome.  So change the type to just Biome, and I think it will work (and @TranceaddicT makes a good point about the variable name - you need to fix that too).


    For everyone else, just want to say that I'm still around and working towards a KSP 1.9 release.  I just need to figure out the vessel spawning stuff, which has always been one of the most annoying things in to get right in KSP.

  12. Release time.  Get it here, but only for KSP 1.8.

    Contract Configurator 1.28.1

    • Added new AgentParser (allows for assigning a random agency through expressions).
    • Merged change to improve accuracy of great circle distance in contract distance calculations (thanks pap1723).
    • Merged change to fix issues with certain celestial body progress requirements not working correctly for the manned/unmanned checks (thanks SirMortimer).
    • Fixed issue with planet packs that renamed Kerbin displaying the name in lower case (thanks TheSpaceDad).
    • Fixed incorrect requirement text when FacilityRequirement and maxLevel are used (thanks histalonia).

    So here's the plan.  I did a quick build with the random Agent support requested by @Tonas1997 above against KSP 1.8.1.  I also included a bunch of pull requests, and fixed some easy bugs.  Next step I will compile against KSP 1.9, and see if I can fix some of the issues that are being reported (I'll need to read through a bunch of threads that I've ignored for a while).  Hopefully that will be in the next week.  After that, I'll take a look and see what KSP 1.10 looks like.

  13. Hi all...  I'll be taking a look at the mod soon to get it working with KSP 1.9.1.  I was planning on doing that this weekend, but it's been a bit hectic and now they've announced that schools and daycares will be closed in our province and we're running around trying to figure out what to do about it.

    I see a few issues from the past few months, but I'll start with some "regular" KSP 1.9.1 compatibility fixes before I go chasing anything down.

  14. 10 hours ago, pippo_jedi said:

    HELP

    it told me to post it here, i did :-D
     

    
    Exception occured while loading contract parameter 'HasCrew' in contract 'BasesandStations.Evacuate':
    System.NullReferenceException: Object reference not set to an instance of an object
      at ContractConfigurator.Kerbal.SetCrew (ProtoCrewMember pcm) [0x0001f] in <43a2e7cbd59545c6b9206fcd382ecb64>:0 
      at ContractConfigurator.Kerbal..ctor (ProtoCrewMember pcm) [0x00006] in <43a2e7cbd59545c6b9206fcd382ecb64>:0 
      at ContractConfigurator.Kerbal.Load (ConfigNode node) [0x00041] in <43a2e7cbd59545c6b9206fcd382ecb64>:0 
      at ContractConfigurator.Parameters.HasCrew.OnParameterLoad (ConfigNode node) [0x00085] in <43a2e7cbd59545c6b9206fcd382ecb64>:0 
      at ContractConfigurator.Parameters.ContractConfiguratorParameter.OnLoad (ConfigNode node) [0x000be] in <43a2e7cbd59545c6b9206fcd382ecb64>:0 


    And now the game is broken...

    I cant control vessels, no rcs or sas is clickable, pressing the keyboard works... except for the wasd and shift ctrl to use the craft...

    I managed to reload an older game save...

    Can you provide a save?  From looking at the code, this could only be an experience trait that is not set up correctly.  Which either means something changed in stock, or you had a mod that added experience traits and then removed it.

  15. 14 hours ago, VoidSquid said:

    First, a big thanks to @nightingale and all the good people creating contract packs, it is not least the Contract Configurator that keeps KSP "alive" for me, even in my two year old career game :) 

    A question though (help a blind man here ;) ):

    After completing the tech tree, the stock game allows me to set a strategy to convert science to cash, I couldn't find it here?

    Thanks in advance for your help :) 

    Probably a miss from an overall design point of view.  Something to think about if/when I do a balance pass. :)

×
×
  • Create New...