general2811's Wishlist
-
XDShop
Large easily customizable shop – XDShop
Features:
Beautiful design – which can be customized for your server 2 built-in styles (dark and light) Which can be customized in your own way Great functionality Ability to connect the Human Npc plugin The ability to use any economy You can sell anything you want (Item, Blue-print, Custom Item, Command, Kit) Players can both buy goods and sell (Configurable) The ability to set a limit (purchases / sales) on WIPE, as well as a cooldown (purchases / sales) (by permissions) The ability to give access to categories by permissions Create personal discounts on permissions The ability to prohibit (buy/sell) items during the (raid/combat) block. And also during the duel This plugin does not load your server Beautiful notification option in the shopping menu Additional information
I tested this plugin with the guys for a month.
During testing, many problems were identified that were fixed.
The plugin should work correctly.
All settings have been checked.
Feel free to write me your ideas.
I will be happy to expand and add new functionality to this plugin!
Also, if you use another plugin on the store, but you liked mine more and you want to buy it,
Feel free to write to me in discord! I will help you move the goods from the old store to mine.
Filling the store with standard categories and products
For the convenience of configuring products, I made a very convenient function.
It will allow you to fill your store with standard products and categories.
And also if you install the plugin Item Cost Calculator, then when filling out the goods, the price for the item will be automatically set.
How to do it?
Just in case, save your old configuration Enter this command in the console – xdshop.refill and xdshop.yes After the process is completed successfully, the plugin will reboot. Next, you just need to change the settings for your server economy. Required Dependencies:
ImageLibrary Supported Plugins (Optional):
Economics Server Rewards IQEconomic Human NPC Item Cost Calculator IQKits Rust Kits Setup (Configuration):
Economics:
At the moment there are 4 variants of the economy Economics, Server Rewards, IQEconomic, Item
Item – this is a type of economy in which the player will have to pay with an item, it can be scrap or other as well as custom items on your server.
You will see an example of the setup below "Economics": { "Economics (0 - Economics, 1 - ServerRewards, 2 - IQEconomic, 3 - Item)": 3, "Prefix to the balance (for example, RP or $ - No more than 2 characters)": "$", "Item shortname (Use with type 3)": "", "Item SkinId (Use with Type 3)": 0 }, Product Setup:
At the moment there are 5 different types of goods: Item, Blue-print, Custom item, Command, Kit (Whale plugins are supported Rust Kits & IQKits)
Such a variety of items being sold will obviously appeal to your players!
Product setup example
{ "Item Type (0 - Item, 1 - BluePrint, 2 - Custom item, 3 - Commands, 4 - Kit)": 0, "Unique ID (DO NOT TOUCH)": 1, "Shortame": "hat.wolf", "Descriptions": "", "Price": 11.0, "Sale price (If not necessary, leave 0)": 5.5, "Quantity": 1, "Quantity for sale": 1, "Custom item name (Use with item type 2, 3 and 4)": "", "Item SkinID (Use with item type 2)": 0, "Commands (Use with item type 3)": [], "Image URL": "", "Kits (Kits - kit name. IQKits - kit key)": "", "Purchase delay (0 - unlimited)": 0.0, "Sale delay (0 - unlimited)": 0.0, "Maximum number of lots for 1 purchase (Maximum 99)": {}, "Maximum number of lots for 1 sale (Maximum 99)": {}, "The maximum number of purchased lots per wipe (0 - unlimited)": {}, "The maximum number of lots sold per wipe (0 - unlimited)": {} }, Configuring integration with the Human NPC plugin:
If you use this plugin, then you clearly need to use it with my plugin.
This is a very interesting version of the NPC store
Setup example "Setting up a Human NPC": { "Enable Human NPC support ?": false, "Human NPC [NPC ID | list shop category]": { "11223274496" : ["Attire","Weapon"] } }, Configuring the interface:
The most interesting part of the plugin. After all, only in it you can customize the color palette for your server.
You can create your own light and dark theme between which players will switch.
I am sure that every player will choose what is best for him. You can customize the color of any element in my store.
Setup example
"Configuring the interface": { "Enable the ability to change the theme?": true, "Default theme (0 - light, 1 - dark)": 1, "Light Theme UI Settings": { "The color of the main background of the store": "1 1 1 1", "[TITLE] Text color": "0 0 0 1", "[TITLE] Picture Color": "0 0 0 1", "Color of the discount picture": "0.20 0.85 0.15 1.00", "Discount text color": "0 0 0 1", "Balance picture color": "0.26 0.53 0.80 1", "Balance text color": "0 0 0 1", "[PAGE] Page number text color": "0 0 0 1", "[PAGE] Color of the page switching buttons": "0.51 0.51 0.51 1.00", "[PRODUCT] color of the number of items (digits)": "0.627451 0.6313726 0.6392157 1", "[PRODUCT] product background color": "0.97 0.97 0.98 1.00", "[PRODUCT] Text color of the product name": "0 0 0 1", "[PRODUCT] Buy button color": "0.38 0.77 0.43 1.00", "[PRODUCT] Color of the sell button": "0.8588235 0.345098 0.3372549 1", "[PRODUCT] Close button color": "0.8392158 0.3647059 0.3568628 1", "[CATEGORY] color of the name of the active category": "0 0 0 1", "[CATEGORY] Color of the inactive category name": "0.51 0.51 0.51 1.00", "[CATEGORY] Band color of the active category": "0.5607843 0.8901961 0.4705883 0.6", "[CATEGORY] Color of the inactive category stripe": "0.4078432 0.4313726 0.4392157 0.6", "[NOTIFICATIONS] The color of the text in the notification": "0 0 0 1", "Color of additional gray text": "0.55 0.55 0.55 1.00", "The color of the exit UI button": "0.8392158 0.3647059 0.3568628 1" }, "Dark Theme UI Settings": { "The color of the main background of the store": "0.13 0.15 0.16 1.00", "[TITLE] Text color": "0.87 0.87 0.87 1.00", "[TITLE] Picture Color": "0.62 0.63 0.64 1.00", "Color of the discount picture": "0.20 0.85 0.15 1.00", "Discount text color": "1 1 1 1", "Balance picture color": "0.26 0.53 0.80 1", "Balance text color": "1 1 1 1", "[PAGE] Page number text color": "0.87 0.87 0.87 1.00", "[PAGE] Color of the page switching buttons": "0.51 0.51 0.51 1.00", "[PRODUCT] color of the number of items (digits)": "0.627451 0.6313726 0.6392157 1", "[PRODUCT] product background color": "0.17 0.18 0.21 1.00", "[PRODUCT] Text color of the product name": "0.87 0.87 0.87 1.00", "[PRODUCT] Buy button color": "0.38 0.77 0.43 1.00", "[PRODUCT] Color of the sell button": "0.8588235 0.345098 0.3372549 1", "[PRODUCT] Close button color": "0.8392158 0.3647059 0.3568628 1", "[CATEGORY] color of the name of the active category": "0.87 0.87 0.87 1.00", "[CATEGORY] Color of the inactive category name": "0.51 0.51 0.51 1.00", "[CATEGORY] Band color of the active category": "0.5607843 0.8901961 0.4705883 0.6", "[CATEGORY] Color of the inactive category stripe": "0.4078432 0.4313726 0.4392157 0.6", "[NOTIFICATIONS] The color of the text in the notification": "1 1 1 1", "Color of additional gray text": "0.55 0.55 0.55 1.00", "The color of the exit UI button": "0.8392158 0.3647059 0.3568628 1" }
},
- #ui shop
- #shop rust
-
(and 4 more)
Tagged with:
-
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.
-
VIP Tokens
By imthenewguy in Plugins
Monetize and fund your server!
This plugin will allow players to purchase a token that represents a current group on your server, such as VIP, which can be traded/sold/gifted to other players in-game.
It is functionally similar to bonds in Runescape, Plex in Eve Online and WOW tokens in WOW.
The main benefit of this plugin is that it will allow your more generous donators to purchase tokens and sell them in game for items/resources etc to players who otherwise would not financially support the server.
The RP server I run has been a shining success for this, increasing our VIP count by almost 50%.
Customizable tokens to suit most servers monetary requirements. Scalable quantities of VIP perks. A GUI to manage the show the players token balance, perks that each token provides, and end date of their subscription, all of which is configurable. Supports automatic payments via platforms such as Tebex, allowing for complete automation of purchasing. Automatically adds and removes the player from the designated oxide group. Days are completely configurable via the config file. Fail safes to prevent abuse, restrict the amount of VIP time for each token (configurable), and prevent overlapping of existing group access (configurable). Can optionally run a console command in addition to/instead of adding a player to an oxide group.
Update (not mentioned in the video):
Added the ability to run a command in addition to/instead of adding a player to a VIP group. Added the option to trigger a hook when a token is consumed (for developers). You will need to delete your old config and load the new config in order to use these new features.
Command: givetoken
Arguments: <token id> <optional: quantity>
Example: /givetoken vip 10 -this would give you 10x tokens called "vip"
Permissions: viptoken.admin
Command: removevip
Arguments: <player name/id> <token id>
Example: /removevip "new guy" vip - would remove the vip token from a player matching the name "new guy". Use quotation marks when inputting names with spaces, otherwise they aren't required.
Permissions: viptoken.admin
Command: tokenmenu
Arguments: none
Example: /tokenmenu
Permissions: none
Watch the video for more information on the plugin, how it works and how to set it up on a platform such as Tebex.
Token links from my video:
Thumbs up - https://steamcommunity.com/sharedfiles/filedetails/?id=2544603563 Recycler token - https://steamcommunity.com/sharedfiles/filedetails/?id=2544601457 VIP T1 - https://steamcommunity.com/sharedfiles/filedetails/?id=2529344523 VIP T2 - https://steamcommunity.com/sharedfiles/filedetails/?id=2529343385 VIP T3 - https://steamcommunity.com/sharedfiles/filedetails/?id=2529344741 Bitcoin - https://steamcommunity.com/sharedfiles/filedetails/?id=2530111676 The skin ID is the numbers at the end of each URL.
Command syntax for your payment platform:
addtoken <password> <steam ID> <tier> An example of a basic vip setup for tebex would be:
This function can be triggered if the configuration has hook = true. It will fire when the token is successfully consumed.
void OnTokenConsumed(BasePlayer player, string tokenKey) { Puts($"{player.displayName} consumed a {tokenKey} token"); }
- #vip
- #monetization
-
(and 2 more)
Tagged with:
-
Custom Mixing Table
This plugin is basically custom made mixing table which works pretty much same as "vanilla" Mixing Table. Worth mentioning detail, vanilla mixing table interface is no longer accessible while using this plugin although you can still list "teas" in DrugMixing and make them craft-able this way. By using one of my other plugins called Consumable Effects you can add special buffs to consumable items. These buffs are activated upon consuming the item with custom item name listed in data file. Buffs can modify metabolism values like health, bleeding, hunger, comfort etc. or apply Tea Boost with customized values (time, value, type).
FAQ
Default configuration.
Default config files are included with plugin, you will find there 7 recipes which supports ConsumableEffects plugin.
Alternatively you can look into configuration made by my customers here -> Default Tea Recipes / Complete Drug Config for RP servers
Changing and uploading custom item icons.
You can upload any icon on steam workshop with uploader tool, it is simple as just clicking one button. I can provide you with free one on my discord.
Where can players find custom ingredients for mixing table.
There is few different ways how to do it. Best way is to use any plugin which modifies loot tables and add your special items in there.
Getting custom item when picking up plants.
This is done by using free plugin ExtraGatherBonuses (link here). With this plugin you can set up any gather chance for custom items.
Special effects/buffs when consuming custom items.
To set up any buffs, please check out optional dependency Consumable Effects
If you have any questions prior to purchasing, feel free to message me here, for faster response reach out on my discord.gg/rustplugins/
For more detailed documentation visit this link.
Create Recipe
Additional Options
-
Loot Table & Stacksize GUI
By The_Kiiiing in Plugins
Say goodbye to configuration and data files. This plugin lets yo edit the loot of (almost) every lootable object directly over a custom UI. It also includes a graphical stack size editor thus making it ideal for anyone who is not familiar with editing config files.
Do not use in combination with any other stack size controller or loot plugin.
NEW with version 2.1.7: Direct Loot Refresh
Players with the permission loottable.test can use a button to directly refresh the loot in the crate they are currently looting.
Features:
User friendly GUI - no need to edit config files Loot configuration for every prefab in the game Stack size controller supports individual stack sizes for every prefab Support for custom items Support for third party plugins Fully backwards compatible with version 1.x.x Default config included for every prefab Configuration for Smelting Speed, Recycler Speed and Efficiency Supply Drop configuration
Supported prefabs:
Crates, Barrels NPCs Trees, Ores, Animal corpses Excavator, Quarries Christmas Presents, Eggs, Loot Bags Collectables like Hemp, Corn, etc.
Additional Configuration:
Smelting Speed Supply Drop Recycler Speed / Efficiency
Commands:
loottable - Open the Loottable UI loottable reload - Manually refresh loot
Permission:
loottable.edit - Required to use the Loottable UI
Required Dependencies (Oxide only):
Image Library: https://umod.org/plugins/image-library
Translations:
This plugin fully supports translation. Out of the box only english is included. For item names to be translated, the plugin https://umod.org/plugins/rust-translation-api is required. English translations are located in /oxide/lang/en/Loottable.json
For Developers:
Loot Api:
Developers can use the Loot Api to register loot profiles for custom NPCs or other plugin related loot.
It is highly recommended to use the provided wrapper to access the API. Documentation is also included:
https://gist.github.com/TheKiiiing/53a37e8bbb48d8a24c8e8b21b9da37ac
Loot Api Example:
// This example uses the non-static version of the Loot Api private LoottableApi loottableApi; void OnServerInitialized() { loottableApi = new LoottableApi(this); timer.In(5f, () => { loottableApi.ClearPresets(); loottableApi.CreatePresetCategory("Crates"); loottableApi.CreatePreset("c_locked", "Locked Crate", "crate_hackable"); loottableApi.CreatePreset("c_elite", "Elite Crate", "crate_elite"); loottableApi.CreatePreset("c_military", "Military Crate", "crate_military"); loottableApi.CreatePreset("c_normal", "Normal Crate", "crate_normal"); loottableApi.CreatePresetCategory("NPCs"); loottableApi.CreatePreset(true, "npc_cargo", "Cargo Ship NPC", "npc_militunnel"); loottableApi.CreatePreset(true, "npc_control", "Control Center NPC", "npc_militunnel"); }); } void SpawnNpc() { // Spawn NPC here ScientistNPC npc; // Assign a loot preset to the NPC loottableApi.AssignPreset(scientist, "npc_control"); } void SpawnCrate() { // Spawn crate here LootContainer crate; // Assign a preset to the crate if (loottableApi.AssignPreset(container, "c_locked")) { // The container has been filled with loot return; } else { // The container is not handled by Loottable // Default loot logic goes here } } The resulting configuration page would look like this:
Custom Items API:
Developers can use the Custom Items Api to add a custom item to the Loottable item list. If an item is marked as persistent it will remain in the custom item list until it is removed by ClearCustomItems. All non-persistent items will be removed after the plugin that registered them has been unloaded.
(void) AddCustomItem(Plugin plugin, int itemId, ulong skinId) (void) AddCustomItem(Plugin plugin, int itemId, ulong skinId, bool persistent) //(v1.0.27 or higher) (void) AddCustomItem(Plugin plugin, int itemId, ulong skinId, string customName) (void) AddCustomItem(Plugin plugin, int itemId, ulong skinId, string customName, bool persistent) //(v1.0.27 or higher) (void) ClearCustomItems(Plugin plugin) //(v1.0.27 or higher)
Hooks:
(object) OnContainerPopulate(LootContainer container) This hook is called every time a loot container is about to be populated with loot. Returning a non-null value prevents the plugin from spawning loot into that crate.
(object) OnCorpsePopulate(LootableCorpse corpse) This hook is called every time an npc corpse is about to be populated with loot. Returning a non-null value prevents the plugin from spawning loot into that corpse.
(object) OnCustomAirdrop(SupplySignal signal) This hook is called every time a custom supply drop is about to be delivered. Returning a non-null value will cancel the custom supply drop.
Outdated documentation for Version 1:
New with version 1.0.27:
Custom Items can now be created and edited directly in the GUI. They can be created from any existing item and modified in the Item Select menu
You can now create and load backups of your configuration. Commands (F1 or Server Console):
loottable.backup load <name> - Load backup with the given name from the backups folder (will wipe your current configuration) loottable.backup create <name> - Create backup of everything with the given name Backups will be created in the data/Loottable/backups folder. To load a backup, the backup file needs to be present in that folder. When creating backups in the in-game console, the permission loottable.debug is required.
IMPORTANT: DO NOT LOAD BACKUPS FORM SOURCES YOU DO NOT TRUST, they might cause harm to your server
New with version 1.0.16:
Custom Items:
Now you can add custom items used by other plugins directly to your loot table. Other plugins can can register these items using the api (documentation below).
Screenshots:
Overview of crates and their current loot table
Stacksize Editor
Commands:
loottable - Open the editor loottable refresh - Manually refresh crate loot loottable flags - List available flags (explained below) loottable flags <name> <1|0> - Enable / disable a certain flag loottable reload_vanilla_profiles - Manually re-download vanilla loot profiles (only for debuging)
Permission:
loottable.edit - Required to use the editor
Flags:
There are flags to disable some limits in the editor. Only enable these flags if you really need to as they might cause unexpected behavior of the editor. There are currently 3 flags available:
Debug If enabled, the Debug flag provides more detailed information about errors and other actions in the editor. Don't enable this flag unless you want your console full of spam.
UnlockGatherMultiplier allows you to use gahter multipliers less than one and higher than 1000. Note that multipliers less than one might lead to unexpected results in some cases.
DisableItemLimit Probably the safest flag to use is DisableItemLimit as it simply lets you set stack sizes and every other item amount in the editor as high as 2,147,483,647 which is the biggest possible value of a 32-bit integer.
UnlockFurnaceMultiplier lets you use any value as the furnace speed multiplier. Don't enable this flag unless you know what you are doing, since the default value range from 0.1 to 100 should cover most use cases and larger values might impact server performance.
UnlockItemMultiplier unlocks the multiplier when multiplying a loot table.
DisableStackingHooks will disable all stacking related hooks. Enable if you encounter problems when stacking items.
RefreshLootOnExit controls if all crates get refreshed after closing the editor or when reloading the plugin. Enable this only for testing, there might be an increase in entities.
Refer to the Commands section for more information about enableing flags.
Vanilla Configurations:
Since version 1.0.7 there are vanilla loot profiles available for most crates and NPCs. These profiles can be loaded using the "Load default loot table" button at the top center of the editor.
DISCLAIMER:
The vanilla loot profiles in the editor might not exactly match the vanilla loot distribution of the game as it uses a completely different loot distribution system than Rust. These profiles rather serve as a reference point for custom loot profiles.
Important for Carbon users:
In order for this plugin to work with carbon, Harmony references need to be enabled. This can be done with the following command:
c.harmonyreference 1
Required Dependencies (Oxide only):
Image Library: https://umod.org/plugins/image-library
Custom Items API:
Add a custom item to the item list. If an item is marked as persistent it will remain in the custom item list until it is removed by ClearCustomItems. All non-persistent items will be removed after the plugin that registered them has been unloaded.
(void) AddCustomItem(Plugin plugin, int itemId, ulong skinId) (void) AddCustomItem(Plugin plugin, int itemId, ulong skinId, bool persistent) //(v1.0.27 or higher) (void) AddCustomItem(Plugin plugin, int itemId, ulong skinId, string customName) (void) AddCustomItem(Plugin plugin, int itemId, ulong skinId, string customName, bool persistent) //(v1.0.27 or higher) (void) ClearCustomItems(Plugin plugin) //(v1.0.27 or higher) Example:
Its recommended to delay the call a little bit to make sure Loottable is loaded
private void Init() { timer.In(1f, () => { Loottable?.Call("AddCustomItem", this, -946369541, 2664651800, "High Quality Fuel"); }); }
Hooks:
(object) OnContainerPopulate(LootContainer container) This hook is called every time a loot container is about to be populated with loot. Returning a non-null value prevents the plugin from spawning loot into that crate.
(object) OnCorpsePopulate(LootableCorpse corpse) This hook is called every time an npc corpse is about to be populated with loot. Returning a non-null value prevents the plugin from spawning loot into that corpse.
(object) OnCustomAirdrop(SupplySignal signal) This hook is called every time a custom supply drop is about to be delivered. Returning a non-null value will cancel the custom supply drop.
- #loot
- #customloot
- (and 13 more)