Space Engineers

Space Engineers

Not enough ratings
Osprey Survival Setup Guide
By Xanthyn
WORK IN PROGRESS



This guide is a work in progress. Please refer to the survival setup section if you want to build this in survival and retain the special programmable block functions.



Welcome to the Osprey. Whether you are a solo practitioner or a small faction, the Osprey combines creative mode looks with the reliability needed for multiplayer survival. You can get started on this 100% vanilla and rotor/piston free design right from your first play session and smoothly upgrade from bare bones production platform, to slow moving hydrogen barge, into a sleek, immersive, highly practical late game resource collecting powerhouse - one that can launch powerful torpedoes and construct/deploy solar powered antenna relays without ever using the terminal.

The Osprey has been lovingly outfitted with detailed displays to allow a role-play survival experience. The Osprey isn't just a ship - she's the on board AI who manages your sub-systems and will communicate with you through sound blocks and LCD screens. She is quite fond of the Captain, but takes a dim view of the Ensign, who sits in the rear facing flight seat. Each pilot will receive different dialogues from the Osprey, depending on who she likes better.

The Osprey keeps ten programming blocks working in harmony. They will turn on and off to save performance, and share screens to keep relevant information front and center. They are set with custom controls to keep you out of the terminal, and in the world. Osprey will also warn you of environmental hazards, and enter a DS performance saving sleep mode when not in use.

Please note that this design only works in worlds with oxygen and air tightness enabled. I will release a version for non-air tight worlds very soon(tm).
   
Award
Favorite
Favorited
Unfavorite
Cockpit Controls
Here is a rundown of the controls, or for those of you with way too much time on your hands, there is a video controls guide below.

Main Flight Seat:
Tab 1 - Range Finder/Docking
1. Use Ray Cast (switches to forward facing camera)
2. Decrease Ray Cast Range
3. Increase Ray Cast Range
4. View Forward Camera
5. Jump Drive 1
6. Toggle Hydrogen Thrusts
7. Toggle Ion Thrusters
8. Bottom Dock/Undock Toggle
9. Top Dock/Undock Toggle

Tab 2 - Gravity Drive Controls
1. Gravity Drive Forward
2. Gravity Drive Off
3. Gravity Drive Backward
4. Lock Gyroscopes
5. Toggle “Heavy Load” and “Light Load” modes
6. Drift Correct Slider Left
7. Drift Correct Slider Right
8. Drift Correct Slider Down
9. Drift Correct Slider Up

Tab 3 - Printer Controls
1. Printer Selector: Scroll Down
2. Printer Selector: Scroll Up
3. Access Rear Facing Remote
4. Blueprint Component Display: Scroll Down
5. Blueprint Component Display: Scroll Up
6. View Rear Facing Camera
7. Toggle Printer Start/Stop
8. -
9. Auto Launch Printed Item

Tab 4 - Turret Controls
1. Turrets On/Off
2-9. Control Turrets

Tab 5 - General Utility
1. Any Attached Drills
2. Any Attached Welders
3. Any Attached Grinders
4. Left facing Docking Remote
5. Right Facing Docking Remote
6. Antenna Left
7. Antenna Right
8. Toggle Stone Ejector System On/Off
9. Toggle Gravity Shield On/Off

Tab 6 - Assemblers and Landing Gear
1-4. Toggle Assemblers
5-8. Toggle Landing Gear Lock
9. Toggle Auto Lock

Tab 7 - Toggle Refineries and Arc Furnaces
Tab 8 - Jump Drive Controls
Tab 9 - Programs and Diagnostic Mode
1. Toggle Taladen’s Inventory Manage
2. Toggle Artificial Horizon Script
3. Toggle Automatic LCD Script
4. Blueprint Component Display: Scroll Down
5. Blueprint Component Display: Scroll Up
6. Force Printer Welders On (For self-repairing the printer)
7. Reset Phil’s Ship Diagnostic Script (to update when ships merge/unmerge)
8. Toggle Repair Projector
9. Diagnostic Mode Toggle

Simplified Controls for Rear Facing Flight Seat and Rear Facing Remote:
Tab 1 - Gravity Drive and Printer Controls
1. Gravity Drive Forward
2. Gravity Drive Off
3. Gravity Drive Backward
4. Lock Gyroscopes
5. Rear Facing Camera
6. Printer Selector: Scroll Down
7. Printer Selector: Scroll Up
8. Toggle Printer Start/Stop
9. Printer Auto Launch

Tab 2 - Ray Cast and Gravity Shield
1. Use Ray Cast (switches to forward facing camera)
2. Decrease Ray Cast Range
3. Increase Ray Cast Range
9. Gravity Shield Toggle
Survival Setup - Programmable Block Arguments Overview
In order to build this in survival, you have to paste in a few programmable arguments in to various places so that the controls will actually perform as intended. Here is a video tutorial for setting up the programmable blocks arguments, which should be helpful. I recommend watching it in full screen so you can see what I'm typing in the terminal. This video shows off the Finch support craft but it's the exact same procedure for the Osprey, just refer to the tables below.

Please note that the script will crash if you try to use this outside an airtight world.


In order to trigger a bit of code using the Easy Automation script, it is necessary to enter the ship's terminal, select the necessary block, and set a programmable block argument in one or more of it's action/hotkey boxes. Simply find the programmable block given in the table below (for nearly all of them it will be Programmable Block EAMAIN, just type "EAM" in the search field to pull it right up), and drag the PB into the action box. Then you will be prompted to enter an argument - simply copy/paste in the argument provided in the table below. I know that sounds unclear - just watch the video for a few minutes and it will make sense.

It takes a few minutes to do this at first, but I have done my best to name the PB arguments as sensibly as possible to avoid confusion. After this step is complete, you shouldn't have to do it again (unless you convert your ship to a station, which for some reason can cause the bug to resurface). Hopefully, Keen will fix programmable block arguments to make this setup process obsolete in the future.

Note: only a few of these commands do not use "Programmable Block EAMAIN." They are underlined, make sure to use the correct PB when setting them up.
Setting Up Main Flight Seat Controls
This is the table that contains all the programmable block arguments for the main flight seat.

Block to be Configured
Programming Block
Argument
OSPREY Flight Seat Forward
Tab 3: Button 1
OSPREY Programmable Block EAMAIN
OSPREY Co-Pilot Main Display(OSPREY Range Finder Forward Scan)
OSPREY Flight Seat Forward
Tab 1: Button 2
OSPREY Programmable Block EAMAIN
OSPREY Co-Pilot Main Display(OSPREY Range Finder Down)
OSPREY Flight Seat Forward
Tab 1: Button 3
OSPREY Programmable Block EAMAIN
OSPREY Co-Pilot Main Display(OSPREY Range Finder Up)
OSPREY Flight Seat Forward
Tab 1: Button 8
OSPREY Programmable Block EAMAIN
OSPREY LCD Panel EA 2(OSPREY Bottom Undock Toggle)
OSPREY Flight Seat Forward
Tab 1: Button 9
OSPREY Programmable Block EAMAIN
OSPREY LCD Panel EA 2(OSPREY Top Undock Toggle)
OSPREY Flight Seat Forward
Tab 2: Button 1
OSPREY Programmable Block EAMAIN
OSPREY Vert Ballast Display(OSPREY Gravity Drive Forward)
OSPREY Flight Seat Forward
Tab 2: Button 2
OSPREY Programmable Block EAMAIN
OSPREY Vert Ballast Display(OSPREY Gravity Drive Off)
OSPREY Flight Seat Forward
Tab 2: Button 3
OSPREY Programmable Block EAMAIN
OSPREY Vert Ballast Display(OSPREY Gravity Drive Backward)
OSPREY Flight Seat Forward
Tab 2: Button 5
OSPREY Programmable Block EAMAIN
OSPREY Gravity Drive Display(OSPREY Heavy Load Toggle)
OSPREY Flight Seat Forward
Tab 2: Button 6
OSPREY Programmable Block EAMAIN
OSPREY Hor Ballast Display(OSPREY Hor Ballast Left Button)
OSPREY Flight Seat Forward
Tab 2: Button 7
OSPREY Programmable Block EAMAIN
OSPREY Hor Ballast Display(OSPREY Hor Ballast Right Button)
OSPREY Flight Seat Forward
Tab 2: Button 8
OSPREY Programmable Block EAMAIN
OSPREY Vert Ballast Display(OSPREY Vert Ballast Down Button)
OSPREY Flight Seat Forward
Tab 2: Button 9
OSPREY Programmable Block EAMAIN
OSPREY Vert Ballast Display(OSPREY Vert Ballast Up Button)
OSPREY Flight Seat Forward
Tab 3: Button 1
OSPREY Programmable Block EAMAIN
OSPREY Co-Pilot Main Display(OSPREY Print Select Down)
OSPREY Flight Seat Forward
Tab 3: Button 2
OSPREY Programmable Block EAMAIN
OSPREY Co-Pilot Main Display(OSPREY Print Select Up)
OSPREY Flight Seat Forward
Tab 3: Button 4
AND
OSPREY Flight Seat Forward
Tab 9: Button 4
OSPREY Programmable Block Blueprint Components[/b][/th]
scrolldown
[/tr]
OSPREY Flight Seat Forward
Tab 3: Button 5
AND
OSPREY Flight Seat Forward
Tab 9: Button 5
OSPREY Programmable Block Blueprint Components[/b][/th]
scrollup
[/tr]
OSPREY Flight Seat Forward
Tab 3: Button 7
OSPREY Programmable Block EAMAIN
OSPREY Co-Pilot Main Display(OSPREY Printer Welder Toggle)
OSPREY Flight Seat Forward
Tab 3: Button 9
OSPREY Programmable Block EAMAIN
OSPREY Co-Pilot Main Display(OSPREY Printer Auto Launch)
OSPREY Flight Seat Forward
Tab 5: Button 9
OSPREY Programmable Block EAMAIN
OSPREY Vert Ballast Display(OSPREY Grav Shield Toggle)
OSPREY Flight Seat Forward
Tab 9: Button 7
OSPREY Programmable Block Diagnostic
Reset
OSPREY Flight Seat Forward
Tab 9: Button 9
OSPREY Programmable Block EAMAIN
OSPREY Hor Ballast Display(OSPREY Diagnostic Toggle)
[/table]
Setting up Sensors, Timer blocks, and Button Panel
For all OSPREY Sensors, put the programmable block argument in the first action slot.

Block to be Configured
Programming Block
Argument
OSPREY Sensor Cockpit
OSPREY Programmable Block EAMAIN
OSPREY Text Panel EA 1 Horizon(OSPREY Cockpit Default)
OSPREY Sensor Top Lock
OSPREY Programmable Block EAMAIN
OSPREY Text Panel EA 1 Horizon(OSPREY Sensor Top Lock)
OSPREY Sensor Bottom Lock
OSPREY Programmable Block EAMAIN
OSPREY Text Panel EA 1 Horizon(OSPREY Sensor Bottom Lock)
OSPREY Sensor Top 1
OSPREY Programmable Block EAMAIN
OSPREY Text Panel EA 1 Horizon(OSPREY Sensor Top 1)
OSPREY Sensor Top 2
OSPREY Programmable Block EAMAIN
OSPREY Text Panel EA 1 Horizon(OSPREY Sensor Top 2)
OSPREY Sensor Bottom 1
OSPREY Programmable Block EAMAIN
OSPREY Text Panel EA 1 Horizon(OSPREY Sensor Bottom 1)
OSPREY Sensor Bottom 2
OSPREY Programmable Block EAMAIN
OSPREY Text Panel EA 1 Horizon(OSPREY Sensor Bottom 2)

For the button panel, just make sure you are putting the correct argument on the correct button.

Block to be Configured
Programming Block
Argument
OSPREY Button Panel Cockpit:
Action Slot 1
OSPREY Programmable Block EAMAIN
OSPREY Main Display(OSPREY Button Panel Cockpit 1)
OSPREY Button Panel Cockpit:
Action Slot 2
OSPREY Programmable Block EAMAIN
OSPREY Text Panel EA 1 Horizon(OSPREY Button Panel Cockpit 2)
OSPREY Button Panel Cockpit:
Action Slot 3
OSPREY Programmable Block EAMAIN
OSPREY Text Panel EA 1 Horizon(OSPREY Button Panel Cockpit 3)t
OSPREY Button Panel Cockpit:
Action Slot 4
OSPREY Programmable Block EAMAIN
OSPREY Text Panel EA 1 Horizon(OSPREY Button Panel Cockpit 4)

For the Timer Blocks, it doesn't matter where you put the argument, although I usually just go for slot 1.

Block to be Configured
Programming Block
Argument
OSPREY Timer Block Undocker
OSPREY Programmable Block EAMAIN
OSPREY LCD Panel EA 2(OSPREY Undock Request Received)
OSPREY Timer Block Boarder
OSPREY Programmable Block EAMAIN
OSPREY LCD Panel EA 2(OSPREY Board Request Received)
OSPREY Timer Block Upkeep
OSPREY Programmable Block EASECONDARY[/b][/th]
OSPREY Main Display(OSPREY Upkeep)
[/tr]
OSPREY TriggerOnShipControlLost
OSPREY Programmable Block EASECONDARY[/b][/th]
OSPREY Main Display(OSPREY Ship Control Lost)
[/tr][/table]
Optional: Reverse Facing Remote and Flight Seat
You can put these controls into both the backward facing Ensign Seat, or the backward facing remote (so that you can face backward from the pilot seat and pilot the Osprey as a drone).

Block to be Configured
Programming Block
Argument
Tab 1: Button 1
OSPREY Programmable Block EAMAIN
OSPREY Vert Ballast Display(OSPREY Gravity Drive Backward)
Tab 1: Button 2
OSPREY Programmable Block EAMAIN
OSPREY Vert Ballast Display(OSPREY Gravity Drive Off)
Tab 1: Button 3
OSPREY Programmable Block EAMAIN
OSPREY Vert Ballast Display(OSPREY Gravity Drive Forward)
Tab 1: Button 6
OSPREY Programmable Block EAMAIN
OSPREY Co-Pilot Main Display(OSPREY Print Select Down)
Tab 1: Button 7
OSPREY Programmable Block EAMAIN
OSPREY Co-Pilot Main Display(OSPREY Print Select Up)
Tab 1: Button 8
OSPREY Programmable Block EAMAIN
OSPREY Co-Pilot Main Display(OSPREY Printer Welder Toggle)
Tab 1: Button 9
OSPREY Programmable Block EAMAIN
OSPREY Co-Pilot Main Display(OSPREY Printer Auto Launch)
Tab 2: Button 1
OSPREY Programmable Block EAMAIN
OSPREY Gravity Drive Display(OSPREY Range Finder Backward Scan)
Tab 2: Button 2
OSPREY Programmable Block EAMAIN
OSPREY Co-Pilot Main Display(OSPREY Range Finder Down)
Tab 2: Button 3
OSPREY Programmable Block EAMAIN
OSPREY Co-Pilot Main Display(OSPREY Range Finder Up)
Tab 2: Button 9
OSPREY Programmable Block EAMAIN
OSPREY Vert Ballast Display(OSPREY Grav Shield Toggle)
Easy Automation Code Overview
Everything past this point is just more information for the curious, there is no need to take any action in this, even for survival setup. Below this point is all of the easy automation code that I wrote for this build. See also the survival setup guide for the Finch, to see more.
Easy Automation Code: OSPREY Text Panel EA 1 Horizon
@OSPREY Top Lock Drain{ OnOff_Off Programmable Block TIM [TIM] OnOff_Off Oxygen Generator OnOff_On OSPREY Oxygen Tank Depressurize of OSPREY Air Vent Top Lock = True When Room pressure of OSPREY Air Vent Top Lock < 5 Stockpile of OSPREY Oxygen Tank = False OnOff_Off Oxygen Tank OnOff_On Oxygen Generator OnOff_On Programmable Block TIM [TIM] } @OSPREY Top Lock Fill{ OnOff_Off Programmable Block TIM [TIM] OnOff_On OSPREY Oxygen Tank OnOff_Off Oxygen Generator Stockpile of OSPREY Oxygen Tank = False Depressurize of OSPREY Air Vent Top Lock = False When Room pressure of OSPREY Air Vent Top Lock > 97 OnOff_Off Oxygen Tank OnOff_On Oxygen Generator OnOff_On Programmable Block TIM [TIM] } @OSPREY Bottom Lock Drain{ OnOff_Off Programmable Block TIM [TIM] OnOff_On OSPREY Oxygen Tank OnOff_Off Oxygen Generator Depressurize of OSPREY Air Vent Bottom Lock = True When Room pressure of OSPREY Air Vent Bottom Lock < 5 Stockpile of Oxygen Tank = False OnOff_On Oxygen Generator OnOff_Off Oxygen Tank OnOff_On Programmable Block TIM [TIM] } @OSPREY Bottom Lock Fill{ OnOff_Off Programmable Block TIM [TIM] OnOff_On OSPREY Oxygen Tank OnOff_Off Oxygen Generator Stockpile of OSPREY Oxygen Tank = False Depressurize of OSPREY Air Vent Bottom Lock = False When Room pressure of OSPREY Air Vent Bottom Lock > 97 OnOff_Off Oxygen Tank OnOff_On Oxygen Generator OnOff_On Programmable Block TIM [TIM] } @OSPREY Cockpit Default{ Delay 500 If Blink Offset of OSPREY Counter Memory = 0 { @OSPREY Main Display(OSPREY Wakeup) } OnOff_On OSPREY Gravity Generator Cockpit OnOff_Off OSPREY Beacon Blink Offset of OSPREY Counter Memory = 1 Start OSPREY Timer Block Upkeep Bottom of OSPREY Sensor Top Lock = 2 OnOff_Off OSPREY Memory 1 Intensity of OSPREY Memory 1 = 1 Radius of OSPREY Memory 1 = 1 Blink Lenght of OSPREY Memory 1 = 1 Blink Interval of OSPREY Memory 1 = 1 OnOff_Off Passenger Receiver Memory Height of OSPREY Gravity Generator Cockpit = 15.5 Depth of OSPREY Gravity Generator Cockpit = 21 Gravity of OSPREY Gravity Generator Cockpit = 9.8 OnOff_Off Oxygen Generator Open of (OSPREY Sliding Doors) = False OnOff_On OSPREY Passenger Received Memory Delay 1250 Depressurize of OSPREY Air Vent Top Lock = False Depressurize of OSPREY Air Vent Bottom Lock = False OnOff_Off OSPREY Passenger Received Memory @OSPREY Top Lock Fill @OSPREY Bottom Lock Fill OnOff_On OSPREY Sensor Cockpit OnOff_On Oxygen Generator OnOff_Off (OSPREY Sliding Doors) Color of (OSPREY Hull Lights) = 0:0:0 } @OSPREY Button Panel Cockpit 2{ Height of OSPREY Gravity Generator Cockpit = 8 Depth of OSPREY Gravity Generator Cockpit = 17 Gravity of OSPREY Gravity Generator Cockpit = -9.8 OnOff_On OSPREY Sliding Door Inner Lock Top Open_On OSPREY Sliding Door Inner Lock Top OnOff_On OSPREY Memory 1 } @OSPREY Sensor Top Lock{ OnOff_Off Oxygen Generator If Radius of OSPREY Memory 1 = 2 { @OSPREY Cockpit Default } Else if OnOff of OSPREY Passenger Receiver Memory = True { OnOff_On OSPREY Sliding Door Inner Lock Top Open_On OSPREY Sliding Door Inner Lock Top } Else if Radius of OSPREY Memory 1 = 1 { If Room pressure of OSPREY Air Vent Top Lock > 95 { If OnOff of OSPREY Memory 1 = True { Open_Off OSPREY Sliding Door Inner Lock Top @OSPREY Top Lock Drain OnOff_On OSPREY Sliding Door Outer Lock Top 2 Open_On OSPREY Sliding Door Outer Lock Top 2 } Else if OnOff of OSPREY Memory 1 = False { Open_Off OSPREY Sliding Door Inner Lock Top OnOff_On OSPREY Sliding Door Outer Lock Top 1 Open_On OSPREY Sliding Door Outer Lock Top 1 } } Else if Room pressure of OSPREY Air Vent Top Lock = Not pressurized { Open_Off (OSPREY Sliding Doors) @OSPREY Top Lock Fill OnOff_On OSPREY Sliding Door Inner Lock Top Open_On OSPREY Sliding Door Inner Lock Top Gravity of OSPREY Gravity Generator Cockpit = 9.8 } } } @OSPREY Sensor Top 1{ OnOff_Off Oxygen Generator If OnOff of OSPREY Passenger Receiver Memory = True { OnOff_On OSPREY Sliding Door Outer Lock Top 1 Open_On OSPREY Sliding Door Outer Lock Top 1 Height of OSPREY Gravity Generator Cockpit = 18 Depth of OSPREY Gravity Generator Cockpit = 8 Gravity of OSPREY Gravity Generator Cockpit = 9.8 OnOff_On OSPREY Top Lock Pressure Memory } Else if OnOff of Passenger Receiver Memory = True { Open_Off (OSPREY Sliding Doors) When OnOff of Passenger Received Memory = True Delay 1000 @OSPREY Cockpit Default } Else { Open_Off (OSPREY Sliding Doors) Height of OSPREY Gravity Generator Cockpit = 18 Depth of OSPREY Gravity Generator Cockpit = 8 Gravity of OSPREY Gravity Generator Cockpit = 9.8 @OSPREY Top Lock Drain OnOff_On OSPREY Sliding Door Outer Lock Top 1 Open_On OSPREY Sliding Door Outer Lock Top 1 Delay 2000 @OSPREY Sensor Top Lock } } @OSPREY Sensor Top 2{ OnOff_Off Oxygen Generator If OnOff of OSPREY Memory 1 = True { Color of (OSPREY Hull Lights) = 0:90:255 @OSPREY Cockpit Default } Else if OnOff of OSPREY Memory 1 = False { Open_Off (OSPREY Sliding Doors) Height of OSPREY Gravity Generator Cockpit = 8 Depth of OSPREY Gravity Generator Cockpit = 17 Gravity of OSPREY Gravity Generator Cockpit = 9.8 @OSPREY Top Lock Drain OnOff_On OSPREY Sliding Door Outer Lock Top 2 Open_On OSPREY Sliding Door Outer Lock Top 2 } } @OSPREY Button Panel Cockpit 3{ OnOff_Off Oxygen Generator Height of OSPREY Gravity Generator Cockpit = 27 Depth of OSPREY Gravity Generator Cockpit = 17 Gravity of OSPREY Gravity Generator Cockpit = 9.8 OnOff_On OSPREY Sliding Door Inner Lock Bottom Open_On OSPREY Sliding Door Inner Lock Bottom Blink Lenght of OSPREY Memory 1 = 2 } @OSPREY Button Panel Cockpit 4{ OnOff_Off Oxygen Generator OnOff_On OSPREY Sliding Door Outer Lock Bottom 1 Open_On OSPREY Sliding Door Outer Lock Bottom 1 Delay 2000 If Room pressure of OSPREY Air Vent Bottom Lock = Not pressurized { Open_Off (OSPREY Sliding Doors) @OSPREY Bottom Lock Fill @OSPREY Cockpit Default } Else { OnOff_On Passenger Receiver Memory OnOff_Off OSPREY Passenger Receiver Memory OnOff_On OSPREY Bottom Lock Pressure Memory Height of OSPREY Gravity Generator Cockpit = 27 Depth of OSPREY Gravity Generator Cockpit = 8 Gravity of OSPREY Gravity Generator Cockpit = 9.8 @OSPREY Bottom Lock Fill Open_Off OSPREY Sliding Door Outer Lock Bottom 1 OnOff_On OSPREY Sliding Door Inner Lock Bottom Open_On OSPREY Sliding Door Inner Lock Bottom } } @OSPREY Sensor Bottom Lock{ OnOff_Off Oxygen Generator If OnOff of OSPREY Passenger Receiver Memory = True { OnOff_On OSPREY Sliding Door Inner Lock Bottom Open_On OSPREY Sliding Door Inner Lock Bottom OnOff_Off OSPREY Sensor Cockpit Bottom of OSPREY Sensor Top Lock = 4 Radius of OSPREY Memory 1 = 2 } Else if Room pressure of OSPREY Air Vent Bottom Lock > 95 { If Blink Lenght of OSPREY Memory 1 = 2 { Open_Off OSPREY Sliding Door Inner Lock Bottom @OSPREY Bottom Lock Drain OnOff_On OSPREY Sliding Door Outer Lock Bottom 2 Open_On OSPREY Sliding Door Outer Lock Bottom 2 } Else if Blink Lenght of OSPREY Memory 1 = 1 { Open_Off OSPREY Sliding Door Inner Lock Top OnOff_On OSPREY Sliding Door Outer Lock Bottom 1 Open_On OSPREY Sliding Door Outer Lock Bottom 1 } } Else if Room pressure of OSPREY Air Vent Bottom Lock = Not pressurized { Open_Off (OSPREY Sliding Doors) @OSPREY Bottom Lock Fill Bottom of OSPREY Sensor Top Lock = 4 Radius of OSPREY Memory 1 = 2 OnOff_Off OSPREY Sensor Cockpit OnOff_On OSPREY Sliding Door Inner Lock Bottom Open_On OSPREY Sliding Door Inner Lock Bottom Gravity of OSPREY Gravity Generator Cockpit = -9.8 } }
Easy Automation Code: OSPREY Text Panel EA 1 Horizon (continued)
@OSPREY Sensor Bottom 2{ OnOff_Off Oxygen Generator If Blink Lenght of OSPREY Memory 1 = 2 { Color of (OSPREY Hull Lights) = 0:90:255 @OSPREY Cockpit Default } Else if Blink Lenght of OSPREY Memory 1 = 1 { Open_Off OSPREY (OSPREY Sliding Doors) Height of OSPREY Gravity Generator Cockpit = 27 Depth of OSPREY Gravity Generator Cockpit = 17 Gravity of OSPREY Gravity Generator Cockpit = -9.8 @OSPREY Bottom Lock Drain OnOff_On OSPREY Sliding Door Outer Lock Bottom 2 Open_On OSPREY Sliding Door Outer Lock Bottom 2 } } @OSPREY Sensor Bottom 1{ OnOff_Off Oxygen Generator If OnOff of OSPREY Passenger Receiver Memory = True { OnOff_On OSPREY Sliding Door Outer Lock Bottom 1 Open_On OSPREY Sliding Door Outer Lock Bottom 1 Height of OSPREY Gravity Generator Cockpit = 28 Depth of OSPREY Gravity Generator Cockpit = 8 Gravity of OSPREY Gravity Generator Cockpit = -9.8 OnOff_On OSPREY Bottom Lock Pressure Memory } Else if OnOff of Passenger Receiver Memory = True { Open_Off (OSPREY Sliding Doors) When OnOff of Passenger Received Memory = True Delay 1000 @OSPREY Cockpit Default } Else { Open_Off (OSPREY Sliding Doors) Height of OSPREY Gravity Generator Cockpit = 27 Depth of OSPREY Gravity Generator Cockpit = 8 Gravity of OSPREY Gravity Generator Cockpit = -9.8 @OSPREY Bottom Lock Drain OnOff_On OSPREY Sliding Door Outer Lock Bottom Open_On OSPREY Sliding Door Outer Lock Bottom Delay 2000 @OSPREY Sensor Bottom Lock } }
Easy Automation Code: OSPREY LCD Panel EA 2
@OSPREY Board Request Received{ OnOff_On OSPREY Passenger Receiver Memory If OnOff of OSPREY Top Lock Pressure Memory = False { @OSPREY Standard Board } Else if OnOff of OSPREY Bottom Lock Pressure Memory = False { @OSPREY Standard Board } } @OSPREY Standard Board{ OnOff_Off Oxygen Generator OnOff_On OSPREY Oxygen Tank OnOff_Off Programmable Block TIM Depressurize of OSPREY Air Vent Bottom Lock = True Depressurize of OSPREY Air Vent Top Lock = True Delay 1500 OnOff_On OSPREY Sliding Door Outer Lock Top 1 OnOff_On OSPREY Sliding Door Outer Lock Bottom 1 Open_On OSPREY Sliding Door Outer Lock Top 1 Open_On OSPREY Sliding Door Outer Lock Bottom 1 Depressurize of OSPREY Air Vent Bottom Lock = False Depressurize of OSPREY Air Vent Top Lock = False Delay 2500 OnOff_Off Oxygen Generator OnOff_On OSPREY Oxygen Tank OnOff_Off Programmable Block TIM Open_Off OSPREY Sliding Door Outer Lock Top 1 Open_Off OSPREY Sliding Door Outer Lock Bottom 1 } @OSPREY Top Undock Toggle{ If OnOff of OSPREY Connector Top = True { If OnOff of (OSPREY Merge Blocks Top) = True { If OnOff of Osprey Top Lock Pressure Memory = True { OnOff_On OSPREY Sliding Door Outer Lock Top 1 Open_On OSPREY Sliding Door Outer Lock Top 1 @OSPREY Text Panel EA 1 Horizon(OSPREY Top Lock Drain) Open_Off OSPREY Sliding Door Outer Lock Top 1 OnOff_Off Osprey Lock Pressure Memory Top PlaySound OSPREY Sound Block Objective Complete Delay 1250 OnOff_Off OSPREY Sliding Door Outer Lock Top 1 Depressurize of OSPREY Air Vent Top Lock = False OnOff_Off OSPREY Top Lock Pressure Memory } } OnOff_On OSPREY Safety Unlock OSPREY Connector Top OnOff_Off OSPREY Connector Top OnOff_Off (OSPREY Merge Blocks Top) Delay 100 OnOff_Off OSPREY Safety } Else if OnOff of OSPREY Connector Top = False { If OnOff of (OSPREY Merge Blocks Top) = False { OnOff_On (OSPREY Merge Blocks Top) } Else if OnOff of (OSPREY Merge Blocks Top) = True { OnOff_On OSPREY Connector Top Delay 2000 Lock OSPREY Connector Top } } OnOff_Off OSPREY Safety } @OSPREY Bottom Undock Toggle{ If OnOff of OSPREY Connector Bottom = True { If OnOff of (OSPREY Merge Blocks Bottom) = True { If OnOff of Osprey Bottom Lock Pressure Memory = True { OnOff_On OSPREY Sliding Door Outer Lock Bottom 1 Open_On OSPREY Sliding Door Outer Lock Bottom 1 @OSPREY Text Panel EA 1 Horizon(OSPREY Bottom Lock Drain) Open_Off OSPREY Sliding Door Outer Lock Bottom 1 OnOff_Off Osprey Bottom Lock Pressure Memory PlaySound OSPREY Sound Block Objective Complete Delay 1250 OnOff_Off OSPREY Sliding Door Outer Lock Bottom 1 Depressurize of OSPREY Air Vent Bottom Lock = False } } OnOff_On OSPREY Safety Unlock OSPREY Connector Bottom OnOff_Off OSPREY Connector Bottom OnOff_Off (OSPREY Merge Blocks Bottom) Delay 100 OnOff_Off OSPREY Safety } Else if OnOff of OSPREY Connector Bottom = False { If OnOff of (OSPREY Merge Blocks Bottom) = False { OnOff_On (OSPREY Merge Blocks Bottom) } Else if OnOff of (OSPREY Merge Blocks Bottom) = True { OnOff_On OSPREY Connector Bottom Delay 2000 Lock OSPREY Connector Bottom } } } @OSPREY All Lock Drain{ OnOff_Off Oxygen Generator OnOff_On Oxygen Tank Depressurize of OSPREY Air Vent Top Lock = True Depressurize of OSPREY Air Vent Bottom Lock = True When Room pressure of OSPREY Air Vent Top Lock = 0 When Room pressure of OSPREY Air Vent Bottom Lock = 0 Stockpile of OSPREY Oxygen Tank = False OnOff_Off Oxygen Tank OnOff_Off Oxygen Generator } @OSPREY Undock Request Received{ OnOff_Off Oxygen Generator OnOff_On OSPREY Passenger Receiver Memory If OnOff of OSPREY Top Lock Pressure Memory = True { OnOff_On OSPREY Sliding Door Outer Lock Top 1 Open_On OSPREY Sliding Door Outer Lock Top 1 Delay 1250 @OSPREY Text Panel EA 1 Horizon(OSPREY Top Lock Drain) Open_Off OSPREY Sliding Door Outer Lock Top 1 } Delay 100 If OnOff of OSPREY Bottom Lock Pressure Memory = True { OnOff_On OSPREY Sliding Door Outer Lock Bottom 1 Open_On OSPREY Sliding Door Outer Lock Bottom 1 Delay 1250 @OSPREY Text Panel EA 1 Horizon(OSPREY Bottom Lock Drain) Open_Off OSPREY Sliding Door Outer Lock Bottom 1 } PlaySound OSPREY Sound Block Objective Complete OnOff_Off OSPREY Top Lock Pressure Memory OnOff_Off OSPREY Bottom Lock Pressure Memory OnOff_On OSPREY Safety @OSPREY Text Panel EA 1 Horizon(OSPREY Cockpit Default) } @OSPREY All Lock Fill{ OnOff_Off Oxygen Generator Depressurize of OSPREY Air Vent Top Lock = False Depressurize of OSPREY Air Vent Bottom Lock = False When Room pressure of OSPREY Air Vent Top Lock = 100 When Room pressure of OSPREY Air Vent Bottom Lock = 100 OnOff_On Oxygen Generator } @OSPREY Grav Drive Settings{ FontColor of OSPREY Gravity Drive Display = 100:255:255 Width of (OSPREY Gravity Drive) = 2.5 Depth of (OSPREY Gravity Drive) = 13 Height of OSPREY Gravity Generator Gravity Drive 1.1 = 118 Height of OSPREY Gravity Generator Gravity Drive 2.1 = 108 Height of OSPREY Gravity Generator Gravity Drive 3 = 98 Height of OSPREY Gravity Generator Gravity Drive 4 = 88 Height of OSPREY Gravity Generator Gravity Drive 5 = 78 Height of OSPREY Gravity Generator Gravity Drive 6 = 68 Height of OSPREY Gravity Generator Gravity Drive 7 = 68 Height of OSPREY Gravity Generator Gravity Drive 8 = 78 Height of OSPREY Gravity Generator Gravity Drive 9 = 88 Height of OSPREY Gravity Generator Gravity Drive 10 = 98 Height of OSPREY Gravity Generator Gravity Drive 11 = 108 Height of OSPREY Gravity Generator Gravity Drive 12 = 118 } @OSPREY PMW Settings{ Width of (OSPREY Gravity Drive) = 15 Depth of (OSPREY Gravity Drive) = 15 Height of (OSPREY Gravity Drive) = 150 }
Easy Automation Code: OSPREY Co-Pilot Main Display
@Variables{ PrintNameUp = Math(Blink Lenght of OSPREY Counter Memory +1) PrintName = Blink Lenght of OSPREY Counter Memory PrintSelectUp = Math(Radius of OSPREY Counter Memory +1) PrintSelectDown = Math(Radius of OSPREY Counter Memory -1) PrintSelectNum = Radius of OSPREY Counter Memory } @OSPREY Print Select Up{ OnOff_Off (OSPREY Printer Welders) If Radius of OSPREY Counter Memory < 6 { Radius of OSPREY Counter Memory = PrintSelectUp } @OSPREY Print Select Write } @OSPREY Print Select Down{ OnOff_Off (OSPREY Printer Welders) Radius of OSPREY Counter Memory = PrintSelectDown @OSPREY Print Select Write } @OSPREY Print Select Write{ Delay 100 If Radius of OSPREY Counter Memory = 1 { OnOff_Off OSPREY Printer Projector OnOff_Off OSPREY Programmable Block Blueprint Components FontSize of OSPREY Gravity Drive Display = 1.3 @OSPREY Main Display(OSPREY Rude Print Select 1) WriteNew to OSPREY Gravity Drive Display = " - OSPREY PRINTER - - OFF -" FontSize of OSPREY Main Display = 3.6 WriteNew to OSPREY Main Display = " Anything else, Captain? - OSPREY -" } Else { If Radius of OSPREY Counter Memory = 2 { OnOff_Off OSPREY Printer Projector OnOff_On OSPREY Printer Projector 1 X of OSPREY Printer Projector 1 = 3 Y of OSPREY Printer Projector 1 = -1 Z of OSPREY Printer Projector 1 = -3 RotX of OSPREY Printer Projector 1 = 1 RotY of OSPREY Printer Projector 1 = -2 RotZ of OSPREY Printer Projector 1 = 0 WriteNew to OSPREY Gravity Drive Display = " - OSPREY PRINTER 1 - FEATHER: Relay Drone" } Else if Radius of OSPREY Counter Memory = 3 { OnOff_Off OSPREY Printer Projector OnOff_On OSPREY Printer Projector 2 X of OSPREY Printer Projector 2 = 5 Y of OSPREY Printer Projector 2 = 1 Z of OSPREY Printer Projector 2 = 3 RotX of OSPREY Printer Projector 2 = -1 RotY of OSPREY Printer Projector 2 = 0 RotZ of OSPREY Printer Projector 2 = 0 WriteNew to OSPREY Gravity Drive Display = " - OSPREY PRINTER 2 - EGG: Light Decoy" } Else if Radius of OSPREY Counter Memory = 4 { OnOff_Off OSPREY Printer Projector OnOff_On OSPREY Printer Projector 3 X of OSPREY Printer Projector 3 = -4 Y of OSPREY Printer Projector 3 = -2 Z of OSPREY Printer Projector 3 = -1 RotX of OSPREY Printer Projector 3 = 1 RotY of OSPREY Printer Projector 3 = 0 RotZ of OSPREY Printer Projector 3 = 0 WriteNew to OSPREY Gravity Drive Display = " - OSPREY PRINTER 3 - EGG: Heavy Decoy" } Else if Radius of OSPREY Counter Memory = 5 { OnOff_Off OSPREY Printer Projector OnOff_On OSPREY Printer Projector 4 X of OSPREY Printer Projector 4 = -4 Y of OSPREY Printer Projector 4 = 0 Z of OSPREY Printer Projector 4 = 1 RotX of OSPREY Printer Projector 4 = -1 RotY of OSPREY Printer Projector 4 = 0 RotZ of OSPREY Printer Projector 4 = 0 WriteNew to OSPREY Gravity Drive Display = " - OSPREY PRINTER 4 - TALON: Gravity Torpedo" } Else if Radius of OSPREY Counter Memory = 6 { OnOff_Off OSPREY Printer Projector OnOff_On OSPREY Printer Projector 5 X of OSPREY Printer Projector 5 = 5 Y of OSPREY Printer Projector 5 = -2 Z of OSPREY Printer Projector 5 = 3 RotX of OSPREY Printer Projector 5 = -1 RotY of OSPREY Printer Projector 5 = 0 RotZ of OSPREY Printer Projector 5 = 0 WriteNew to OSPREY Gravity Drive Display = " - OSPREY PRINTER 5 - BEAK: Stone Torpedo" } Delay 250 OnOff_On OSPREY Programmable Block Blueprint Components Run OSPREY Programmable Block Blueprint Components = pscanonloaded FontSize of OSPREY Gravity Drive Display = 1.2 FontColor of OSPREY Main Display = 80:100:255 FontSize of OSPREY Main Display = 0.93 Delay 250 Run OSPREY Programmable Block Blueprint Components = autoscroll=off Clear OSPREY Co-Pilot Main Display } } @OSPREY Printer Welder Toggle{ If OnOff of OSPREY Welder Printer 1 = False Blink Interval of OSPREY Counter Memory = PrintSelectNum { If Blink Interval of OSPREY Counter Memory = 1 { FontSize of OSPREY Gravity Drive Display = 1.2 WriteNew to OSPREY Gravity Drive Display = "No blueprint selected. Weld failed." @OSPREY Main Display(OSPREY Rude Error 1) } Else { OnOff_On OSPREY Connector Printer OnOff_On (OSPREY Printer Welders) FontSize of OSPREY Gravity Drive Display = 1.2 WriteNew to OSPREY Gravity Drive Display = " Welders on, Auto Launch calibrated." } } Else if OnOff of OSPREY Welder Printer 1 = True { OnOff_Off (OSPREY Printer Welders) Lock OSPREY Connector Printer FontSize of OSPREY Gravity Drive Display = 1.2 WriteNew to OSPREY Gravity Drive Display = " Welders off, Auto Launch ready." Run OSPREY Programmable Block TIM [TIM] Run OSPREY Programmable Block Blueprint Components = pscanonloaded } } @OSPREY Printer Auto Launch{ If Blink Interval of OSPREY Counter Memory = 1 { @OSPREY Main Display(OSPREY Rude Error 2) FontSize of OSPREY Gravity Drive Display = 1.2 WriteNew to OSPREY Gravity Drive Display = " Printer empty, launch failed." } Else { @OSPREY Main Display(OSPREY Rude Launch) If Blink Interval of OSPREY Counter Memory = 2 { @OSPREY FEATHER Launch } Else if Blink Interval of OSPREY Counter Memory = 3 { OnOff_Off OSPREY Printer Merge Block WriteNew to OSPREY Gravity Drive Display = "EGG Light Decoy Deployed" FontSize of OSPREY Gravity Drive Display = 1.1 Delay 1000 OnOff_On OSPREY Printer Merge Block } Else if Blink Interval of OSPREY Counter Memory = 4 { OnOff_Off OSPREY Printer Merge Block WriteNew to OSPREY Gravity Drive Display = "EGG Heavy Decoy Deployed" FontSize of OSPREY Gravity Drive Display = 1.1 Delay 1000 OnOff_On OSPREY Printer Merge Block } Else if Blink Interval of OSPREY Counter Memory = 5 { @OSPREY Gravity PMW Launch } Else if Blink Interval of OSPREY Counter Memory = 6 { @OSPREY Gravity PMW Launch } } Blink Interval of OSPREY Counter Memory = 1 OnOff_Off (OSPREY Printer Welders) }
Easy Automation Code: OSPREY Co-Pilot Main Display (continued)
@OSPREY FEATHER Launch{ OnOff_On PRINTED Battery DampenersOverride of OSPREY Flight Seat Forward = False Override of OSPREY Large Hydrogen Thruster Speed Control = 20 Blink Lenght of OSPREY Counter Memory = PrintNameUp If Blink Lenght of OSPREY Counter Memory = 100 { Blink Lenght of OSPREY Counter Memory = 1 } When ship speed of OSPREY Flight Seat Forward > 0.2 Override of OSPREY Large Hydrogen Thruster Speed Control = 0 Rename PRINTED FEATHER Antenna + "PrintName" Start PRINTED Timer Block Delay 500 Override of OSPREY Large Hydrogen Thruster Speed Control = 20 When ship speed of OSPREY Flight Seat Forward > 0.3 OnOff_Off OSPREY Printer Merge Block OnOff_Off PRINTED Merge Block Override of OSPREY Large Hydrogen Thruster Speed Control = 0 OnOff_Off OSPREY Programmable Block Horizon FontColor of OSPREY Text Panel EA 1 Horizon = 100:255:255 WriteNew to OSPREY Gravity Drive Display = "FEATHER #\PrintName deployed." FontSize of OSPREY Text Panel EA 1 Horizon = 2.55 WriteNew to OSPREY Text Panel EA 1 Horizon = " Did I do good, Captain? -OSPREY-" Delay 2000 OnOff_On OSPREY Printer Merge Block FontColor of OSPREY Text Panel EA 1 Horizon = 255:0:255 OnOff_On OSPREY Programmable Block Horizon } @OSPREY Gravity PMW Launch{ If Blink Offset of OSPREY Memory 1 = 1 { @OSPREY LCD Panel EA 2(OSPREY PMW Settings) } Else if Blink Offset of OSPREY Memory 1 = 2 { @OSPREY Vert Ballast Display(OSPREY Grav Shield Settings) } WriteNew to OSPREY Gravity Drive Display = "Launching Torpedo" FontSize of OSPREY Gravity Drive Display = 1.5 Start PRINTED Timer Block OnOff_On PRINTED Battery Recharge of PRINTED Battery = True Unlock OSPREY Connector Printer OnOff_Off OSPREY Connector Printer Delay 1480 OnOff_On PRINTED Artificial Mass Delay 20 Recharge of PRINTED Battery = False Discharge of PRINTED Battery = True OnOff_Off (OSPREY Artificial Mass) OnOff_On (OSPREY Gravity Drive) Gravity of (OSPREY Gravity Drive) = 9.8 OnOff_Off OSPREY Printer Merge Block OnOff_Off (OSPREY Printer Welders) Delay 1000 If Blink Offset of OSPREY Memory 1 = 1 { @OSPREY LCD Panel EA 2(OSPREY Grav Drive Settings) OnOff_Off (OSPREY Gravity Drive) } Else if Blink Offset of OSPREY Memory 1 = 2 { @OSPREY Vert Ballast Display(OSPREY Grav Shield Settings) } OnOff_On OSPREY Printer Merge Block } @OSPREY Range Finder Forward Scan{ Blink Offset of OSPREY Counter Memory = 2 Start OSPREY Timer Block Upkeep Radius of OSPREY Counter Memory = 1 OnOff_Off OSPREY Printer Projector FontSize of OSPREY Gravity Drive Display = 1.3 @OSPREY Gravity Drive Display(OSPREY Gravity Drive Display) OnOff_Off OSPREY Programmable Block Diagnostic OnOff_Off OSPREY Programmable Block Blueprint Components FontColor of OSPREY Main Display = 100:255:170 FontSize of OSPREY Main Display = 0.75 FontSize of OSPREY Co-Pilot Main Display = 0.66 If Number of OSPREY Printer Camera = 1 { If Number of OSPREY Camera Top = 1 { Rename OSPREY Range Finder Cam = "OSPREY Camera Bottom" Rename OSPREY Camera Top = "OSPREY Range Finder Cam" } Else { Rename OSPREY Range Finder Cam = "OSPREY Camera Top" Rename OSPREY Camera Bottom = "OSPREY Range Finder Cam" } } Else { Rename OSPREY Range Finder Cam = "OSPREY Printer Camera" Rename OSPREY Camera Top = "OSPREY Range Finder Cam" } Run OSPREY Programmable Block Range Finder = DoScan } @OSPREY Range Finder Up{ @OSPREY Gravity Drive Display(OSPREY Gravity Drive Display) OnOff_Off OSPREY Programmable Block Blueprint Components OnOff_Off OSPREY Programmable Block Diagnostic FontColor of OSPREY Main Display = 100:255:170 FontSize of OSPREY Main Display = 0.75 FontSize of OSPREY Co-Pilot Main Display = 0.66 Run OSPREY Programmable Block Range Finder = Inc_Rng:2000,DoUpdate } @OSPREY Range Finder Down{ @OSPREY Gravity Drive Display(OSPREY Gravity Drive Display) OnOff_Off OSPREY Programmable Block Blueprint Components OnOff_Off OSPREY Programmable Block Diagnostic FontColor of OSPREY Main Display = 100:255:170 FontSize of OSPREY Main Display = 0.75 FontSize of OSPREY Co-Pilot Main Display = 0.66 Run OSPREY Programmable Block Range Finder = Dec_Rng:2000,DoUpdate }
Easy Automation Code: OSPREY Main Display
@Variables{ UpkeepCount = Math(Blink Offset of OSPREY Counter Memory +1) } @OSPREY Button Panel Cockpit 1{ OnOff_Off Oxygen Generator OnOff_On OSPREY Sliding Door Outer Lock Top 1 Open_On OSPREY Sliding Door Outer Lock Top 1 Delay 2000 If Room pressure of OSPREY Air Vent Top Lock = Not pressurized { Open_Off (OSPREY Sliding Doors) @OSPREY Top Lock Fill @OSPREY Cockpit Default } Else { OnOff_On Passenger Receiver Memory OnOff_Off OSPREY Passenger Receiver Memory OnOff_On OSPREY Top Lock Pressure Memory Height of OSPREY Gravity Generator Cockpit = 18 Depth of OSPREY Gravity Generator Cockpit = 17 Gravity of OSPREY Gravity Generator Cockpit = -9.8 @OSPREY Text Panel EA 1 Horizon(OSPREY Top Lock Fill) Open_Off OSPREY Sliding Door Outer Lock Top 1 OnOff_On OSPREY Sliding Door Inner Lock Top Open_On OSPREY Sliding Door Inner Lock Top } } @OSPREY Wakeup{ OnOff_On (OSPREY Displays) Color of (OSPREY Corner Lights) = 50:255:255 FontSize of OSPREY Main Display = 2 WriteNew to OSPREY Main Display = " Good morning, Captain! I'm awake! What are we doing today? - OSPREY -" Start OSPREY Timer Block 1 Second Start OSPREY Timer Block 5 Second Start OSPREY Timer Block Upkeep Start OSPREY Timer Block Fast } @OSPREY Upkeep{ TriggerDelay of OSPREY Timer Block Upkeep = 15 Blink Offset of OSPREY Counter Memory = UpkeepCount OnOff_Off OSPREY Safety OnOff_On OSPREY Timer Block Fast TriggerNow OSPREY Timer Block Fast OnOff_Off Programmable Block LCD OnOff_On OSPREY Programmable Block LCD OnOff_On OSPREY Programmable Block Horizon OnOff_On OSPREY Programmable Block Emergency Stop If natural gravity of OSPREYEmergencyCockpit != {X:0 Y:0 Z:0} { PlaySound OSPREY Sound Block Alert FontSize of OSPREY Main Display = 1.8 FontColor of OSPREY Main Display = 170:0:0 @OSPREY Rude Grav Warning WriteNew to OSPREY Main Display = " Captain! Gravity well detected! Please reverse course! We will not survive a planetary landing! - OSPREY -" } If Room pressure of OSPREY Air Vent Cockpit = Not pressurized { PlaySound OSPREY Sound Block Alert FontSize of OSPREY Main Display = 1.8 FontColor of OSPREY Main Display = 170:0:0 @OSPREY Rude Pressure Warning WriteNew to OSPREY Main Display = " Captain! I think I've sprung a leak! Please put your helmet on and look for broken glass! - OSPREY -" } If Stockpile of OSPREY Hydrogen Tank Left = True { Stockpile of OSPREY Hydrogen Tank Left = False Stockpile of OSPREY Hydrogen Tank Right = True } Else if Stockpile of OSPREY Hydrogen Tank Left = False { Stockpile of OSPREY Hydrogen Tank Left = True Stockpile of OSPREY Hydrogen Tank Right = False } If Filled of OSPREY Hydrogen Tank Right = 100 { If Filled of OSPREY Hydrogen Tank Left = 100 { OnOff_Off (OSPREY Oxygen Generators) } Else { OnOff_On (OSPREY Oxygen Generators) } } Else { OnOff_On (OSPREY Oxygen Generators) } If Blink Offset of OSPREY Counter Memory = 60 { FontSize of OSPREY Main Display = 2 WriteNew to OSPREY Main Display = " Captain, are you still here? Use the Range Finder to avoid Sleep-Mode. - OSPREY -" } Else if Blink Offset of OSPREY Counter Memory = 61 { Color of (OSPREY Hull Lights) = 0:0:0 TriggerDelay of OSPREY Timer Block Upkeep = 1 DampenersOverride of OSPREY Flight Seat Forward = True OnOff_Off OSPREY Programmable Block Emergency Stop OnOff_Off OSPREY Programmable Block Diagnostic OnOff_Off OSPREY Programmable Block Blueprint Components OnOff_Off OSPREY Projector @OSPREY Vert Ballast Display(OSPREY Gravity Drive Off) OnOff_Off OSPREY Timer Block Fast Color of (OSPREY Corner Lights) = 0:0:0 Blink Offset of OSPREY Counter Memory = 0 FontSize of OSPREY Main Display = 2.2 OnOff_Off Lock Pressure Memory WriteNew to OSPREY Main Display = " ZZZzzzZZZzzz I'm so sleepy, Captain... Sweet dreams.... - OSPREY -" Stop OSPREY Timer Block Upkeep OnOff_Off (OSPREY Displays) } } @OSPREY Ship Control Lost{ DampenersOverride of OSPREY Flight Seat Forward = True Color of (OSPREY Hull Lights) = 0:0:0 OnOff_Off (OSPREY Gravity Drive) OnOff_Off (OSPREY Artificial Mass) OnOff_Off (OSPREY Horizontal Ballast) OnOff_Off (OSPREY Vertical Ballast) OnOff_On OSPREY Gravity Generator Cockpit If ship speed of OSPREY Flight Seat Forward > 15 { DampenersOverride of OSPREY Flight Seat Forward = True OnOff_On OSPREY Beacon FontSize of OSPREY Main Display = 2.2 WriteNew to OSPREY Main Display = " Captain! Are you alright? Ensign, get him to my Med-Station! - OSPREY -" } } @OSPREY Rude Error 1{ FontSize of OSPREY Co-Pilot Main Display = 1.8 WriteNew to OSPREY Co-Pilot Main Display = " There's no blueprint to weld, genius. - OSPREY -" } @OSPREY Rude Error 2{ FontSize of OSPREY Co-Pilot Main Display = 1.8 WriteNew to OSPREY Co-Pilot Main Display = " The printer is empty, I can't launch a \"nothing.\" - OSPREY -" } @OSPREY Rude Print Select 1{ FontSize of OSPREY Co-Pilot Main Display = 1.8 WriteNew to OSPREY Co-Pilot Main Display = " Printer off. I hope you didn't break me. - OSPREY -" } @OSPREY Rude Launch{ FontSize of OSPREY Co-Pilot Main Display = 1.8 WriteNew to OSPREY Co-Pilot Main Display = " Auto Launching. Don't screw this up. - OSPREY -" } @OSPREY Rude Diagnostic On{ FontSize of OSPREY Co-Pilot Main Display = 1.8 WriteNew to OSPREY Co-Pilot Main Display = " Diagnostic mode on. Did you break something? - OSPREY -" } @OSPREY Rude Diagnostic Off{ FontSize of OSPREY Co-Pilot Main Display = 1.8 WriteNew to OSPREY Co-Pilot Main Display = " Diagnostic mode off. hopefully you didn't make it worse. - OSPREY -" } @OSPREY Rude Grav Warning{ FontSize of OSPREY Co-Pilot Main Display = 1.8 WriteNew to OSPREY Co-Pilot Main Display = " We're in a gravity well, smart guy. Do you have a death wish - OSPREY -" } @OSPREY Rude Grav Shield On{ FontSize of OSPREY Co-Pilot Main Display = 1.8 WriteNew to OSPREY Co-Pilot Main Display = " Grav shield ON. Stay seated so the Captain doesn't have to scrape you off my windows. - OSPREY -" } @OSPREY Rude Grav Shield Off{ FontSize of OSPREY Co-Pilot Main Display = 1.8 WriteNew to OSPREY Co-Pilot Main Display = " Grav shield OFF. Now you can get coffee for the Captain. - OSPREY -" } @OSPREY Rude Pressure Warning{ FontSize of OSPREY Co-Pilot Main Display = 1.8 WriteNew to OSPREY Co-Pilot Main Display = " Cabin depressurized. Put a helmet on or get dessicated. Your call. - OSPREY -" }
Easy Automation Code: OSPREY Gravity Drive Display
@OSPREY Range Finder Backward Scan{ FontSize of OSPREY Co-Pilot Main Display = 0.66 OnOff_Off OSPREY Programmable Block Blueprint Components OnOff_Off OSPREY Programmable Block Diagnostic FontSize of OSPREY Secondary Display = 0.65 If Number of OSPREY Printer Camera = 1 { If Number of OSPREY Camera Top = 1 { Rename OSPREY Range Finder Cam = "OSPREY Camera Bottom" Rename OSPREY Printer Camera = "OSPREY Range Finder Cam" } Else { Rename OSPREY Range Finder Cam = "OSPREY Camera Top" Rename OSPREY Printer Camera = "OSPREY Range Finder Cam" } } Radius of OSPREY Counter Memory = 1 OnOff_Off OSPREY Printer Projector @OSPREY Gravity Drive Display(OSPREY Gravity Drive Display) OnOff_Off OSPREY Programmable Block Diagnostic Delay 200 Run OSPREY Programmable Block Range Finder = DoScan } @OSPREY Heavy Load Toggle{ If Depth of OSPREY Gravity Generator Horizontal Ballast 1 = 50 { Depth of (OSPREY Horizontal Ballast) = 10 Width of (OSPREY Vertical Ballast) = 10 } Else { Depth of (OSPREY Horizontal Ballast) = 50 Width of (OSPREY Vertical Ballast) = 50 } @OSPREY Gravity Drive Display }
Easy Automation Code: OSPREY Gravity Drive Display (continued)
@OSPREY Gravity Drive Display{ FontSize of OSPREY Gravity Drive Display = 0.24 If Gravity of OSPREY Gravity Generator Gravity Drive 1 > 0 { If Depth of OSPREY Gravity Generator Horizontal Ballast 1 = 10 { WriteNew to OSPREY Gravity Drive Display = " ╔╦╦╗ ╔╦╦╗ ╠╬╬╣ ╠╬╬╣ ╠╬╬╣ ╠╬╬╣ ╠╬╬╣ ╔╗ ╔╦╦╦╦╦╗ ╔╦╦╦╦╦╗ ╔╗ ╔╗ ╔╦╦╦╦╦╦╦╗ ╔╗ ╔╦╦╦╦╦╗ ╔╗ ╔╦╦╦╦╗ ╠╬╬╣ ╔╦╦╬╬╬╬╦╦╗ ╠╣ ╚╩╬╬╬╩╝ ╠╬╩╩╩╩╝ ╠╣ ╠╣ ╚╩╩╬╬╬╩╩╝ ╠╣ ╠╬╩╩╩╬╣ ╔╬╬╗ ╠╬╩╩╩╬╗ ╔╦╦╬╬╬╬╦╦╗ ╚╬╬╬╬╬╬╬╬╝ ╠╣ ╠╬╣ ╠╣ ╠╬╦╦╦╬╣ ╠╬╣ ╠╣ ╠╣ ╠╣ ╔╬╩╩╬╗ ╠╣ ╚╬╗ ╚╬╬╬╬╬╬╬╬╝ ╚╬╬╬╬╬╬╝ ╠╣ ╠╬╣ ╠╣ ╔╦╦╗ ╠╬╩╩╩╬╣ ╠╬╣ ╠╣ ╠╣ ╠╣ ╠╬╦╦╬╣ ╠╣ ╠╣ ╚╬╬╬╬╬╬╝ ╚╬╬╬╬╝ ╠╣ ╠╬╣ ╠╣ ╚╩╬╣ ╠╣ ╠╣ ╠╬╣ ╠╣ ╠╣ ╠╣ ╔╬╩╩╩╩╬╗ ╠╣ ╔╬╝ ╚╬╬╬╬╝ ╚╬╬╝ ╠╬╦╦╦╦╗ ╔╦╬╬╬╦╗ ╠╬╦╦╦╬╣ ╠╣ ╠╣ ╠╬╣ ╠╬╦╦╦╦╗ ╠╬╦╦╦╬╣ ╠╣ ╠╣ ╠╬╦╦╦╬╝ ╚╬╬╝ ╚╝ ╚╩╩╩╩╩╝ ╚╩╩╩╩╩╝ ╚╩╩╩╩╩╝ ╚╝ ╚╝ ╚╩╝ ╚╩╩╩╩╩╝ ╚╩╩╩╩╩╝ ╚╝ ╚╝ ╚╩╩╩╩╝ ╚╝" } Else { WriteNew to OSPREY Gravity Drive Display = " ╔╦╦╗ ╔╦╦╗ ╠╬╬╣ ╠╬╬╣ ╠╬╬╣ ╠╬╬╣ ╠╬╬╣ ╔╗ ╔╗ ╔╦╦╦╦╦╗ ╔╗ ╔╗ ╔╗ ╔╗ ╔╗ ╔╗ ╔╦╦╦╦╦╗ ╔╗ ╔╦╦╦╦╗ ╠╬╬╣ ╔╦╦╬╬╬╬╦╦╗ ╠╣ ╠╣ ╠╬╩╩╩╩╝ ╔╬╬╗ ╠╣ ╠╣ ╠╣ ╠╣ ╠╣ ╠╬╩╩╩╬╣ ╔╬╬╗ ╠╬╩╩╩╬╗ ╔╦╦╬╬╬╬╦╦╗ ╚╬╬╬╬╬╬╬╬╝ ╠╬╦╦╦╬╣ ╠╬╦╦╦╦╗ ╔╬╩╩╬╗ ╚╬╗ ╔╬╝ ╚╬╗ ╔╬╝ ╠╣ ╠╣ ╠╣ ╔╬╩╩╬╗ ╠╣ ╚╬╗ ╚╬╬╬╬╬╬╬╬╝ ╚╬╬╬╬╬╬╝ ╠╬╩╩╩╬╣ ╠╬╩╩╩╩╝ ╠╬╦╦╬╣ ╠╣ ╠╣ ╚╬╦╦╬╝ ╠╣ ╠╣ ╠╣ ╠╬╦╦╬╣ ╠╣ ╠╣ ╚╬╬╬╬╬╬╝ ╚╬╬╬╬╝ ╠╣ ╠╣ ╠╣ ╔╬╩╩╩╩╬╗ ╚╬╦╦╬╝ ╚╬╬╝ ╠╣ ╠╣ ╠╣ ╔╬╩╩╩╩╬╗ ╠╣ ╔╬╝ ╚╬╬╬╬╝ ╚╬╬╝ ╠╣ ╠╣ ╠╬╦╦╦╦╗ ╠╣ ╠╣ ╚╬╬╝ ╠╣ ╠╬╦╦╦╦╗ ╠╬╦╦╦╬╣ ╠╣ ╠╣ ╠╬╦╦╦╬╝ ╚╬╬╝ ╚╝ ╚╝ ╚╝ ╚╩╩╩╩╩╝ ╚╝ ╚╝ ╚╝ ╚╝ ╚╩╩╩╩╩╝ ╚╩╩╩╩╩╝ ╚╝ ╚╝ ╚╩╩╩╩╝ ╚╝" } } Else if Gravity of OSPREY Gravity Generator Gravity Drive 1 = 0 { If Depth of OSPREY Gravity Generator Horizontal Ballast 1 = 10 { WriteNew to OSPREY Gravity Drive Display = " ╔╦╦╦╗ ╔╦╦╦╗ ╔╦╬╬╩╬╬╦╗ ╔╦╬╬╩╬╬╦╗ ╔╬╬╩╝ ╚╩╬╬╗ ╔╬╬╩╝ ╚╩╬╬╗ ╠╬╝ ╚╬╣ ╔╗ ╔╦╦╦╦╦╗ ╔╦╦╦╦╦╗ ╔╗ ╔╗ ╔╦╦╦╦╦╦╦╗ ╔╗ ╔╦╦╦╦╦╗ ╔╗ ╔╦╦╦╦╗ ╠╬╝ ╚╬╣ ╠╣ ╠╣ ╠╣ ╚╩╬╬╬╩╝ ╠╬╩╩╩╩╝ ╠╣ ╠╣ ╚╩╩╬╬╬╩╩╝ ╠╣ ╠╬╩╩╩╬╣ ╔╬╬╗ ╠╬╩╩╩╬╗ ╠╣ ╠╣ ╠╣XANTHYN╠╣ ╠╣ ╠╬╣ ╠╣ ╠╬╦╦╦╬╣ ╠╬╣ ╠╣ ╠╣ ╠╣ ╔╬╩╩╬╗ ╠╣ ╚╬╗ ╠╣XANTHYN╠╣ ╠╬╗ ╔╬╣ ╠╣ ╠╬╣ ╠╣ ╔╦╦╗ ╠╬╩╩╩╬╣ ╠╬╣ ╠╣ ╠╣ ╠╣ ╠╬╦╦╬╣ ╠╣ ╠╣ ╠╬╗ ╔╬╣ ╚╬╬╦╗ ╔╦╬╬╝ ╠╣ ╠╬╣ ╠╣ ╚╩╬╣ ╠╣ ╠╣ ╠╬╣ ╠╣ ╠╣ ╠╣ ╔╬╩╩╩╩╬╗ ╠╣ ╔╬╝ ╚╬╬╦╗ ╔╦╬╬╝ ╚╩╬╬╦╬╬╩╝ ╠╬╦╦╦╦╗ ╔╦╬╬╬╦╗ ╠╬╦╦╦╬╣ ╠╣ ╠╣ ╠╬╣ ╠╬╦╦╦╦╗ ╠╬╦╦╦╬╣ ╠╣ ╠╣ ╠╬╦╦╦╬╝ ╚╩╬╬╦╬╬╩╝ ╚╩╩╩╝ ╚╩╩╩╩╩╝ ╚╩╩╩╩╩╝ ╚╩╩╩╩╩╝ ╚╝ ╚╝ ╚╩╝ ╚╩╩╩╩╩╝ ╚╩╩╩╩╩╝ ╚╝ ╚╝ ╚╩╩╩╩╝ ╚╩╩╩╝" } Else { WriteNew to OSPREY Gravity Drive Display = " ╔╦╦╦╗ ╔╦╦╦╗ ╔╦╬╬╩╬╬╦╗ ╔╦╬╬╩╬╬╦╗ ╔╬╬╩╝ ╚╩╬╬╗ ╔╬╬╩╝ ╚╩╬╬╗ ╠╬╝ ╚╬╣ ╔╗ ╔╗ ╔╦╦╦╦╦╗ ╔╗ ╔╗ ╔╗ ╔╗ ╔╗ ╔╗ ╔╦╦╦╦╦╗ ╔╗ ╔╦╦╦╦╗ ╠╬╝ ╚╬╣ ╠╣ ╠╣ ╠╣ ╠╣ ╠╬╩╩╩╩╝ ╔╬╬╗ ╠╣ ╠╣ ╠╣ ╠╣ ╠╣ ╠╬╩╩╩╬╣ ╔╬╬╗ ╠╬╩╩╩╬╗ ╠╣ ╠╣ ╠╣XANTHYN╠╣ ╠╬╦╦╦╬╣ ╠╬╦╦╦╦╗ ╔╬╩╩╬╗ ╚╬╗ ╔╬╝ ╚╬╗ ╔╬╝ ╠╣ ╠╣ ╠╣ ╔╬╩╩╬╗ ╠╣ ╚╬╗ ╠╣XANTHYN╠╣ ╠╬╗ ╔╬╣ ╠╬╩╩╩╬╣ ╠╬╩╩╩╩╝ ╠╬╦╦╬╣ ╠╣ ╠╣ ╚╬╦╦╬╝ ╠╣ ╠╣ ╠╣ ╠╬╦╦╬╣ ╠╣ ╠╣ ╠╬╗ ╔╬╣ ╚╬╬╦╗ ╔╦╬╬╝ ╠╣ ╠╣ ╠╣ ╔╬╩╩╩╩╬╗ ╚╬╦╦╬╝ ╚╬╬╝ ╠╣ ╠╣ ╠╣ ╔╬╩╩╩╩╬╗ ╠╣ ╔╬╝ ╚╬╬╦╗ ╔╦╬╬╝ ╚╩╬╬╦╬╬╩╝ ╠╣ ╠╣ ╠╬╦╦╦╦╗ ╠╣ ╠╣ ╚╬╬╝ ╠╣ ╠╬╦╦╦╦╗ ╠╬╦╦╦╬╣ ╠╣ ╠╣ ╠╬╦╦╦╬╝ ╚╩╬╬╦╬╬╩╝ ╚╩╩╩╝ ╚╝ ╚╝ ╚╩╩╩╩╩╝ ╚╝ ╚╝ ╚╝ ╚╝ ╚╩╩╩╩╩╝ ╚╩╩╩╩╩╝ ╚╝ ╚╝ ╚╩╩╩╩╝ ╚╩╩╩╝ " } } Else if Gravity of OSPREY Gravity Generator Gravity Drive 1 < 0 { If Depth of OSPREY Gravity Generator Horizontal Ballast 1 = 10 { WriteNew to OSPREY Gravity Drive Display = " ╔╗ ╔╗ ╔╬╬╗ ╔╬╬╗ ╔╬╬╬╬╗ ╔╬╬╬╬╗ ╔╬╬╬╬╬╬╗ ╔╗ ╔╦╦╦╦╦╗ ╔╦╦╦╦╦╗ ╔╗ ╔╗ ╔╦╦╦╦╦╦╦╗ ╔╗ ╔╦╦╦╦╦╗ ╔╗ ╔╦╦╦╦╗ ╔╬╬╬╬╬╬╗ ╔╬╬╬╬╬╬╬╬╗ ╠╣ ╚╩╬╬╬╩╝ ╠╬╩╩╩╩╝ ╠╣ ╠╣ ╚╩╩╬╬╬╩╩╝ ╠╣ ╠╬╩╩╩╬╣ ╔╬╬╗ ╠╬╩╩╩╬╗ ╔╬╬╬╬╬╬╬╬╗ ╚╩╩╬╬╬╬╩╩╝ ╠╣ ╠╬╣ ╠╣ ╠╬╦╦╦╬╣ ╠╬╣ ╠╣ ╠╣ ╠╣ ╔╬╩╩╬╗ ╠╣ ╚╬╗ ╚╩╩╬╬╬╬╩╩╝ ╠╬╬╣ ╠╣ ╠╬╣ ╠╣ ╔╦╦╗ ╠╬╩╩╩╬╣ ╠╬╣ ╠╣ ╠╣ ╠╣ ╠╬╦╦╬╣ ╠╣ ╠╣ ╠╬╬╣ ╠╬╬╣ ╠╣ ╠╬╣ ╠╣ ╚╩╬╣ ╠╣ ╠╣ ╠╬╣ ╠╣ ╠╣ ╠╣ ╔╬╩╩╩╩╬╗ ╠╣ ╔╬╝ ╠╬╬╣ ╠╬╬╣ ╠╬╦╦╦╦╗ ╔╦╬╬╬╦╗ ╠╬╦╦╦╬╣ ╠╣ ╠╣ ╠╬╣ ╠╬╦╦╦╦╗ ╠╬╦╦╦╬╣ ╠╣ ╠╣ ╠╬╦╦╦╬╝ ╠╬╬╣ ╚╩╩╝ ╚╩╩╩╩╩╝ ╚╩╩╩╩╩╝ ╚╩╩╩╩╩╝ ╚╝ ╚╝ ╚╩╝ ╚╩╩╩╩╩╝ ╚╩╩╩╩╩╝ ╚╝ ╚╝ ╚╩╩╩╩╝ ╚╩╩╝" } Else { WriteNew to OSPREY Gravity Drive Display = " ╔╗ ╔╗ ╔╬╬╗ ╔╬╬╗ ╔╬╬╬╬╗ ╔╬╬╬╬╗ ╔╬╬╬╬╬╬╗ ╔╗ ╔╗ ╔╦╦╦╦╦╗ ╔╗ ╔╗ ╔╗ ╔╗ ╔╗ ╔╗ ╔╦╦╦╦╦╗ ╔╗ ╔╦╦╦╦╗ ╔╬╬╬╬╬╬╗ ╔╬╬╬╬╬╬╬╬╗ ╠╣ ╠╣ ╠╬╩╩╩╩╝ ╔╬╬╗ ╠╣ ╠╣ ╠╣ ╠╣ ╠╣ ╠╬╩╩╩╬╣ ╔╬╬╗ ╠╬╩╩╩╬╗ ╔╬╬╬╬╬╬╬╬╗ ╚╩╩╬╬╬╬╩╩╝ ╠╬╦╦╦╬╣ ╠╬╦╦╦╦╗ ╔╬╩╩╬╗ ╚╬╗ ╔╬╝ ╚╬╗ ╔╬╝ ╠╬ ╠╣ ╠╣ ╔╬╩╩╬╗ ╠╣ ╚╬╗ ╚╩╩╬╬╬╬╩╩╝ ╠╬╬╣ ╠╬╩╩╩╬╣ ╠╬╩╩╩╩╝ ╠╬╦╦╬╣ ╠╣ ╠╣ ╚╬╦╦╬╝ ╠╣ ╠╣ ╠╣ ╠╬╦╦╬╣ ╠╣ ╠╣ ╠╬╬╣ ╠╬╬╣ ╠╣ ╠╣ ╠╣ ╔╬╩╩╩╩╬╗ ╚╬╦╦╬╝ ╚╬╬╝ ╠╣ ╠╣ ╠╣ ╔╬╩╩╩╩╬╗ ╠╣ ╔╬╝ ╠╬╬╣ ╠╬╬╣ ╠╣ ╠╣ ╠╬╦╦╦╦╗ ╠╣ ╠╣ ╚╬╬╝ ╠╣ ╠╬╦╦╦╦╗ ╠╬╦╦╦╬╣ ╠╣ ╠╣ ╠╬╦╦╦╬╝ ╠╬╬╣ ╚╩╩╝ ╚╝ ╚╝ ╚╩╩╩╩╩╝ ╚╝ ╚╝ ╚╝ ╚╝ ╚╩╩╩╩╩╝ ╚╩╩╩╩╩╝ ╚╝ ╚╝ ╚╩╩╩╩╝ ╚╩╩╝ " } } }
Easy Automation Code: OSPREY Vert Ballast Display
@Variables{ VertBallastDown = Math(Gravity of OSPREY Gravity Generator Vertical Ballast 1 -1) VertBallastUp = Math(Gravity of OSPREY Gravity Generator Vertical Ballast 1 + 1) VertBallastSwitch = Math(0 -Gravity of OSPREY Gravity Generator Vertical Ballast 1) } @OSPREY Grav Shield Toggle{ If Blink Offset of OSPREY Memory 1 = 1 { Blink Offset of OSPREY Memory 1 = 2 @OSPREY Gravity Drive Off Gravity of (OSPREY Gravity Drive) = 9.81 FontSize of OSPREY Main Display = 2 FontColor of OSPREY Main Display = 170:0:0 @OSPREY Grav Shield Settings WriteNew to OSPREY Main Display = " Gravity Shield active, Captain! Turn it off before getting up, or you may be killed! - OSPREY -" @OSPREY Main Display(OSPREY Rude Grav Shield On) } Else if Blink Offset of OSPREY Memory 1 = 2 { Blink Offset of OSPREY Memory 1 = 1 @OSPREY LCD Panel EA 2(OSPREY Grav Drive Settings) @OSPREY Gravity Drive Off FontSize of OSPREY Main Display = 2 FontColor of OSPREY Main Display = 100:255:170 WriteNew to OSPREY Main Display = " Gravity Shield deactivated, Captain. It is now safe to leave your flight seat. - OSPREY -" @OSPREY Main Display(OSPREY Rude Grav Shield Off) } } @OSPREY Grav Shield Settings{ OnOff_On Gravity of (OSPREY Gravity Drive) Width of (OSPREY Gravity Drive) = 150 Depth of (OSPREY Gravity Drive) = 150 Height of (OSPREY Gravity Drive) = 150 Color of (OSPREY Hull Lights) = 0:0:0 FontColor of OSPREY Gravity Drive Display = 255:0:0 } @OSPREY Gravity Drive Off{ Color of (OSPREY Hull Lights) = 0:0:0 If Gravity of OSPREY Gravity Generator Gravity Drive 1 > 0 { Gravity of (OSPREY Vertical Ballast) = VertBallastSwitch @OSPREY Hor Ballast Display(OSPREY Hor Ballast Switch) } OnOff_On OSPREY Gravity Generator Cockpit OnOff_Off (OSPREY Horizontal Ballast) OnOff_Off (OSPREY Vertical Ballast) OnOff_Off (OSPREY Artificial Mass) If Blink Offset of OSPREY Memory 1 = 1 { OnOff_Off (OSPREY Gravity Drive) Gravity of (OSPREY Gravity Drive) = 0 } @OSPREY Vert Ballast Display @OSPREY Hor Ballast Display (OSPREY Hor Ballast Display) If ship speed of OSPREY Flight Seat Forward < 20 { If ship speed of OSPREY Flight Seat Forward > -20 { DampenersOverride of OSPREY Flight Seat Forward = True } } @OSPREY Gravity Drive Display(OSPREY Gravity Drive Display) If Blink Offset of OSPREY Memory 1 = 2 { OnOff_On (OSPREY Gravity Drive) Gravity of (OSPREY Gravity Drive) = 9.8 Gravity of (OSPREY Vertical Ballast) = VertBallastSwitch @OSPREY Hor Ballast Display(OSPREY Hor Ballast Switch) } } @OSPREY Gravity Drive Forward{ Color of (OSPREY Hull Lights) = 0:90:255 If Blink Offset of OSPREY Memory 1 = 2 { @OSPREY Grav Shield Settings } Else if Blink Offset of OSPREY Memory 1 = 1 { @OSPREY LCD Panel EA 2(OSPREY Grav Drive Settings) } If Gravity of OSPREY Gravity Generator Gravity Drive 1 > 0 { Gravity of (OSPREY Vertical Ballast) = VertBallastSwitch @OSPREY Hor Ballast Display(OSPREY Hor Ballast Switch) } OnOff_Off OSPREY Gravity Generator Cockpit OnOff_On (OSPREY Gravity Drive) OnOff_On (OSPREY Horizontal Ballast) OnOff_On (OSPREY Vertical Ballast) OnOff_On (OSPREY Horizontal Ballast) OnOff_On (OSPREY Artificial Mass) Gravity of (OSPREY Gravity Drive) = -9.81 @OSPREY Vert Ballast Display @OSPREY Hor Ballast Display (OSPREY Hor Ballast Display) DampenersOverride of OSPREY Flight Seat Forward = False @OSPREY Gravity Drive Display(OSPREY Gravity Drive Display) } @OSPREY Gravity Drive Backward{ Color of (OSPREY Hull Lights) = 255:50:0 If Blink Offset of OSPREY Memory 1 = 2 { @OSPREY Grav Shield Settings } Else if Blink Offset of OSPREY Memory 1 = 1 { @OSPREY LCD Panel EA 2(OSPREY Grav Drive Settings) } If Gravity of OSPREY Gravity Generator Gravity Drive 1 > 0 { OnOff_Off OSPREY Gravity Generator Cockpit OnOff_On (OSPREY Gravity Drive) OnOff_On (OSPREY Horizontal Ballast) OnOff_On (OSPREY Vertical Ballast) OnOff_On (OSPREY Horizontal Ballast) OnOff_On (OSPREY Artificial Mass) Gravity of (OSPREY Gravity Drive) = 9.81 } Else { Gravity of (OSPREY Vertical Ballast) = VertBallastSwitch @OSPREY Hor Ballast Display(OSPREY Hor Ballast Switch) OnOff_Off OSPREY Gravity Generator Cockpit OnOff_On (OSPREY Gravity Drive) OnOff_On (OSPREY Horizontal Ballast) OnOff_On (OSPREY Vertical Ballast) OnOff_On (OSPREY Horizontal Ballast) OnOff_On (OSPREY Artificial Mass) Gravity of (OSPREY Gravity Drive) = 9.81 DampenersOverride of OSPREY Flight Seat Forward = False } @OSPREY Gravity Drive Display(OSPREY Gravity Drive Display) } @OSPREY Vert Ballast Up Button{ If Gravity of OSPREY Gravity Generator Gravity Drive 1 > 0 { @OSPREY Vert Ballast Switch @OSPREY Vert Ballast Up @OSPREY Vert Ballast Display @OSPREY Vert Ballast Switch } Else { @OSPREY Vert Ballast Up } } @OSPREY Vert Ballast Up{ If Gravity of OSPREY Gravity Generator Vertical Ballast 1 = -9.81 { Gravity of (OSPREY Vertical Ballast) = -9 } Else { Gravity of (OSPREY Vertical Ballast) = VertBallastUp } @OSPREY Vert Ballast Display } @OSPREY Vert Ballast Down Button{ If Gravity of OSPREY Gravity Generator Gravity Drive 1 > 0 { @OSPREY Vert Ballast Switch @OSPREY Vert Ballast Down @OSPREY Vert Ballast Display @OSPREY Vert Ballast Switch } Else { @OSPREY Vert Ballast Down } } @OSPREY Vert Ballast Down{ If Gravity of OSPREY Gravity Generator Vertical Ballast 1 = 9.81 { Gravity of (OSPREY Vertical Ballast) = 9 } Else { Gravity of (OSPREY Vertical Ballast) = VertBallastDown } @OSPREY Vert Ballast Display } @OSPREY Vert Ballast Switch{ Gravity of (OSPREY Vertical Ballast) = VertBallastSwitch }
Easy Automation Code: OSPREY Vert Ballast Display (continued)
@OSPREY Vert Ballast Display{ If Gravity of OSPREY Gravity Generator Vertical Ballast 1 = -9.81 { WriteNew to OSPREY Vert Ballast Display = "╔ ╝ ╚ ╔╗╗ ║════════════════════════╠╣║ ╚ ╗ ╔ ╚╝╝" } Else if Gravity of OSPREY Gravity Generator Vertical Ballast 1 = -9 { WriteNew to OSPREY Vert Ballast Display = "╔ ╝ ╚ ╔╗╗ ║════════════════════════╠╣║ ╚ ╗ ╔ ╚╝╝" } Else if Gravity of OSPREY Gravity Generator Vertical Ballast 1 = -8 { WriteNew to OSPREY Vert Ballast Display = "╔ ╝ ╚ ╔╗ ╗ ║══════════════════════╠╣══║ ╚ ╗ ╔ ╚╝ ╝" } Else if Gravity of OSPREY Gravity Generator Vertical Ballast 1 = -7 { WriteNew to OSPREY Vert Ballast Display = "╔ ╝ ╚ ╔╗ ╗ ║═════════════════════╠╣═══║ ╚ ╗ ╔ ╚╝ ╝" } Else if Gravity of OSPREY Gravity Generator Vertical Ballast 1 = -6 { WriteNew to OSPREY Vert Ballast Display = "╔ ╝ ╚ ╔╗ ╗ ║════════════════════╠╣════║ ╚ ╗ ╔ ╚╝ ╝" } Else if Gravity of OSPREY Gravity Generator Vertical Ballast 1 = -5 { WriteNew to OSPREY Vert Ballast Display = "╔ ╝ ╚ ╔╗ ╗ ║═══════════════════╠╣═════║ ╚ ╗ ╔ ╚╝ ╝" } Else if Gravity of OSPREY Gravity Generator Vertical Ballast 1 = -4 { WriteNew to OSPREY Vert Ballast Display = "╔ ╝ ╚ ╔╗ ╗ ║══════════════════╠╣══════║ ╚ ╗ ╔ ╚╝ ╝" } Else if Gravity of OSPREY Gravity Generator Vertical Ballast 1 = -3 { WriteNew to OSPREY Vert Ballast Display = "╔ ╝ ╚ ╔╗ ╗ ║═════════════════╠╣═══════║ ╚ ╗ ╔ ╚╝ ╝" } Else if Gravity of OSPREY Gravity Generator Vertical Ballast 1 = -2 { WriteNew to OSPREY Vert Ballast Display = "╔ ╝ ╚ ╔╗ ╗ ║════════════════╠╣════════║ ╚ ╗ ╔ ╚╝ ╝" } Else if Gravity of OSPREY Gravity Generator Vertical Ballast 1 = -1 { WriteNew to OSPREY Vert Ballast Display = "╔ ╝ ╚╔╗ ╗ ║═══════════════╠╣═════════║ ╚ ╗ ╔╚╝ ╝" } Else if Gravity of OSPREY Gravity Generator Vertical Ballast 1 = 0 { WriteNew to OSPREY Vert Ballast Display = "╔ ╝╔╗╚ ╗ ║════════════╠╣════════════║ ╚ ╗╚╝╔ ╝" } Else if Gravity of OSPREY Gravity Generator Vertical Ballast 1 = 1 { WriteNew to OSPREY Vert Ballast Display = "╔ ╔╗╝ ╚ ╗ ║═════════╠╣═══════════════║ ╚ ╚╝╗ ╔ ╝" } Else if Gravity of OSPREY Gravity Generator Vertical Ballast 1 = 2 { WriteNew to OSPREY Vert Ballast Display = "╔ ╔╗ ╝ ╚ ╗ ║════════╠╣════════════════║ ╚ ╚╝ ╗ ╔ ╝" } Else if Gravity of OSPREY Gravity Generator Vertical Ballast 1 = 3 { WriteNew to OSPREY Vert Ballast Display = "╔ ╔╗ ╝ ╚ ╗ ║═══════╠╣═════════════════║ ╚ ╚╝ ╗ ╔ ╝" } Else if Gravity of OSPREY Gravity Generator Vertical Ballast 1 = 4 { WriteNew to OSPREY Vert Ballast Display = "╔ ╔╗ ╝ ╚ ╗ ║══════╠╣══════════════════║ ╚ ╚╝ ╗ ╔ ╝" } Else if Gravity of OSPREY Gravity Generator Vertical Ballast 1 = 5 { WriteNew to OSPREY Vert Ballast Display = "╔ ╔╗ ╝ ╚ ╗ ║═════╠╣═══════════════════║ ╚ ╚╝ ╗ ╔ ╝" } Else if Gravity of OSPREY Gravity Generator Vertical Ballast 1 = 6 { WriteNew to OSPREY Vert Ballast Display = "╔ ╔╗ ╝ ╚ ╗ ║════╠╣════════════════════║ ╚ ╚╝ ╗ ╔ ╝" } Else if Gravity of OSPREY Gravity Generator Vertical Ballast 1 = 7 { WriteNew to OSPREY Vert Ballast Display = "╔ ╔╗ ╝ ╚ ╗ ║═══╠╣═════════════════════║ ╚ ╚╝ ╗ ╔ ╝" } Else if Gravity of OSPREY Gravity Generator Vertical Ballast 1 = 8 { WriteNew to OSPREY Vert Ballast Display = "╔ ╔╗ ╝ ╚ ╗ ║══╠╣══════════════════════║ ╚ ╚╝ ╗ ╔ ╝" } Else if Gravity of OSPREY Gravity Generator Vertical Ballast 1 = 9 { WriteNew to OSPREY Vert Ballast Display = "╔ ╔╗ ╝ ╚ ╗ ║═╠╣═══════════════════════║ ╚ ╚╝ ╗ ╔ ╝" } Else if Gravity of OSPREY Gravity Generator Vertical Ballast 1 = 9.81 { WriteNew to OSPREY Vert Ballast Display = "╔╔╗ ╝ ╚ ╗ ║╠╣════════════════════════║ ╚╚╝ ╗ ╔ ╝" } }
Easy Automation Code: OSPREY Hor Ballast Display
@Variables{ HorBallastRight = Math(Gravity of OSPREY Gravity Generator Horizontal Ballast 1 -1) HorBallastLeft = Math(Gravity of OSPREY Gravity Generator Horizontal Ballast 1 + 1) HorBallastSwitch = Math(0 -Gravity of OSPREY Gravity Generator Horizontal Ballast 1) } @OSPREY Diagnostic Toggle{ If OnOff of OSPREY Programmable Block Diagnostic = False { @OSPREY Main Display(OSPREY Rude Diagnostic On) Color of (OSPREY Hull Lights) = 255:0:0 OnOff_On OSPREY Programmable Block Blueprint Components OnOff_On OSPREY Programmable Block Diagnostic Rename OSPREY Ingot Display - "[LCD]" Rename OSPREY Ingot Display + "screen_diagnostic_1_0" Rename OSPREY Ore Display - "[LCD]" Rename OSPREY Ore Display + "screen_diagnostic_2_0_v" FontColor of OSPREY Main Display = 80:100:255 FontSize of OSPREY Main Display = 0.93 FontSize of OSPREY Ore Display = 0.34 FontSize of OSPREY ingot Display = 0.675 OnOff_Off OSPREY Printer Projector OnOff_On OSPREY Repair Projector X of OSPREY Repair Projector = -9 Y of OSPREY Repair Projector = 2 Z of OSPREY Repair Projector = -17 RotX of OSPREY Repair Projector = 1 RotY of OSPREY Repair Projector = -2 RotZ of OSPREY Repair Projector = 0 Delay 250 Run OSPREY Programmable Block Blueprint Components Delay 250 Run OSPREY Programmable Block Blueprint Components = pscanonloaded Delay 250 Run OSPREY Programmable Block Blueprint Components = autoscroll=off } Else if OnOff of OSPREY Programmable Block Diagnostic = True { OnOff_Off OSPREY Repair Projector OnOff_Off OSPREY Programmable Block Diagnostic Color of (OSPREY Hull Lights) = 0:0:0 Rename OSPREY Ingot Display - "screen_diagnostic_1_0" Rename OSPREY Ingot Display + "[LCD]" Rename OSPREY Ore Display - "screen_diagnostic_2_0_v" Rename OSPREY Ore Display + "[LCD]" @OSPREY Main Display(OSPREY Rude Diagnostic Off) OnOff_Off OSPREY Programmable Block Blueprint Components FontSize of OSPREY Ore Display = 1.4 FontSize of OSPREY ingot Display = 0.8 FontColor of OSPREY Main Display = 80:100:255 FontSize of OSPREY Main Display = 3.5 WriteNew to OSPREY Main Display = " Diagnostics complete, Captain. -OSPREY-" } } @OSPREY Hor Ballast Left Button{ If Gravity of OSPREY Gravity Generator Gravity Drive 1 > 0 { @OSPREY Hor Ballast Switch @OSPREY Hor Ballast Left @OSPREY Hor Ballast Display @OSPREY Hor Ballast Switch } Else { @OSPREY Hor Ballast Left } } @OSPREY Hor Ballast Left{ If Gravity of OSPREY Gravity Generator Horizontal Ballast 1 = -9.81 { Gravity of (OSPREY Horizontal Ballast) = -9 } Else { Gravity of (OSPREY Horizontal Ballast) = HorBallastLeft } @OSPREY Hor Ballast Display } @OSPREY Hor Ballast Right Button{ If Gravity of OSPREY Gravity Generator Gravity Drive 1 > 0 { @OSPREY Hor Ballast Switch @OSPREY Hor Ballast Right @OSPREY Hor Ballast Display @OSPREY Hor Ballast Switch } Else { @OSPREY Hor Ballast Right } } @OSPREY Hor Ballast Right{ If Gravity of OSPREY Gravity Generator Horizontal Ballast 1 = 9.81 { Gravity of (OSPREY Horizontal Ballast) = 9 } Else { Gravity of (OSPREY Horizontal Ballast) = HorBallastRight } @OSPREY Hor Ballast Display } @OSPREY Hor Ballast Switch{ Gravity of (OSPREY Horizontal Ballast) = HorBallastSwitch }
Easy Automation Code: OSPREY Hor Ballast Display (continued)
@OSPREY Hor Ballast Display{ If Gravity of OSPREY Gravity Generator Horizontal Ballast 1 = -9.81 { WriteNew to OSPREY Hor Ballast Display = "╔ ╝ ╚ ╔╗╗ ║════════════════════════╠╣║ ╚ ╗ ╔ ╚╝╝" } Else if Gravity of OSPREY Gravity Generator Horizontal Ballast 1 = -9 { WriteNew to OSPREY Hor Ballast Display = "╔ ╝ ╚ ╔╗╗ ║════════════════════════╠╣║ ╚ ╗ ╔ ╚╝╝" } Else if Gravity of OSPREY Gravity Generator Horizontal Ballast 1 = -8 { WriteNew to OSPREY Hor Ballast Display = "╔ ╝ ╚ ╔╗ ╗ ║══════════════════════╠╣══║ ╚ ╗ ╔ ╚╝ ╝" } Else if Gravity of OSPREY Gravity Generator Horizontal Ballast 1 = -7 { WriteNew to OSPREY Hor Ballast Display = "╔ ╝ ╚ ╔╗ ╗ ║═════════════════════╠╣═══║ ╚ ╗ ╔ ╚╝ ╝" } Else if Gravity of OSPREY Gravity Generator Vertical Ballast 1 = -6 { WriteNew to OSPREY Vert Ballast Display = "╔ ╝ ╚ ╔╗ ╗ ║════════════════════╠╣════║ ╚ ╗ ╔ ╚╝ ╝" } Else if Gravity of OSPREY Gravity Generator Horizontal Ballast 1 = -5 { WriteNew to OSPREY Hor Ballast Display = "╔ ╝ ╚ ╔╗ ╗ ║═══════════════════╠╣═════║ ╚ ╗ ╔ ╚╝ ╝" } Else if Gravity of OSPREY Gravity Generator Horizontal Ballast 1 = -4 { WriteNew to OSPREY Hor Ballast Display = "╔ ╝ ╚ ╔╗ ╗ ║══════════════════╠╣══════║ ╚ ╗ ╔ ╚╝ ╝" } Else if Gravity of OSPREY Gravity Generator Horizontal Ballast 1 = -3 { WriteNew to OSPREY Hor Ballast Display = "╔ ╝ ╚ ╔╗ ╗ ║═════════════════╠╣═══════║ ╚ ╗ ╔ ╚╝ ╝" } Else if Gravity of OSPREY Gravity Generator Horizontal Ballast 1 = -2 { WriteNew to OSPREY Hor Ballast Display = "╔ ╝ ╚ ╔╗ ╗ ║════════════════╠╣════════║ ╚ ╗ ╔ ╚╝ ╝" } Else if Gravity of OSPREY Gravity Generator Horizontal Ballast 1 = -1 { WriteNew to OSPREY Hor Ballast Display = "╔ ╝ ╚╔╗ ╗ ║═══════════════╠╣═════════║ ╚ ╗ ╔╚╝ ╝" } Else if Gravity of OSPREY Gravity Generator Horizontal Ballast 1 = 0 { WriteNew to OSPREY Hor Ballast Display = "╔ ╝╔╗╚ ╗ ║════════════╠╣════════════║ ╚ ╗╚╝╔ ╝" } Else if Gravity of OSPREY Gravity Generator Horizontal Ballast 1 = 1 { WriteNew to OSPREY Hor Ballast Display = "╔ ╔╗╝ ╚ ╗ ║═════════╠╣═══════════════║ ╚ ╚╝╗ ╔ ╝" } Else if Gravity of OSPREY Gravity Generator Horizontal Ballast 1 = 2 { WriteNew to OSPREY Hor Ballast Display = "╔ ╔╗ ╝ ╚ ╗ ║════════╠╣════════════════║ ╚ ╚╝ ╗ ╔ ╝" } Else if Gravity of OSPREY Gravity Generator Horizontal Ballast 1 = 3 { WriteNew to OSPREY Hor Ballast Display = "╔ ╔╗ ╝ ╚ ╗ ║═══════╠╣═════════════════║ ╚ ╚╝ ╗ ╔ ╝" } Else if Gravity of OSPREY Gravity Generator Vertical Ballast 1 = 4 { WriteNew to OSPREY Vert Ballast Display = "╔ ╔╗ ╝ ╚ ╗ ║══════╠╣══════════════════║ ╚ ╚╝ ╗ ╔ ╝" } Else if Gravity of OSPREY Gravity Generator Horizontal Ballast 1 = 5 { WriteNew to OSPREY Hor Ballast Display = "╔ ╔╗ ╝ ╚ ╗ ║═════╠╣═══════════════════║ ╚ ╚╝ ╗ ╔ ╝" } Else if Gravity of OSPREY Gravity Generator Horizontal Ballast 1 = 6 { WriteNew to OSPREY Hor Ballast Display = "╔ ╔╗ ╝ ╚ ╗ ║════╠╣════════════════════║ ╚ ╚╝ ╗ ╔ ╝" } Else if Gravity of OSPREY Gravity Generator Horizontal Ballast 1 = 7 { WriteNew to OSPREY Hor Ballast Display = "╔ ╔╗ ╝ ╚ ╗ ║═══╠╣═════════════════════║ ╚ ╚╝ ╗ ╔ ╝" } Else if Gravity of OSPREY Gravity Generator Horizontal Ballast 1 = 8 { WriteNew to OSPREY Hor Ballast Display = "╔ ╔╗ ╝ ╚ ╗ ║══╠╣══════════════════════║ ╚ ╚╝ ╗ ╔ ╝" } Else if Gravity of OSPREY Gravity Generator Horizontal Ballast 1 = 9 { WriteNew to OSPREY Hor Ballast Display = "╔ ╔╗ ╝ ╚ ╗ ║═╠╣═══════════════════════║ ╚ ╚╝ ╗ ╔ ╝" } Else if Gravity of OSPREY Gravity Generator Horizontal Ballast 1 = 9.81 { WriteNew to OSPREY Hor Ballast Display = "╔╔╗ ╝ ╚ ╗ ║╠╣════════════════════════║ ╚╚╝ ╗ ╔ ╝" } }
8 Comments
Xanthyn  [author] 6 Jul, 2017 @ 9:29pm 
@insuusvenerati Hmm, that's strange, I haven't encountered that issue yet myself, but I've sorta been on a break until the next major patch. You might try making sure that the EASecondary programmable block on the Osprey is running courrectly (Recompile it and run the reset command), since it should be toggling off redundant programs when multiple ships are docked, so as to save performance and avoid overlap issues. If that doesn't work, you might have to go into creative and try messsing with TIM blocks and merge blocks and see if the issue is specific to the Osprey, or if it's an issue with TIM. It's also possible that the TIM script has been updated and my build has the old version, so maybe try replacing the TIM program with the most up-to-date version.
insuusvenerati 6 Jul, 2017 @ 3:12pm 
Awesome. That did the trick thank you. I have another issue. It's not related to the ship exactly but the TIM script seems to be suddenly crashing because of complexity. I've tried adding cycle=# to the arguments but it seems to make no difference. Only seems to happen when 2 finches are connected. I didn't make any significant changes to tags on inventories so I can't imagine what suddenly brought this on.
Xanthyn  [author] 5 Jul, 2017 @ 2:49pm 
@insuusvenerati : Hey there, it's not your fault, Keen has an unfixed bug wherein selecting groups of LCD panels in the terminal will sometimes spontaneously switch the font, even if you don't actually select a new font. Fortunately it's an easy fix - just select that panel and change the font from "Monospace" to "Debug" and you should be right as rain.
insuusvenerati 4 Jul, 2017 @ 8:05pm 
Hey dude this thing is great but I sort of broke the LCD. It looks like http://i.imgur.com/C1OX3I4.jpg now. Any idea how to fix it?
mmille14 5 Jun, 2017 @ 9:31am 
FYI, under Simplified Controles Tab 1 number 4 Gyroscopes is misspelled.
mmille14 5 Jun, 2017 @ 9:27am 
Great Stuff, thanks for the info.:steamhappy:
Xanthyn  [author] 2 Jun, 2017 @ 9:41pm 
@sX | Shadow : Gravity shields are just a fancy way of referring to a large, strong gravity field surrounding your ship. It is meant to repel any objects that are affected by artificial gravity. This is mostly limited to ore, and torpedoes that have an active artificial mass block. A gravity shield is not effective against rockets, bullets, or torpedoes that do not contain active artificial mass. A gravity shield also loses efficacy in the presence of natural gravity. Because of these limitations, my gravity shield simply re-configures the gravity generators used in the gravity drive to double as a gravity shield. Similar effects, but much less building components needed.
Shadow 2 Jun, 2017 @ 9:31pm 
How do gravity shields work? I never really understood them.