kOS (Kerbal Operating System) programs https://ksp-kos.github.io/KOS/
game
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

stager.ks 1.4KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. clearscreen.
  2. declare function dt {
  3. SET dtim TO TIME - start.
  4. return dtim:minute+"m"+dtim:second+"s".
  5. }
  6. SET terminal:width TO 22.
  7. SET terminal:height TO 12.
  8. SET GETVOICE(1):wave to "sine".
  9. SET GETVOICE(1):volume to 1.
  10. SET GETVOICE(1):decay to 0.05.
  11. SET GETVOICE(1):attack to 0.05.
  12. SET GETVOICE(1):sustain to 1.0.
  13. SET GETVOICE(1):release to 0.8.
  14. print "======================".
  15. print " Simple stager".
  16. print "======================".
  17. // TODO : detect launcher stability enhancer
  18. // TODO : detect empty fuel stages
  19. HUDTEXT("Stager ready. Waiting 1st stage...", 10, 2, 20, red, false).
  20. print "Waiting takeoff...".
  21. GETVOICE(1):PLAY( LIST(NOTE(400, .1), NOTE(300, .2)) ).
  22. WAIT UNTIL not stage:ready.
  23. print "Lets go !".
  24. DECLARE start TO TIME.
  25. print dt() + " Stage #"+stage:number.
  26. LIST ENGINES IN elist.
  27. UNTIL ship:obt:periapsis > 60000 AND stage:number > 0{
  28. FOR e IN elist {
  29. if e:flameout AND e:stage = stage:number
  30. {
  31. STAGE.
  32. GETVOICE(1):PLAY( SLIDENOTE(220,320, 0.6, 0.7) ).
  33. PRINT dt() + " Stage #" + stage:number.
  34. HUDTEXT(dt() + " Stage #" + stage:number, 3, 2, 15, blue, false).
  35. WAIT UNTIL STAGE:READY.
  36. WAIT 1.0.
  37. GETVOICE(1):PLAY( LIST(NOTE(400, .1), NOTE(300, .2)) ).
  38. LIST ENGINES IN elist.
  39. WAIT 1.0.
  40. }
  41. }
  42. wait 0.
  43. }
  44. HUDTEXT("[Stager] Orbit detected. Exiting...", 10, 2, 20, blue, false).
  45. print dt() + " Orbit detected".
  46. print "exiting...".