SoftArmy's Wishlist
-
Restart Status
The plugin displays the time until restart in the status bar. Depends on AdvancedStatus plugin.
The ability to to add and modify any restart plugins; The ability to automatically generate code for restart hooks; The ability to automatically generate language files for different languages(filled in English); The ability to choose between bar types(TimeCounter and TimeProgressCounter); The ability to specify the order of the bar; The ability to change the height of the bar; The abillity to customize the color and transparency of the background; The ability to set a material for the background; The ability to switch between CuiRawImageComponent and CuiImageComponent for the image; The ability to get images from the local folder(*SERVER*\oxide\data\AdvancedStatus\Images); The abillity to set own image and customize the color and transparency of the image; The abillity to set sprite instead of the image; The ability to customize the color, size, font and outline of the text.
{ "Is it worth generating restart hooks? 0 - disabled, 1 - one-time activation, 2 - always enabled": 2, "List of language keys for creating language files": [ "en" ], "The type of the bar(TimeProgressCounter or TimeCounter)": "TimeCounter", "The height of the bar": 26, "The display order of the bar": 10, "The background color of the bar(HEX or RGBA)": "#E5423F", "The background transparency of the bar": 0.7, "The background material of the bar, leave empty to disable": "", "The URL of the bar image": "https://i.imgur.com/rAiHloW.png", "The local image of the bar, leave empty to use URL": "RestartStatus_Default", "The sprite image of the bar, leave empty to use local or URL": "", "Is it worth using a raw image for the bar?": false, "The color of the bar image(HEX or RGBA)": "#E5423F", "The transparency of the bar image": 1.0, "The outline color of the bar image(HEX or RGBA)": "0.1 0.3 0.8 0.9", "The outline transparency of the bar image": 1.0, "The outline distance of the bar image, leave empty to disable. Example '0.75 0.75'": "", "The size of the bar text": 12, "The color of the bar text(HEX or RGBA)": "#FFFFFF", "The transparency of the bar text": 1.0, "The font of the bar text(https://umod.org/guides/rust/basic-concepts-of-gui#fonts)": "RobotoCondensed-Bold.ttf", "The horizontal offset of the bar text": 0, "The outline color of the bar text(HEX or RGBA)": "#000000", "The outline transparency of the bar text": 1.0, "The outline distance of the bar text, leave empty to disable": "", "The size of the bar subtext": 12, "The color of the bar subtext(HEX or RGBA)": "#FFFFFF", "The transparency of the bar subtext": 1.0, "The font of the bar subtext": "RobotoCondensed-Bold.ttf", "The outline color of the bar subtext(HEX or RGBA)": "0.5 0.6 0.7 0.5", "The outline transparency of the bar subtext": 1.0, "The outline distance of the bar subtext, leave empty to disable": "", "The background color of the progress bar(HEX or RGBA)": "1 1 1 0.15", "The background transparency of the progress bar": 0.15, "Is it worth making the progress reversible?": true, "The color of the bar progress(HEX or RGBA)": "#E5423F", "The transparency of the bar progress": 0.7, "The OffsetMin of the bar progress": "0 0", "The OffsetMax of the bar progress": "0 0", "The list of restart hooks. Note: After modifying hooks, do not forget to toggle hook generation": [ { "Hook triggered at the start of a restart": "OnSmoothRestartInit", "Argument position containing the number of seconds until restart(counting from 0)": 0, "Hook triggered at the cancellation of a restart": "OnSmoothRestartCancelled" }, { "Hook triggered at the start of a restart": "OnRestartScheduled", "Argument position containing the number of seconds until restart(counting from 0)": 0, "Hook triggered at the cancellation of a restart": "OnRestartCancelled" } ], "Version": { "Major": 0, "Minor": 1, "Patch": 1 } }
EN: { "BarText": "RESTART IN" } RU: { "BarText": "РЕСТАРТ ЧЕРЕЗ" }
-
Npc Random Raids
By Iftebinjan in Plugins
Optional Dependency Raidable Bases - https://codefling.com/plugins/raidable-bases
Optional Dependency Custom Loot - https://codefling.com/plugins/custom-loot
How To Call In Random Raids
Randomly calls in npc raids with options for Mlrs and Attack Hele Set a configurable timer and chance to auto call in raid
With Raidable bases plugin set a chance with configurable options for the npc's to come back and attack the raiders at one of there bases.
After a certain amount of npc kills have a random chance.
With item found in loot containers or given in shops by admins.
If the players base is by water the npc may go under the water and still fight.
SEE ALL CONFIG SETTINGS!
Chat Command - Permission = randomraids.admin
/randomraid -- Will display command usage.
/randomraid item list - will display list of raid item for admin to give them self.
/randomraid item <type> - example config types = easy, medium, hard
Server command
randomraid <playerid> <type> - Gives player raid item to start a raid.
{ "Random settings": { "GUI AnchorMin": "0.807 0.96", "GUI AnchorMax": "0.996 0.99", "GUI2 AnchorMin": "0.807 0.92", "GUI2 AnchorMax": "0.996 0.95", "GameTip display time in seconds": 2.0, "Total raids allowed at once": 10, "A player on the tc must be online": true, "Use random raid timer": false, "Random raid timer time": 3600, "Chance of random raid at time (1-100)": 10, "Authorized players Cooldown minutes before random raided again by chance": 1440, "The maximum amount of time a rocket will fly before exploding": 4.0, "Npc spawn damage delay": 2.0, "Display global chat message on raid start": true, "Display global map marker on raid start": true, "Display Gui to base owners": false, "Use GameTip announcement to player": false, "Disable radio chatter": false, "Wait until all NPC are dead before sending in next wave": false, "Player must have randomraids.use inorder to get raided": false, "Use world text to show base location": false, "World text display time": 60.0, "Use discord Webhook": false, "Discord Webhook URL": "", "Discord Avatar URL": "http://images.myvector.xyz/discordimage.png" }, "All Random Raid Types": { "Random raid types": { "easy": { "Total auth players on tc needed": 1, "Total npcs per wave": 10, "How many extra waves": 1, "Seconds untell next wave": 120, "Npc fires Mlrs at base": false, "Send in Attack Copter support": false, "Total event time in seconds": 640, "Npc drop loot on death": true, "Spawn health of the npc": 100.0, "Total rockets npc can fire": 20, "Total explosives npc can toss": 10, "Total AirDrops on event win": 1, "Rocket damage scale": 1.0, "Player damage scale from npc": 1.0, "Auto turret damage scale to npc": 1.0, "Raiders aimConeScale": 2.0, "Throw Explosive item shortnames": [ "explosive.timed", "explosive.satchel" ], "Spawn Attack Heli profile": [ "easy" ], "Spawn kits for the npcs": [], "Names to give the npcs": [ "Cobalt Scientist" ], "CustomLoot config profile name": [], "CustomLoot config profile names for AirDrop": [], "AlphaLoot config profile names": [], "AlphaLoot config profile names for AirDrop": [], "Juggernaut config": [ "easy" ], "Surrender costs": 200 }, "medium": { "Total auth players on tc needed": 2, "Total npcs per wave": 15, "How many extra waves": 1, "Seconds untell next wave": 120, "Npc fires Mlrs at base": false, "Send in Attack Copter support": true, "Total event time in seconds": 900, "Npc drop loot on death": true, "Spawn health of the npc": 200.0, "Total rockets npc can fire": 20, "Total explosives npc can toss": 10, "Total AirDrops on event win": 1, "Rocket damage scale": 1.0, "Player damage scale from npc": 1.0, "Auto turret damage scale to npc": 1.0, "Raiders aimConeScale": 2.0, "Throw Explosive item shortnames": [ "explosive.timed", "explosive.satchel" ], "Spawn Attack Heli profile": [ "easy" ], "Spawn kits for the npcs": [], "Names to give the npcs": [ "Cobalt Scientist" ], "CustomLoot config profile name": [], "CustomLoot config profile names for AirDrop": [], "AlphaLoot config profile names": [], "AlphaLoot config profile names for AirDrop": [], "Juggernaut config": [ "easy" ], "Surrender costs": 400 }, "hard": { "Total auth players on tc needed": 3, "Total npcs per wave": 20, "How many extra waves": 1, "Seconds untell next wave": 120, "Npc fires Mlrs at base": false, "Send in Attack Copter support": true, "Total event time in seconds": 1200, "Npc drop loot on death": true, "Spawn health of the npc": 400.0, "Total rockets npc can fire": 20, "Total explosives npc can toss": 10, "Total AirDrops on event win": 1, "Rocket damage scale": 1.0, "Player damage scale from npc": 1.0, "Auto turret damage scale to npc": 1.0, "Raiders aimConeScale": 2.0, "Throw Explosive item shortnames": [ "explosive.timed", "explosive.satchel" ], "Spawn Attack Heli profile": [ "easy" ], "Spawn kits for the npcs": [], "Names to give the npcs": [ "Cobalt Scientist" ], "CustomLoot config profile name": [], "CustomLoot config profile names for AirDrop": [], "AlphaLoot config profile names": [], "AlphaLoot config profile names for AirDrop": [], "Juggernaut config": [ "easy" ], "Surrender costs": 600 }, "expert": { "Total auth players on tc needed": 4, "Total npcs per wave": 30, "How many extra waves": 1, "Seconds untell next wave": 120, "Npc fires Mlrs at base": false, "Send in Attack Copter support": true, "Total event time in seconds": 1500, "Npc drop loot on death": true, "Spawn health of the npc": 400.0, "Total rockets npc can fire": 20, "Total explosives npc can toss": 10, "Total AirDrops on event win": 1, "Rocket damage scale": 1.0, "Player damage scale from npc": 1.0, "Auto turret damage scale to npc": 1.0, "Raiders aimConeScale": 2.0, "Throw Explosive item shortnames": [ "explosive.timed", "explosive.satchel" ], "Spawn Attack Heli profile": [ "easy" ], "Spawn kits for the npcs": [], "Names to give the npcs": [ "Cobalt Scientist" ], "CustomLoot config profile name": [], "CustomLoot config profile names for AirDrop": [], "AlphaLoot config profile names": [], "AlphaLoot config profile names for AirDrop": [], "Juggernaut config": [ "medium" ], "Surrender costs": 800 }, "nightmare": { "Total auth players on tc needed": 5, "Total npcs per wave": 30, "How many extra waves": 1, "Seconds untell next wave": 120, "Npc fires Mlrs at base": false, "Send in Attack Copter support": true, "Total event time in seconds": 2100, "Npc drop loot on death": true, "Spawn health of the npc": 400.0, "Total rockets npc can fire": 20, "Total explosives npc can toss": 10, "Total AirDrops on event win": 1, "Rocket damage scale": 1.0, "Player damage scale from npc": 1.0, "Auto turret damage scale to npc": 1.0, "Raiders aimConeScale": 2.0, "Throw Explosive item shortnames": [ "explosive.timed", "explosive.satchel" ], "Spawn Attack Heli profile": [ "easy" ], "Spawn kits for the npcs": [], "Names to give the npcs": [ "Cobalt Scientist" ], "CustomLoot config profile name": [], "CustomLoot config profile names for AirDrop": [], "AlphaLoot config profile names": [], "AlphaLoot config profile names for AirDrop": [], "Juggernaut config": [ "medium" ], "Surrender costs": 1000 } } }, "AttackCopter profiles": { "Profile Names": { "easy": { "Heli float health": 1000.0, "Total crates to drop": 2, "Heli strafe cooldown": 50.0, "Heli can strafe x times": 3 } } }, "Block Random raid in colider": { "Blocked": [ "iceberg", "ice_berg", "ice_sheet", "icesheet", "cliff", "cave" ] }, "Raidable Base plugin settings": { "Raid player on Raidable Base Completed": false, "Warn player in chat of upcoming revenge on them": false, "Raidable Base Settings": { "0": { "Total amount of mode complete before ever has chance": 3, "Reset kill count after chance happened": false, "Raidable Base Completed Delay Before Raid chance happens": 320.0, "raid chance (1-100)": 10, "Random raid to send them if chance": [ "easy" ] }, "1": { "Total amount of mode complete before ever has chance": 3, "Reset kill count after chance happened": false, "Raidable Base Completed Delay Before Raid chance happens": 320.0, "raid chance (1-100)": 10, "Random raid to send them if chance": [ "easy", "medium" ] }, "2": { "Total amount of mode complete before ever has chance": 3, "Reset kill count after chance happened": false, "Raidable Base Completed Delay Before Raid chance happens": 320.0, "raid chance (1-100)": 10, "Random raid to send them if chance": [ "easy", "medium" ] }, "3": { "Total amount of mode complete before ever has chance": 3, "Reset kill count after chance happened": false, "Raidable Base Completed Delay Before Raid chance happens": 320.0, "raid chance (1-100)": 10, "Random raid to send them if chance": [ "easy", "medium", "hard" ] }, "4": { "Total amount of mode complete before ever has chance": 3, "Reset kill count after chance happened": false, "Raidable Base Completed Delay Before Raid chance happens": 320.0, "raid chance (1-100)": 10, "Random raid to send them if chance": [ "hard", "expert", "nightmare" ] } } }, "Trigger by npc kills": { "Enable log kills and random raid on kills": false, "Reset npc kills on player raided.": false, "Warn player in chat of upcoming revenge on them": false, "Use total players on tc check on type": false, "Enable combine npc kills list": false, "Combine npc kills list": [ "scientistnpc_patrol", "scientistnpc_oilrig", "scientistnpc_heavy", "sentry.scientist.barge", "sentry.scientist.barge.static", "sentry.scientist.static", "heavyscientist_youtooz.deployed", "ch47scientists.entity", "scientist_corpse", "scientistnpc_arena", "scientistnpc_cargo", "scientistnpc_cargo_turret_any", "scientistnpc_cargo_turret_lr300", "scientistnpc_ch47_gunner", "scientistnpc_excavator", "scientistnpc_full_any", "scientistnpc_full_lr300", "scientistnpc_full_mp5", "scientistnpc_full_pistol", "scientistnpc_full_shotgun", "scientistnpc_junkpile", "sientistnpc_peacekeeper", "scientistnpc_roam", "scientistnpc_roam_nvg_variant", "scientistnpc_roamtethered", "npc_tunneldweller", "npc_tunneldwellerspawned", "npc_underwaterdweller", "scarecrow" ], "Combine Profile to use": { "Total amount of Npc killed before chance can happen": 70, "Reset kill count after chance happened": false, "Delay before chance happens": 320.0, "Raid chance (1-100)": 10, "Cooldown minutes before chance can happen again": 1440, "Random raid to send them if chance": [ "easy" ] }, "Npc kills settings": { "scientistnpc_heavy": { "Total amount of Npc killed before chance can happen": 30, "Reset kill count after chance happened": false, "Delay before chance happens": 320.0, "Raid chance (1-100)": 10, "Cooldown minutes before chance can happen again": 1440, "Random raid to send them if chance": [ "medium" ] }, "scientistnpc_oilrig": { "Total amount of Npc killed before chance can happen": 60, "Reset kill count after chance happened": false, "Delay before chance happens": 320.0, "Raid chance (1-100)": 10, "Cooldown minutes before chance can happen again": 1440, "Random raid to send them if chance": [ "easy" ] }, "scientistnpc_patrol": { "Total amount of Npc killed before chance can happen": 60, "Reset kill count after chance happened": false, "Delay before chance happens": 320.0, "Raid chance (1-100)": 10, "Cooldown minutes before chance can happen again": 1440, "Random raid to send them if chance": [ "easy" ] }, "scientistnpc_junkpile": { "Total amount of Npc killed before chance can happen": 60, "Reset kill count after chance happened": false, "Delay before chance happens": 320.0, "Raid chance (1-100)": 10, "Cooldown minutes before chance can happen again": 1440, "Random raid to send them if chance": [ "easy" ] } } }, "Juggernaut profiles": { "easy": { "Juggernaut spawns on witch Wave number/Total to spawn": { "1": 1 }, "Spawn health of the juggernaut": 500.0, "Player damage scale from the juggernaut": 1.0, "juggernaut aimConeScale": 2.0, "Names to give the juggernaut": [ "Juggernaut Raider" ], "Spawn kits for the juggernaut": [] }, "medium": { "Juggernaut spawns on witch Wave number/Total to spawn": { "1": 2 }, "Spawn health of the juggernaut": 700.0, "Player damage scale from the juggernaut": 1.0, "juggernaut aimConeScale": 2.0, "Names to give the juggernaut": [ "Juggernaut Raider" ], "Spawn kits for the juggernaut": [] } }, "Item profiles": { "easy": { "Raid call item skin": 2893480896, "Raid call item name": "Npc Raid Level 1", "LootContainer Spawn enabled": false, "Can Spawn In LootContainer types": [ "crate_normal", "crate_normal_2" ], "LootContainer Spawn Chance 1-100": 5.0 }, "medium": { "Raid call item skin": 2893480635, "Raid call item name": "Npc Raid Level 2", "LootContainer Spawn enabled": false, "Can Spawn In LootContainer types": [ "crate_normal", "crate_normal_2", "heli_crate" ], "LootContainer Spawn Chance 1-100": 5.0 }, "hard": { "Raid call item skin": 2893481009, "Raid call item name": "Npc Raid Level 3", "LootContainer Spawn enabled": false, "Can Spawn In LootContainer types": [ "bradley_crate", "crate_elite" ], "LootContainer Spawn Chance 1-100": 5.0 }, "expert": { "Raid call item skin": 2893481137, "Raid call item name": "Npc Raid Level 4", "LootContainer Spawn enabled": false, "Can Spawn In LootContainer types": [ "bradley_crate", "crate_elite" ], "LootContainer Spawn Chance 1-100": 5.0 }, "nightmare": { "Raid call item skin": 2893482048, "Raid call item name": "Npc Raid Level 5", "LootContainer Spawn enabled": false, "Can Spawn In LootContainer types": [ "bradley_crate", "crate_elite" ], "LootContainer Spawn Chance 1-100": 5.0 } }, "Version": { "Major": 1, "Minor": 7, "Patch": 7 } }
WARNING: Npc will go in and under water if there base is by water
-
Raidable Bases (Tier 1 Package) - Plugin sold separately. Bundle available.
Complete tier 1 package for the Raidable Bases plugin. Core plugin sold separately.
PLUGIN SOLD SEPARATELY
This package includes everything you need to avoid the hassle of having to setup the plugin from scratch.
Time is money, and not having to spend hours or days setting everything up is a game changer.
All bases can be viewed in the gallery at the top of this page.
This is the perfect starter package for someone just becoming familiar with the plugin.
Included:
2 bases (copypaste files) for every difficulty difficulty loot tables for each difficulty base loot tables for every profile profiles for each difficulty the configuration file easy to understand instructions Free version note:
The free version can use this tier package, but it only supports one difficulty (Normal) and one Base Loot file. Remove all Base Loot files except the one you want all bases to use. You must also bypass the protection that prevents paid files from loading with the free version, which exists to stop paid users from accidentally erasing paid-only options by installing the free version over them. To bypass it intentionally, edit the config and rename the "Buyable Events" section on line 283 to "blah" or anything else. After that, the package will load with the free version. The paid version does not have these limitations and supports Easy, Medium, Hard, Expert, Nightmare, and custom difficulties. The tier package is still useful with the free version as it includes preconfigured files, copypaste files and works well for servers that manually enable and disable profiles to rotate through harder bases as the wipe progresses.
Paid plugin sold separately.
Instructions (available in zip file)
-
Raidable Bases (Tier 2 Package) - Plugin sold separately. Bundle available.
Complete tier 2 package for the Raidable Bases plugin. Core plugin sold separately.
PLUGIN SOLD SEPARATELY
This package includes everything you need to avoid the hassle of having to setup the plugin from scratch.
Time is money, and not having to spend hours or days setting everything up is a game changer.
All bases can be viewed in the gallery at the top of this page.
This is the perfect moderate package for someone who wants to begin with a nice mixture of bases.
Included:
5 bases (copypaste files) for every difficulty difficulty loot tables for each difficulty base loot tables for every profile profiles for each difficulty the configuration file easy to understand instructions Free version note:
The free version can use this tier package, but it only supports one difficulty (Normal) and one Base Loot file. Remove all Base Loot files except the one you want all bases to use. You must also bypass the protection that prevents paid files from loading with the free version, which exists to stop paid users from accidentally erasing paid-only options by installing the free version over them. To bypass it intentionally, edit the config and rename the "Buyable Events" section on line 283 to "blah" or anything else. After that, the package will load with the free version. The paid version does not have these limitations and supports Easy, Medium, Hard, Expert, Nightmare, and custom difficulties. The tier package is still useful with the free version as it includes preconfigured files, copypaste files and works well for servers that manually enable and disable profiles to rotate through harder bases as the wipe progresses.
Paid plugin sold separately.
Instructions (available in zip file)
-
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
"Loot Required (SAR)"
"Foundations Required (SAR)"
"Walls Required (SAR)"
These options should be set realistically so that players cannot exploit the /sar command. I recommend Loot Required 100, Foundations Required 10, Walls Required 10 at minimum 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 event-opened 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, updated in 2.2.5)
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 OnBaseSkipped(Vector3 v, ulong userid, HashSet<ulong> owners, string reason, BuildingManager.Building building) { } void OnTugboatSkipped(Vector3 v, ulong userid, HashSet<ulong> owners, string reason, BaseEntity entity) { } void OnShelterSkipped(Vector3 v, ulong userid, HashSet<ulong> owners, string reason, BaseEntity entity) { } void OnAbandonedBaseStarted(Vector3 center, float radius, bool AllowPVP, List<BasePlayer> intruders, List<ulong> intruderIds, List<BaseEntity> entities, List<BuildingPrivlidge> privs, bool canDropBackpack, bool automatedEvent, bool attackEvent, Guid guid) { } void OnAbandonedBaseEnded(Vector3 center, float radius, bool AllowPVP, List<BasePlayer> participants, List<ulong> participantIds, List<BaseEntity> entities, List<BuildingPrivlidge> privs, bool canDropBackpack, bool automatedEvent, bool attackEvent, Guid guid) { } void OnAbandonedBaseTurretsInitialized(List<AutoTurret> turrets,Vector3 center, float radius, bool AllowPVP, ulong raiderId, bool CanDropBackpack, List<BaseEntity> entities, List<BuildingPrivlidge> privs, bool canDropBackpack, bool automatedEvent, bool attackEvent, Guid guid) { } void OnRaidableDespawnUpdate(Vector3 center, float radius, bool AllowPVP, ulong raiderId, DateTime DespawnDateTime, List<BasePlayer> intruders, List<ulong> intruderIds, List<BaseEntity> entities, List<BuildingPrivlidge> privs, bool canDropBackpack, bool automatedEvent, bool attackEvent, Guid guid) { } void OnPlayerEnteredAbandonedBase(BasePlayer player, Vector3 center, float radius, bool AllowPVP, List<BasePlayer> intruders, List<ulong> intruderIds, List<BaseEntity> entities, List<BuildingPrivlidge> privs, bool canDropBackpack, bool automatedEvent, bool attackEvent, Guid guid) { } void OnPlayerExitAbandonedBase(BasePlayer player, Vector3 center, float radius, bool AllowPVP, List<BasePlayer> intruders, List<ulong> intruderIds, List<BaseEntity> entities, List<BuildingPrivlidge> privs, bool canDropBackpack, bool automatedEvent, bool attackEvent, Guid guid) { } void OnAbandonedBaseCompleted(Vector3 center, float radius, bool AllowPVP, List<BasePlayer> intruders, List<ulong> intruderIds, List<BaseEntity> entities, List<BuildingPrivlidge> privs, bool canDropBackpack, bool automatedEvent, bool attackEvent, Guid guid) { } void OnAbandonedBaseClaimed(BasePlayer player, Vector3 center, float radius, bool AllowPVP, List<BasePlayer> participants, List<ulong> participantIds, List<BaseEntity> entities, List<BuildingPrivlidge> privs, bool canDropBackpack, bool automatedEvent, bool attackEvent, Guid guid) { } void OnAbandonedBaseClaimFailed(BasePlayer player, Vector3 center, float radius, bool AllowPVP, List<BasePlayer> participants, List<ulong> participantIds, List<BaseEntity> entities, List<BuildingPrivlidge> privs, bool canDropBackpack, bool automatedEvent, bool attackEvent, Guid guid) { } object OnBlockRaidableBasesTeleport(BasePlayer player, Vector3 to) => null; // return true to allow the blocked teleport, return a string to block with your message instead void OnAbandonedBasePrivilegeDestroyed(Vector3 center, float radius, bool AllowPVP, List<BasePlayer> intruders, List<ulong> intruderIds, List<BaseEntity> entities, List<BuildingPrivlidge> privs, bool canDropBackpack, bool automatedEvent, bool attackEvent, BuildingPrivlidge priv, bool areCupboardsTaken, Guid guid) { } void OnPlayerPvpDelayStart(BasePlayer player, ulong userid, Vector3 eventPos, float radius, List<BasePlayer> intruders, List<ulong> intruderIds, List<BaseEntity> entities, List<BuildingPrivlidge> privs, bool canDropBackpack, bool automatedEvent, bool attackEvent, Guid guid) { } void OnPlayerPvpDelayExpiredII(BasePlayer player, ulong userid, Vector3 eventPos, float radius, List<BasePlayer> intruders, List<ulong> intruderIds, List<BaseEntity> entities, List<BuildingPrivlidge> privs, bool canDropBackpack, bool automatedEvent, bool attackEvent, Guid guid) { } void OnPlayerPvpDelayReset(BasePlayer player, ulong userid, Vector3 eventPos, float radius, List<BasePlayer> intruders, List<ulong> intruderIds, List<BaseEntity> entities, List<BuildingPrivlidge> privs, bool canDropBackpack, bool automatedEvent, bool attackEvent, Guid guid) { } void OnAbandonedBaseDespawned(Vector3 eventPos, float radius, bool allowPVP, List<BasePlayer> intruders, List<ulong> intruderIds, List<BaseEntity> entities, Guid guid) { } object OnProcessPlayerEntity(BaseEntity entity, HitInfo info) => null; // cancel to prevent the plugin from handling this entity, though it can still be an event entity already in some cases void OnAbandonedBaseDespawn(List<BaseEntity> entities) { } // only called when a base is not eligible to convert void OnAbandonedBaseDespawn(Vector3 center, float radius, bool AllowPVP, List<BasePlayer> intruders, List<ulong> intruderIds, List<BaseEntity> entities, List<BuildingPrivlidge> privs, bool canDropBackpack, bool automatedEvent, bool attackEvent, Guid guid) { } void OnAbandonedBaseStart(Vector3 center, float radius, bool allowPVP, List<BasePlayer> intruders, List<ulong> intruders, List<ulong> intruderIds, List<BaseEntity> entities, bool canDropBackpack, bool automatedEvent, bool attackEvent, Guid guid) Added OnEntityEnteredAbandonedBase(BaseEntity entity, Vector3 center, float radius, bool allowPVP, List<BasePlayer> intruders, List<ulong> intruderIds, List<BaseEntity> entities, List<BuildingPrivlidge> privs, bool canDropBackpack, bool automatedEvent, Guid guid) Convert Bases and/or Claim Bases
Credits:
misticos for giving permission to use some of his code 🙂- #rust
- #rust plugin
- (and 6 more)