nbcfrosty
Well-known member
Hello all. I thought it'd be fun if Orbiter had more interactive content. Like replays, but ones where you can actually do the flying. Where there is more of a directed, progressive, game like feel.
I have a little plugin
The following event condition types are currently supported:
Here's an example of a slightly more complex mission file:
You can create a file in
Just wanted to share. Welcome any ideas.
I have a little plugin
missions.dll
that reads JSON files like this:
Code:
{
"mission_title": "Get to PB-01",
"events": [
{
"event_title": "Get to pb-01",
"event_text": "You are there. Press Shift + A in the MFD.",
"event_action_button_title": "You are there",
"event_action_button_desc": "You are near the PB-01 click this to submit",
"event_key": "done",
"event_conditions": [
{
"condition_type": "time",
"start_key": "met",
"min_value": 15,
"max_value": 1600
},
{
"condition_type": "proximity",
"subject": "PB-01",
"min_value": 0,
"max_value": 10
}
]
},
{
"event_title": "Done",
"event_text": "Done...",
"event_set_focus": "PB-01",
"event_conditions": [
{
"condition_type": "time",
"start_key": "done",
"min_value": 3,
"max_value": 5
}
]
}
]
}
The following event condition types are currently supported:
Code:
altitude
pitch_angle
bank_angle
yaw_angle
apoapsis
apt
periapsis
pet
eccentricity
angular_speed
mass
velocity
main_engines
hover_engines
retro_engines
heading
focus
proximity
docked
time
Here's an example of a slightly more complex mission file:
Code:
{
"mission_title": "Ascent",
"events": [
{
"event_title": "Greeting",
"event_text": "Welcome. You are sitting in Deltaglider GL-01 on KSC runway 33.",
"event_conditions": [
{
"condition_type": "time",
"start_key": "met",
"min_value": 0,
"max_value": 1
}
]
},
{
"event_title": "Surface MFD",
"event_text": "The Surface MFD on your left shows you the ship's attitude and atmospheric parameters.",
"event_conditions": [
{
"condition_type": "time",
"start_key": "met",
"min_value": 5,
"max_value": 6
}
]
},
{
"event_title": "Orbit MFD",
"event_text": "Orbit MFD shows you your ship's orbital trajectory.",
"event_conditions": [
{
"condition_type": "time",
"start_key": "met",
"min_value": 10,
"max_value": 11
}
]
},
{
"event_title": "Pre-launch",
"event_text": "You are now ready to launch. Press CONTROL + PLUS key on your numpad to light your engines!",
"event_conditions": [
{
"condition_type": "time",
"start_key": "met",
"min_value": 15,
"max_value": 1600
}
]
},
{
"event_title": "Launch",
"event_text": "Great, you are now rolling down the runway.",
"event_key": "launch",
"event_conditions": [
{
"condition_type": "main_engines",
"min_value": 0.1,
"max_value": 2
},
{
"condition_type": "time",
"start_key": "met",
"min_value": 20,
"max_value": 50
}
]
},
{
"event_title": "Preprare Rotation",
"event_text": "You are now going at 100 m/s, prepare to rotate.",
"event_conditions": [
{
"condition_type": "time",
"start_key": "launch",
"min_value": 5,
"max_value": 110
},
{
"condition_type": "velocity",
"min_value": 100,
"max_value": 101
}
]
},
{
"event_title": "Rotate",
"event_text": "Lift off by pressing NUMPAD 2.",
"event_conditions": [
{
"condition_type": "time",
"start_key": "launch",
"min_value": 10,
"max_value": 111
},
{
"condition_type": "velocity",
"min_value": 150,
"max_value": 250
}
]
},
{
"event_title": "Bank Right",
"event_text": "Start banking right to heading 90 degrees using NUMPAD 6.",
"event_conditions": [
{
"condition_type": "time",
"start_key": "launch",
"min_value": 15,
"max_value": 300
},
{
"condition_type": "altitude",
"min_value": 1000,
"max_value": 5000
}
]
},
{
"event_title": "Leveling out",
"event_text": "Level out the bank angle with NUMPAD 4.",
"event_conditions": [
{
"condition_type": "time",
"start_key": "launch",
"min_value": 20,
"max_value": 2001
},
{
"condition_type": "bank_angle",
"min_value": 10,
"max_value": 90
}
]
},
{
"event_title": "leveled out",
"event_text": "You are now flying level.",
"event_key": "aligned",
"event_conditions": [
{
"condition_type": "time",
"start_key": "launch",
"min_value": 25,
"max_value": 2002
},
{
"condition_type": "bank_angle",
"min_value": -5,
"max_value": 5
},
{
"condition_type": "heading",
"min_value": 85,
"max_value": 95
}
]
},
{
"event_title": "Pitchup",
"event_text": "Increase pitch angle to 65 degrees using NUMPAD 2 whilst staying level using NUMPAD 4 and NUMPAD 6.",
"event_conditions": [
{
"condition_type": "time",
"start_key": "aligned",
"min_value": 5,
"max_value": 113
}
]
},
{
"event_title": "pitchup!!",
"event_text": "Please pitch up using numpad2!!",
"event_conditions": [
{
"condition_type": "time",
"start_key": "aligned",
"min_value": 20,
"max_value": 114
},
{
"condition_type": "pitch_angle",
"min_value": 0,
"max_value": 10
}
]
},
{
"event_title": "maintain pitch",
"event_text": "Maintain pitch angle at 65 degrees.",
"event_key": "pitchup",
"event_conditions": [
{
"condition_type": "time",
"start_key": "aligned",
"min_value": 10,
"max_value": 114
},
{
"condition_type": "pitch_angle",
"min_value": 60,
"max_value": 68
}
]
},
{
"event_title": "Pitchdown",
"event_text": "Decrease pitch angle to 45 degrees using NUMPAD 8.",
"event_conditions": [
{
"condition_type": "time",
"start_key": "pitchup",
"min_value": 5,
"max_value": 115
},
{
"condition_type": "pitch_angle",
"min_value": 60,
"max_value": 68
},
{
"condition_type": "altitude",
"min_value": 30000,
"max_value": 45000
}
]
},
{
"event_title": "Maintain VS",
"event_text": "Slowly decrease pitch angle, making sure vertical speed is close to 0 m/s.",
"event_key": "ballistic",
"event_conditions": [
{
"condition_type": "time",
"start_key": "pitchup",
"min_value": 5,
"max_value": 500
},
{
"condition_type": "pitch_angle",
"min_value": 40,
"max_value": 70
},
{
"condition_type": "altitude",
"min_value": 70000,
"max_value": 100000
}
]
},
{
"event_title": "Check Apogee",
"event_text": "Check the Apoapsis Altitute (ApA) on the Orbit MFD. It should be around 160 km.",
"event_conditions": [
{
"condition_type": "time",
"start_key": "ballistic",
"min_value": 5,
"max_value": 3000
},
{
"condition_type": "apoapsis",
"min_value": 140000,
"max_value": 160000
}
]
},
{
"event_title": "Approaching MECO",
"event_text": "Cut off the main engines by pressing NUMPAD * when ApA reads 200 km.",
"event_conditions": [
{
"condition_type": "time",
"start_key": "ballistic",
"min_value": 5,
"max_value": 3000
},
{
"condition_type": "apoapsis",
"min_value": 160000,
"max_value": 400000
}
]
},
{
"event_title": "MECO",
"event_text": "Main engines cut off. Welcome to space! You are now coasting to apoapsis",
"event_key": "meco",
"event_conditions": [
{
"condition_type": "time",
"start_key": "ballistic",
"min_value": 5,
"max_value": 1180
},
{
"condition_type": "main_engines",
"min_value": 0,
"max_value": 0
}
]
},
{
"event_title": "Circularize",
"event_text": "Prepare to circularize your orbit by burning prograde at apoapsis. Activate prograde autopilot by pressing [ key.",
"event_conditions": [
{
"condition_type": "time",
"start_key": "meco",
"min_value": 5,
"max_value": 50000
},
{
"condition_type": "apt",
"min_value": 60,
"max_value": 70
}
]
},
{
"event_title": "Burn",
"event_text": "Fire main engines with CONTROL + NUMPAD PLUS until your periapsis is around 200 km and ecc is less than 0.1",
"event_conditions": [
{
"condition_type": "time",
"start_key": "meco",
"min_value": 5,
"max_value": 5000
},
{
"condition_type": "apt",
"min_value": 0,
"max_value": 5
}
]
},
{
"event_title": "Circularized",
"event_text": "Congratulations! You have successfully circularized your orbit.",
"event_conditions": [
{
"condition_type": "time",
"start_key": "meco",
"min_value": 5,
"max_value": 5000
},
{
"condition_type": "periapsis",
"min_value": 200000,
"max_value": 600000
}
]
}
]
}
You can create a file in
orbiter_root/Config/Missions/ascent.json
and use the attached DLL test plugin. Currently plugin will always look for ascent.json
.Just wanted to share. Welcome any ideas.