Jump to content

Psycho_zs

Members
  • Posts

    574
  • Joined

  • Last visited

Everything posted by Psycho_zs

  1. Is it possible to adjust some defaults through MM? like bottom diameter and vertical offset?
  2. That looks amazing. Shrouds should have been a part of a decoupler right from the start ) What does the algoritm do? Hops over a part and looks for the next node size?
  3. Throttle limit would affect calculations in other parts of the game and mods, because minThrust value is stock. It also would automatically fix slider issue. Offtopic:
  4. That would be the point. Also, thrust limiter slider on the engines overrides minThrottle limit.
  5. Yes. I've just re-checked on a clean KSP to be sure. I know, that was a part of my question.
  6. It seems that when I start an engine with staging it gets stock thrust per throttle even if it is below the limit, until throttle is changed. BTW, what is the reasoning behind this design decision of using custom minThrottle parameter in ThrottleLimiterModule? Is it possible to use stock minThrust parameter and stretch the thrust with custom module? Purely theoretically it might mess less with various calculations, i.e. in Kerbal Engineer.
  7. This is funny, both times I bumped into the ship by flying "up"
  8. ThrottleLimiterModule.CheckThrust: part; LV-303 "Pug" Liquid Fuel Engine, stv: decrease ThrottleLimiterModule.CheckThrust: part; LV-303 "Pug" Liquid Fuel Engine, stv: off ThrottleLimiterModule.CheckThrust: part; LV-303 "Pug" Liquid Fuel Engine, stv: off Just reproduced it again. This was in the log in the moment of ignition. Simple craft: mk1 pod, FL-T100, Pug. (from overhauls). Throttle was cut off by pressing X. More precisely, engine starts when I bump the craft with a kerbal, not when I let go of the hatch. Among other mods there are RealPlume/Smokescreen. These have a history of messing with engines in weird way. Will try on stock soon... ...Yep, same thing on stock game + TLE. Mk1 Pod, FL-T100, Terrier. The craft is scared of bumping it with a helmet and flies away. Similar messages in the log.
  9. Well, I went on EVA, let go of the ladder and the ship turned the engine on and flew away.
  10. So, a while ago I posted a message about stock monoprop tank and certain heavy RCS thrusters wanting to be put together... Here is a config that makes it happen.
  11. A nested selector then, something like that? @PART[*]:HAS[@MODULE[ModuleEngines*]:HAS[@PROPELLANT[Oxidizer],#minThrust[0]]]:FINAL { vacKey = #$atmosphereCurve/0,[0, ]$ seaKey = #$atmosphereCurve/1,[0, ]$ @MODULE[ModuleEngines*]:HAS[#../vacKey[0],#../seaKey[1]] { ... } }
  12. If I can not extract by value, then I will just filter out potential weird curves. How do I use a curve value in selector? With a second set of brackets for value? @PART[*]:HAS[@MODULE[ModuleEngines*]:HAS[@PROPELLANT[Oxidizer],#minThrust[0],#atmosphereCurve/key,0[0, ][0],#atmosphereCurve/key,1[0, ][1]]]:FINAL
  13. Returned to the thrust lock conflict and got the culprit on second try: SmokeScreen and RealPlume. Not yet, I took more stock approach for now. You can find my MM config in that thread.
  14. My previous statement that the mod affects kerbals on EVA is false. Totally unrelated coincidental thing. Haven't tested for mod conflicts yet, unfortunately. I am currently experimenting with limited throttle depth by tweaking minThrust and found out that DavonTC seems to ignore it. When enabled, engines with non-zero minThrust can be throttled past it down to 0.
  15. This config automatically sets throttle depth devised from Isp. It can be adapted to with ThrottleLimiterModule and act as a fallback. // find engines that use Oxidiser and have minThrust 0 @PART[*]:HAS[@MODULE[ModuleEngines*]:HAS[@PROPELLANT[Oxidizer],#minThrust[0]]]:FINAL { @MODULE[ModuleEngines*] { // set minThrust to maxThrust @minThrust = #$maxThrust$ // multiply by Isp(ASL): @minThrust *= #$atmosphereCurve/key,1[1, ]$ // divide by Isp(Vac): @minThrust /= #$atmosphereCurve/key,0[1, ]$ // Uncomment these for quad variant: // multiply by Isp(ASL) again: //@minThrust *= #$atmosphereCurve/key,1[1, ]$ // divide by Isp(Vac) again: //@minThrust /= #$atmosphereCurve/key,0[1, ]$ } // update description thrustPerc = #$MODULE[ModuleEngines*]/minThrust$ @thrustPerc *= 100 @thrustPerc /= #$MODULE[ModuleEngines*]/maxThrust$ @description ^= :$: Can be throttled down to #$thrustPerc$%.: } There are limitations: values from atmosphereCurve are extracted positionally. I haven't seen a config in my GameData that does funky things with atmosphereCurve, but if the first key isn't a vacuum value or the second isn't sea level value, things will go wrong. Maybe I will add filter for proper order in atmosphereCurve. The last bit about description update does not render the variable properly...
  16. Is there a way to extract second value by first value, not by position, or is that an overkill? I mean, in case some mod somewhere assigns the curve positionally backwards: atmosphereCurve { key 1 290 key 0 315 } or has more keys in the curve: atmosphereCurve { key 0 315 key 0.5 301 key 1 290 } #$atmosphereCurve/key,1[1, ]$ would return undesired data.
  17. Thanks! So, will this line get the key by it's first value (0) or by key's position (0)? I've looked at the configs in my GameData, key 0 comes first everywhere, but is it safe to assume that?
  18. Hi! How can I use specific values from atmosphereCurve? Like get second value from the key where fist value=0. I want to do something like this: %minThrust = #$maxThrust$ @minThrust *= #$atmosphereCurve[key,0[1, ]]$ @minThrust /= #$atmosphereCurve[key,1[1, ]]$ (derive engine minThrust from its Isp drop, so vaccuum engines become more throttleable than lifter engines)
  19. Returning to Throttle Limit. I want to find a fallback algorithm of autoassigning minThrottle via MM in relation to Isp. Here are a couple of ways to calculate a coefficient to apply to maxThrottle: engine Isp(ASL) Isp(Vac) Isp(Vac) / Isp(ASL) ( Isp(Vac) / Isp(ASL) )^2 Thud 275 305 0,90 0,81 Terrier 85 345 0,25 0,06 Puddle 90 350 0,26 0,07 Skipper 280 320 0,88 0,77 Mainsail 285 310 0,92 0,85 Reliant 260 310 0,84 0,70 Swivel 250 320 0,78 0,61 Vector 295 315 0,94 0,88 Rhino 205 340 0,60 0,36 Dart 290 340 0,85 0,73 I do not know how to extract data from atmosphereCurve.
  20. Another batch of thoughts: Continuing burning when throttle is at 0 does not make sense gameplay-wise. Engines dynamically affecting behavior of other engines might not be handy predictablity-wise. You dock to some deeply throttleable craft while your throttle is not 0 and boom, unplanned blastoff. So proportional stretching should at least be optional. Flameout below minThrust can be set at part level. Sumarizing this we are left with 3 major variants: Proportional: Engine1: 0-----------------------------------------|maxThrust Engine2: 0mmmmmmmmmmm|minThrust--------------------|maxThrust Engine3: 0mmmmmmmmmmmmmmmmmmmmmmmmm|minThrust------|maxThrust Throttle: 0|not_0-----------------------------------|100 Stretched proportionally to deepest throttle: (Engine1 removed, otherwise it would be the same as proportional) Engine2: 0|minThrust-------------------------------|maxThrust Engine3: 0mmmmmmmmmmmmmmmmmmmm|minThrust-----------|maxThrust Throttle: 0|not_0-----------------------------------|100 Stretched full: Engine1: 0----------------------|maxThrust Engine2: 0------0|minThrust------------|maxThrust Engine3: 0------------------------------------------------0|minThrust------------|maxThrust Throttle: 0|not_0----------------|100 + an option at part level to flameout below minThrust, (default false)
  21. Nice idea. I've updated the analysis in previous post and in bugreport
  22. Things will get messy either way when engines with different throttle depth are used simultaneously. Combinations of things can be reduced down to three advanced tweakables: shutdown when throttle = 0 shutdown when current thrust < minThrust throttle mapping: proportinal, or stretched proportionally to deepest throttle, or stretched fully Out of 12 possible combinations only 7 make sense:
  23. Cool. You might be interested in this bugreport to tweak existing stock parameter to allow more sane native behavior: https://bugs.kerbalspaceprogram.com/issues/15826 I wonder if it is possble to use atmosphereCurve values in MM selectors. (To autoassign thrust limits based on the difference between ASL and VAC Isp values)
×
×
  • Create New...