Shoppy Stock
$50.00
Sold by: ThePitereqShoppy Stock – This Rust plugin introduces a plethora of innovative features to the RUST server economy that were previously unavailable.
This plugin enables the creation of multiple shops with diverse currencies, stock markets with item listing, a highly customizable server selling center, and numerous other functionalities.
- Description
- Reviews (0)
- Version History
- Discussions (0)
- Setup
- Product Enquiry
Description
Description
Shoppy Stock – This Rust plugin introduces a plethora of innovative features to the RUST server economy that were previously unavailable.
This plugin enables the creation of multiple shops with diverse currencies, stock markets with item listing, a highly customizable server selling center, and numerous other functionalities.
Features
Global
- Over 12 detailed RUST-Themed GUI windows.
- Wrote with performance in mind. All plugin actions are lightweight for server.
- Highly expandable plugin. All that limits you is your imagination!
- Fully customizable PopUp message through PopUp API.
- Command and API currency management.
- Full language support for any displayed message and item.
- NoEscape support.
- Full UI color change support.
- NPC interact shop and stock market support.
Shops
- Create multiple shops with different currencies.
- Easily transfer your old currency to the plugin with other economy plugins support.
- Split your shop items into categories with custom icons for easier navigation.
- Search through all categories with one search bar.
- Buy the exact amount of items that you need.
- Full custom item support.
- You can configure which currencies should be available to transfer.
- Transfer currency to online/offline players.
- When a currency is an item, you can make it available for deposit into the shop as virtual currency.
- The page is saved when you close the shop, so you can easily get back where you were.
- Full permission system configurable for each action.
- Limits for daily/wipe purchases.
- Set cooldown to your purchases.
- Discount system.
Stock Market
- Create multiple different markets with different currencies.
- Mark your favorite items and have them in the Favorite tab.
- Automatically adds all vanilla RUST items with the ability to blacklist unwanted.
- Few options to sort all listings for better economic management.
- Create sell and buy requests for the items.
- Configurable server sells price history.
- Permission-based system on how many listings one player can create.
- Listings can be canceled and refunded or placed back to the market without any costs.
- Configurable tax on each market action.
- Additional info support for things such as durability and plant genes.
- Price rolls can be configured to run on specific hours.
- Demand system which will increase/decrease price of item on the market based on their demand. Messages requires DiscordCore.
- Selling center with the price calculator with over 15 variables based on amount sold, players online and more.
- Stock Market Broker. You can give permission for access to bank, where players can store and optionally refund items that are available in the server’s sell list. You can also set the alert price and insta-sell price, which will execute a PopUp or will insta-sell your bank resources even if you are offline.
- Custom category and full custom item support.
- Configurable Web API for your server developers or for checking the item price if you are offline. Requires Web Server.
- Statistics module for server technicians for easier economy setup.
Dependencies
Required
Optional
- Redeem Storage API – Required if you’ve enabled market
- Discord Core – Required if you’ve enabled discord messages
- Economics – Optional currency support
- ServerRewards – Optional currency support
- BankSystem – Optional currency support
- IQEconomic – Optional currency support
- NoEscape
- HumanNPC
Permissions
The permissions listed below are static and cannot be altered. The configuration files offer hundreds of possible permissions.
- shoppystock.admin – Gives access to the currency management command.
Commands
All commands can be fully customized. Here is a list of the default commands.
- /market /shop /s /m – Opens Shoppy Stock UI.
- /list – Open’s window to create Sell Request in RP stock market.
- /sell – Open’s window to sell items in RP stock market.
- curr – Admin command. Full usage description is available when you run this command. (Chat and console command)
- updateprices <shopName> – Forcefully update stock prices of the shop. (Chat and console command)
Help Page
Due to the extensive features offered by this plugin, it may be challenging for some users to configure certain aspects without guidance. Therefore, we have provided a brief walkthrough below.
Configuration Files
The plugin is extensive, resulting in the configuration files being split into three distinct ones, with two of them varying for each shop.
Firstly, in your oxide/config folder, you will find the default configuration file, which contains all the fundamental configuration lines to add or remove more shops and stock markets.
Secondly, in the oxide/data/ShoppyStock folder, you will find three folders.
The first is Shops, which contains all the configurations for each shop created in the primary configuration file.
The second is StockMarket, which includes several folders with all the stock-related content. More information on this is provided later.
Lastly, UserData contains data on each shop player’s currency, username, and daily/wipe purchases.
StockMarket Folder
In the StockMarket folder, you will find up to six folders, namely AlertData, Config, FavouriteData, PlayerData, PriceCache, and Statistics.
The AlertData folder contains data on the alert and insta-sell prices set by players.
The Config folder contains all the configuration files for each available stock market.
The FavouriteData folder holds data on favorite items marked by players.
The PlayerData folder includes data on all buy/sell requests and their banks.
The PriceCache folder contains cache on all the necessary data of current item prices and their price/sell history for the graph to function. The size of this file depends on how long your timeline goes.
Lastly, the Statistics folder includes all the statistics collected in the market by all players, split into global/player values, which are further divided into all time/daily actions. These values should help you understand how many resources are being sold on the server and justify your Default Sell Amount Calculation or Price Calculator.
Server-Selling Items → Default Sell Amount Calculation (DSAC)
The Default Sell Amount Calculation (DSAC) is a critical component that determines the amount of items sold during a given period.
It serves as a reflection of the average item sales by all players during that period.
For instance, in a PvE x10 server with an average of 20-30 players online, the wood amount sold could be set to 1800000.
However, this value is only an example, and it is not recommended to base your configuration solely on it.
A good stock market requires time and effort.
Web API
The plugin offers a Web API feature that enables you to check your market prices through your website.
To activate this feature, you need website hosting with PHP support and to download the provided PHP file named apiupdate.php.
CLICK HERE TO DOWNLOAD!
It should be placed in the same directory as the “Web Price API – Link” points to.
While experienced users can change the file name for security reasons, they should remember to modify the plugin code as well.
Ensure the file has sufficient permissions to create an output api.html file (the file’s directory can be altered in the PHP file).
If configured correctly, the output should be available at <Web Price API – Link>/api.html.
Always Run the Timer on Hour Minute
The Always Run Timer on Hour Minute feature sets the time when the timer will commence rolling the prices of your stock market.
For example, if the values are set to 0, 30, and 60, the timer will start rolling prices on the hour or half-hour (x:00 or x:30).
Similarly, if the values were 0, 20, 40, and 60, the timer would start rolling prices on the hour or at intervals of 20 minutes (x:00, x:20, or x:40).
Stock Market – Default Categories
The stock market contains 4 default categories.
Sometimes you want to display them as first when opening the stock market. here are their codenames for config usage:
- my_listings
- bank_management
- favourites
- all_items
Stock Market – Category Icons
These options are formatted as follows: “config/rust default category name”: “URL”.
Stock Market – Custom Item Info Lang Key
For custom items, it’s possible to create custom info tags in listings, similar to the tool condition or genetic information for clones.
You can add your own tag for certain types of items, such as “Upgrade Ingredients”.
Stock Market – Refund Storage Name
A storage with this name needs to be created in the RedeemStorageAPI.
Otherwise, items from certain actions may disappear and the plugin will generate errors.
Custom Item Listings
All items configured in the stock market must have the exact format of the keys.
The correct format is: <shortname>-<skinId>.
For instance, the key for a Metal Chestplate with skinId 2497693972 will be “metal.plate.torso-2497693972”.
Generating Shop Config With All Vanilla Items
Go to main plugin config in oxide/config/ folder and in the shop section you want to add all vanilla items search for Config Generation – Generate With All Default Items and set it to true.
After all, go to oxide/data/ShoppyStock/Shops/ and delete your desired shop JSON file and reload the plugin.
The plugin should generate a new config with all vanilla RUST items.
Shop Items – Commands
Commands support 2 types of variables.
- {userId} – Will be replaced with steamId of buyer.
- {userName} – Will be replaced with nickname of buyer.
- {userPosX} – Coordinate X of buyer.
- {userPosY} – Coordinate Y of buyer.
- {userPosZ} – Coordinate Z of buyer.
Community Q&A
API for Developers
- int GetCurrencyAmount(string shopName, BasePlayer player) – Returns player’s balance. If not found returns 0.
- int GetCurrencyAmount(string shopName, ulong userId) – Returns player’s balance. If not found returns 0.
- bool TakeCurrency(string shopName, BasePlayer player, int amount) – Takes player currency. Returns true if taken and false if not.
- bool TakeCurrency(string shopName, ulong userId, int amount) – Takes player currency. Returns true if taken and false if not.
- void GiveCurrency(string shopName, ulong sellerId, int amount) – Gives player currency.
- string FormatCurrency(string shopName, BasePlayer player) – Returns player’s formatted balance.
Example Files (Version 1.0.0)
Contains all configuration files from the video, without most of the custom items. It’s not recommended to run this files on main server
CLICK HERE TO DOWNLOAD!
Default Main Config (Version 1.0.6)
CLICK HERE!
Default Shop Config (Version 1.0.6)
CLICK HERE!
Default Stock Market Config (Version 1.0.6)
CLICK HERE!
Reviews (0)
Only logged in customers who have purchased this product may leave a review.
Version History
- Fixed Fixed listing price display.
- Fixed Fixed listing creation.
- Fixed Fixed possible item dupe glitch.
- Fixed Fixed buy request inventory.
- Added Another fix for mailboxes.
- Fixed Fixed mailboxes broken after update.
- Fixed Fixed max daily items sold wrong calculations.
- Fixed Fixed enumeration error
- Fixed Fixed listing message display. Need to edit lang file manually or regenerate.
- Fixed Fixed hide transfer permission server crash
- Added Added option to limit daily sell of resources with optional permission support.
- Added Added option to limit individual items in stock bank with optional permission support.
- Added Added option to limit item stack countt in stock bank with optional permission support.
- Added Added option to add commands that open certain shops/stock markets.
- Added Added permission shoppystock.hidetransfer that hides player from transfer list.
- Added Added optional chat messages for price roll, new buy requests, new sell requests and stock sell actions.
- Fixed Fixed shop command icon requirement to set unique skinid.
- Updated Few code performance fixes.
- Fixed Another RUST update fix. Sorry for multiple updates!
- Fixed Fixes for 3rd October RUST Update. Do not update prior to game and server update!
- Fixed Fixed version index.
- Fixed Fixed tax overflow bug.
- Fixed Fixed stuck /sell command.
- Fixed Fixed other plugin currency withdraw
- Fixed Fixed assigning item name on adding shop entry.
- Added Temporary fix for mailbox input.
- Added Added ability to list items in shop for free.
- Fixed Fixed to latest RUST update.
- Fixed Fixed missing end looting method.
- Updated Improved math.
- Fixed Fixed creating new listing broken in previous update.
- Added Added optional lock for adding buy/sell requests to market.
- Added Added support for IQEconomic and BankSystem currency system.
- Added Added option to give currency to inventory rather to balance. Works only in few cases.
- Added Added support for cheapest offer icon display in stock market.
- Fixed Fixed deposit button in stock market.
- Fixed Fixed currency wipe.
- Added Added options to disable/enable top UI buttons for shop/stock market/transfer.
- Added Added message on receiving currency from another player.
- Added Added price multiplier permissions for selling resources to server.
- Fixed Fixed rare cases that date file might clear.
- Fixed Fixed duplicate permission spam.
- Fixed Fixed possible overflow bug when selling items to market.
- Fixed Fixed wrong free slots counting.
- Added Added error message about trying to open unassigned sell command.
- Added Added support to player position in shop commands. {userPosX} {userPosY} {userPosZ}
- Fixed Fixed security exploit.
- Fixed Fixed error on cleaning data on wipe in rare cases.
- Fixed Fixed errors printed in console when not valid argument was placed while setting an alert.
- Fixed Fixed rare error that broke price roll.
- Fixed Fixed error of players unable to open shop if they bought out all products from one category.
- Fixed Fixed basic multiplied price discount display.
- Fixed Fixed collection errors on some tasks.
- Added Added option to change PopUp font size and display time.
- Added Added option to pay with currency from inventory.
- Added Added currency security checks.
- Added Added currency withdraw option.
- Added Added full item data support with addons, ammo etc.
- Updated Code cleanup.
- Fixed Fixed market item blacklist, and added support for skins in the same config option.
- Fixed Fixed first time check when data files are generated.
- Fixed Fixed currency and item dupe exploit.
- Added Added shop's item price multiplier by purchased amount.
- Added Added message to buy order creator when order is fulfilled.
- Updated Improved ImageLibrary implementation.
- Fixed Fixed stock market actions when a lot of items were added to one listing.
- Fixed Fixed 0 tax calculations.
- Fixed Fixed lootable groundwatch.
- Fixed Fixed autosell error.
- Updated Thanks to nivex and T-Bird for finding and fixing bugs from above! ❤️
- Fixed Disabled test features that caused errors on other servers than my test server.
- Updated Wrong file update. Do not install 1.0.9!
- Added Added shop item optional description panel.
- Updated Full implementation of adding item bank to stock market.
- Fixed Fixed sell from bank button.
- Added Added "Deposit All" button to stock bank that will move all already included items in bank from inventory into bank.
- Added Added security check when trying to sell less items than one.
- Added Added code debug to price roll for more advanced users.
- Added Added translation to Buy/Sell sort button.
- Added Added security close on UI when it got somehow bugged.
- Updated Added button for re-adding listing to the stock market. Sprint button no longer works.
- Updated Added missing statistics module to auto-bank sell feature.
- Fixed Fixed default data file custom item generation.
- Fixed Fixed default data file custom item generation. Fixed missing custom stock category icon, adding.
- Fixed Fixed problems with including at the end of search phrase.
- Fixed Fixed error when price parent hadn't had the price set and sell amount is now added to both items for correct price calculations.
- Fixed Fixed NoEscape functionality.
- Fixed Fixed error on withdrawing 0 items from bank.
- Fixed Fixes in auto-sell.
- Fixed Fixed price display on 1.0E(x * 3) values.
- Fixed Fixed wrong format in stock event default messages.
- Added Added security check for missing config codename for generating stock config.
- Added Added config and data user input parser. Now on plugin load it will print any possible errors made by user in config/data file.
- Updated Simplified price calculations when they are static.
- Fixed Fixed other plugin currency transfer.
- Fixed FIxed daily/wipe limits not being saved when other plugin currency was used.
- Added Added option to use built-in RUST images and Steam downloaded ones.
- Added Added cooldown between actions on UI to reduce possibility of server crashing.
- Fixed Fixed currency deposit stock open error and added other plugin currency transfer support.
- Fixed Fixed not including the discount in opening buy listing on shop.
- Fixed Fixed support to item.text plugins.
- Fixed Fixed daily/wipe purchase limits, not saved through plugin reload if custom currency used.
- Added Added option to config to remove sell remainings.
- Updated Improved selling method performance.
- Fixed Fixed plugin data not saving on adding items to shops.
- Fixed Fixed first category selected error.
- Updated Made the selling method more performance friendly.
- Updated Made new sell calculator which leaves decimal value items in storage.
- Fixed Fixed not selling items below 1 but giving the money.
- Added Added missing save on adding items in-game to config.
- Added Added Shopkeeper NPC support.
- Added Added simple in-game item adding.
- Added Added direct command for currency deposit.
- Added Added missing deposit button in stock market.
- Added Added discount support to shop.
- Added Added shop category permission blacklist list.
- Added Added support for full item language support.
- Added Added moving items to /redeem while inventory is full.
- Updated Disabled keyinput while UI is opened.
- Fixed Fixed sell price rounding in wrong place.
- Fixed Fixed not being able to open stock if multiple were enabled.
- Fixed Fixed item held entity removing.
- Fixed Fixed permission registration of other plugins.
- Fixed Fixed adding new stock configs.
- Fixed Fixed support to some custom item plugins.
- Added Added option to enable "All Items" tab to market.
- Added Added option to give player's ability to list items with undefined skins to market.
- Added Added option to block selling items to market with sum value less than 1.
- Added Added option to modify stock market category order.
- Added Added option to remove price formatting. Not recommended - in high values can cut the displayed price.
- Added Added option to make Child-GUI X button close only Child-GUI, not whole shop.
- Added Added option for taking x% of everyone's currency at map wipe.
- Added Added purchase cooldown to shop.
- Added Added support for changing UI colors.
- Added Added option to set upper price limit on market.
- Added Added NoEscape support.
-
Added
Added option to fill default shop configuration with all vanilla items. Needs to be enabled in config and you need to delete previously generated config at oxide/data/ShoppyStock/Shops/
.json. - Added Added debug option for easier problem report.
- Fixed Fixed bug with not getting message when refunding item.
- Fixed Fixed not loading custom skinned item icons.
- Fixed Fixed ServerRewards not giving money to the seller.
- Updated Changed few options in default generated config.
Discussions (0)
Discussions
There are no discussions yet.
Leave a reply
Setup
Plugin FAQ – How do I use this .zip/.7z file I just purchased on my server?
• First, you want to unzip the file. You can do so by just double-clicking it to open, then drag the contents to the desired location (you may need to install an external unzipping software if you don’t already have one such as 7zip or winrar)
• Next you will find either a structure of folders or just the .cs file itself (it’s the actual plugin file itself).
• After that just install the .cs (plugin file) into your …/oxide/plugins/ folder where you will install plugins you ever need to.
Additionally, here’s a great video that easily covers adding a plugin to your server if you need! https://youtu.be/yWC_p97FhQA
• Installation is not included with any products on the site, however, if needed we may assist if you reach out to our support.
Currently all products on Lone.Design will be contained within a zipped file which is the .7z or .zip that you see. I believe windows 10 and up can unzip on its own without 3rd party tools, but in that case, if you’re unfamiliar with zipped files here are 2 programs I recommend to easily unzip zipped files.
Video On How to Zip and Unzip: https://youtu.be/Ep-L3PjBPCk (TechInsider Youtube Channel)
Zipping/Unzipping Tools
Winrar https://www.rarlab.com (I used to use for years, but works great!)
7zip https://www.7-zip.org/a/7z2107-x64.exe (the one I use currently)
Reviews
There are no reviews yet.