GangstaPichu's Wishlist
-
Enchanting
By imthenewguy in Plugins
Enchanting adds the ability for different types of weapons to be enchanted with over 29 specialized, unique abilities from freezing your target in place, to increasing the speed of your horse. Each enchantment is configurable and can be added to any weapon type, or even multiple times under the same weapon type with different durations/effect modifiers.
Enchanting an item requires a cost of runes, which are found from different sources. See the "Runes" section below for more information on how players obtain runes.
The plugin comes with a number of pre-made enchanted weapons, but you can add, remove or edit your own via the config file, allowing you to tailor this plugin for your on worlds.
Runes are required to enchant a weapon. The enchantment costs can be seen under each weapon, and must be in the players inventory when they attempt to enchant their weapon.
Runes drop from multiple sources, but each rune type has a uniquely flavoured drop source by default:
Ice Runes: Obtained while mining, woodcutting or picking floora (hemp, mushrooms, pumpkins etc) in the acrtic biome. Life Runes: Obtained from collecting floora in any biome. Death Runes: Obtained while harvesting the flesh of NPCs and animals. Fire Runes: Obtained while mining, woodcutting or picking floora in the arid biome (desert). Dark Runes: Obtained while mining, woodcutting or picking plants during the night (after 6pm, before 6am). Light Runes: Obtained while mining, woodcutting or picking plants during the day (between 6am and 6pm). Water Runes: Obtained while gutting fish or harvesting flesh from sharks. Runes can be adjusted, renamed and changed in the config file, and additional rune types can also be added, all of which can be assigned to any of the 15 drop sources.
There are 29 enchantments available as of version 1.0.0. These enchantements can be placed onto most held items, and can be activated as long as the player is not on cooldown.
The cooldown works as a global cooldown, meaning that if a player uses any enchantment, they cannot use another enchantment until their cooldown finishes.
Each weapon can have a unique cooldown period, allowing for more powerful enchantments to cause a longer cooldown, while having a shorter cooldown for less powerful ones.
To enchant an item, simply place it into a repairbench, which will trigger the "Enchanting" button to appear. Clicking this button will display all available enchantments for that particular item. Click the desired enchantment, click enchant and you are done!
All abilities require activation by pressing MOUSE3 (default) while the weapoin is active. Stowing or swapping the weapon so something else cancels the ability.
Command: inspect
Action: Shows the enchantment info for the active weapon.
Permission: none
Command: giverunes
Parameters: <Optional: quantity>
Action: Gives the user x amount of each rune.
Permission: enchanting.admin
Command: giverandomweapon
Action: Gives the user a random enchanted weapon.
Permission: enchanting.admin
Command (CONSOLE): generaterandomweapon
Parameters: <target name/ID>
Action: Gives the user a random enchanted weapon.
Permission: enchanting.admin
enchanting.admin - required for admin commands. enchanting.free - enchanting requires no runes. enchanting.create - required to see the enchanting menu appear in the repairbench menu. enchanting.nocooldown - no cooldown is applicable after activating an ability.
[1] Freeze: Freezes the target in place when hit for x seconds. [2] Slow: Prevents the target from running when hit for x seconds. [3] Inferno: Sets the target on fire when hit for x seconds. [4] Bleeding: Applies x bleeding stacks when hit for the duration. [5] Radiation: Applies x radiation stacks when hit for the duration. [6] Poison: Poisons the target, dealing x damage every y seconds for z cycles. They also vomit. [7] Indestructable: Prevents condition loss on the weapon for the duration. [8] Lifesteal: Returns x% of the damage dealt to a target, back to the attacker. [9] PVPDamage: Increases the damage versus players by x% for the duration. [10] PVEDamage: Increases the damage versus animals and scientists by x% for the duration. [11] Blind: Blinds the player for x seconds when hit. [12] Splinter: Damages all players within x meters of the target for y% of the damage dealt to the target. [13] Explosive: Spawns and detinates an explosive at the landing point of a projectile weapon for the duration. [14] Healing: Prevents the damage that would be done to the target by the attacker, instead healing them for x% of the damage that would have been done. [15] Sleep: Forces the target into the sleep state for x seconds when hit. [16] Fumble: The target's active item is moved into their inventory when hit. It is dropped to the ground instead of there is no room in the inventory. [17] Curse: When the target is hit, their screen quickly flashes purple and black and they take 0.6 damage every 0.2 seconds for the duration. [18] GatherYield: Gather yield is increased by x% for the duration when using this enchanted tool to harvest. [19] AnimalSpawn: Spawns an animal at the hit market (default wolf) for the duration. [20] ReduceDamage: While active, this ability will reduce incoming damage by x% for the duration. [21] HealSelf: Instantly heals the player for x health. [22] HealOthers: Instantly heals other players for x health that are within y meters. [23] BradleyCloak: Makes the player invisible to bradley tank for the duration. [24] FeatherFall: Prevents fall damage while active. [25] RadiationResist: Removes all radiation stacks once per second for the duration. [26] Spectre: Makes the player invisible to turrets and base defences for the duration. [27] HorseCrop: Increases the horses stats by x for the duration. Will affect any horse that the player climbs onto while active. Horses the player dismounts from will no longer be affected. [28] ScientistCloak: Makes the player invisible to scientists for the duration. [29] ElementalDamageResist: Makes the player immune to fire and cold damage for the duration. [30] DamageIncrease: Increases the damage of the weapon to everything by x% for the duration.
void GenerateRandomWeapon(BasePlayer player) //gives the player a random weapon.
-
Disbanded team restore
TL;DR: This plugin restores lost player teams after a server crash.
In some cases, after an unsuccessful shutdown or a server crash, all player teams get disbanded and no one knows why.
Facepunch knows about this issue for years but since it happens rarely and sporadically, it seems that they can't fix it.
This leads to many annoying problems like
- players can't open doors with locks that were placed by their (former) team mates and therefore will be trapped in the base until suicide (ingame)
- players are beeing attacked by their "own" turrets and traps
- players can't access the tool cupboard and chests since the building priviledge of the former team owner is not shared anymore.
How does it work?
This plugin is simple, has just four optional chat/console commands, one permissions and a very short configuration.
It just saves all Rust teams to a data file on the following events/hooks:
- OnServerSave
- OnTeamCreated (removed, unnecessary)
- OnTeamLeave (removed, unnecessary)
- OnTeamAcceptInvite (removed, unnecessary)
- OnTeamDisbanded (removed, unnecessary)
- OnTeamKick (removed, unnecessary)
- OnTeamPromote (removed, unnecessary)
- OnServerShutdown
- Unload
Only this last two hooks tell the plugin that the shutdown was sucessful and planned by setting a flag.
If the server (re)starts and this flag is NOT set, it knows that the server crashed or the process was killed.
In this case the plugin restores all teams and you are good to go.
Permissions:
DisbandedTeamRestore.admin
Player can list, disband and restore all teams
Commands:
/dtr.saveteams
Saves the currently existing teams to the data file
/dtr.restoreteams
Disbands all currently existing teams and restores the teams from the data file
/dtr.disbandteams
Disbands all currently existing teams
/dtr.listteams
Lists all teams with ID, leader and members. Outputs to chat, if ran by a player via ingame chat, or to server console if run from - you guessed it - the server console.
Config file:
"Keep all backups, not only the last" set to "true" will create a backup data file for the teams on every call of the above mention events/hooks, instead of just one backup file.
Don't worry, each file is only a few bytes in size, they won't bloat your hard drive.
Debugging/Troubleshooting:
By setting the variable "debug" to "true" (in the plugin file, not in the config file!) you can enable verbose logging into the server console.
Roadmap:
- Make it work with "Automatic authorization". Done. After the teams are restored, the players are automatically authorized on TCs, turrets and doors/locks if the plugin "Automatic authorization" is used
- Add a config option to force restore all teams on server start (even if the server did not crash)
- ...
Feel free to DM me your suggestions!
-
The Ferry
Spawn in the Nexus ferry and let players ride it around the map.
The ferry by default will make a stop at Ferry Terminal monument. You can add more stops to the map using the commands listed below.
You can add parented items to the ferry. By default there is some items in the config to see how its done.
It is recommended you create your own path for the ferry to follow. This is as easy as driving a boat around with the pathing tool this way you are sure there is a path point close to your docks turnaround point..
When creating a path make sure you mark on the map where you started so you can end your path close to where you started to continue the path loop. Also make sure to create your path in the direction cargoship drives.
Permissions
theferry.admin
ChatCommand
/ferry <killall, dock, path, dockpoint>
killall - Kills your ferry on the map.
dock - Spawns a dock in front of where your standing and looking for the ferry to dock at.
path - Pathing tool to create a path for the ferry to follow so you can get it close to there your docks are.
dockpoint - Tool used to create a dock point with out it spawning the dock useful for custom built docks.
{ "General Settings": { "Custom Path FileName": "CargoPath", "Custom Path Reverse/ Use if paths not in direction of cargoship": false, "How long to stay at dock in seconds": 300.0, "Ui OffsetMin": "380.8 325.0", "Ui OffsetMax": "680 350.0", "Use SafeZone": true, "SafeZone Radius": 75.0, "SafeZone Turret Scan Range": 20.0 }, "Radio Settings": { "Custom Path FileName": null, "Custom Path Reverse/ Use if paths not in direction of cargoship": false, "How long to stay at dock in seconds": 0.0, "Radio Enabled": true, "Radio Stations": { "Triple J": "http://live-radio01.mediahubaustralia.com/2TJW/mp3/", "Double J": "http://live-radio01.mediahubaustralia.com/DJDW/mp3/", "NPR": "https://npr-ice.streamguys1.com/live.mp3", "98.7 The Shark": "http://17643.live.streamtheworld.com/WPBBFM.mp3", "Magic Oldies Florida": "http://ais-edge07-live365-dal02.cdnstream.com/a46209", "Smooth Jazz Florida": "http://server.webnetradio.net:5120/", "Salsa Radio": "http://radio.domiplay.net:2002/;", "Radio Central": "http://philae.shoutca.st:8459/stream", "J Pop Project Radio - Global Edition": "http://bluford.torontocast.com:8085/stream", "Heart FM": "http://media-ice.musicradio.com/HeartLondonMP3", "Heart 80s": "https://media-ice.musicradio.com/Heart80sMP3", "Heart 90s": "https://media-ice.musicradio.com/Heart90sMP3", "Heart Dance": "https://icecast.thisisdax.com/HeartDanceMP3", "Heart 00s": "https://ice-sov.musicradio.com/Heart00sMP3", "Classical California KUSC": "http://playerservices.streamtheworld.com/api/livestream-redirect/KUSCMP32.mp3", "KEXP": "http://kexp-mp3-128.streamguys1.com/kexp128.mp3", "Sensimedia": " http://equinox.shoutca.st:9878/stream", "Rude FM": " http://sh-uk.audio-stream.com:8042/;", "WEFUNK": "http://s-00.wefunkradio.com:81/wefunk64.mp3", "Metal Rock": "http://listen.djcmedia.com/metalrockradiohigh", "Smooth Country": "https://media-ice.musicradio.com/SmoothCountryMP3", "Real Punk Radio": "http://s2.nexuscast.com:8080/stream", "World Music Radio": "http://stream.wlmm.dk:8010/wmrmp3", "Jazz FM": "http://46.10.150.243/jazz-fm-lounge.mp3" } }, "Parent Entitys": { "Parents Entitys": { "SirenLight1": { "prefab": "assets/prefabs/deployable/playerioents/lights/sirenlight/electric.sirenlight.deployed.prefab", "localPosition": "0.0, 10.38, 9", "rotation": "0, 0, 0" }, "cardtable": { "prefab": "assets/content/vehicles/trains/caboose/cardtable.caboose_static.prefab", "localPosition": "-5.3, 3.5, -7.0", "rotation": "0, 90, 0" }, "blackjackmachine": { "prefab": "assets/content/vehicles/trains/caboose/blackjackmachine/blackjackmachine.static.prefab", "localPosition": "5.8, 3.5, -11.0", "rotation": "0, 90, 0" }, "slotmachine": { "prefab": "assets/content/vehicles/trains/caboose/slotmachine.caboose_static.prefab", "localPosition": "5.0, 3.9, -8.9", "rotation": "0, -90, 0" }, "slotmachine1": { "prefab": "assets/content/vehicles/trains/caboose/slotmachine.caboose_static.prefab", "localPosition": "5.0, 3.9, -7.7", "rotation": "0, -90, 0" }, "slotmachine2": { "prefab": "assets/content/vehicles/trains/caboose/slotmachine.caboose_static.prefab", "localPosition": "5.0, 3.9, -1.0", "rotation": "0, -90, 0" }, "slotmachine3": { "prefab": "assets/content/vehicles/trains/caboose/slotmachine.caboose_static.prefab", "localPosition": "-5.0, 3.9, -0.3", "rotation": "0, 90, 0" }, "slotmachine4": { "prefab": "assets/content/vehicles/trains/caboose/slotmachine.caboose_static.prefab", "localPosition": "-5.0, 3.9, 0.8", "rotation": "0, 90, 0" }, "bigwheelbettingterminal1": { "prefab": "assets/prefabs/misc/casino/bigwheel/bigwheelbettingterminal.prefab", "localPosition": "1.4, 3.49, -4.69", "rotation": "0, 165, 0" }, "bigwheelbettingterminal2": { "prefab": "assets/prefabs/misc/casino/bigwheel/bigwheelbettingterminal.prefab", "localPosition": "1.9, 3.49, -6.5", "rotation": "0, -15, 0" }, "bigwheelbettingterminal3": { "prefab": "assets/prefabs/misc/casino/bigwheel/bigwheelbettingterminal.prefab", "localPosition": "1.4, 3.49, -4.15", "rotation": "0, 15, 0" }, "bigwheelbettingterminal4": { "prefab": "assets/prefabs/misc/casino/bigwheel/bigwheelbettingterminal.prefab", "localPosition": "1.9, 3.49, -2.25", "rotation": "0, 195, 0" }, "bigwheel": { "prefab": "assets/prefabs/misc/casino/bigwheel/big_wheel.prefab", "localPosition": "4.522, 5.1, -4.3", "rotation": "180, 0, 90" }, "sofa_pattern1": { "prefab": "assets/bundled/prefabs/static/sofa_pattern.static.prefab", "localPosition": "1.0, 3.49, -3.0", "rotation": "0, 105, 0" }, "sofa_pattern2": { "prefab": "assets/bundled/prefabs/static/sofa_pattern.static.prefab", "localPosition": "1.0, 3.49, -5.8", "rotation": "0, 75, 0" } } }, "Version": { "Major": 1, "Minor": 0, "Patch": 7 } }
-
Stash Warning System
Assists in finding ESPers that unearth stashes, it also allows admins to make placing bait stashes easy and simple, by automatically filling predefined items in random, and disables the ability for admins to accidentally unearth stashes whilst enabled. It will also automatically delete all contents of an admin stash when unearthed, which assists in admin abuse and/or exploitation of hackers.
Supports Auto Demo Recorder (ADR)
Supports Better Ban System
Supports Server Armour
Features:
Notifies to discord when stashes are found which doesn't belong to players (or clan if using the clan plugin) Records the number of stashes found in a certain, configurable timeframe. Sends discord notifications when the above happens Admins can place "server" stashes, and they will be auto-filled with the /stash command. When a player unearths said stash, the contents will be automatically removed. Stashes can also be autogenerated and placed automatically. And can be replaced as they are found in another random location. It auto bans based on condition. Example: If a player finds 5 stashes that don't belong to them within 1 hour, they are auto-banned with a preset reason. It works with ADR as well and can trigger demo recordings based on conditions It works with ServerArmour to handle bans, else native bans. Battlemetrics will soon be supported. Permissions:
stashwarningsystem.admin - allows admins to use the stash placement system.
Chat Commands:
/stash - Enables manual stash placement tool. Stashes cannot be unearthed when enabled and stashes will be automatically given.
/stashshow- Toggles On/Off - Will show admin the location of all plugin related stashes.
/stashdestroyall - This will destroy all server stashes create by, or with this plugin.
/genstashes- This will force generate all stashes that are missing.
/regenstashes- This will remove, and then replace all stashes from this plugin.
Config explanations:
"API: ADR reason"
The reason that will be given to ADR, and is sent to discord along with the recording.
"API: ADR recording length in mins"
How long the recording should be in minutes.
"API: ADR Trigger recording when stashes found/triggered more than"
When the recording should trigger, Example: If set to 1, the recording will trigger when the player has triggered/unearthed 2 stashes.
"Discord: Color"
Color for the embed message, see here https://gist.github.com/thomasbnt/b6f455e2c7d743b796917fa3c205f812
"Discord: Embed Title"
The title of the embed inside discord.
"Discord: Send Stash Toggle Msgs"
If notifications should be sent to discord when an admin toggles the stash command.
"Discord: Webhook Server Name"
The server where the notification is sent from, useful for when you have multiple servers.
"Discord: Webhook URL"
https://support.discordapp.com/hc/en-us/articles/228383668-Intro-to-Webhooks
"SteamID for in-game chat icon."
This will be used to assign against placed stashes for tracking. Do not change this to a user on the server, leave as is if you don't have another steamid.
"Embed count buckets in hours"
This should be a string, comma-separated. This will be the bucket embeds in discord, to show the count of stashes found for the user, inside the hour brackets.
Example: 0, 24, 1 = would give you a count for all stashes, stashes in the last hour, and stashes in the last 24hours. See below
"Stash Items"
The items that you would like to be automatically filled when a stash is placed. The number would be the max quantity, this will be randomized when placing in a stash to remove predictability.
"Stash Item Slots To Fill: Max"
The maximum amount of slots to fill
"Stash Item Slots To Fill: Min"
The minimum amount of slots to fill
A random value will be chosen between the above two values.
"Auto Ban False Positive Distance"
Default: 5 - Stashes found in this distance will be considered false positives. (Useful where multiple stashes are unearthed in one spot.)
"Auto Ban False Positive - Include in count?"
If the above false positives should be counted in the triggers. This affects auto bans as well.
"Ignore Admins"
If admins should be ignored when unearthing stashes not belonging to them.
"Auto Ban Delay In Min"
Delays auto bans by X minutes.
"Delete found server stash after X seconds (0 = Disables)"
Will automatically delete server stashes that were found, after X seconds.
-
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 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)
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)