Jump to content

Berengal

Members
  • Posts

    3
  • Joined

  • Last visited

Everything posted by Berengal

  1. I've found a bug in the interaction between KIDS and Procedural Parts, specifically the procedural SRB. The procedural SRB lets you choose (among other things) the thrust and ISP (surface nozzle or vacuum nozzle) of the part. If KIDS is set up to vary thrust depending on ISP then this will usually (but not always) give the SRB the wrong thrust and ISP. The ISP will be the ISP specified on the part in the VAB, and the thrust will be the default thrust of the SRB (250kN) multiplied by the inverse of the ISP multiplier. As I said, it doesn't happen consistently, but it happens pretty often when launching a new vehicle. Reverting to launch will usually, but not always, fix the issue. I don't know how either of these mods work internally, but it looks to me like sometimes on launch, KIDS updates the ISP and fuel-flow using the default values of the SRB part. Procedural Parts will then overwrite these when it gets to run, but since KIDS is set to vary thrust with ISP it will continuously overwrite the thrust so the fuel-flow remains constant at the erroneous value it calculated when it ran first. It doesn't notice the ISP has been updated, so the result is a high fuel-flow, high ISP (= high thrust) engine and rockets with launch TWR of about 20 incinerating before they reach 10km.
  2. I found another bug with when statements. If you have waits in a when statement they will be skipped. If your main program is waiting, its waiting condition will be replaced by the condition in the last of the wait statement in the when statement. // Waits for 4 seconds when true then { print "1: " + time. wait 2. print "2: " + time. wait 4. print "3: " + time. }. wait until false. print "done: " + time.
  3. So after updated to 0.12 today I found some of my older programs completely froze KSP when I ran them. I managed to reduce it to a minimal test case: // Will always freeze KSP in kOS v0.12 set x to false. when x then { until false { print "hello". }. }. set x to true. wait 1.
×
×
  • Create New...