Mighty3z's Wishlist
-
Boss Monster
This plugin adds to the game a variety of NPC bosses with different abilities and a very adaptable configuration
Description
Using this plugin you can add NPC bosses to any point on the map. You can set up any ability with the plugin configuration. If it is necessary, you can add multiple abilities to one boss.
Abilities are divided into two categories, ones take place in a certain radius from the NPC, and others are triggered by damaging from an NPC.
The map also displays the location of the actual bosses (their name and amount of health).
You can give any clothes and weapons for NPCs using the configuration.
Custom Map
Maps that have a configuration for the appearance of boss on their custom monuments
You can also download all these files for all maps here
Dark Ages Blue Tears All files for custom maps are stored in the folder oxide/data/BossMonster/CustomMap. You don't have to delete files from there, the plugin will understand by itself which map is currently installed on the server and will download only the necessary file if there is one in this folder. The plugin will tell you about this process in the console during the plugin loading. It will write in the console what file works on the current map, and what ones don’t work
If you want to create a custom place for the boss to appear on your custom map or on a map that is not in this list, you have to create the ID of this custom map. After that you need to place an item such as a RAND Switch on your map. It must be placed randomly, where it will not be visible to other players. You will get the identifier, if you add up the three coordinates of the position of this object from RustEdit (x, y and z) and write the resulting value in the parameter of your file (an example file can be taken from ready-made files) - ID
As an example, let's take the coordinates (26.896, -456.158, 527.258), then our identifier is 26.896 - 456.158 + 527.258 = 97.996
Then you need to indicate a list of bosses that will appear on your map. You need to copy the configuration data block for each boss. In the database parameters you will specify the name of the boss and a list of positions where it can appear
Dependencies (optional, not required)
GUI Announcements Notify Discord Messages AlphaLoot CustomLoot Economics Server Rewards IQEconomic PveMode
Chat commands (only for administrators)
/WorldPos - displays the actual player’s position on the map
/SavePos <name> - saves a new position to the configuration file for the boss with the name - name, relative to the nearest monument
/SpawnBoss <name> - spawn of the boss with the name - name in the coordinates of the administrator
Console commands (RCON only)
SpawnBoss <name> – spawn of the boss with the name – name
KillBoss <name> – kill all bosses with the name – name
Plugin Config
en - example of plugin configuration in English ru - example of plugin configuration in Russian
Boss Config
en - example of plugin configuration in English ru - example of plugin configuration in Russian
Custom Map Config
en - example of plugin configuration in English ru - example of plugin configuration in Russian
Hooks
void OnBossSpawn(ScientistNPC boss) - Ñalled when a boss appears on the map
void OnBossKilled(ScientistNPC boss, BasePlayer attacker) - Ñalled when a player kills a boss
API
ScientistNPC SpawnBoss(string name, Vector3 pos) - spawns a boss named name in position pos
void DestroyBoss(ScientistNPC boss) - destroys the boss
My Discord: KpucTaJl#8923
Join the Mad Mappers Discord here!
Check out more of my work here!
- #abilities
- #boss
- (and 16 more)
-
Harbor Event
Creates a unique event at the Harbor monument for players to participate in for rewards. Players must battle numerous NPCs and APCs to access the puzzle to open the loot room!
Description
This event started off as a warning on the chatbox about the ships coming soon to dock in Port, loaded with precious cargo. After the period has passed, a ship appears in one of the locations at Harbour that are accessible from the map, where the crane loads the container.
The loading area is protected by one Tank and 7 NPCs by default. The container door is locked, you must push a button from inside the cranes cockpit to open the door. Inside the container, there is a default security camera, locked box, 2 DMS, 2 Elite, and 2 Military boxes.
The locations and loot from all crates/NPCs can be configured within configurations, and unwanted crates/NPCs added or removed. Also, ships will generate the default ship loot, e.g. The config file allows to modify tank as well as loot inside of the ship.
When the event occurs, the map displays the markers (configured in the config file). All players that are inside the event area will have a timer counting down the amount of time until the event ends.
Dependencies Required
NpcSpawn
Dependencies (optional, not required)
True PVE PveMode GUI Announcements Notify Discord Messages AlphaLoot CustomLoot NTeleportation HeliControl Economics Server Rewards IQEconomic Kits
Chat commands (only for administrators)
/harborstart – starting of the event
/harborstop – ending of the event
/harborpos – determining the position and rotation coordinates for changing the location of NPCs and crates.It should write in the configuration (Attention! The event must be started, the current position of the administrator in relation to the cargoship is read)
Console commands (RCON only)
harborstart – starting of the event
harborstop – ending of the event
Plugin Config
en - example of plugin configuration in English ru - example of plugin configuration in Russian
Hooks
void OnHarborEventStart() – called when the event starts
void OnHarborEventEnd() – called when the event ends
void OnHarborEventWinner(ulong winnerId) – called at the end of the event, where the winnerId is the player who did more actions to complete the event
My Discord: KpucTaJl#8923
Join the Mad Mappers Discord here!
Check out more of my work here!
-
Skinner
By Whispers88 in Plugins
Skinner! The unrivaled no.1 performance skinning plugin. Skin any item in the game with a unique skinbox giving you live skinning, auto skinning and skin sets.
Live Skinning - Skin items in place without moving them Auto import - Automatically import and use all game approved skins Skin Sets - Create a variety of different skin sets for any item Skin Requests - Allows players to request and Admins to accept new skins in game Auto Skins - Automatically apply selected skins to every item that enters your inventory
Skinner 2.0 offeres unrivaled performance in plugin efficiency. Our standard testing shows runtime results were 60x faster and memory usage was 200x more efficient than the closest peforming plugin.
SkinMenu Commands:
/Skin or /S - Live skin any item in your inventory by selecting a skin you wish to apply /SkinCraft or /Sc - Create multiple skin sets for use in other functions such as skinauto or skinteam /Skinitem or /Si - Skin a deployable item you are looking at ingame. Args - Spectify 1, 2 or 3 to automatically use a skin set. Automatic Commands:
/Skincon or /scon - sets all items in a container you are looking at to your default craft set Args - Optional, spectify 1, 2 or 3 to automatically use a skin set. /Skininv or /sinv - sets all items in your inventory to your default craft set Args - Optional, spectify 1, 2 or 3 to automatically use a skin set. /Skinauto or /Sauto - Automatically apply selected skins to every item that enters your inventory based off your skin sets. Args - Optional, spectify 1, 2 or 3 to automatically use a skin set. /Skinteam or /st - sets all items in your inventory and your teams to your default craft set Args - Optional, spectify 1, 2 or 3 to automatically use a skin set. Toggle - Use /skinteam toggle to opt in or out of the team skin set /SkinBase - Allows you to skin all deployables in your base to your default skincraft skins. Args - Optional, specify item name to filter items being skinned example: /Skinbase sleepingbag to only skin sleeping bags. /SkinAll Command - Skin all the items in all the containers in your base. Args - Optional, specify item by shortname example: /SkinAll rifle.ak to only skin ak47's. Skin Import Commands:
/Skinimport or /sip - Import custom workshop skins Args - WorkshopID example: /Skinimport 2397648701
/Colimport or /cip - Import custom workshop collection using /skinimport collectionID Args - Collection ID example: /Colimport 2921147807
/Skinrequest or /Sr - Request a skin to be added to skinner, requested skins will show in the /Skinrequests UI for approval Args - WorkshopID example: /Skinrequest 2397648701
/Skinrequests or /Srs - Opens the the skinner menu with a box of skins awating approval Button Usage - Select an option and remove the skin to enact the process
Try - Recieve a copy of an item with that skin
Approve - Adds the skin from the menu to the imported skins list
Deny - Removes the skin Note: All chat commands are universal meaning they can be used via the console, rcon(for import commands) and can be customized via the configuration.
Player Permissions:
Skinner.default - enables /skin command Skinner.items - enables /skinitem command Skinner.craft - enables /skincraft command Skinner.skinauto - enables /skinauto command Skinner.skincon - enables /skincon command Skinner.skininv - enables /skininv command Skinner.skinbase - for use of the /skinbase command Skinner.skinteam - Allows the use of the /skinteam command Skinner.skinall - for the use of the /skinall command Skinner.skinrequest - enables /skinrequest Cooldowns Permissions:
Cooldown settins can be adjusted via the plugin config. Applying the cooldown permission example skinner.default30 will enforce cooldowns on those with the permission. If no cooldown permission is applied no cooldowns will be enforced. If multiple cooldown perms are assigned to a single player they fastest cooldown will be used.
"Command based cooldowns ('permission' : 'command' seconds": { "Default30CD": { "skin": 30.0, "skinitem": 30.0, "skincraft": 30.0, "skincon": 30.0, "skininv": 30.0, "skinteam": 30.0, "skinbase": 60.0, "skinall": 60.0 } Admin Permissions:
Skinner.import – enables /Skinimport, /Colimport and /Skinrequests Skinner.bypassauth - bypasses the building auth requirement when using /Skinitem Skinner.permskintry - enables try feature when using /Skinrequests Warning: trying a skin will make a copy of that item. Only give this perm to admins who are allowed to spawn items. Other Permissions:
Skinner.skinautotoggled - applied when a player disables skinauto Skinner.skinteamblock - applied when a player disables team skins
Skinner offers multiple ways of importing skins including via the config and through commands:
Importing via the config:
To import skins via the config insert workshopIDs into the imported skins list as per the code snippet below, once finished reload skinner and the shortname and displayname fields will be automatically populated. You can add extra skins at any stage using this method.
"Imported Skins List": { "861142659": {}, "2617744110": {} },
Optionally entire workshop skin collections can be added to conifg, each item skin is automatically imported to your imported skins list on plugin load.
"Import Skin collections (steam workshop ID)": [496517795,2921147807],
Importing via commands:
Commands can be used to edit the config options for imported skins and collections via RCON, chat commands and the f1 console. Commands include:
/Skinimport WorkshopID /Colimport CollectionID Importing via Skin Requests:
Players can requests skins to be added to the game using the skinrequests feature. By using the command /skinrequest WorkshoID a skin gets automatically uploaded to the skin requests box. Admins with the skinner.import permission can open the requests box with the /skinrequests command.
Skins from the request box can then be "tried" approved or denied.
Each skin requested can be logged to discord using the webhook in the config.
Importing from other plugins:
Skinner now has a tool for windows to import data from skinbox, xskins and skincontroller. Simply select your json data file with imported skins into the tool and copy the new imported skins list into the skinner config.
https://github.com/Whispers88/SkinDataConverter/releases/tag/Main
Note: The "Imported Skins (skinid : 'shortnamestring', skinid2 : 'shortnamestring2'": {}" is now redundant and automatically converted to imported skins list.
{ "Skin Commands (skin items in you inventory": [ "skin", "s", "skinbox", "sb" ], "Skin Items Commands (skin items you have already placed": [ "skinitem", "si", "skindeployed", "sd" ], "Set default items to be skinned": [ "skincraft", "sc" ], "Automatically set all items in you inventory to your default skins": [ "skininv", "sinv" ], "Automatically set all items a container to your default skins": [ "skincon", "scon" ], "Automatically skin all deployables in your base": [ "skinbase", "skinbuilding" ], "Automatically skin all items in your base": [ "skinall", "sa" ], "Automatically skin all items that are moved into you inventory": [ "skinauto", "sauto" ], "Skin your teams inventories with your skin set": [ "skinteam", "st" ], "Request workshop skins via workshop ID": [ "skinrequest", "sr" ], "Approve workshop skin requests": [ "skinrequests", "srs" ], "Set your selected skin set": [ "skinset", "ss" ], "Import Custom Skins": [ "skinimport", "sip" ], "Import Workshop Collection Command": [ "colimport", "cip" ], "Skin Request Notification Discord Webhook": "", "Custom Page Change UI Positon anchor/offset 'min x, min y', 'max x', max y'": [ "0.5 0.0", "0.5 0.0", "198 60", "400 97" ], "Custom Searchbar UI Positon anchor/offset 'min x, min y', 'max x', max y'": [ "0.5 0.0", "0.5 0.0", "410 635", "572 660" ], "Custom Set Selection UI Positon anchor/offset 'min x, min y', 'max x', max y'": [ "0.5 0.0", "0.5 0.0", "250 610", "573 633" ], "Auto import approved skins": true, "Remove player data after inactivity (days)": 14, "Apply names of skins to skinned items": true, "Add Search Bar UI": true, "Use on itemcraft hook (skin items after crafting - not required when using skinauto)": false, "Override spraycan behaviour": false, "Use spraycan effect when holding spraycan and skinning deployables": true, "Blacklisted Skins (skinID)": [], "Blacklisted Itemms (itemID)": [], "Import Skin collections (steam workshop ID)": [], "Command based cooldowns ('permission' : 'command' seconds": { "Default30CD": { "skin": 30.0, "skinitem": 30.0, "skincraft": 30.0, "skincon": 30.0, "skininv": 30.0, "skinteam": 30.0, "skinbase": 60.0, "skinall": 60.0 } }, "Imported Skins List": {} }
//Get all Cached skins public Dictionary<int, List<ulong>> GetAllCachedSkins() { return _cachedSkins; } //Check if skin is a Redirect item public bool IsRedirectID(ulong uID) { return HasMask(uID); } //Convert Redirect ID to item ID public int RedirectIDtoItemID(ulong uID) { return (int)UnsetMask(uID); } //Get a list of skins for a particular item public List<ulong>? GetSkinsItemList(int itemid) { _cachedSkins.TryGetValue(itemid, out List<ulong>? cachedSkins); return cachedSkins; }
-
Automated Messages
Automated chat messages based on chat keywords, timer or various other triggers. Plugin comes with an easy to use Admin UI for complete setup, and supports special localization for your messages. You can define messages to be sent only to specific Groups or Permissions, and you can allow players to toggle on/off messages if they do not find them useful.
SUPPORTED TRIGGERS If what you need is not here and still falls under the scope of the plugin description, reach out to me
Timed | ChatCommand | AutoReply | NewPlayerJoined | PlayerConnected | PlayerDisconnected | PermissionGranted | PermissionRevoked | AddedToGroup | RemovedFromGroup | PlayerDead | CrateHacked | EnteredZone | LeftZone | EnteredMonument | LeftMonument
COMMANDS
/am.edit - (Admin UI for complete setup) - requires automatedmessages.admin permission /tips - (Player command for toggling on/off messages) command can be changed in the config file
MESSAGES LOCALIZATION
You can switch between languages in Admin UI to setup localized replies for every language the game supports. Check config section below for how to add languages.
Game Tips
You can utilize Rust's native game tip UI to show specific messages instead or along with sending it to chat.
VARIABLES
Variables can be included in the messages text to show further info based on the trigger or player. The plugin also supports https://umod.org/plugins/placeholder-api with the extensive list of variables it brings.
{playername} {playerid} - Player steam id {playercountry} {hacklocation} - Specific to messages with type CrateHacked {wipetimeremaining} - Days/Hours till wipe (based on rust convar settings if a missile silo monument is present) {online} - # of players online {sleeping} - # of players sleeping {joining} - # of players joining
CONFIG SETTINGS Below are only settings not currently available in Admin UI, highly recommended to edit triggers or actions using /am.edit
Chat Icon (Steam Id) - Icon that will be used for all messages sent by the plugin, must be a steam id. Toggle Chat Command - "tips" - Chat command that allows a player to toggle on/off messages. AutoReply Cooldown (in seconds) - Per action cooldown timer when players type a keyword set. ChatCommand Cooldown (in seconds) - Per player cooldown timer when a player types a chat command. ZoneManager Cooldown (in seconds) - Per player cooldown timer on enter or exit zone. MonumentWatcher Cooldown (in seconds) - Per player cooldown timer on enter or exit monument. Replies Server Languages - Languages your server will support. Available options: af, ar, ca, cs, da, de, el, en-PT, en, es-ES, fi, fr, hu, it, ja, ko, nl, no, pl, pt-PT, pt-BR, ro, ru, sr, sv, tr, uk, vi, zh-CN, zh-TW Default Server Language - Fallback language if player client language had no available replies, you must have at least one reply for this language for the action to function. AutoReply `Broadcast to all` option to broadcast to team only if keywords sent from team chat - true/false -
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)