BigBroGamerUK's Wishlist
-
Dynamic Monuments
DynamicMonuments is a groundbreaking plugin for Rust servers that breathes new life into your maps!
Say goodbye to tedious manual map editing or relying on RustEdit.
With just a few clicks, your server will be transformed, featuring 18 unique monuments that blend seamlessly into any environment.
Key Features:
Dynamic Spawning:
- Monuments can spawn randomly during wipes or with each server restart (optional)
- Customize spawn frequency and zones through the plugin's configuration
- A variety of monument complexities, ranging from cozy hideouts to sprawling fortresses
18 Unique Monuments:
- Water Monuments
- Coastal Monuments
- River Monuments
- Roadside Monuments
- Modifications for Standard Monuments: (Metro entrances, power line towers, substations, quarries, and more).
Personalization:
- Give players personal monuments
Versatility:
- Compatible with both custom and procedural maps.
- Automatically adapts to terrain, water, and roads.
- No RustEdit required! Everything is managed through the plugin's configuration.
Giving a monument to a player
9 out of 18 monuments can be given to players for personal placement.
The dynamic monument is represented as a flare with a unique skin, which can be given to players in any way, such as through an in-game store.
To spawn the monument, the player must hold the flare and find a suitable location, receiving instructions in the chat and notifications.
Once placed, the monument is locked to the player, and only they can loot it.
Chat commands (admin only)
/killmonument - destroys the DynamicMonument you're looking at /replacecrate NewCratePresetName - replaces the crate you're looking at on the location with NewCratePresetName /spawnmonument PresetName - spawns a monument in a random position /spawnmonumentmypos PresetName - spawns the monument in your position /killallmonuments - destroys all DynamicMonuments on the server /respawnmonuments - forcibly launches automatic respawn of DynamicMonuments /givemonument PresetName - give the monument to yourself /addprefabspawnpoint PresetName — adds a crate or static NPC spawn point to a monument at your current position (only for Static Npc and crates) /removemonumententity command — removes entity spawn point you're looking at. (only for StaticNpc/crates/Entities for respawn) Console commands (RCON only)
spawnmonument PresetName - spawns a monument in a random position killallmonuments - destroys all DynamicMonuments on the server respawnmonuments - forcibly launches automatic respawn of DynamicMonuments givemonument PresetName userID - give the DynamicMonument to the player Plugin Config
en – example of plugin configuration in English ru – example of plugin configuration in Russian
Check out the rest of my work: Adem's Codefling Library
You can reach out to me in Discord: Adem's Discord Profile
Join the Mad Mappers Discord!
-
Mining Event
Adds an exciting event for players to your server. Once the event starts, players will be able to get more loot by mining ore and finding small stashes with loot underneath it. The event has an interface with a table. The event is easily configured and can be triggered automatically or by command. You can reward the winners with special prizes, for example, an item with a unique name and skin (only for items with stacks of size 1).
Commands (admin only):
/mie_start - starts an event
/mie_stop - starts an event
/mie_forcestart - force the event to start
Config:
{ "Autostart event(disable if you want to trigger the event only manually)": true, "Minimum time to event start(in seconds)": 900, "Maximum time to event start(in seconds)": 10800, "Minimum event duration(in seconds)": 300, "Maximum event duration(in seconds)": 900, "Minimum number of online players to trigger an event": 1, "Pre-event message": "Mining event will start in a minute", "Pre-event message time(in seconds)": 60, "Event message": "Mining event has started, go and get all the ore!", "End event message": "Mining event ended", "Display a table with player names": true, "Resource multiplier during the event": 2.0, "Spawn a small stash under the ore": true, "Small stash items list": [ { "prefabName": "scrap", "dropChance": 100, "min": 4, "max": 8, "skinID": 0, "displayName": "" }, { "prefabName": "metal.fragments", "dropChance": 100, "min": 100, "max": 200, "skinID": 0, "displayName": "" } ], "Small stash removal time(in seconds)": 60, "First place prize(items list)": [ { "prefabName": "scrap", "dropChance": 100, "min": 200, "max": 400, "skinID": 0, "displayName": "" }, { "prefabName": "metal.fragments", "dropChance": 100, "min": 1000, "max": 2000, "skinID": 0, "displayName": "" }, { "prefabName": "rifle.ak", "dropChance": 10, "min": 1, "max": 1, "skinID": 809190373, "displayName": "AK" } ], "Second place prize(items list)": [ { "prefabName": "scrap", "dropChance": 100, "min": 100, "max": 200, "skinID": 0, "displayName": "" }, { "prefabName": "metal.fragments", "dropChance": 100, "min": 500, "max": 1000, "skinID": 0, "displayName": "" } ], "Third place prize(items list)": [ { "prefabName": "scrap", "dropChance": 100, "min": 50, "max": 100, "skinID": 0, "displayName": "" }, { "prefabName": "metal.fragments", "dropChance": 100, "min": 250, "max": 500, "skinID": 0, "displayName": "" } ] }
-
Cargo Plane Crash
Adds a cargo plane crash event to your server. The crash site is guarded by NPCs that patrol the area and can chase players.
You can also set up custom loot using the "SimpleLootTable" plugin.
Features:
Support for third-party plugins Great customization options in the config
Console commands:
callcargoplane - force the event to start callcargoplane {steamID} - the event will be reserved for one player crashcargoplane - force a cargo plane to crash cpc_stop - force the event to end
Chat commands(need admin privileges):
showcrashzone - displays the crash area setcrashzonecenter - set the center of the crash zone to where the player is callcargoplane - force the event to start crashcargoplane - force a cargo plane to crash cpc_stop - force the event to end cpc_add_crashzone - adds a new zone at the location where the player is, can be used if you use multiple zones(you can set the name and radius - /cpc_add_crashzone "name" "radius") Hooks:
void CargoPlaneCrashStarted() // called when the event starts
void CargoPlaneCrashCrashed() // called when a cargo plane crashes
void CargoPlaneCrashEnded() // called when the event ends
CargoPlaneCrash config:
{ "PVE mode (crates can only be looted by the player who first dealt damage to the NPC)": false, "Give event ownership to the owner's teammates if he is no longer the owner. Only if teammates are within the event radius (for PVE mode)": true, "Radius for event(for PVE mode)": 380, "Create a dome for PVE mode": false, "Dome transparency (the higher the value, the darker the dome, recommended 4)": 4, "Time after which the owner of the event will be deleted if he left the dome or left the server (for PVE mode)": 300, "Message when a player enters the event dome(only for PVE mode if there is a dome)": "You have entered the Cargo Plane Crash Event", "Message when the event owner leaves the event dome (only for PVE mode if there is a dome)": "Return to the event dome, otherwise after 300 seconds you will no longer be the owner of this event", "Do not allow other players into the event(only for PVE mode if there is a dome) Be careful, if the crash site is near the player's base and the player is not the owner of the event, he will be ejected from his base outside the dome": false, "Message when a player is ejected from the event dome(only for PVE mode if there is a dome)": "You cannot be here, you are not the owner of this event", "Allow admin to be in event dome (only for PVE mode if there is a dome)": true, "Triggering an event by timer (disable if you want to trigger the event only manually)": true, "Time to event start(in seconds)": 3600.0, "Random time to event start": false, "Minimum time to event start(in seconds)": 600, "Maximum time to event start(in seconds)": 10800, "CargoPlane speed(recommended 4 to 6)": 5.0, "Minimum amount of online players to trigger the event": 1, "Minimum crates amount(spawn after crash)": 1, "Maximum crates amount(spawn after crash)": 1, "Crate simple loot table name(plugin SimpleLootTable is required)": "", "Minimum number of items in a crate(plugin SimpleLootTable is required)": 0, "Maximum number of items in a crate(plugin SimpleLootTable is required)": 0, "Crates lifetime(in seconds). The crate will not be destroyed if it has been activated": 3600, "Crates timer(in seconds)": 900, "Remove crates after being looted by a player(in seconds)": 300, "Minimum airdrops amount(spawn after crash)": 1, "Maximum airdrops amount(spawn after crash)": 1, "Airdrop simple loot table name(plugin SimpleLootTable is required)": "", "Minimum number of items in an airdrop(plugin SimpleLootTable is required)": 0, "Maximum number of items in an airdrop(plugin SimpleLootTable is required)": 0, "Airdrops lifetime(in seconds)": 3600, "Fireballs amount(spawn after crash)": 5, "Passengers amount(spawn after crash)": 2, "Explosion marker on the map(spawn after crash)": true, "Explosion marker lifetime(in seconds)": 300, "Enable signal smoke(spawn after crash)": true, "Signal smoke lifetime(in seconds, max 214)": 214, "Map size(crash zone size), you can see the zone, use the chat command /showcrashzone": 4500.0, "Starting altitude, defaults to map size, can be increased if cargo plane hits high ground(no more than 10000 recommended)": 4500.0, "Crash zone center. Use chat command /setcrashzonecenter to set to player position. You can check crash zone center, use the chat command /showcrashzone": { "x": 0.0, "y": 0.0, "z": 0.0 }, "Use multiple zones": false, "Select a zone from the list sequentially(if false, then the crash zone will be chosen randomly)": false, "Zones list": [ { "name": "0", "radius": 300, "center": { "x": -300.0, "y": 0.0, "z": 0.0 } }, { "name": "1", "radius": 200, "center": { "x": 100.0, "y": 0.0, "z": 0.0 } } ], "Event message(if empty, no message will be displayed)": "CargoPlane event started", "Crash message(if empty, no message will be displayed)": "Cargo plane crashed", "Event end message(if empty, no message will be displayed)": "CargoPlaneCrash event ended", "Message about coordinates(will display the coordinates of the crash site. If empty, no message will be displayed)": "", "Kit name(you can use kits for passengers if you have Kits plugin)": "", "Passenger name": "Mister bot", "Use NPC prefab for passengers": false, "Minimum NPCs amount(spawn after crash)": 2, "Maximum NPCs amount(spawn after crash)": 2, "NPCs lifetime(in seconds)": 3600, "NPCs type(NPCs prefab, experimental setting, it is not known how the NPCs will behave) 0 - tunneldweller; 1 - underwaterdweller; 2 - excavator; 3 - full_any; 4 - lr300; 5 - mp5; 6 - pistol; 7 - shotgun; 8 - heavy; 9 - junkpile_pistol; 10 - oilrig; 11 - patrol; 12 - peacekeeper; 13 - roam; 14 - roamtethered; 15 - bandit_guard; 16 - cargo; 17 - cargo_turret_any; 18 - cargo_turret_lr300; 19 - ch47_gunner": 8, "NPCs health(0 - default)": 0, "NPCs damage multiplier": 1.0, "NPCs accuracy(the lower the value, the more accurate, 0 - maximum accuracy)": 2.0, "NPCs attack range": 75.0, "Radius of chasing the player(NPCs will chase the player as soon as he comes closer than the specified radius, must be no greater than the attack range)": 60.0, "Minimum distance to NPC damage": 75.0, "Message if the player attacks far away NPCs": "NPC is too far away, he doesn't take damage", "Kit for NPCs. The NPC will use the weapon that is in the first slot of the belt(requires Kits plugin)": "", "Default displayName for NPC(for SimpleKillFeed/DeathNotes plugin)": "Crashsite NPC", "List of displayNames for each NPC(for SimpleKillFeed/DeathNotes plugin)": [ "Crashsite NPC1", "Crashsite NPC2", "Crashsite NPC3" ], "Will NPCs attack zombies": true, "Remove NPC corpses": false, "Prohibit building near the crash site": false, "Building prohibition radius": 20.0, "How long construction is prohibited near the crash site(in seconds)": 1800, "Event marker on the map(spawn an event marker at the crash site)": false, "Display approximate end time of event on marker": false, "Event marker name": "Cargo plane crash site", "Event marker lifetime(in seconds)": 3600, "Event marker transparency(0-1)": 0.75, "Event marker radius": 0.5, "Event marker color.R(0-1)": 1.0, "Event marker color.G(0-1)": 0.0, "Event marker color.B(0-1)": 0.0, "Do not spawn crates and NPCs when a cargo plane falls under water (if the water depth is greater than)": 0.5, "Do not choose a crash site near monuments": false, "If possible, the crash site will not be chosen near player bases": true, "SteamID for chat message icon": 0, "Complete the event if all crates were destroyed after looting": false, "Use Notify plugin for messages": false, "Notify message type": 0 }- #event
- #cargoplane
- (and 18 more)
-
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; }