About 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
|
Restrictions
|
Appearance |
Customization
|
Field Tested
|
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.
Quote"hat.wolf": {"DisplayName": "default","Skin": 0,"Image": "hat.wolf.png","DefaultAmount": 1,"BlockAmountChange": false,"BuyPrice": 50,"SellPrice": 25,"Currency": "eco"},
Quote"Resources": {"Image": "https://rustplugins.net/products/shop/diamond-stone.png","Permission": null,"Sale": 0.0,"Items": ["stones","sulfur.ore","sulfur","wood"]},
Quote"YourCommandName2": {"DisplayName": "default","Image": "https://rustlabs.com/img/items180/water.salt.png","Message": "You just bought command","Command": "say {playername} or {steamid}","BuyPrice": 50,"Currency": "eco","ShowDisplayName": false}