0g.Ghost.7373's Wishlist
-
Abandoned Bases
Allows bases to become raidable when all players in a base become inactive.
Compatible with TruePVE and NextGenPVE servers. This plugin is not compatible with servers that have server.pve set true. It is possible to implement this, but I see no reason to do so as TruePVE provides the same protection and more.
Abandoned Bases checks each building on the server in order to determine which bases are inactive. Bases become inactive when all players authorized on the tool cupboard have been offline for the configured amount of days. When a base becomes inactive there are one of two outcomes.
1.) It will be immediately destroyed if it does not meet the configured minimum requirements.
2) It will become raidable for a configurable period of time, and when the time expires the base will be destroyed.
Each zone has a map marker, allows PVP and is surrounded by a dome that protects it from being attacked from the outside. Players who zone hop will be flagged with a PVP delay where they can still be attacked for a configurable amount of time.
Command /sar - requires abandonedbases.convert permission and converts a base into an abandoned base - this can be used on any base that you are authorized to and will cause the base to be destroyed when the timer expires
Command /sab - starts a manual check for each building on the server in order to determine which bases are inactive (requires abandonedbases.admin permission)
Command /sar radius - requires abandonedbases.convert permission and converts a base into an abandoned base and uses the specified radius for the dome / zone radius. Min and max radius are configurable.
Command /sar cancel - requires abandonedbases.convert and abandonedbases.convert.cancel permissions - completely cancels an event (destroys map marker and dome, disables PVP and prevents base from being despawned) effectively allowing the base to be taken over
Command /sar claim - requires abandonedbases.convert and abandonedbases.convert.claim permissions and converts a finished abandoned base into a claimed base that can be taken over by players
Command /sar purge - converts all bases on the server into abandoned bases for purge day (requires abandonedbases.convert, abandonedbases.admin and abandonedbases.purgeday permissions)
This is a two part command that requires you type /sab afterwards to begin. Requires abandonedbases.purgeday, abandonedbases.convert, and abandonedbases.admin permissions. Announcements are muted during purge to prevent spam. Time To Wait Between Spawns (15) will delay how quickly every base is converted Permissions (ADMINS REQUIRE PERMISSIONS TOO)
abandonedbases.convert - required to use /sar command
abandonedbases.convert.free - converting is free for users that have this permission
abandonedbases.convert.claim - required to use /sar claim command
abandonedbases.purgeday - required to use /sar purge command
abandonedbases.admin - required to use /sab and purge commands
abandonedbases.notices - users with this command can see all in-game notices from the plugin
abandonedbases.attack - lets players hunt bases and convert them by attacking if they're abandoned
abandonedbases.attack.time - shows players how much time is left before a base becomes abandoned when they attack it
abandonedbases.attack.lastseen - required to see the last time the player was online when attacking a base
Auto-add abandonedbases.immune to configuration if one does not exist already (lifetime set to "none")
- abandonedbases.immune will not be automatically added if the configuration contains a different immunity permission already
- abandonedbases.immune will give the user immunity to any base they've built at or are authed at from becoming abandoned
- abandonedbases.exclude does not provide immunity and is explicitly intended for the plugin to ignore the player only
- abandonedbases.exclude is intended for admins, mods, staff or helpers to be able to freely make repairs or auth at bases without interfering with the abandoned timer
abandonedbases.exclude:
excludes the user from being checked as an authorized user to a TC this permission should not be used to exempt users - exempt users with immunity by assigning them a permission from a role that has the lifetime set to "none" example roles that includes permission abandonedbases.immune and lifetime set to "none" to properly exempt a user or group by granting abandonedbases.immune to a user or group:
"Purge Settings": [ { "Permission": "abandonedbases.immune", "Lifetime (Days)": "none" }, { "Permission": "abandonedbases.vip", "Lifetime (Days)": "7" }, { "Permission": "abandonedbases.veteran", "Lifetime (Days)": "5" }, { "Permission": "abandonedbases.basic", "Lifetime (Days)": "3" } ], Purge Settings
Permission - The permission to use with this setting Lifetime (Days) - The amount of time in days before a base is considered abandoned. Set to none to not consider players with this permission as inactive. Conversions Before Destroying Base (1) - The amount of times a base can become abandoned before it is finally destroyed when the Despawn Timer expires. Comes with 3 configured permissions and lifetime days by default Abandoned Settings
Blacklisted Commands (command1, command2, command3) - Commands players are not allowed using at a raid or marked with PVP delay Marker Name (Minutes) (Abandoned Player Base [{time}m]) - Text shown on map marker for minutes Marker Name (Seconds) (Abandoned Player Base [{time}s]) - Text shown on map marker for seconds Foundations Required (4) - Minimum amount of foundations required to become raidable Walls Required (3) - Minimum amount of walls required to become raidable Sphere Amount (10) - Increase to darken the dome, or decrease to brighten it Sphere Radius (50) - How big the dome is in meters Use Dynamic Sphere Radius (false) - Allow the dome to detect the best dome size Max Dynamic Radius (75.0) - How maximum size of the dynamic radius Min Custom Sphere Radius - The minimum radius allowed when using /sar <radius> Max Custom Sphere Radius - The maximum radius allowed when using /sar <radius> PVP Delay (15.0) - The amount of time in seconds that players can take damage after leaving the dome Despawn Timer (1800.0) - The amount of time in seconds that players have to finish the raid Reset Despawn Timer When Base Is Attacked (true) - When enabled this will reset the above despawn timer back to 1800 seconds by default Do Not Destroy Base When Despawn Timer Expires (false) - Use this to override and prevent a base from being destroyed when Despawn Timer expires Backpacks Can Be Opened (true) - When enabled players will be allowed to open their backpacks while inside of the dome Backpacks Can Be Looted By Anyone (false) - Bypass PreventLooting plugin and allow backpacks to be lootable if enabled Corpses Can Be Looted By Anyone (true) - Bypass PreventLooting plugin and allow backpacks to be lootable if enabled Allow PVP (true) - Allows PVP while inside of the dome, and when flagged with a PVP delay Seconds Until Despawn After Looting (600) Seconds Until Despawn After Looting Resets When Damaged (true) Cancel Automated Events If Abandoned Owner Comes Online (false) Message Raiders When Event Ends During Automated Cancellation (true) Change Marker Color On First Entity Destroyed (true) Cooldown Between Conversions (3600) - Time required between each manual conversion of a base using /sar Cooldown Between Events (3600) - Time between each event - prevents looting, damage and using /sar claim Cooldown Between Cancel (3600) - Time the player must wait to use /sar cancel Cooldown Between Conversions Ignored During Purge (true) Cooldown Between Cancel Ignored During Purge (true) Cooldown Between Events Ignored During Purge (true) Prevent Hogging Ignored During Purge (false) Run Once On Server Startup (false) - Check for abandoned bases immediately after server startup is complete Run Every X Seconds (0.0) - The time in seconds to check for each building on the server in order to determine which bases are inactive Kill Inactive Sleepers (false) - When enabled players with a permission from purge settings will be executed when they are offline for the configured amount of lifetime days Let Players Kill Abandoned Sleepers (false) - Allows players to kill anyone sleeping inside of an abandoned base rather than the server killing them automatically Economics/ServerRewards Cost To Manually Convert (0 = disabled) - Used with /sar command to convert any base into an abandoned base Use Map Marker (true) Require Event Be Finished Before It Can Be Canceled (true) Various auto turret settings
Hooks (implemented in 2.1.4)
participants - anyone that has actively participated (excludes admin if configured, and those in noclip or vanish) - this should not contain null elements
participantIds - contains the userid of all participants - this list is better as anyone offline and dead will be included in this but not in the participants list because they would be null!
intruders - anyone currently inside of the event (does not exclude anyone) - this should not contain null elements
intruderIds - contains the userid of everyone inside of the event (does not exclude anyone) - this list is better as anyone offline and dead will be included in the list but not in the intruders list because they would be null!
void OnPlayerPvpDelayStart(BasePlayer player, ulong userid, Vector3 eventPos, float radius, List<BasePlayer> intruders, List<ulong> intruderIds, List<BaseEntity> entities) void OnPlayerPvpDelayExpiredII(BasePlayer player, ulong userid, Vector3 eventPos, float radius, List<BasePlayer> intruders, List<ulong> intruderIds, List<BaseEntity> entities) void OnAbandonedBaseStarted(Vector3 eventPos, float radius, bool allowPVP, List<BasePlayer> participants, List<ulong> participantIds, List<BaseEntity> entities) void OnAbandonedBaseEnded(Vector3 eventPos, float radius, bool allowPVP, List<BasePlayer> participants, List<ulong> participantIds, List<BaseEntity> entities) void OnPlayerEnteredAbandonedBase(BasePlayer player, Vector3 eventPos, float radius, bool allowPVP, List<BasePlayer> intruders, List<ulong> intruderIds, List<BaseEntity> entities) void OnPlayerExitedAbandonedBase(BasePlayer player, Vector3 eventPos, float radius, bool allowPVP, List<BasePlayer> intruders, List<ulong> intruderIds, List<BaseEntity> entities) void OnAbandonedBaseDespawned(Vector3 eventPos, float radius, bool allowPVP, List<BasePlayer> intruders, List<ulong> intruderIds, List<BaseEntity> entities)
Convert Bases and/or Claim Bases
Credits:
misticos for giving permission to use some of his code 🙂- #rust
- #rust plugin
- (and 6 more)
-
Convoy Reforged
Set your server apart with a roaming mobile event that has nearly endless configuration options! Configure the loot truck as well as the Convoy of protection vehicles ranging from sedans, module cars, Bradley tanks, motorbikes, vendor trucks, to a patrol helicopter! The plugin runs on custom and procedural generated maps, can use custom routes or let the plugin find a random route based on your configuration.
You can make yours an aggressive or a peaceful Convoy, who shoots first? You can set all kinds of parameters regarding the many pieces of the event, how to beat it, whether destroying the loot truck destroys the loot or not for example. There are many compatible plugins like TruePVE, GUIAnnouncements, Notify, DiscordMessages, and RustCord to name a few. The plugin has a built in UI that will give you important information about the event as you are inside it's zone. Check the map to see the location of the event as a marker and even see the timer on the event! All of the ground vehicles are driven and filled with NPCs. Every vehicle, the NPCs, and the loot as well as all timers can be configured to suit your server. A PvP zone can be created within the event area for those of you who use TruePVE to control damage on your servers. The limits are nearly endless!
If you have some players on your server that you want to really send everything you have at, this is the plugin for you. Watch players crap their pants when they first encounter a full Convoy with multiple tanks and a Patrol Heli all attacking at once. Sit back and delight in their fear as all of the vehicles empty their occupants and NPCs swarm them mercilessly!
Required Dependency (must install this free plugin)
NpcSpawn – link is included and can be found in the ReadMe file included with download
Chat commands (admin only)
/convoystart - launches the event using a random preset based on your configuration /convoystart PresetName - add the name of a preset from the configuration to launch a specific preset /convoystop - stops the event /convoyroadblock - the event will not be held on the road where you are standing (clear the Blocked roads section of config when you change maps) /convoypathstart - stand at starting point and enter command to start recording a custom route /convoypathsave RoutePresetName - to save a custom route (enter anything you'd like in place of RoutePresetName) multiple routes can be added to one route preset, one will be selected at random in this case /convoypathcancel - to reset the route
Console commands (RCON only)
convoystart - launches the event using a random preset based on your configuration convoystart PresetName - add the name of a preset from the configuration to launch a specific preset convoystop - stops the event
Plugin Config
en – example of plugin configuration in English ru – example of plugin configuration in Russian
API
bool IsConvoyVehicle(BaseEntity entity) bool IsConvoyCrate(StorageContainer crate) bool IsConvoyHeli(PatrolHelicopter patrolHelicopter)
Hooks
void OnConvoyStart() - сalled when a convoy appears void OnConvoyStop() - сalled when a convoy disappears void OnPlayerEnterConvoy(BasePlayer player) - сalled when a player enters the event area void OnPlayerExitConvoy(BasePlayer player) - сalled when the player leaves the event area void OnConvoyEventWin(ulong userId) - called at the end of the event and informs about its winner
Check out the rest of my work: Adem's Codefling Library
You can reach out to me in Discord: Adem's Discord Profile
Thanks to Jbird for writing, translation, & support: Jbird's Discord Profile
Join the Mad Mappers Discord!
-
Heavy Cargo Ship Event
Heavy Cargo Ship Event is a configurable plugin that allows for a new type of random event. Randomly a message will appear letting players know that there's an incoming heavy cargo ship.
The ship is equipped with extra scientists, auto turrets, and a Bradley. Players must try to board the ship and kill the scientists in the lower decks to find the code to disable the auto turrets OR destroy all the turrets. If the code is found, it can be entered into the code lock in the lower decks to disable the turrets. Once the turrets are dealt with, players must defeat the Bradley. This can be a real challenge while on a moving ship. Finally, once the Bradley is defeated, players can collect all the loot. That's if someone else doesn't get to it first!
This is a great event to add to your server to give it a little more variety. It can be a fun PVP zone or a PVE event for non PVP servers.
EASY OPTIONAL SETUP - NO SETUP REQUIRED
You can simply drop the plugin in as-is and it will start the random event every 1 to 2 hours OR you can modify the config to change how often it should occur and/or how long until the Heavy Cargo Ship comes.
Configuration
"How many hackable loot crates should spawn.": 4,
"If this is true auto turrets will target and kill NPCs as well as players on the cargo ship.": false,
"If this is true it will spawn auto turrets on the cargo ship.": true,
"If this is true it will spawn the APC Bradley on the cargo ship.": true,
"Maximum time between events(minutes):": 180,
"Minimum number of players before event will start": 4,
"Minimum time between events(minutes):": 60,
"Set this to true if you want to use the custom loot table in this config. If it's false, it will use your server default.": false,
"Should the event start automatically(false if you only want manually start with HeavyCargoStart command": true
Admin Only Commands
/HeavyCargoStart
/HeavyCargoStop
Hooks
void HeavyCargoShipEventStarted()
void HeavyCargoShipEventStopped()
Discord: cahnu
-
Tugboat Pirates
By The_Kiiiing in Plugins
Experience the thrill of high-seas plunder with "Tugboat Pirates". Encounter a Tugboat, brimming with NPC pirates protecting their valuable loot. Engage in intense battles, eliminate the captain for an access code, and seize the treasure.
Features
Tugboat with Pirate NPCs and loot patrols the ocean Kill the captain to get access to the loot room Fully configurable boat interior Boat location marked on the map Fully customizable NPCs (you can even give them rocket launchers in their kits) Event starts automatically (configurable time, can be disabled) Announcements via gametip and/or chat NPC are turret NPC that do not move from their station on the Tugboat
Door code of the loot room can be found in the captain's corpse (pirate quotes can be changed in the config)
Commands
All Commands require the admin permission
/tugboatstart - Manually start the event /tugboatstop - Manually end the event
Hooks
(void) OnTugboatPiratesStarted() // Called when the event has started (void) OnTugboatPiratesEnded() // Called after the event has ended
Permissions
tugboatpirates.admin - Required to use admin commands
Configuration
{ "Time between events (minutes, set to -1 to disable scheduled events)": 60, "Event duration (seconds)": 3600, "Show toast when event starts": true, "Announce event in chat": true, "Boat leave time before despawning (seconds)": 120, "Time before boat despawn when captain is killed (seconds)": 1200, "Boat configurations": [ { "Location offset (used when spawning multiple boats)": { "x": 0.0, "y": 0.0, "z": 0.0 }, "Npc profile for captain (must be a valid profile)": "captain", "Npc spawn locations and profiles": { "back_right": "pirate_lr", "back_left": "pirate_lr", "upper_front_right": "pirate_lr", "upper_front_left": "pirate_lr", "upper_back_right": "pirate_lr", "upper_back_left": "pirate_lr", "roof_back": "pirate_lr", "entrance_right": "pirate_lr", "entrance_left": "pirate_lr", "roof_right": "pirate_lr", "roof_left": "pirate_lr", "front": "pirate_lr", "right": "pirate_mp5", "left": "pirate_mp5" }, "Interior objects (crates, decoration, etc.)": [ { "Prefab path": "assets/prefabs/deployable/chinooklockedcrate/codelockedhackablecrate.prefab", "Rotation": 180.0, "Position on boat": { "x": 0.0, "y": 2.0, "z": 4.2 }, "Skin id": 1394363785, "Loot profile (only for crates, leave empty for default loot)": "" }, // Removed some lines for readability reasons ] } ], "Npc profiles": { "pirate_lr": { "name": "Pirate", "health": 200.0, "enableRadio": true, "senseRange": 50.0, "visionCone": 135.0, "damageScale": 1.0, "memoryDuration": 60.0, "lootProfile": "pirate", "kit": "", "Clothing items": [ { "shortName": "hat.boonie", "amount": 1, "skinId": 965553937 }, { "shortName": "hoodie", "amount": 1, "skinId": 2984978438 }, { "shortName": "pants", "amount": 1, "skinId": 2984977257 }, { "shortName": "attire.hide.boots", "amount": 1, "skinId": 861468674 } ], "Belt items": [ { "shortName": "rifle.lr300", "amount": 1, "skinId": 0 } ] }, "pirate_mp5": { "name": "Pirate", "health": 150.0, "enableRadio": true, "senseRange": 50.0, "visionCone": 135.0, "damageScale": 1.0, "memoryDuration": 60.0, "lootProfile": "pirate", "kit": "", "Clothing items": [ { "shortName": "hat.boonie", "amount": 1, "skinId": 965553937 }, { "shortName": "hoodie", "amount": 1, "skinId": 2984978438 }, { "shortName": "pants", "amount": 1, "skinId": 2984977257 }, { "shortName": "attire.hide.boots", "amount": 1, "skinId": 861468674 } ], "Belt items": [ { "shortName": "smg.mp5", "amount": 1, "skinId": 0 } ] }, "captain": { "name": "Captain", "health": 100.0, "enableRadio": false, "senseRange": 0.0, "visionCone": 0.0, "damageScale": 1.0, "memoryDuration": 0.0, "lootProfile": "pirate", "kit": "", "Clothing items": [ { "shortName": "hat.boonie", "amount": 1, "skinId": 965553937 }, { "shortName": "tshirt", "amount": 1, "skinId": 811762477 }, { "shortName": "pants.shorts", "amount": 1, "skinId": 849256923 }, { "shortName": "attire.hide.boots", "amount": 1, "skinId": 861468674 } ], "Belt items": [ { "shortName": "mace.baseballbat", "amount": 1, "skinId": 0 } ] } }, "Loot profiles": { "crate_2": [ { "Short name": "scrap", "Min amount": 2, "Max amount": 20, "Chance": 1.0, "Skin id": 0 }, { "Short name": "metal.refined", "Min amount": 4, "Max amount": 8, "Chance": 0.5, "Skin id": 0 }, { "Short name": "gears", "Min amount": 1, "Max amount": 3, "Chance": 0.2, "Skin id": 0 }, { "Short name": "sewingkit", "Min amount": 1, "Max amount": 3, "Chance": 0.2, "Skin id": 0 }, { "Short name": "rope", "Min amount": 1, "Max amount": 3, "Chance": 0.2, "Skin id": 0 }, { "Short name": "sheetmetal", "Min amount": 1, "Max amount": 2, "Chance": 0.2, "Skin id": 0 }, { "Short name": "grenade.molotov", "Min amount": 1, "Max amount": 2, "Chance": 0.1, "Skin id": 0 }, { "Short name": "grenade.f1", "Min amount": 1, "Max amount": 4, "Chance": 0.1, "Skin id": 0 }, { "Short name": "telephone", "Min amount": 1, "Max amount": 1, "Chance": 0.1, "Skin id": 0 }, { "Short name": "multiplegrenadelauncher", "Min amount": 1, "Max amount": 1, "Chance": 0.1, "Skin id": 0 } ], "pirate": [ { "Short name": "scrap", "Min amount": 2, "Max amount": 6, "Chance": 1.0, "Skin id": 0 }, { "Short name": "bottle.vodka", "Min amount": 1, "Max amount": 1, "Chance": 0.7, "Skin id": 0 }, { "Short name": "pistol.eoka", "Min amount": 1, "Max amount": 1, "Chance": 0.2, "Skin id": 0 }, { "Short name": "ammo.handmade.shell", "Min amount": 5, "Max amount": 10, "Chance": 0.2, "Skin id": 0 }, { "Short name": "rope", "Min amount": 1, "Max amount": 3, "Chance": 0.3, "Skin id": 0 }, { "Short name": "sewingkit", "Min amount": 1, "Max amount": 2, "Chance": 0.3, "Skin id": 0 } ] }, "Priate quotes (inluded in captain's note)": [ "If rum can’t fix it, ye are not using enough rum.", "But… why is the rum gone?", "Be who you arrrr...", "All for rum and rum for all!", "Land was created to provide a place for boats to visit.", "If ye can read this ye be stupid." ] }
-
Caravan
This plugin will add Caravans to your server that will attempt to transport valuable loot along the roads. Carriages are used to transport goods along the roads as configured, pulled by Horses. These convoys are accompanied by NPCs, Riders, and Balloons! By default, the plugin comes with 3 different caravan presets.
The easiest caravan will be fun for early wipe and allows some basic loot for low effort Caravan raids. In order to rob the most difficult caravan, players will need to be tactical about their ambush and it will be much more challenging! The road selection system can make the Caravan less predictable as the NPCs try to find a safe route.
The Caravan can traverse any road type, including good old country dirty roads. You can set up timers for each preset in the config file, to keep the more difficult Caravan from showing up until later in a wipe!
Riders
These can be very dangerous opponents! Unlike regular NPCs, they will quickly close the gap continually shooting at the players as they ride! Riders can be especially effective using short ranged weapons, they are deadly with a shotgun!
Balloons
These are mobile sniper towers on which several NPCs can be placed. In the config, armor can be added to the balloon, greatly increasing the protection for the Caravan snipers.When the caravan stops, Balloons will start moving around randomly, making it more difficult for players to hide! After defeating all of the snipers, Balloons will fall to the ground and explode.
Required Dependency (must install this free plugin)
NpcSpawn – link is included and can be found in the ReadMe file included with download
Chat commands (admin only)
/caravanstart - launches the event using a random preset based on your configuration /caravanstart PresetName - add the name of a preset from the configuration to launch a specific preset /caravanstop - stops the event /caravanroadblock - the event will not be held on the road where you are standing (clear the Blocked roads section of config when you change maps) /caravanpathstart - stand at starting point and enter command to start recording a custom route /caravanpathsave RoutePresetName - to save a custom route (enter anything you'd like in place of RoutePresetName) /caravanpathcancel - to reset the route
Console commands (RCON only)
caravanstart - launches the event using a random preset based on your configuration caravanstart PresetName - add the name of a preset from the configuration to launch a specific preset caravanstop - stops the event
Plugin Config
en – example of plugin configuration in English ru – example of plugin configuration in Russian
Hooks
void OnCaravanStart() - сalled when a caravan appears void OnCaravanStop() - сalled when a caravan disappears void OnCaravanEventWin(ulong userId)
Check out the rest of my work: Adem's Codefling Library
You can reach out to me in Discord: Adem's Discord Profile
Thanks to Jbird for writing, translation, & support: Jbird's Discord Profile
Join the Mad Mappers Discord!