MortuusVivensX's Wishlist
-
Shop
Enjoy a highly customizable Shop that can be configured in game! Use NPCs as shopkeepers, and set up a shop with ease using the game interface to add, edit, or remove items on the fly!
⭐ Features of Shop
Beautiful user interface Discount system (by permissions) Automatic shop filling (+ the plugin has support for the ItemCostCalculator plugin) Selling items (players can sell items to the store and receive money for it) Performance Adding/editing/removing items IN GAME Supports NPC Supports Custom Vending Machines Supports NoEscape Convert from ServerRewards Favorite items By default, the plugin has English, Russian and Chinese translations Transfer money between players directly in the plugin! Shop allows you to use multiple economy plugins at once (players can choose what they want to pay with) For each item, you can choose which payment methods are available and how much they will cost, based on the selected method
🎮 Commands
shop - open shop interface shop.install – starts the shop installation process shop.refill <recovery_rate> - refill shop again
recoveryRate: A value between 0 and 1 that determines the multiplier for the cost of selling items. For example, shop.refill 0.5 means that items will have a sale cost of 50% of their purchase cost. shop.convert.sr [clear] - convert items from ServerRewards to Shop. The option clear means clearing Shop items before convert shop.setvm [categories: cat1 cat2 ...] - add custom VM in config shop.setnpc [categories: cat1 cat2 ...] - add NPC in config shop.remove all - a console command to remove all items and categories from the plugin shop.remove item [category name/all] - a console command to remove an item (or all items) shop.remove category [category name/all] - a console command to remove a category (or all categories) shop.fill.icc [all/buy/sell] - a console command for updating prices of items in the store using ItemCostCalculator. all - updates both Price and SellPrice, buy - updates Price, sell - updates SellPrice shop.convert.from.1.2.26 – command to convert Shop plugin version 1.2.26 to version 1.3.0+ shop.reset – resets store data, including templates, configurations, and items. shop.reset template – resets the store interface template data. shop.reset config – resets store configuration data. shop.reset items – resets store items data. shop.reset full – completely resets all store data (templates, configurations and items). shop.manage – used to manage the Shop plugin. shop.manage economy list – displays a list of all available economic systems in the plugin. shop.manage economy set <economy_ID> <name> – ыets the selected economic system by plugin ID and name. The command updates the corresponding economic system on the server and saves the changes in the configuration. FOR EXAMPLE:
shop.manage economy set 0 Economics – sets the main economy plugin to "Economics”.
shop.manage economy set 1 ServerRewards – sets the additional economy system with ID 1 to "ServerRewards”.
🛡️ Permissions
shop.setvm - for command "shop.setvm" shop.setnpc - for command "shop.setnpc" shop.free - for free item purchases shop.admin - admin permission
⚖️ Sort Types
None Name Amount PriceDecrease PriceIncrease
🧬 Category Types
None – normal category for items Favorite – category for favorite items Hided – hidden category, available only in NPC stores or Vending Machines
🎥 Video
P.S. Video of the old version, video for the V2+ version is now in development
🖼️ Showcase
Full screen Templates
Template OLD STYLE
Template NEW RUST
In-Menu Templates
Template V1 (V1.1)
Template V1 (V1.1) with BASKET
Template V2
Template V2 with BASKET
Installer
Editor
🧪 TEST SERVER
Join our test server to view and experience all our unique features yourself!
Copy the IP Address below to start playing!
connect 194.147.90.147:28015
📚 FAQ
Q: I get the message "The plugin does not work correctly, contact the administrator!”. What should I do?
A: This means that your plugin is not installed. To install the plugin, use the command "/shop.install”. You need to have "shop.admin” permission to access this command.
Q: Where can I see an example of a config?
A: Config
Q: How to use BankSystem to store the economy
A:
"Economy": { "Type (Plugin/Item)": "Plugin", "Plugin name": "BankSystem", "Balance add hook": "Deposit", "Balance remove hook": "Withdraw", "Balance show hook": "Balance", "ShortName": "", "Display Name (empty - default)": "", "Skin": 0, "Lang Key (for Title)": "LangTitle", "Lang Key (for Balance)": "BalanceTitle" }, Q: How to use ServerRewards to store the economy
A:
"Economy": { "Type (Plugin/Item)": "Plugin", "Plugin name": "ServerRewards", "Balance add hook": "AddPoints", "Balance remove hook": "TakePoints", "Balance show hook": "CheckPoints", "ShortName": "", "Display Name (empty - default)": "", "Skin": 0, "Lang Key (for Title)": "LangTitle", "Lang Key (for Balance)": "BalanceTitle" }, Q: How to use Economics to store the economy
A:
"Economy": { "Type (Plugin/Item)": "Plugin", "Plugin name": "Economics", "Balance add hook": "Deposit", "Balance remove hook": "Withdraw", "Balance show hook": "Balance", "ShortName": "", "Display Name (empty - default)": "", "Skin": 0, "Lang Key (for Title)": "LangTitle", "Lang Key (for Balance)": "BalanceTitle" }, Q: How to use IQEconomic to store the economy
A:
"Economy": { "Type (Plugin/Item)": "Plugin", "Plugin name": "IQEconomic", "Balance add hook": "API_SET_BALANCE", "Balance remove hook": "API_GET_BALANCE", "Balance show hook": "API_REMOVE_BALANCE", "ShortName": "", "Display Name (empty - default)": "", "Skin": 0, "Lang Key (for Title)": "LangTitle", "Lang Key (for Balance)": "BalanceTitle" }, Q: How to use scrap to pay for items
A:
"Economy": { "Type (Plugin/Item)": "Item", "Plugin name": "", "Balance add hook": "", "Balance remove hook": "", "Balance show hook": "", "ShortName": "scrap", "Display Name (empty - default)": "", "Skin": 0, "Lang Key (for Title)": "LangTitle", "Lang Key (for Balance)": "BalanceTitle" }, Q: How to add KIT as shop item
A: https://pastebin.com/4szBQCgz
Q: How to add Command as shop item
A: https://pastebin.com/bcCkzBEL
Q: How do I make a weapon spawn with ammo in it?
A: You need to configure the "Weapon" section in the item config:
"Weapon": { "Enabled": true, "Ammo Type": "ammo.rifle.explosive", "Ammo Amount": 128 } Q: How do I make items spawn some content (liquid, weapon modifications)?
A: You need to configure the "Content" section in the item config:
"Content": { "Enabled": true, "Contents": [ { "ShortName": "weapon.mod.lasersight", "Condition": 100.0, "Amount": 1, "Position": -1 } ] }, Q: How to turn off the sell feature?
A: You need to turn off "Enable item selling” in the config, or do it in the item setting in the game.
"Enable item selling?": false,
Q: How to use the ItemCostCalculator with Shop?
A: You need to use command "shop.refill" (command to refill the Shop)
Q: What should be the size of images for item icons?
A: Typically, the image dimensions for item icons are 512x512 pixels, but any square image can suffice.
Q: I get the error "UI is unavailable for player. Reason: Menu UI is not initialized". How to fix it?
A: This error occurs when the interface template is not installed or configured. Follow these steps:
1. Reset the template using the command: shop.reset template (use only template to avoid data loss).
2. Install the interface via shop.install in the game (to visually select a template) or through the console.
Note: Ensure you have the shop.admin permission to execute these commands.
Q: How do I add Shop to the ServerPanel menu?
A: Follow these simple steps:
1. Open ServerPanel menu in-game and click "+ADD CATEGORY" button
2. Set these exact parameters:
Type: Plugin Plugin Name: Shop Plugin Hook: API_OpenPlugin 3. Click "SAVE" button to create the category
4. Reset Shop template and install it:
Type in console: shop.reset template (IMPORTANT: use only "template"!) Then type: shop.install Note: If Shop doesn't appear in ServerPanel menu, make sure both plugins are loaded and you typed the parameters exactly as shown above.
- #shop
- #shop ui
-
(and 25 more)
Tagged with:
- #shop
- #shop ui
- #store
- #market
- #server rewards
- #gui shop
- #custom items
- #rust shop
- #mevent
- #market system
- #marketplace
- #buy
- #sell
- #in game
- #economics
- #humannpc
- #market and magazine
- #gui
- #money exchange
- #rust shop plugin
- #shop system
- #best shop
- #best rust shop
- #shop items
- #shop mevent
- #shop in menu
- #shop gui
-
Shop UI
Well rounded shop, with various features. It's standalone plugin which is compatible with WelcomePanel, HumanNpc.
This plugin also supports selling commands, wipe block, no escape, sales, permission access.
Multi-currency support
Use different currencies for different items. Economics and ServerRewards (RP) is supported as well as scrap or any other ingame item.
Restrictions
Combat, raid, spawn and building block supported alongside with basic cooldowns and wipe block. NoEscape is required for combat and raid block.
Appearance
Simple and clean design to ensure smooth user experience for your players. Additionally Shop can be inserted into WelcomePanel to achieve "all in" server panel.
Customization
Widely customizable and feature rich Shop which will fit all needs of your community.
Field Tested
Plugin made by experienced developer, tested by hundreds of server owners and used by some big organizations.
Discord
Customer support available on discord,
Installation
- unzip downloaded package and place Shop.cs file into your plugin folder.
- after succesfuly loading the plugin, data folder oxide/data/Shop will be generated
- take data files provided in plugin package and drop them into your Shop data folder
After finishing these steps your shop is ready to used.
Server Currency
If you don't wish to use ingame items as currency make sure you use either Economics or ServerRewards as you currency management as only those two plugins are compatible with Shop. Default currency setting is Economics ("eco"), if you wish to change it navigate to "oxide/data/Shop/Items.json", open this file in some text editor (VSC recommended) and simply select "eco" and mass replace for desired value. (video here)
"eco" for Economics
"rp" for ServerRewards
"scrap" or any other ingame item
Shop Categories
To remove, change or add new categories open "oxide/data/Shop/Categories.json" file. There you will find all categories alongside with items lists. If you wish to remove certain items from category, just head over to item list and delete from there.
Items
Changing prices
In "oxide/data/Shop/Items.json" you will find every item with their properties, to quick search for specific items press "CTRL + F". By leaving BuyPrice or SellPrice at 0 you will disable selling or buying of said item. Due to multi-currency support prices can be set only in whole numbers, no decimals. To offset for this, you can set minimal amount requirement. For example instead of selling one piece of wood for 0.01$ you can set minimal amount of 100x wood for 1$.
Removing items
If you wish to remove some items from Shop, you can do that directly in "data/Shop/Categories.json" file. Removing items from "Items.json" is not needed as they have no effect unless they are listed in some category.
Adding new items
To add new item you must first head over to "Items.json" data file and create new entry by copy pasting some of the existing ones. Once done with that you can add the item into category. To add multiple versions of same item can be created by simply adding unique tag behind shortname, for example "rifle.ak{1}", "rifle.ak{2}", etc...
Commands
Adding new commands
Commands can be create at "data/Shop/Commands.json". Plugin can only run server side console commands and then parse steam id or player name with tags {steamid} and {playername}. There are two examples shown in default data file. Server side console commands are common thing and almost all plugins utilize them.
Listing commands in categories
Simply type in one of your command names into category item list like this "cmd/yourCommandName". Slash cmd in front of command name is there to make difference between ingame item and command.
Cooldowns
These are very basic, cooldown is triggered when buy/sell action is triggered. By using minimal amount requirement for items you can manage how much player buy and how often. Cooldowns are managed in "data/Shop/Cooldowns.json". Default data file contains two example of cooldowns but it's simply shortname and amount of seconds.
Restrictions
Raid and Combat Block
Managed by NoEscape plugin, option to enable these two block can be found in config file.
Building Block
Prevents players from using shop while they are building block, option can be found in config file.
Spawn Block
Prevents players from using shop after they respawn, amount of seconds can be set in config file, 0 = disabled.
Wipe Block
Prevents players from buying specific items after wipe. Settings are located in "data/Shop/ItemsWipeBlock.json", similar as cooldowns.
Sales
By Permission (config file)
Discount on every item in the shop assigned by permission, multiple permission can be created with their own discount values.
By Category (categories data file)
Discount for every item within specified category.
By Item
Discount for specific item in the shop. If item is already in discounted category, higher discount will be applied.
WelcomePanel integration
To integrate this plugin into WelcomePanel simply use one of the four configs included in download package. These config were premade for each WelcomePanel template (goes from 1 to 4). In case you have own highly customized layout for WelcomePanel you will have to adjust "Layout Container" in Shop config file by yourself.
-
Welcome Panel
Site
In case you having issues with plugin feel free to open support ticket on site here. I will usually respond within 24 hours not including weekends.
Discord
I'm also available at my discord server where I provide support for my customers. You can also find small community here and get answers for your questions. Invite link here.
Documentation
To find out what can be customized within config file please refer to full plugin documentation here. Any questions prior to purchasing forward into DM here or into ticket at my discord.
Default configs available as template with plugin.
Screenshots bellow showcasing configurations created by customers. These are not available with the plugin but I decided to post them here since it's good demonstration of how customizable this plugin is.
BOOBLEJ
Tide
Neighigh
Paul
Leunal17
BOOBLEJ
How to start using plugin? Simply drop WelcomePanelLite.cs file into your plugin folder. After successfully loading plugin you can use default command /info in game. Configuration is handled in config file (oxide/config/WelcomePanelLite.json).
How hard is to get this plugin all set up? It's fairly simple. Plugin comes with default configuration which showcases everything you need to know regarding text, styling and changing images.
How hard it is to customize your own layout?
When it comes to changing color or images it's simple, any inexperienced user can do it however if you want to customize positions of UI or add extra tab buttons, it requires understanding of "ui anchors". Anchors are not that complicated but it takes hour or two to fully understand it. For more info check documentation.
Can I add multiple pages into WelcomePanel?
Yes, you can add unlimited amount of pages.
Can I add images into WelcomePanel?
Yes, you can add image to any panel and you can set background for each tab
What image sizes I should use?
This is different for each panel across different templates. Basically images parented to any panel are stretched to its size. Best approach is to take screenshot of the panel and try to fit image size into that prior to uploading it.
How to add addons?
Each text tab has addon option at bottom, just type in plugin name. List of available addons can be found at the top of the plugin description, listed as "Works with".
-
Server Hud
🗒️Features:
You can add any plugin event in the UI (if it has hooks, usually specified in the plugin description) Has ingame UI menu for configure your Hud The time format is adjusted to the player (depending on his language in the game), it checks which time format is used for this language You can also enable an additional menu that opens on the arrow. You can add various buttons to this menu, for example, to open a store, your server menu, etc. Almost all elements are customizable [for example: visibility of each element, Logo, Icons, Color e.t.c (check config down below)]
📕Commands:
/h setup - open UI for ingame config
/h - show all Server Hud UI commands
/h open - open Server Hud UI
/h events - open Events Bar
/h close - close Server Hud UI
/h hide - hide Server Hud UI
Q&A:
Q: Where i can find a base icon for creating my events icons?
A: Take a base icon below this message and using f.e photoshop for create you personal event icon!
Q: Where i can find a ready to use icons?
A: Here some links to ready to use icons packs(1 free, 2 paid):
https://codefling.com/customizations/free-custom-hud-icons
https://codefling.com/customizations/custom-hud-icons-paid
https://codefling.com/customizations/server-hud-custom-icon-pack
API:
string API_PlayerHudState(string id)
CanHudChangeState(BasePlayer player, string currentState, strint nextState)
🗒️Config:
{ "Auto reload [If you change the config and save the file the plugin will reload itself]": true, "Main setup": { "Overall layer [you will see the hud in your inventory]": false, "Size ALL [0% - inf]": 100, "Logo [HUD interact button]": "https://media.discordapp.net/attachments/335512864548847617/1134455399756607549/logo.png", "Events background opacity [0% - 100%]": 100, "Background opacity [0% - 100%]": 100, "Position": { "Align [TopLeft | TopRight | BottomLeft | BottomRight": "TopLeft", "Left | Right - offset": 40, "Top | Bottom - offset": 25 }, "Server name": "Your Server Name", "Active players": { "Icon": "https://cdn.discordapp.com/attachments/335512864548847617/1134455395813965934/active.png", "Color": "#fff", "Enable": true }, "Sleep players": { "Icon": "https://cdn.discordapp.com/attachments/335512864548847617/1134455395138670652/sleep.png", "Color": "#fff", "Enable": true }, "Queue players": { "Icon": "https://cdn.discordapp.com/attachments/335512864548847617/1134455393972654171/line.png", "Color": "#fff", "Enable": true }, "Time": true, "Player position [hide permisson - hud.streamer]": { "Enable": true, "true - grid | false - x,z coordinates": true, "Color": "cyan" }, "Economy plugin [Economics | ServerRewards]": { "Currency": "$", "Value color": "#10ff10", "Enable": true }, "Info messages": { "Update interval [in seconds]": 60, "Align [BottomCenter | TopCenter | TopRight]": "BottomCenter", "Width [in px]": 260, "Offset [top | bottom]": 0, "Offset [right]": 15, "Outline color": "#000", "Overall [you will see messages in your invenotory]": true, "Enable": true, "Messages": [ "Welcome to Your Server Name", "Good luck" ] }, "Additional menu": { "Auto close timer [seconds | 0 - disable]": 60, "Auto close after command use": true, "Open/Close button color": "yellow", "Commands background opacity [0% - 100%]": 100, "Enable": true, "Commands": [ { "Background image": "https://media.discordapp.net/attachments/335512864548847617/1134455392420761671/command.png", "Icon [optional]": "https://media.discordapp.net/attachments/335512864548847617/1134455395813965934/active.png", "Command": "chat.say Hello there", "Text": "Say Something", "Outline color": "#000", "Is Console": true }, { "Background image": "https://media.discordapp.net/attachments/335512864548847617/1134455392420761671/command.png", "Icon [optional]": "", "Command": "/shop", "Text": "Say Something", "Outline color": "#000", "Is Console": false } ] } }, "Base Events": [ { "Name": "Bradley", "Active color": "#10ff10", "Icon": "https://media.discordapp.net/attachments/335512864548847617/1134455316654850049/bradley.png", "Color": "#fff", "Enable": true }, { "Name": "PatrolHeli", "Active color": "#10ff10", "Icon": "https://media.discordapp.net/attachments/335512864548847617/1134455315073597530/heli.png", "Color": "#fff", "Enable": true }, { "Name": "CH47", "Active color": "#10ff10", "Icon": "https://media.discordapp.net/attachments/335512864548847617/1134455317485342803/ch47.png", "Color": "#fff", "Enable": true }, { "Name": "Cargo", "Active color": "#10ff10", "Icon": "https://media.discordapp.net/attachments/335512864548847617/1134455317086879794/cargo.png", "Color": "#fff", "Enable": true }, { "Name": "AirDrop", "Active color": "#10ff10", "Icon": "https://cdn.discordapp.com/attachments/335512864548847617/1134455316143161374/airdrop.png", "Color": "#fff", "Enable": true } ], "Custom Events": [ { "Hook OnEventStart": "OnConvoyStart", "Hook OnEventStop": "OnConvoyStop", "Name": "Convoy", "Active color": "#10ff10", "Icon": "https://media.discordapp.net/attachments/335512864548847617/1134455318030598154/convoy.png", "Color": "#fff", "Enable": false }, { "Hook OnEventStart": "OnSputnikEventStart", "Hook OnEventStop": "OnSputnikEventStop", "Name": "Sputnik", "Active color": "#10ff10", "Icon": "https://cdn.discordapp.com/attachments/335512864548847617/1134455315488854016/sputnik.png", "Color": "#fff", "Enable": false }, { "Hook OnEventStart": "OnArmoredTrainEventStart", "Hook OnEventStop": "OnArmoredTrainEventStop", "Name": "ArmoredTrain", "Active color": "#10ff10", "Icon": "https://cdn.discordapp.com/attachments/335512864548847617/1134455315841155173/train.png", "Color": "#fff", "Enable": false }, { "Hook OnEventStart": "OnHarborEventStart", "Hook OnEventStop": "OnHarborEventEnd", "Name": "Harbor", "Active color": "#10ff10", "Icon": "https://cdn.discordapp.com/attachments/335512864548847617/1134455318332592219/harbor.png", "Color": "#fff", "Enable": false } ] }- #hud
- #interface
-
(and 6 more)
Tagged with:
-
BotReSpawn
By Steenamaroo in Plugins
Spawns set numbers of customised npcs at monuments,
various events, supply drops, biomes, custom locations, and 'toplayer'.
Plugin Description.
Highly customisable and intuitive npc plugin, setup exclusively via UI.
See images for an overview of the available options globally, and per npc profile.
Every option in the UI is clickable, showing a detailed description of its use.
Optional dependencies -
Kits (free at uMod.org) CustomLoot
Permissions.
botrespawn.allowed - Required for non-admin use
Chat commands.
/botrespawn - Opens UI. /botrespawn add *profilename* - Adds a custom profile then opens UI. (please don't use spaces or hyphens) /botrespawn remove *profilename* - Removes a custom profile. /botrespawn info - Tells you about the npc you're looking at. Console commands.
bot.count - Gives total number of spawned npcs. bots.count - Gives a breakdown of spawned npcs per profile. botrespawn toplayer NameOrId ProfileName amount(optional) botrespawn enable/disable "Profile name here" botrespawn tempspawn "Profile name here" - Spawns npcs from a profile at random points around that profile's location addspawn - Enabled via UI, in Edit Spawnpoints menu - for keybinding. botrespawn showspawns - Added for binding convenience. botrespawn checknav - Added for binding convenience. * Note = addspawn and showspawns commands require the user to select "Edit with console commands" first, from a profile's spawnpoints menu.
Default locations.
All major monuments are automatically included, plus profiles for the four biomes.
The following events also have default profiles
Airdrop (supply grenade optional) Locked Crate Spawn Locked Crate Hack Start APC Kill PatrolHeli Kill CH47 Kill
Configurable via json, per profile.
BotNames BotNamePrefix Announcement_Text Instant_Death_From_Headshot_Allowed_Weapons (accepts item shortnames) See note at end for weapon list formatting.
Everything else is configurable via UI - All options have a description in UI, accessible by clicking the name/label.
Kits.
Kits are managed, per profile, in UI.
As with BotSpawn, kit probability can be balanced by assigning a number to a kit.
When selecting multiple kits, increasing a kit's number increases its chances of being picked.
Only kits with weapons in the belt are shown in UI.
Most weapons are supported for npc use, including normal bullet and melee weapons,
rocket launchers, bows, crossbows, MGLs, nailguns, flamethrowers, etc.
Throwable explosives can be used but throwable melee (like spears) can be used but will not be thrown.
Spawnpoints.
Adding and managing spawnpoints is done, per profile, in UI,
or by enabling 'add by command' in spawnpoints menu, then using 'addspawn' console command.
You can bind this command for your convenience.
When opting to use the 'addspawn' command, a button will show in UI main page, allowing you to quickly return to the profile you were editing.
A new feature is that each spawn point can have overrides, forcing that specific npc to have different values to the rest of the profile's npcs.
At present you can override
Stationary Kits Health RoamRange
If you choose to use Parent_Monument, you can select it via UI, but do so before you add custom spawn points (if applicable).
Parent_Monument ensures that your profile and its spawn points will relocate after a map change,
so that they are in the same place, relative to that chosen monument.
If a profile uses custom spawn points, but does not have enough custom spawn points to cover the whole population,
it will spawn randomly placed npcs to make up the numbers, in accordance with the profile "Radius" setting.
EG :
Day_Time_Spawn_Amount 10
Number of custom spawn points 5
Result : 5 npcs on custom spawn points, and 5 randomly placed around the area, within the specified radius.
Murderer
Murderer true/false is no longer an option.
Instead, the AI will respond differently based on the weapons you give it.
If you want the AI to run directly at victims and attack, give it melee weapons only.
I believe you can still make murderer-style kits, although you also have Frankenstein clothing options built into the the UI options now.
Peacekeeper
Peacekeeper is now based on whether or not players are marked hostile.
An additional option 'Peacekeeper_Uses_Damage' restores the old behaviour,
where peacekeeper npcs will completely ignore players until attacked by them.
Configuration.
"DataPrefix": "default", (tells BotReSpawn which data files to load),
Allow_Parented_HackedCrates Allow_HackableCrates_With_OwnerID Allow_HackableCrates_From_CH47 Allow_HackableCrates_At_Oilrig Allow_All_Other_HackedCrates
Disable_WaterWells Disable_Substations Disable_UndergroundCaves Disable_UnderwaterLabs
"UseServerTime": Uses server IsNight check, instead of manual day/hour settings, "Show_Profiles_Seconds": 10, "DayStartHour": 8, "NightStartHour": 20, "SuicideBoom": true, (toggles explosion sound for suicide npcs), "Animal_Safe": true, "Supply_Enabled": false, (spawn 'airdrop' bots for user-called supplys), "Ignore_Skinned_Supply_Grenades": true, "Remove_BackPacks_Percent": 100 is always : 0 is never, "Remove_KeyCard": true, (any keycards in bot default loot will be destroyed), "Remove_Frankenstein_Parts": true, (any frankenstein parts in bot default loot will be destroyed), "Ignore_Sleepers": true/false, "Pve_Safe": true, (bots will not be injured by fire/barbs, etc.), "Max_Chute_Fall_Speed": 100, "Chute_Speed_Variation": 100, "Staggered_Despawn": false, "Disable_Non_Parented_Custom_Profiles_After_Wipe": false "Announce_Toplayer": false "RustRewards_Whole_Numbers": true "XPerience_Whole_Numbers: true "NPCs_Damage_Armour": true "Limit_ShortRange_Weapon_Use": false "Allow_Ai_Dormant": false "Prevent_Biome_Ai_Dormant": false "Scale_Meds_To_Health": false (increases npc heal amount relative to npc's max health. "Ignore_Factions": false - Makes all profiles fight all profiles if true. "Reduce_Damage_Over_Distance: false "Deaggro_Memory_Duration: 20 - Number of seconds it takes an npc to forget you outside deaggro range/line of sight. "Ignore_HackableCrates_With_OwnerID" - Makes hackable crate profiles only respond to crates with OwnerID 0 (server spawned) "NPCs_Assist_NPCs" - true/false. When a botrespawn npc is attacked, nearby botrespawn npcs will also respond and defend. "Enable_Targeting_Hook": false "Allow_AlphaLoot": true Can be used to prevent AlphaLoot from giving loot to BotReSpawn npcs. "Parachute_From_Height": 200 "Smooth_Damage_Scale": false "Allow_Oilrigs": false - NPCs here must be custom spawn point and stationary true. "Show_Spawns_Duration": 20, These values are adjustable and described in detail in in-game UI, with the exception of DataPrefix.
Profile values.
Each profile value and description is not listed here, but all (apart from text strings) are now configurable via UI,
and have sensible default values.
Every option has a full in-game description, accessible by clicking an option's name/label.
If any specific setting/value is unclear, please just ask in CF discord, my discord, or the support section here.
Notes :
Durations which used to be in seconds are now in minutes.
"Type" is an internal use variable - Users should not change this option.
Profile copy/paste does not include location, Parent_Monument, or custom spawnpoints.
BotNames, and Headshot weapons should be formatted as follows:
["name1"], for single or ["name1", "name2", "name3"], for many.
["rifle.lr300"], for single or [ "rifle.lr300", "pistol.m92" ], for many.
Faction and Subfaction of 0 means this profile will not fight any other, and will not be attacked by any other.
Faction and Subfaction settings greater than 1 are used for configuring which profiles should be allies / enemies.
API :
string[] AddGroupSpawn(Vector3 location, string profileName, string group, int quantity) string[] RemoveGroupSpawn(string group) string NPCProfile(NPCPlayer npc) (returns "No Name" for non BotReSpawn npcs) object OnBotReSpawnNPCTarget(ScientistNPC npc, BasePlayer player) void OnBotReSpawnNPCSpawned(ScientistNPC npc, string profilename, string group) void OnBotReSpawnNPCKilled(ScientistNPC npc, string profilename, string group, HitInfo info) bool IsBotReSpawn(NPCPlayer npc) bool IsBotReSpawn(ulong id)
For preventing BotReSpawn npc spawns for event profiles.
object OnBotReSpawnCrateDropped(HackableLockedCrate crate) object OnBotReSpawnCrateHackBegin(HackableLockedCrate crate) object OnBotReSpawnAPCKill(BradleyAPC apc) object OnBotReSpawnPatrolHeliKill(PatrolHelicopterAI heli) object OnBotReSpawnCH47Kill(CH47HelicopterAIController ch) object OnBotReSpawnAirdrop(SupplyDrop drop)
Example usage.
[PluginReference] private Plugin BotReSpawn; Vector3 location = new Vector3(0,0,0); string[] Spawn = BotReSpawn?.Call("AddGroupSpawn", location, "The Dome 0", "MadeUpNameHere", 5) as string[]; Puts($"{Spawn[0]}"); Puts($"{Spawn[1]}"); Passing 0 for quantity will spawn the appropriate amount of npcs for the time of day, according to the profile.
Method call OnBotReSpawnNPCSpawned(ScientistNPC npc, string profile, string group, notifies of spawned npcs.
Example.
void OnBotReSpawnNPCSpawned(ScientistNPC npc, string profile, string group) { if (String.IsNullOrEmpty(group)) Puts($"BotReSpawn spawned an npc from profile {profile}"); else Puts($"BotReSpawn spawned an npc from profile {profile} - API group name {group}"); }
FAQ.
Q: My npcs don't move and/or won't attack
A: If you have any PVE plugins or settings please try disabling those temporarily to test.
A: Make sure the server has the following settings.
nav_wait true nav_disable false ai.think true A: If you use Rust Admin, please ensure that the animal AI option is enabled.
A: If you have Vanish installed please try unloading it. If this worked, check you don't have the permission for permanent Vanish.
Q: There's a million options. Where do I start?
A: Open the UI with /botrespawn and set AutoSpawn to true for at least one monument, then click the button to reload that profile.
A: Everything else is preference/user customisation.
A: If the monument has a building/structure near the middle, like Dome, you may need to increase the spawn radius option to get going.
Q: My bots won't die / my bots take damage when attacking people.
A: Make sure Godmode permissions allow you to do damage.
A: Same for vanish ^.
A: Ensure you don't have a PVE plugin which is causing this damage behaviour.
Q: I take damage when attacking my bots.
A: This can also be caused by server, or plugin, PVE settings.
Q: Will X kill my bots?
A: Radiation, drowning, falling, and helicopters should not kill your bots.
A: Turrets targeting bots can be toggled. Bradleys targeting bots can be toggled.
A: Fire (campfires etc) will kill your bots. Damage from barbs, cacti etc will kill your bots, but can be prevented with the 'Pve_Safe' config option set to true.
Q: What weapons can my bots use?
A: As far as I know they should use all weapons except for throwable melee (eg. spears).
A: Flamethrowers, nail guns, rocket launchers, bows, grenade launchers, etc were added in a recent update.
A: Throwable explosives can be used as 'backup' weapons and are thrown when line-of-sight is temporarily broken.
A: All npcs, even those with throwables, must have at least one valid held weapon to use.
Q: Can I have custom profile locations?
A: Yes. Your custom locations are stored in data with a filename of *YourPrefix*-CustomProfiles.json.
Use chat command '/botrespawn add NewNameHere' to create a profile at your present location.
A: Doing so will open the UI, at the page for your new profile's settings.
Q: Can I spawn bots at events.
A: Yes. There are event profiles for aidrop, hackable crate spawn and hack start, and the destruction of CH47, Patrol Heli, and APC.
For the airdrop profile, spawn at user-supply call is an additional option, found in the global config.
Q: Can I have specific custom spawn points? (underground, etc)
A: Yes. Use the built in UI to create custom spawn points and set UseCustomSpawns to true, for some profile..
A: That BotReSpawn profile will now ignore radius settings and use the precise spawn points from your file.
A: Event profiles which can occur underground should work automatically now (crate spawn/crate hack).
A: Even if parachutes are enabled, these profiles should still work with underground-spawning npcs, if the event takes place under ground.
Q: My bot kits aren't working.
A: Kits which don't have a valid weapon in the belt will not be made available in the UI.
A: Please redeem the kit yourself to an empty inventory, to ensure that the expected items are definitely in it.
Q: How can I prove that bots have spawned? I can't find them.
A: Type bot.count into console for a total number, or bots.count for a per-profile breakdown.
A: Respawn timer is taken into account so if you spawn one and kill him, bot.count will show 0 until respawn.
Q: bot.count console command shows that there are 0 bots.
A: Double check that at least one monument is set "AutoSpawn": true in your config, and reload the plugin.
A: Also, don't forget their respawn timer. If they're all dead when you do bot.count, it will show 0.