- Required Dependencies
- https://chaoscode.io/resources/chaosnpc.216/
This plugin requires the ChaosNPC extension
A mini event where a helicopter is either shotdown or randomly malfunctions and the pilot has to eject. The pilot will then make their way to the crash site and protect it
Features
NPCs parachute gently to the floor
Parachutes follow the wind
NPCs make their way to the crash site to protect it
Custom NPC roam and combat logic
Optional event automation
Set the chance a game spawned helicopter will malfunction
Disable random malfunction and only eject the pilot when the helicopter has been shot down
Eject multiple NPCs
Customize NPC loot
Option to drop extra loot boxes when the pilot ejects
+ A bunch of other options (check the config below)
Permission
piloteject.admin - Required for non-admin players to use the commands
Chat Commands
/pe call - Call a helicopter that ignores the chance options in the config
/pe eject - Force eject pilots on all active PilotEject helicopters
Console Commands
pe call - Call a helicopter that ignores the chance options in the config
pe eject - Force eject pilots on all active PilotEject helicopters
Config
Hooks
A mini event where a helicopter is either shotdown or randomly malfunctions and the pilot has to eject. The pilot will then make their way to the crash site and protect it
Features
NPCs parachute gently to the floor
Parachutes follow the wind
NPCs make their way to the crash site to protect it
Custom NPC roam and combat logic
Optional event automation
Set the chance a game spawned helicopter will malfunction
Disable random malfunction and only eject the pilot when the helicopter has been shot down
Eject multiple NPCs
Customize NPC loot
Option to drop extra loot boxes when the pilot ejects
+ A bunch of other options (check the config below)
Permission
piloteject.admin - Required for non-admin players to use the commands
Chat Commands
/pe call - Call a helicopter that ignores the chance options in the config
/pe eject - Force eject pilots on all active PilotEject helicopters
Console Commands
pe call - Call a helicopter that ignores the chance options in the config
pe eject - Force eject pilots on all active PilotEject helicopters
Config
The configuration file can be found in your server directory at .../oxide/config/PilotEject.json
The use of an editor and validator is recommended to avoid formatting issues
The use of an editor and validator is recommended to avoid formatting issues
JSON:
{
"Event Automation": {
"Automatically spawn helicopters on a timer": false,
"Auto-spawn time minimum (seconds)": 3600.0,
"Auto-spawn time maximum (seconds)": 5400.0,
"Minimum amount of online players to trigger the event": 1,
"Chance of game spawned helicopter becoming a PilotEject helicopter (x / 100)": 100.0
},
"Ejection Options": {
"Eject the pilot when the helicopter has been shot down": true,
"Eject the pilot randomly": false,
"Random ejection time minimum (seconds)": 300.0,
"Random ejection time maximum (seconds)": 600.0,
"Parachute drag force": 2.0,
"Wind force": 10.0
},
"NPC Options": {
"Amount of NPCs to spawn": 3,
"NPC display name (chosen at random)": [],
"NPC kit (chosen at random)": [],
"Chance of being wounded when landing (x / 100)": 15,
"Chance of recovery from being wounded(x / 100)": 80,
"Roam distance from landing position": 50.0,
"Loot type (Default, Inventory, Random)": "Random",
"Random loot items": {
"Minimum amount of items": 3,
"Maximum amount of items": 5,
"Items": [
{
"Item shortname": "apple",
"Item skin ID": 0,
"Minimum amount of item": 2,
"Maximum amount of item": 6
},
{
"Item shortname": "bearmeat.cooked",
"Item skin ID": 0,
"Minimum amount of item": 2,
"Maximum amount of item": 4
},
{
"Item shortname": "blueberries",
"Item skin ID": 0,
"Minimum amount of item": 4,
"Maximum amount of item": 8
},
{
"Item shortname": "corn",
"Item skin ID": 0,
"Minimum amount of item": 4,
"Maximum amount of item": 8
},
{
"Item shortname": "fish.raw",
"Item skin ID": 0,
"Minimum amount of item": 2,
"Maximum amount of item": 4
},
{
"Item shortname": "granolabar",
"Item skin ID": 0,
"Minimum amount of item": 1,
"Maximum amount of item": 4
},
{
"Item shortname": "meat.pork.cooked",
"Item skin ID": 0,
"Minimum amount of item": 4,
"Maximum amount of item": 8
},
{
"Item shortname": "candycane",
"Item skin ID": 0,
"Minimum amount of item": 1,
"Maximum amount of item": 2
}
]
}
},
"Loot Container Options": {
"Amount of loot boxes to drop when pilot ejects": 2,
"Loot container items": {
"Minimum amount of items": 3,
"Maximum amount of items": 5,
"Items": [
{
"Item shortname": "apple",
"Item skin ID": 0,
"Minimum amount of item": 2,
"Maximum amount of item": 6
},
{
"Item shortname": "bearmeat.cooked",
"Item skin ID": 0,
"Minimum amount of item": 2,
"Maximum amount of item": 4
},
{
"Item shortname": "blueberries",
"Item skin ID": 0,
"Minimum amount of item": 4,
"Maximum amount of item": 8
},
{
"Item shortname": "corn",
"Item skin ID": 0,
"Minimum amount of item": 4,
"Maximum amount of item": 8
},
{
"Item shortname": "fish.raw",
"Item skin ID": 0,
"Minimum amount of item": 2,
"Maximum amount of item": 4
},
{
"Item shortname": "granolabar",
"Item skin ID": 0,
"Minimum amount of item": 1,
"Maximum amount of item": 4
},
{
"Item shortname": "meat.pork.cooked",
"Item skin ID": 0,
"Minimum amount of item": 4,
"Maximum amount of item": 8
},
{
"Item shortname": "candycane",
"Item skin ID": 0,
"Minimum amount of item": 1,
"Maximum amount of item": 2
}
]
}
},
"Version": {
"Major": 3,
"Minor": 0,
"Patch": 0
}
}
Hooks
C#:
object CanConvertToPilotEject(BaseHelicopter baseHelicopter)
// Plugins can return any non-null value to prevent this helicopter from being converted to a PilotEject helicopter