TranceaddicT

Members
  • Content Count

    379
  • Joined

  • Last visited

Community Reputation

104 Excellent

About TranceaddicT

  • Rank
    Spacecraft Engineer

Recent Profile Visitors

2,299 profile views
  1. Alright, so I figured out the previous problem. It required the vessel definition (vessel = @/craft) to be placed within the 'ReachState' PARAMETER stanza. Why it didn't flow down from the upstream parameter like the other two VPGs .. I dunno. But, hey it works. (To quote TheMightyJingles, If it's stupid but it works ... It ain't stupid.) So with that fixed, on to the final problem: getting the green checkmarks. On the launchpad, the contract recognized the presence of required parts and disables the requirement. Unfortunately, during the build process, they don't tick off in the VAB (green arrows).
  2. It's in 1 of 3 vpg/ 1. Reach Target Zone (2000-4000) ... 2. ... return safely AND in one piece ... 3. ... recover craft. here's the full config: CONTRACT_TYPE:NEEDS[UmbraSpaceIndustries] { // Text name = KSP-SR2000 sortKey = a1 title = Fly a sounding rocket above 2000m. description = [KSP-SR2000] The fine folks at Umbra Space Industries have developed an avionics package they want you to test by flying it to a target zone between 2000m and 4000m, and safely return the payload for recovery. Do this right and we can seek the support of sponsors. With adequate funding this could become a successful long-term program for testing and scientific discovery. synopsis = Launch the USI Avionics Package to between 2000m and 4000m on a sounding rocket and recover it. completedMessage = Well done! An unidentified individual shared unspecified specifics with someone's someone about something and now we have a some funding for the next flight! notes = Easy peasy. Remember to reduce your propellant so you don't exceed 4000m. agent = Kerbal Sounding Project group = UUA // Reqs & Data REQUIREMENT { name = PartUnlocked1 type = PartUnlocked part = SR_ProbeCore } DATA { type = string craft = KSP-SR2000 } // Limitations maxCompletions = 3 maxSimultaneous = 1 autoAccept = false declinable = true cancellable = true minExpiry = 24 maxExpiry = 100 deadline = 24 // Rewards & Penalties Info advanceFunds = 0 rewardFunds = 366.667 rewardReputation = 2 rewardScience = 2 failureFunds = 0 failureReputation = 0.1 prestige = Trivial // Craft Requirements PARAMETER { name = VesselParameterGroup type = VesselParameterGroup title = Your sounding rocket must have: define = @/craft dissassociateVesselsOnContractCompletion = true disableOnStateChange = false hidden = false hideChildren = false PARAMETER { name = PartValidation1 type = PartValidation title = a USI Avionics Package VALIDATE { part = SR_ProbeCore } disableOnStateChange = true hideChildren = true } PARAMETER { name = PartValidation2 type = PartValidation title = a USI Sounding Rocket motor or a Sepratron motor VALIDATE { part = SR_Rocket_35_01 part = SR_Rocket_35_02 part = SR_Rocket_625_01 part = sepMotor1 } disableOnStateChange = true hideChildren = true } } // Contract Goals PARAMETER { name = All type = All vessel = @/craft hidden = false hideChildren = false PARAMETER { name = VesselParameterGroup type = VesselParameterGroup title = Reach the target zone ... PARAMETER { name = ReachState type = ReachState minAltitude = 2000 disableOnStateChange = true } PARAMETER { name = ReachState type = ReachState maxAltitude = 4000 disableOnStateChange = false } hideChildren = true disableOnStateChange = true } PARAMETER { name = VesselParameterGroup type = VesselParameterGroup title = ... return safely AND in one piece ... vessel = @/craft PARAMETER { name = ReachState type = ReachState situation = LANDED situation = SPLASHED } PARAMETER { name = VesselNotDestroyed type = VesselNotDestroyed vessel = @/craft } hideChildren = true } PARAMETER { name = VesselParameterGroup type = VesselParameterGroup title = ... and recover your rocket. vessel = @/craft PARAMETER { name = RecoverVessel type = RecoverVessel } hideChildren = true } } }
  3. My turn for help. I've been trying to set up a contract that requires a sounding rocket to reach a target zone and return safely for recovery. I've managed to get the second half of the requirement to work but cannot for the life of me fail the contract if altitude exceeds maxAltitude. Here's the code snippet: PARAMETER { name = VesselParameterGroup type = VesselParameterGroup title = Reach the target zone ... PARAMETER { name = ReachState type = ReachState situation = FLYING minAltitude = 2000 maxAltitude = 4000 } hideChildren = true }
  4. Okay, so, as I said before, the root of your problem is that your contract calls for a group (group = Space Agency Satellite Launch) without a CONTRACT_GROUP being defined. If I understand the way things are set up to work, AGENT can have member GROUPS. You need an AGENT. GROUPS are optional. Create another file called 'Groups.cfg' and put this in there: CONTRACT_GROUP { name = JSLG displayName = JPGSP Satellite Launch Group agent = JPGSP Space Agency // sortKey = // maxSimultaneous = /// maxCompletions = // disabledContractType = minVersion = 1.27 // tip = } To make everything play nicely, change your Agent file to be something like this: AGENT { name = JPGSP Space Agency title = JPGSP Space Agency description = We give you contracts from the videogame Space Agency logoURL = ContractPacks/Custom Missions(Space Agency)/Agency/AgencyLogo logoScaledURL = ContractPacks/Custom Missions(Space Agency)/AgencyLogoSmall mentality = NoRandomContractMentality } Now, change your contract so that the naming scheme matches the above. group = JSLG agent = JPGSP Space Agency I'm telling you to do this because your naming convention ('Space Agency') is far too generic. The only thing more generic and mundane than 'Space Agency' is ... Spaaaaaaaace Force!
  5. I'm updating the Sounding Rockets contract pack and recently ran into the same issue. You need to define a CONTRACT_GROUP. CONTRACT_GROUP { name = <use a more unique name than "Satellite Launch" like JPGSP Satellites> displayName = Satellite Launch agent = <agent for Satellite Launch> // sortKey = maxSimultaneous = 1 maxCompletions = 0 // disabledContractType = minVersion = 1.27 // tip = } Put it in a folder with your Agent.cfg. Also read here: https://github.com/jrossignol/ContractConfigurator/wiki
  6. If I understand correctly, you are correcting UbM via this, yes? If true, then for those using it there is a :NEEDS conditional that requires correcting ln276 -@PART[proceduralTankTAC]:NEEDS[ThunderAerospace]:NEEDS[ProceduralParts]:AFTER[ProceduralParts] +@PART[proceduralTankTAC]:NEEDS[ThunderAerospace,ProceduralParts]:AFTER[ProceduralParts]
  7. You might want to try an external PID controller to compare results. https://github.com/KSP-KOS/KSLib/blob/master/library/lib_pid.ks The library scripts are 4yo; so, they probably need some refactoring and updating.
  8. Could this be an atmospheric "boundary" inherent in the aerodynamic model?
  9. For KSP from Squad there's this: https://wiki.kerbalspaceprogram.com/wiki/Startup_parameters The '-mm-dump' is a startup parameter particular to MM provided by @sarbian for help with debugging MM config files.
  10. Might you be thinking of the KSLib repository, here: https://github.com/KSP-KOS/KSLib
  11. And if you use launch KSP with the command line option '-mm-dump' you'll get a complete dump of every part in its final state.