Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- if allnodes:length = 0 add node(time:seconds + eta:apoapsis, 0, 0, 0).
- print "increase peri".
- until nextnode:orbit:periapsis > target:periapsis {
- set nextnode:prograde to nextnode:prograde + 0.05.
- wait 0.
- print target:periapsis - nextnode:orbit:periapsis at (0,0).
- }
- print "decrease peri".
- until nextnode:orbit:periapsis < target:apoapsis {
- set nextnode:prograde to nextnode:prograde - 0.025.
- wait 0.
- print abs(target:periapsis - nextnode:orbit:periapsis) at (0,0).
- }
- lock rt to time:seconds + nextnode:eta + nextnode:orbit:period / 2.
- lock dist to (positionat(ship, rt) - positionat(target, rt)):mag.
- function increment {
- parameter step.
- parameter type is "e".
- if type = "e" set nextnode:eta to nextnode:eta + step.
- if type = "p" set nextnode:prograde to nextnode:prograde + step.
- if type = "n" set nextnode:normal to nextnode:normal + step.
- if type = "ro" set nextnode:radialout to nextnode:radialout + step.
- }
- function adjust {
- parameter type is "e".
- set lastdist to dist.
- until lastdist < dist {
- set lastdist to dist. increment(step, type). wait 0. print dist.
- }.
- }
- function tweak {
- parameter type is "e".
- adjust(type).
- set step to -step/2.
- adjust(type).
- increment(-step, type).
- }
- set step to orbit:period.
- adjust().
- set step to 1.
- tweak("e").
- set step to 1.
- tweak("p").
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement