Rokanov

Members
  • Content Count

    32
  • Joined

  • Last visited

Community Reputation

20 Excellent

About Rokanov

  • Rank
    Rocketeer
  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.