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
Premium Item Skinning · Oxide + Carbon SKINNER v3.1.6 Skin every item like it’s worth keeping — 60x faster, 200x leaner.
The unrivalled no.1 performance skinning plugin. Skin any item in the game with a unique skinbox — live skinning, auto skinning, and skin sets.
The numbers, not the noise Measured, not marketed
Skinner 2.0 delivers unrivalled efficiency. In standard testing versus the closest performing plugin, runtime was 60x faster and memory use 200x more efficient.
What’s new in 3.0 Skinner 3.0 is here — a full visual overhaul with dynamic, permission-based UI menus.
✓Visual overhaul with dynamic, permission-based UI menus ✓Automatic skin filtering and dev modes for the new TOS ✓Permission-based skin sets ✓Team-share skins ✓Auto-unlock owned skins Features Everything skinner does
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 skin sets for any item. Skin requests Players request skins; admins approve them in game. Auto skins Apply selected skins to every item that enters your inventory. Team share Skin your whole team’s inventory from your own sets. See it running Live demo
Live-skin any item in your inventory. Skin deployables you’re looking at. Commands Every command
Skin menu
/skin /s, /skinbox, /sb Live-skin any item in your inventory by picking a skin. /skincraft /sc Build skin sets used by the auto, team, and base commands. /skinitem /si, /skindeployed, /sd Skin a deployable you are looking at. Args: 1, 2 or 3 to use a skin set. Automatic
/skincon /scon Skin every item in the container you are looking at. Args: 1/2/3 (optional). /skininv /sinv Skin every item in your inventory. Args: 1/2/3 (optional). /skinauto /sauto Auto-skin every item as it enters your inventory. Args: 1/2/3 (optional). /skinteam /st Skin your inventory and your team’s. Args: 1/2/3. Use /skinteam toggle to opt in or out. /skinbase /skinbuilding Skin all deployables in your base. Args: item filter, e.g. /skinbase sleepingbag. /skinall /sa Skin all items in every container in your base. Args: shortname, e.g. /skinall rifle.ak. /skinset /ss Set your currently selected skin set. Import & requests
/skinimport /sip Import a custom workshop skin. Args: WorkshopID, e.g. /skinimport 2397648701. /colimport /cip Import a workshop collection. Args: Collection ID, e.g. /colimport 2921147807. /skinrequest /sr Request a skin be added — shows in the requests box. Args: WorkshopID. /skinrequests /srs Open the approval box. Try = copy the item, Approve = add the skin, Deny = remove it. Permissions Grant exactly what you want
Player
skinner.default /skin skinner.items /skinitem skinner.craft /skincraft skinner.skinauto /skinauto skinner.skincon /skincon skinner.skininv /skininv skinner.skinbase /skinbase skinner.skinteam /skinteam skinner.skinall /skinall skinner.skinrequest /skinrequest Admin
skinner.import Enables /skinimport, /colimport, and /skinrequests. skinner.bypassauth Skips the building-auth check when using /skinitem. skinner.permskintry Enables Try in /skinrequests. Trying a skin copies the item — admins only. Auto-assigned
skinner.skinautotoggled A player disables skinauto. skinner.skinteamblock A player opts out of team skins. Cooldowns Grant skinner.<command><seconds> (e.g. skinner.default30) to enforce the cooldowns set in the config. No cooldown permission = no cooldown. If a player has several, the shortest wins. Importing skins Five ways to add skins
Via config Add workshop IDs to the Imported Skins List; reload and shortnames/display names auto-populate. Via collections Add whole workshop collection IDs; every skin imports automatically on load. Via commands /skinimport <WorkshopID> and /colimport <CollectionID> from chat, the F1 console, or RCON. Via skin requests Players /skinrequest; admins Try/Approve/Deny in the requests box. Requests log to a Discord webhook. From other plugins Convert data from SkinBox, xSkins, and SkinController with the SkinDataConverter tool, then paste into the config. Get the converter → Configuration Tune every behaviour
{ "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, "Override spraycan behaviour": false, "Use spraycan effect when holding spraycan and skinning deployables": true, "Blacklisted Skins (skinID)": [], "Blacklisted Items (itemID)": [], "Import Skin collections (steam workshop ID)": [], "Imported Skins List": { "861142659": {}, "2617744110": {} } } Developer API Hook into Skinner
A small, stable surface for reading the cached skin data and resolving redirect items from your own plugin.
//Get all cached skins public Dictionary<int, List<ulong>> GetAllCachedSkins() => _cachedSkins; //Check if a skin is a redirect item public bool IsRedirectID(ulong uID) => HasMask(uID); //Convert a redirect ID to its item ID public int RedirectIDtoItemID(ulong uID) => (int)UnsetMask(uID); //Get the list of skins for an item public List<ulong>? GetSkinsItemList(int itemid) { _cachedSkins.TryGetValue(itemid, out List<ulong>? cachedSkins); return cachedSkins; } Watch See Skinner in action
http://youtu.be/ewKlNILTwv8
Skin every item like it’s worth keeping.
The unrivaled no.1 performance skinbox for Rust — 60x faster, 200x leaner. Oxide + Carbon.
Join the Discord → Skinner v3.1.6 · by Whispers88 · Oxide + Carbon · 5/5 from 50 reviews · 69 versions · on Codefling since March 2022 -
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 | EnteredDeepSea | LeftDeepSea | 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
"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)