• Content Count

  • Joined

  • Last visited

Everything posted by Rokanov

  1. Hey nightingale, I keep getting this error pop up across many contracts and I'm pretty sure it's causing hangs I'm having: [Log]: [DEBUG] ContractConfigurator.ContractPreLoader: Contract attribute took too long (0.1254883 seconds) to generate: HM_Skylab3[targetMars] It's in reference to this (from a contract group) DATA { type = CelestialBody targetMars = AllBodies().Where(p => p.Name() == "Duna" || p.Name() == "Mars").Random() requiredValue = false } Happened with both contract configurator 1.7.0 and 1.7.1 (also have HyperEdit installed) Including player.log (I'm on mac) and gamedata for reference Thought I'd point this out to you, but going to change this code anyway as I think it's a pretty terrible way of doing what I want
  2. Yep, I'm currently going through and tweaking all the contracts which will improve RSS compatibility among other things. You can follow changes over at github but for now I've disabled all the contracts I haven't worked on and it's very experimental, so still pretty far from a public release!
  3. Feature request: Would it be possible to split maxSimultaneous (in CONTRACT_GROUP) to allow separate values for maximum available (offered) and maximum active (accepted)? For instance, I have contract1 and contract2 of the same group. maxAvailable is 2, so both show up in mission control, however maxActive is 1, so when one is accepted the other cannot be. This is to get around issues I'm having with contracts that have similar objectives where I would like both to be visible and offered, but make it not possible for both to be completed in one go, though perhaps this is possible if I use define (in Parameter) better? For now I think I'll use ActiveContract requirements. Actually that might work better anyway... - - - Updated - - - Actually I don't think that would work in this scenario: contract1 and contract2 offered, both define vessel in parameters. contract1 accepted, vessel1 launched, vessel = vessel1. at this stage I'd like contract2 to be available, however under both circumstances it would be locked out until contract1 is completed, right? So is there a way of setting a vessel in only one contract at a time (when both are active)? i.e contract1 and contract2 accepted, vessel1 launched, tied to contract1 but not contract2
  4. I was thinking about how great something like this would be the other day. Glad you've made it a reality! I'll be trying this out soon
  5. Having issues with Data node inheritance from parent contract group -> child group -> contract. As far as I understand it from the documentation, this should be possible (trimmed version of my code): CONTRACT_GROUP { name = HistoricMissions DATA { type = CelestialBody targetMoon = HomeWorld().Children().Random() } CONTRACT_GROUP { name = LunaMission } } CONTRACT_TYPE { name = Luna-1 group = LunaMission targetBody = @HistoricMissions:targetMoon } However I keep getting errors: [COLOR=#333333][LOG 02:14:28.327] [DEBUG] ContractConfigurator.ContractConfigurator: Loading CONTRACT_TYPE: 'Luna-1'[/COLOR] [COLOR=#333333][ERR 02:14:28.328] ContractConfigurator.ContractType: CONTRACT_TYPE 'Luna-1': Error parsing targetBody[/COLOR] [COLOR=#333333][EXC 02:14:28.329] ArgumentException: Contract group 'HistoricMissions' does not exist, or is not a parent of this contract.[/COLOR] [COLOR=#333333]ContractConfigurator.ExpressionParser.DataNode.Nod eForKey (System.String& key)[/COLOR] [COLOR=#333333]ContractConfigurator.ExpressionParser.DataNode.IsI nitialized (System.String key)[/COLOR] [COLOR=#333333]ContractConfigurator.ExpressionParser.ExpressionPa rser`1[T].ParseSpecialIdentifier (ContractConfigurator.ExpressionParser.Token token)[/COLOR] [COLOR=#333333]Rethrow as Exception: Error parsing statement.[/COLOR] [COLOR=#333333]Error occurred near '*':[/COLOR] [COLOR=#333333]@HistoricMissions:targetMoon[/COLOR] [COLOR=#333333]............................* <-- HERE[/COLOR] [COLOR=#333333]ContractConfigurator.ExpressionParser.ExpressionPa rser`1[T].ParseExpression (System.String key, System.String expression, ContractConfigurator.ExpressionParser.DataNode dataNode)[/COLOR] [COLOR=#333333]ContractConfigurator.ConfigNodeUtil.ParseSingleVal ue[CelestialBody] (System.String key, System.String stringValue, Boolean allowExpression)[/COLOR] [COLOR=#333333]ContractConfigurator.ConfigNodeUtil.ParseValue[CelestialBody] (.ConfigNode configNode, System.String key, Boolean allowExpression)[/COLOR] [COLOR=#333333]ContractConfigurator.ConfigNodeUtil.ParseValue[CelestialBody] (.ConfigNode configNode, System.String key, System.Action`1 setter, IContractConfiguratorFactory obj, .CelestialBody defaultValue, System.Func`2 validation)[/COLOR] [COLOR=#333333]UnityEngine.Debug:LogException(Exception)[/COLOR] [COLOR=#333333]ContractConfigurator.LoggingUtil:LogException(Exce ption)[/COLOR] [COLOR=#333333]ContractConfigurator.ConfigNodeUtil.P[/COLOR][COLOR=#333333]arseValue(ConfigNode, String, Action`1, IContractConfiguratorFactory, CelestialBody, Func`2)[/COLOR] [COLOR=#333333]ContractConfigurator.ConfigNodeUtil.P[/COLOR][COLOR=#333333]arseValue(ConfigNode, String, Action`1, IContractConfiguratorFactory, CelestialBody)[/COLOR] [COLOR=#333333]ContractConfigurator.ContractType:Load(ConfigNode)[/COLOR] [COLOR=#333333]ContractConfigurator.<LoadContractConfig>d__1e:Mov eNext()[/COLOR] [COLOR=#333333]ContractConfigurator.<ContractConfiguratorReload>d __13:MoveNext()[/COLOR] [COLOR=#333333][ERR 02:14:28.331] ContractConfigurator.ReachStateFactory: CONTRACT_TYPE 'Luna-1', PARAMETER 'ReachState' of type 'ReachState': targetBody for ContractConfigurator.ReachStateFactory must be specified.[/COLOR] Am I going wrong somewhere?
  6. Thanks for the warning, I'll be more mindful of edits in the future! That makes sense, I think the system I have in place works well enough (pretty sure it's not really an intended use for contracts!). I'll give that a try when 1.7.0 is out and see if it's better. It's for a one-time optional contract, so further generation is a bit spammy but otherwise unproblematic. Next question : Is there a straightforward way to provide RSS support for specific planets? Kerbin seems easy enough, using HomeWorld(), but what about others like Duna/Mars or Eve/Venus? I.e. Currently I have targetBody = Duna, but want something that selects Duna or Mars depending on whether RSS is present. Think I've cracked it (see below), but I'm so new to this I prefer to ask Data {[INDENT]type = CelestialBody uniqueValue = true targetPlanet = AllBodies().Where(p => p.Name() == "Duna" || p.Name() == "Mars").Random()[/INDENT] }
  7. Is there a way to make a contract complete instantly after accepting? (Requiring scene change is fine, I just mean has no objectives) Edit: Scratch that, made it work with a timer set to 0s Edit 2: If there's a better way to do the above, I'm still interested, but now I'd like to know how you make a one-time contract that never reappears if you decline it?
  8. Sharing my Government Wanted something weighted evenly between PO and SC, plus it made sense for the USK and USSK to join forces in my current "campaign" Item { name = UKSA longName = Unified Kerbin Space Agency poModifier = 1 poPenaltyModifier = 2 scModifier = 1 scPenaltyModifier = 2 startingPO = 20 startingSC = 10 budget = 0.2 gdp = 100000000 description = In an alternate reality far, far away, an all-too-familiar storm was brewing. Two superpowers - the United States of Kirba (USK) and The Union of Soviet Socialist Kerbals (USSK)- were locked in an escalating political conflict (The Kold War) and began looking to the skies as the new stage for their displays of power and domination. Shortly before the launch of the first rocket, a little known Kerbal by the name of Jebediah Kerman, adrift with fledgling dreams of being the first Kerbal in space, happened to be passing by a meeting between government officials as he remarked 'how great it would be to be nice to Kerbals for a change'. Little was he aware of the gravity of his words, touching the leaders with his innocent Kerbality. A deal was made, resources were pooled, and a new site for launches was proposed at the equator, making life much easier for everyone. Thus the Unified Kerbin Space Agency was born. } (Add to 'GameData/StateFunding/data/governments.settings' if you want to use!)
  9. "Great work, I'm sure we'll be able to make this data fit our narrative!" Hahaha Most realistic mod. 10/10.
  10. Great job with these missions. It's huge! I'm playing with Kerbal Construction Time, and my build times are quite high so I found the deadlines to be a bit on the short side. So instead of doing the sensible thing and using Contract Reward Modifier (I wasn't happy with how it worked out) I went and edited all the configs in the pack. Now all missions have a minimum deadline of 1 year (except shuttle missions, they're still 30 days) and as a consequence I completely rearranged the folder hierarchy, merging likewise missions into single config files. This should make it really easy to balance (e.g. using find and replace) if desired, though gaps in missions are obscured. It's just intended for my own use, but I thought I'd share the results Before I upload, wanted to check permissions. (Is it okay to go ahead? Do I need to worry about licensing?)
  11. TLDR: Set texture quality to 1/4 or 1/8, install texture replacer. I've had these issues on OSX and have tried a whole bunch of solutions, with moderate success, so thought I'd share what seems to have helped. The game usually runs with 1.9-2g ram usage according to activity monitor (though haven't monitored recently as it's been fairly stable). I'm currently running around 80 plugins with acceptable stability (crashes are hours apart). Most are small or partless but I do have EVE, Ven's Stock Revamp, Station Parts Expansion and 5 USI plugins and a couple of replacement textures. It is possible! I play a SETI based modpack currently, though I did try RealismOverhaul and it worked with little issue. Didn't install many extra part packs however. System Specs: 2.8 GHz Intel Core i5 4 GB 1333MHz DDR3 Ram ATI Radeon HD 5750 1 GB graphics card OSX 10.9.5 Fixes: 1. By far the best is reducing texture quality to 1/4 or 1/8. At 1/8 I could run the game for hours with no crashes, and only the occasional crash at 1/4 2. Texture Replacer. I've tried Active Texture Management, but it doesn't compress DDS textures (which most now are) and I found it difficult to produce results. Texture Replacer has some similar features, mainly unloading textures from ram and compression. I don't know how much of an impact Texture Replacer is actually having, but it seems to be having a positive effect. 3. Graphics options as low as possible: - Terrain Detail - Low/Default. Use settings from Astronomer's Performance Improvement to reduce ocean quality while keeping Kerbin terrain at default (or Kerbals take frequent leaps through the terrain) - SM3 Shaders and Terain Scatters - Off. More for FPS, but turning off terrain scatters definitely reduced crashes when flying long distances over Kerbin's surface - Render quality at good. Simple is okay, but any lower and you lose shadows which are pretty essential for landing - Texture quality - 1/4. With Ven's Revamp, parts still look nice at 1/4 quality. - Aerodynamic quality - Low. FPS improvement - Screen Resolution. I did reduce it for a while, running in windowed mode (with a black desktop) which certainly helped, but I put up with more frequent crashes to gain that extra screen space. - AA and V-Sync off. FPS. - Anything not mentioned at default setting 4. Run pruners and remove unnecessary parts and internal spaces. Kind of tired, may not have included everything I have done and may not make much sense, but I hope there's something helpful here!
  12. Just thought I'd share the preset (Realism6) I've been tweaking as I think it's quite nice. Based off of the RP-0 config but modified for default Kerbin (6 hour days) as well as a couple other nifty tweaks. Essentially I'm using a bunch of mods to add a bit more realism, but still making it feel quite Kerbal. That sounds great!
  13. Maybe it was just good timing, but you get the award for fastest ever bug fix! As a side note I've never seen a KSC contract for the crawlerway, though I haven't had a fully upgraded launch pad with this pack either.
  14. Couldn't find a config for Semi-Saturatable Reaction Wheels so made this one Just add to DangIt/ModuleManager and it should work p.s. Pretty new to making configs, so wouldn't mind someone checking it. @PART [*]:HAS[@MODULE[RWSaturatable],!MODULE[NoFailureModules]]:NEEDS[DangIt]:AFTER[DangIt]:FOR[RWSaturatable] And would it be better to have it this way round (set up in Semi-Saturatable folder) or does it not really make a difference?
  15. Noticed a bug when using Semi-Saturatable Reaction Wheels: some probes have two reaction wheels. Couldn't find a fix so made a config (based off of SETI-Balance for 0.9) and thought I'd share //------\\ //---Saturatable Reaction Wheels---\\ //------\\ @PART [*]:HAS[@MODULE[RWSaturatable]]:NEEDS[RWSaturatable]:AFTER[RWSaturatable]:BEFORE[SETIctt] { @MODULE[RWSaturatable],* { @name = ModuleReactionWheel } } @PART [*]:HAS[@MODULE[ModuleReactionWheel],!MODULE[RWSaturatable]]:NEEDS[RWSaturatable]:AFTER[SETIctt] { @MODULE[ModuleReactionWheel] { @name = RWSaturatable %saturationScale = 10 !bleedRate,* {} bleedRate { key = 0 0.025 0 0 key = 1 0.025 0 0 } !torqueCurve,* {} torqueCurve { key = 0 1 -1 -1 key = 1 0 -1 -1 } } } Add to the end of SETIctt-Settings.cfg, or create a new .cfg in MM-PartModding
  16. Great explanation, thanks! I know exactly what you're talking about (have noticed lights on/off, though just considered it a 'feature') and I'll give your config a try! Edit: Gave it a try, works great! Made a couple of changes so that it only affects manned parts (AFAIK no probes in my game have any animations, so the bug doesn't matter). Did this to avoid issues when starting a new career (No DP-10 unlocked). //------\\ //---160km Omni Antenna on Probe Cores and Command Pods---\\ //------\\ @PART [*]:HAS[@MODULE[ModuleCommand]]:NEEDS[RemoteTech]:AFTER[RemoteTech]:FOR[SETIctt] { !%MODULE[ModuleRTAntennaPassive] {} %MODULE[ModuleRTAntenna] { %IsRTActive = true %Mode0OmniRange = 0 %Mode1OmniRange = 160000 %TRANSMITTER { %PacketInterval = 0.3 %PacketSize = 2 %PacketResourceCost = 5.0 } } } @PART [*]:HAS[@MODULE[ModuleCommand],#CrewCapacity [*],~CrewCapacity[0]]:NEEDS[RemoteTech]:AFTER[RemoteTech]:FOR[SETIctt] { !MODULE[ModuleRTAntenna] {} %MODULE[ModuleRTAntennaPassive] { %TechRequired = "None" %OmniRange = 160000 %TRANSMITTER { %PacketInterval = 0.3 %PacketSize = 2 %PacketResourceCost = 5.0 } }
  17. Seem to be having some issues with these contracts (on Mac). Keep getting this error: ContractConfigurator.ContractType: CONTRACT_TYPE 'FS_Scraps': Error parsing possibleSubjectsTemp1 It's hard to tell, but I don't think contracts are generating properly. HardScience and Experiment seem to be fine, the rest aren't appearing (though they do in a new save, still getting the error). Thought it might be to do with my messing around with ContractRewardModifier, but I took that out and still getting the error. I do have a ton of other mods installed. Here's my Player.log (seem to have a lot of EVE related exceptions too. I know it's nothing to do with you but happen to know anything about those? ) Edit: Removed Scraps.cfg for now and the errors have disappeared. Not sure about the contract generation. I do have a lot of contract packs installed which may be fighting for space.
  18. It seems to happen after loading any previous save, like quicksaving/loading. My last quarter was quite amusing as I totalled 4 kerbal accidents and a bunch of crashes because of this, leading the government to actually take money from me (Don't know if that's intended, but I hope so because it's hilarious. Basically they're way of saying 'you're doing so badly we're taking money from you now') Would be useful to have a fix, as playing with mods can require a fair few quickloads because Kraken. I think if you integrated the statefunding.conf data into save files it would fix this, but I'm just guessing as I have no clue how it works really
  19. Pardon me, but what is that? Sounds like your code is something I want, but I have no idea what it does
  20. Very minor quality of life thing: Is there a way to move the window that pops up after clicking launch in VAB/SPH closer to the launch button? (The window with build/simulate vessel)
  21. Up to you but I'm perfectly happy with how I have working it now! I love how customisable it is, it's incredible! (I nicked a bunch from RP-0, so now R&D building upgrades buff research speed too) Cool, that's pretty much what I was guessing! It seemed a bit odd in testing, but in normal game it's barely noticable That's exactly what I was doing Most of the time I recover to storage then scrap it, because I like having a recovery timer. I'll occasionally reuse a plane, but only if I know that nothing broke (that tends to be the main culprit). I've ran into the game breaking bug upon entering the VAB/SPH a few times, but it's never broken a save yet (just requires a game restart). For something you weren't too bothered about, it's really impressive! Even if a tad unnecessary Is there a way to track if there's anything broken (like rover wheels) or asymmetrically exploded (like a wing) that you could use to flag a warning or prevent recovery? That sounds like a simpler workaround that actually fixing it (I'm talking out of my rear end here, I can't code! )
  22. Bug Report: At 40 years in game time (probably less also) data collection stops working. Found this on Mac and it's easily reproducible, would be great if someone could try it on Windows as well. Tested on clean install of KSP 1.0.4 with TestFlight v1.3.1 (stock configs) and BetterTimeWarp v2.0 (Though not necessary, just makes it easier to fast forward time). To reproduce: - Start a new career. - Check TestFlight working as normal - Launch rocket from VAB/SPH and verify data is ticking up after launching. - Go back to Space Centre and a) Use BetterTimeWarp to fast forward to year 40+ or quit to menu and edit UT to 409470000 - Launch a new rocket (Command pod and flea is fine) - If bug is present, the value for du in the TestFlight window will remain at 0.00 From the debug menu, it looks like it's counting MET badly, as it stay at 0 then jumps to 32 after 30 seconds. I have no idea how the mod works though so i'll be quiet now p.s. Is this mod still in development? Haven't seen much activity lately Edit: Almost forgot Output Log