-
Posts
1,585 -
Joined
-
Last visited
-
Days Won
7
Content Type
Profiles
Downloads
Forums
Store
Support
DOWNLOADS EXTRA
Services
Everything posted by ThePitereq
-
Hey! The problem can be rarely found on the meteorites, and there is special function to prevent invisible meteors. I've tried multiple methods to make it work even better but with no solution. The problem is in rescaling the meteors, if they would be in size of default rock there would be no problems. Maybe when i'll find some solution for that by mistake i'll update this problem, but for now there is no way of fixing this rare bug. I'm sorry.
-
I can add all the things by default, but the prices need to be done by hand. The full description of which file does which should be available in plugin's website description. I can add option in next update that if enabled, and shop config is not generated yet, it will generate it with all default items with price of 1, for configuration.
-
You need to do it through the config. Some of the configurations are really complex and it would be really hard to move them into game GUI. Maybe i can add an small part of configuration into an game UI like adding custom items to stock market, but it will still require some values assigned through config file. The plugin have so many options that's really hard to make that in-game with reasonable length of code and time.
-
Version 2.0.5
1,817 downloads
RUST Plugin Test Server TEST MY PLUGINS THERE! connect play.thepitereq.ovh:28050 Shoppy Stock is a powerful and versatile economy system designed to enrich your Rust server with shops, stock markets, transfers, exchanges, and deposit features. This plugin makes it easy to create multiple shops with unique currencies, set up dynamic stock markets with item listings, and manage a fully customizable server selling center—plus many more advanced options. Plugin package (zip) contains: ShoppyStock plugin ShoppyConverter plugin (Converts 1.x config to 2.0 config) Global Includes over 17 detailed Rust-themed GUI windows. Optimized for performance—actions are lightweight and won’t burden your server. Highly expandable, limited only by your imagination. Fully customizable popup messages through the PopUp API. Comprehensive command and API support for currency management. Full language support for all messages and items. Supports NoEscape integration. Complete UI color customization. NPC interaction support for shops and stock markets. Page memory feature remembers your position in the shop when reopened. Deposit and withdraw currencies to and from items. Currency exchange between different types. Built-in currency leaderboard. Shops Create multiple shops, each using different currencies. Easily import your old currency from other economy plugins. Organize items into categories with custom icons for seamless browsing. Unified search bar across all categories. Buy exactly the amount of items you need. Full custom item support. If currency is item-based, allow deposits into the shop as virtual currency and withdrawals back to items. Granular permission system configurable for each action. Daily or wipe purchase limits. Purchase cooldowns. Configurable discount system. Random offer rotations with customizable listings. Progressive pricing — prices can increase by set values or multipliers on each purchase. Stock Market Create multiple markets with different currencies. Favorite items tab for quick access. Automatic listing of all vanilla Rust items with blacklist support. Multiple sorting options for better market management. Buy and sell request creation. Configurable server sell price history. Permission-based limits on how many listings each player can create. Listings can be canceled, refunded, or returned to the market at no cost. Customizable taxes on market actions. Support for extra item info like durability and plant genes. Timed price rolls to adjust prices at set hours. Demand-based pricing that adjusts based on item popularity (DiscordCore required for messages). Advanced selling center with a price calculator using over 15 variables (e.g., amount sold, online player count). Stock Market Broker system—players can store or refund items, set alert prices, and even auto-sell resources while offline. Custom categories and full custom item support. Web API support for price checks or integration into server tools (requires web server). Statistics module for fine-tuning your economy. Timed listings with configurable availability durations. Ability to buy back resources sold to the market. Listing taxes based on listing time. Dynamic price history graphs. Individual configuration for server buy/sell offers per item. Generation of historical price data. Transfer Send currencies to other players, whether they’re online or offline. Configurable transfer limits and taxes. The following core permission is static and cannot be changed. However, the configuration files include hundreds of customizable permissions covering nearly every action. shoppystock.admin - Grants full access to admin commands and management tools. All commands can be fully customized in the configuration. Below are the default commands included with the plugin: /shop or /s — Opens the main Shoppy Stock interface. /adminshop — Opens the admin shop management panel. (Available in version 2.1) /deposit — Opens the currency deposit inventory. /mshop or /goldshop — Opens a specific shop. /market — Opens the stock market interface for a specific currency (defaults to “money”). /sell — Opens the sell inventory to sell items directly to the server (defaults to “money”). /list — Opens the interface to list a new item on the stock market (defaults to “money”). /bank — Opens the bank interface for a specific stock market (defaults to “money”). /stockcode <code> — Displays a private listing using a code shared by the listing owner. updateprices — Console command showing details on rolling or updating item prices in the stock market. Shoppy Stock is packed with powerful features, and configuring everything the first time can feel overwhelming. This guide provides a quick walkthrough to help you get started and understand key parts of the plugin. Optional Supported Currency Plugins Economics ServerRewards BankSystem IQEconomic Moving from V1 to V2. Shoppy Stock V2 has been almost completely rewritten from scratch, reusing less than 10% of the old code. The new configuration is redesigned to be more intuitive and feature-rich. To help you migrate, use the provided ShoppyConverter, which can convert about 95% of your old configs and data files to the new format. After converting, always review your new configs carefully — V2 includes dozens of new options that won’t automatically adjust to your preferred settings. How to convert: Place ShoppyConverter.cs in your plugins folder. Follow console instructions to move files to the required location. Run the conversion command as instructed. Once converted, place the new files in the correct folders as indicated. Configuration Files The plugin’s extensive features are divided across several files and folders: /config/ShoppyStock.json Main config containing default settings for currencies, shops, stock markets, and global options. /data/ShoppyStock/playersData.json Stores global plugin data and player currencies. /data/ShoppyStock/Shops/Configs/<shopName>.json Shop configs, including available categories and items. /data/ShoppyStock/Shops/Statistics/ Data on daily limits, unique purchases, and more. /data/ShoppyStock/StockMarkets/Configs/<stockName>.json Stock market configs. /data/ShoppyStock/StockMarkets/Listings/ Player buy and sell offers. /data/ShoppyStock/StockMarkets/PlayerData/ Alert data, favorites, banked items, etc. /data/ShoppyStock/StockMarkets/PriceCache/ Historical price data and current server sell prices. /data/ShoppyStock/StockMarkets/Statistics/ Data on items sold to the server and total currency earned. Main Config Highlights Web API You can use the Web API to show market prices on your website. Requires web hosting with PHP support. Download apiupdate.php by CLICKING HERE. Place it in the directory set by your “Web Price API - Link” config. Make sure it has permission to create api.html. The generated file will be accessible at <Web Price API - Link>/api.html. Server-Selling Items → Default Sell Amount Calculation (DSAC) DSAC helps define the average number of items sold in a period, based on your server’s player activity. The period is an one price roll time. Example: a PvE x10 server with ~20–30 players might set wood’s DSAC to 1,800,000 — based on my some calculations, but adjust based on your own stats and server needs. Always Run Timer on Hour Minute Controls when the plugin rolls stock prices. For example: Values: 0, 30, 60 → rolls at x:00 or x:30. Values: 0, 20, 40, 60 → rolls at x:00, x:20, or x:40. Stock Market - Default Categories By default, the stock market includes these categories: Favourites MyListings Bank AllItems Use these codenames in your configs to customize display order. Items - Custom Detail Info (skinId: languageKey) You can add custom info tags in listings (similar to showing tool condition or clone genes). For example, tag certain items as “Upgrade Ingredients.” Redeem Inventory Name Make sure to create a storage with this name in RedeemStorageAPI — otherwise, items from certain actions could disappear, and errors may occur. Generating Shop Config With All Vanilla Items To automatically add all vanilla RUST items to a shop: In /config/ShoppyStock.json, set Generate Config With All Default RUST Items to true in the desired shop section. Delete the existing shop config file in /data/ShoppyStock/Shops/Configs/. Reload the plugin—this will generate a new config containing all default items. Shop Data Config Highlights Shop Items - Commands Supports few types of dynamic variables in commands: {userId} → buyer’s Steam ID {userName} → buyer’s nickname {userPosX}, {userPosY}, {userPosZ} → buyer’s coordinates A collection of answers to common questions about demand systems, price multipliers, stock market trends, and developer API. Multiplier Events & Demand System Q: How does the demand system work? What is “weight”? A: The demand system uses “Multiplier Events” defined in the main config. Each event has a weight that determines its chance to be chosen during a price roll. How often demands appear is configured in your stock market file at: /data/ShoppyStock/StockMarket/Configs/<shopName>.json. Make sure names in the main config and stock market config match exactly. Q: How do “minimal” and “maximal” work? A: These define a range for random price multipliers. Example: if minimal is 1.4 and maximal is 1.8, and the original price is 1.4, the final rolled multiplier might be ~1.685 → final price becomes ≈ 2.359. If the random roll goes above max or below min, it’s clamped to min/max. Stock Market - Timestamps & Trends Q: What are timestamps used for? A: The plugin stores historical price data which appears in charts for players with the correct permission. Tip: set a reasonable timestamp retention value even if you don't plan to show players now—this lets you start collecting useful data early. Data Folder, Stock Market Config Q: Blocked Multiplier Listing Keys A: Certain items you want excluded from permission price multipliers. Price Calculator Q: Price Change - Price Fluctuation Percentage A: Adds random small price changes to keep the market realistic when no other events run. Q: Price Change - Same Price Actions Min/Max A: Controls how many rolls prices must go up or down in sequence, making trends look more natural. Q: Price Change - Chances To Increment Based On Current Price Percentage A: It's the chance to run the action listed above. It's made in "<price percentage>": <price increase chance (percentage)> format. It's made to make prices go higher more easily when they are low and harder when they are high. Q: Price Drop - Amount Sell Values Penalty Multiplier A: When many items are sold fast, price roll becomes negative × penalty multiplier, making it drop quicker. Q: Price Drop - Amount Sold Max Price Penalty A: If a huge amount of an item (e.g., 10000% of DSAC) is sold, price is locked to e.g., 25% of original value for a period (e.g., 24 price rolls). Q: Price Increase - DSAC Not Achieved A: When item demand is too low (<100% DSAC sold), price increases faster to encourage farming, e.g., by x1.5. Q: Default Sell Amount Calculation - Players Online Multiplier A: Automatically scales DSAC based on current player count (checked each price roll). Useful if online population varies greatly. Q: Price Multipliers - Minimal Time Distance Between Events A: Sets a cooldown between multiplier events to avoid price spikes. Q: Price Multipliers - Chance To Appear Based On Sold Amount A: Lets multipliers trigger more often when few or many items are sold. Q: Price Multiplier Events A: Defines how many price rolls the price-increase/decrease event should last. Server Sell Items Q: What is the price parent system? A: Lets you set base items (e.g., Metal Ore) and refined items (e.g., Metal Fragments) so that fragments always stay more valuable than ore by a set difference, encouraging refining. int GetCurrencyAmount(string shopName, BasePlayer player) - Returns player's balance rounded down to integeer. If not found returns 0. int GetCurrencyAmount(string shopName, ulong userId) - Returns player's balance rounded down to integeer. If not found returns 0. float GetCurrencyAmountFloat(string shopName, BasePlayer player) - Returns player's balance. If not found returns 0. float GetCurrencyAmountFloat(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, BasePlayer player, float 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. bool TakeCurrency(string shopName, ulong userId, float amount) - Takes player currency. Returns true if taken and false if not. void GiveCurrency(string shopName, ulong sellerId, int amount) - Gives player currency. void GiveCurrency(string shopName, ulong sellerId, float amount) - Gives player currency. string FormatCurrency(string shopName, BasePlayer player) - Returns player's formatted balance. Video Configuration Contains all configuration files shown on video. My private configuration created for my purposes. Note: many custom item features won’t work directly on your server—they're specific to the author’s private setup. Example Configuration.zip Default Main Config CLICK HERE! Default Shop Data Config CLICK HERE! Default Stock Market Data Config CLICK HERE!$50.00 -
Image Icons not showing up in latest version 2.3.3
ThePitereq replied to Covfefe's Support Request in Support
Hey! The image database in my plugin is set as it should be set on each plugin available. It means that default icons uses built-in ImageLibrary database, I think there is a problem in ImageLibrary that it doesn't clear it's data each wipe, so it thinks that the images are stored in database, but they are not. This is why it shows you black squares. If you want to make your images work always, at every wipe remember, to delete the: - .sv file in your /server/ folder - the /oxide/data/ImageLibrary folder Deleting ImageLibrary data file mid wipe seems that it doesn't fix the issue and you have to delete also the .sv file which contains all types of paitings, images from camera etc. -
Question/Suggestion : Meteor Despawn Timer
ThePitereq replied to CaptainNebulous's Support Request in Support
They stay until the next timed event is not ran. I can add despawn timer in next update. -
Changed Status from Pending to Closed
-
- 24 comments
-
- #discord
- #discordbot
- (and 14 more)
-
Changes in config cause existing upgraded quarries to only refund one quarry
ThePitereq replied to thefederalist's Support Request in Support
Hey! The quarry upgrade refund is not imlemented yet, because you need to have data about what type of upgrade it was (currency/items). It is planned to add in future update. -
Hey! I though i've answered that ticket. lol. It cannot be changed without huge changes in RUST code.
-
- 24 comments
-
- #discord
- #discordbot
- (and 14 more)
-
Version 2.0.0
1,152 downloads
RUST Plugin Test Server TEST MY PLUGINS THERE! connect play.thepitereq.ovh:28050 Discord Core creates essential links between your RUST and Discord servers. It let you display player count, synchronize ranks, chat between game and Discord, even manage tickets and votes. You can also print F7 reports into your discord and manage cupboard access through private messages. Allows you to connect users RUST accounts to their Discord accounts. Most recent Discord methods implementation (modals, buttons, slash commands) Send private messages to connected players through the API.. You can grant Discord or game roles to players who have linked their accounts. Show your player count in the bot's status. Grant game group reward for boosting your discord server Create Rust - Discord chat channel to communcate between platforms. You can create a chat between Discord and RUST, displaying messages from RUST in a Discord channel. Create discord tickets. Needed something for myself, so I though it might be cool to add it to the plugin. Make votes on the Discord, where vote weight is based on playtime and owned ranks. Send F7 reports into your admin channels. Send F7 ideas into discord channel so players can vote for best ideas. Manage cupboard authorization. Recommended for PvE servers. You can make that player before authorization need to accept auth through game if he is online, or through Discord if he have connected account. To make this plugin work, you need to have the Discord Extension and a pre-made Discord Bot. A full tutorial on how to set it up is available on the Discord Extension web page. Please note, the bot must be connected to only one server! How to connect? To connect your Steam account to Discord: As an Discord admin you need to use /generateconnect command to create button for verification. This message is visible for everyone and everyone can use this button. Click the button on generated message. It will generate an 6-digit code. Write this code in /connect <code> command (default command, can be changed) in-game, and if code is valid your account is connected. In-Game Commands /connect <code> - If code is valid, makes connection between your game and Discord account. (Editable in config) Discord Commands /close - Closes the ticket. /vote - Opens modal for vote creation. (requires admin perms) /voteend <messageId> - Force-end vote and print results. Must be sent on same channel as vote exist. (requires admin perms) /generateconnect - Creates embed for Discord-RUST connection. (requires admin perms) /generateticket - Creates ticket creation embed. (requires admin perms) void API_SendPrivateMessage(string userId, string message) - If player is connected, it sends private message to connected discord user. void API_SendMessage(string channelId, string message) - Sends message to channel on discord. void API_SendEmbedMessage(string channelId, string title, string description, string color, string thumbnailUrl = "", string footerUrl = "", string footerText = "") - Sends embed message to channel on discord. void API_SynchronizeDiscord(ulong userId) - Synchronize discord connection with player. If not present will remove all bonuses. { "BOT API Token": "Paste Token Here!", "Show Player Count In Status": true, "Connection - In-Game Command": "connect", "Connection - Granted Discord Group ID": "", "Connection - Synced Groups": { "svip": "332265", "vip": "123456" }, "Connection - Synchronize In-Game Nickname": true, "Connection - Granted RUST Group Name": "", "Connection - Nitro Boost Granted RUST Group Name": "", "Discord Rust Chat - Enabled": true, "Discord Rust Chat - Channel ID": "", "Discord Rust Chat - Discord To Rust Format": "<color=#aaee32>[Discord]</color> <color=#5c81ed>{0}</color> » {1}", "Discord Rust Chat - Discord To Rust Format With Required Permission": { "discordcore.chat.admin": "<color=#aaee32>[Discord]</color> <color=red>[Admin]</color> <color=#5c81ed>{0}</color> » {1}", "discordcore.chat.vip": "<color=#aaee32>[Discord]</color> <color=yellow>[VIP]</color> <color=#5c81ed>{0}</color> » {1}" }, "Discord Rust Chat - Rust To Discord Format": "**{0}** » *{1}*", "Discord Rust Chat - Rust To Discord Format With Required Permission": { "discordcore.chat.admin": "*[A]* **{0}** » *{1}*", "discordcore.chat.vip": "*[VIP]* **{0}** » *{1}*" }, "Discord Rust Chat - Valid ChatNations Channels": [ "en", "pl", "de", "ru" ], "Tickets - Enabled": true, "Tickets - Language Buttons": { "en": { "Displayed Name": "English", "Displayed Icon": "", "Assigned Support Discord Group IDs": [ "5643345", "223235" ], "Response Message": "Ticket has been created! {0}", "Greeting Message - Title": "New Ticket", "Greeting Message - Description": "Hey, <@{0}>! Welcome in your ticket! \nSupport group has been informed about your problem.\n**Describe your problem here and wait for the answer!**\nIf you want to close your ticket, feel free to write **/close** command." }, }, "Tickets - Log Tickets To Files": true, "Tickets - New Tickets Parent ID": "", "Tickets - Closed Tickets Parent ID": "", "Votes - Enabled": true, "Votes - Ping Role ID": "", "Votes - Default Vote Title": "Map Vote", "Votes - Default Vote Description": "Feel free to vote for one of the maps that will appear on the next wipe.\nYour vote will have more points if you played enough on current wipe.\nYour ranks also may vary on the point amount.\nIf your account is not connected to discord you will vote with 1 point.", "Votes - Default Vote Fields": "Procedural Map\nCustom Map", "Votes - Default Vote Time": "24h", "Votes - Playtime Vote Points (minutes : points)": { "1800": 3, "300": 2, "4500": 4, "9000": 5 }, "Votes - Permission Vote Points Multipliers (perm : multiplier)": { "discordcore.svip": 2.0, "discordcore.vip": 1.5 }, "F7 Reports - Enabled": true, "F7 Reports - Abuse Report Channel (0, to disable)": "", "F7 Reports - Bug Report Channel (0, to disable)": "", "F7 Reports - Cheat Report Channel (0, to disable)": "", "F7 Reports - General Report Channel (0, to disable)": "", "F7 Reports - Offensive Report Channel (0, to disable)": "", "F7 Reports - Idea Report Channel (0, to disable)": "", "F7 Reports - Idea Yes Emote": ":yes:1038108556542627891", "F7 Reports - Idea No Emote": ":no:1038108555007492187", "Cupboard Auth Check - Enabled": true, "Cupboard Auth Check - Command": "tcallow", "Text Messages": { "Connection - Embed Title": "[Discord - RUST] Connection Verification", "Connection - Embed Description": "Click button below to generate code that will allow you to connect your Discord account with your RUST account.", "Connection - Embed Button Text": "Verify Connection", "Connection - Sent Code": "Your verification code is **{0}**.\nGo to the server and run `/{1} {0}` to connect your Discord to Rust account.", "Vote - End Title": "Vote has ended.", "Vote - End Description": "These are the vote results:\n\n", "Vote - End Time": "\nVote results will be available {0}.", "Vote - Ended": "This vote has been ended. You can no longer vote for that!", "Vote - Button": "Vote", "Vote - Voting Title": "Vote Submit - Your vote will have {0} points", "Vote - Voting Text": "Vote by letter. You can use {0} letters.", "Vote - Not Valid Input": "Your vote input is not valid. Try again!", "Vote - Valid Input": "You've successfully voted for **{0}** with **{1}** points!", "Tickets - Embed Title": "Create Report", "Tickets - Embed Description": "If you need help, feel free to create a ticket to get in touch with **Admins**.\nSelect in what language you need to get in touch.", "Tickets - Cannot Close": "This channel isn't an ticket that can be closed or it has been closed already.", "Tickets - Closed Title": "Ticket Closed", "Tickets - Closed Description": "Ticket has been closed.\nIt will be automatically removed after 24 hours.", "Cupboard Auth Check - Title": "Cupboard Authorization Request", "Cupboard Auth Check - Description": "Player **{0}** is requesting for cupboard access at **{1}**.\nClick button to grant him access or just ignore this message.", "Cupboard Auth Check - Button": "Authorize", "Cupboard Auth Check - Error": "An error occured while trying to respond to this request. Probably cupboard is missing, or you've already responded to this request.", "Cupboard Auth Check - Granted Access": "You've successfully granted access to the cupboard!" } }Free- 24 comments
- 1 review
-
- 1
-
-
- #discord
- #discordbot
- (and 14 more)
-
Perms Constant After Perms Removed
ThePitereq replied to thepeachyviking's Support Request in Support
u sure you don't have any perms? It isn't possible to give you different values that are in config if you don't have perms. -
Perms Constant After Perms Removed
ThePitereq replied to thepeachyviking's Support Request in Support
Hey. But does he died after unloading? Plugin doesn't change your metabolism withing permission switching. You need to die to make changes work. -
Version 1.2.0
749 downloads
RUST Plugin Test Server TEST MY PLUGINS THERE! connect play.thepitereq.ovh:28050 Redeem Storage API enables you to consolidate all your plugin item sources into a single inventory. This means you can condense multiple storage containers into one and eliminate the need for free space in your inventory. Please note that this plugin doesn't have any standalone functionality; it requires another plugin that utilizes this API. Move your all plugin item rewards/outputs to one storage. You can create multiple custom redeem inventories. Each storage have their own data file, so it's easy to clear only certain inventories on wipes. RUST themed UI. Supports almost infinite amount of items. void AddItem(ulong userId, string name, Item item, bool popUp = false) - Moves the previously created item to the desired redeem inventory of the player. createredeemitem <storageName> <userId> <shortname> [amount] [skinId] [itemName] [popup (true/false)] - Console command for generating redeem items, optional way rather than using an API. { "Redeem Commands": [ "redeem", "red" ], "PopUp API Preset": "Legacy", "Redeem Storage Item Reminder (in seconds, 0 to disable)": 600, "Redeem Inventories": { "default": { "Default Redeem Inventory (only one)": true, "PopUp Message (configurable in lang file)": false, "Redeem Only In Safezone": true, "Redeem Only If Authed": true, "Allow When No Cupboard (works is option above is true)": false, "Drop Overflow Items Onto Ground (true = drop, false = delete)": true }, "shop": { "Default Redeem Inventory (only one)": false, "PopUp Message (configurable in lang file)": true, "Redeem Only In Safezone": false, "Redeem Only If Authed": false, "Allow When No Cupboard (works is option above is true)": false, "Drop Overflow Items Onto Ground (true = drop, false = delete)": true } } }Free -
That's weird. Will try to recreate that and fix it if possible.
-
Changed Status from Pending to Closed
-
Hmm, then something is still not right. Can you post here your config? It will be easier for me if i'll have exact configuration as you have.
-
Hey! The image database in my plugin is set as it should be set on each plugin available. It means that default icons uses built-in ImageLibrary database, I think there is a problem in ImageLibrary that it doesn't clear it's data each wipe, so it thinks that the images are stored in database, but they are not. This is why it shows you black squares. If you want to make your images work always, at every wipe remember, to delete the: - .sv file in your /server/ folder - the /oxide/data/ImageLibrary folder Deleting ImageLibrary data file mid wipe seems that it doesn't fix the issue and you have to delete also the .sv file which contains all types of paitings, images from camera etc.