-
Posts
574 -
Joined
-
Last visited
Content Type
Profiles
Downloads
Forums
Store
Support
DOWNLOADS EXTRA
Services
Everything posted by 0xF
-
- 46 comments
-
- 1
-
-
- #timedpermissions
- #statusbar
-
(and 7 more)
Tagged with:
-
Changed Status from Pending to Closed Changed Fixed In to 1.3.1
-
Hello, The bug is related to not supporting carbon, fixed in 1.3.1
-
-
- 72 comments
-
- 1
-
-
- #custom
- #customizable
- (and 5 more)
-
-
Version 1.1.2
271 downloads
Maximum optimized solution without the possibility of duping. One backpack - one container. This is an important feature because it ensures that each backpack has its own unique container and eliminates the possibility of incorrectly duplicating items. No data files or similar things are used. Backpacks and items are saved in the original way of the game. This provides efficient management of backpacks and items in the game without the need for complex or additional file systems. Backpacks are physical items and there can be multiple pieces of them. This is essential for creating a realistic game experience where players can have multiple backpacks in their inventory. Backpacks can be of all capacities, types (item or liquid) and for different purposes. This enhances the gameplay experience by allowing players to choose backpacks based on their specific needs. Autoloot feature in backpacks is present (customizable for each backpack). Items will go straight into the backpack when picked up. This feature makes gameplay easier by allowing items to go straight into the backpack you are wearing without additional actions. Backpack cooking feature is present (customizable for each backpack). Melts and roasts items inside the backpack. The function matches the original mechanics of the stove. This feature adds an additional gameplay element by allowing players to cook food and recycle items directly inside the backpack. The backpack lies in the parachute slot and is displayed on the player. This feature allows the backpack to be worn on the back without taking up inventory space, as well as being visually displayed to players. The backpack has several ways to open. The first through a button in the interface when selecting an item, this allows you to effectively move between backpacks and inspect them even in the box. The second through a command if the player has the appropriate permission. The opening will be done for an equipped backpack. Each backpack has its own shortname and itemid. This helps in easy management and customization. Each backpack has a black sheet and a white sheet, allowing you to create a variety of backpacks for different scenarios as flexibly as possible. There is an option to return backpacks after death. This helps to save players' progress and prevents the loss of backpacks in case of unexpected situations. It is possible to limit the number of backpacks in the inventory, set the maximum stack in the container, as well as customize the maximum stack for items. These parameters allow you to carefully control the number of backpacks in the inventory and items in them, which is important for the balance of gameplay. Installation: The plugin necessarily needs the CustomItemDefinitions plugin, so the first thing we do is download and install it by throwing it into the oxide/plugins folder Link to the plugin: https://codefling.com/extensions/custom-item-definitions After purchase, download and install this plugin by dropping it into the oxide/plugins folder Quick Start: In the default configuration 7 different backpacks are available, their shortnames and itemid can be viewed in the config. Quick grant important permissions: Allow players to use the autoloot and furnace functions if they are present in a particular backpack o.grant group default betterbackpacks.autoloot.allow o.grant group default betterbackpacks.furnace.allow Allow players to open an equipped backpack on command o.grant group default betterbackpacks.commands.open.allow Permission to enable Sortify plugin functionality: betterbackpacks.sortify.use o.grant group default betterbackpacks.sortify.use The full version is available here: Permission to return all backpacks after death: betterbackpacks.always_reclaim o.grant group admin betterbackpacks.always_reclaim Permissions and their descriptions: betterbackpacks.commands.open.allow - Allows the use of a command to open an equipped backpack betterbackpacks.sortify.use - Use the functionality of the Sortify plugin, full version here betterbackpacks.backpackslimit.bypass - Bypass the maximum number of backpacks in inventory (for admins). betterbackpacks.autoloot.allow - Allow to use autoloot function if it is present in a particular backpack. betterbackpacks.autoloot.any - Adds autoloot feature for all backpacks. betterbackpacks.furnace.allow - Allow to use the furnace function if it is present in a specific backpack. betterbackpacks.furnace.any - Adds the furnace function to all backpacks. betterbackpacks.always_reclaim - Returns all backpacks on death Commands to open an equipped backpack: Console command - backpack.open (no delay) Chat command - /backpack (delay 0.2 seconds to wait for chat opening to close) More details about the functions and their customization: Control the number of max amount backpacks in player inventory. Control the ability to put backpacks in backpacks. Here you need to specify the shortname for a particular customized backpack, it will be used in the issue or specified in other plugins. Do not be afraid to specify it in other plugins, it will work. IMPORTANT: do not specify here shortnames of original items, this field is for a new shortname of a new item. Nothing bad will happen, it will report in the console and remove the backpack from the config. This field is not used for editing, it is an auto-generated field. This field is for copying and specifying in other plugins. Default name for the item. Further the name for different languages is customized in lang files. The skin that will be given to the new item, you can specify the same ones, the plugin does not use the SkinID for identification. The parameter of the capacity of the backpack. You can specify any, but within reasonable limits, do not specify billions or it may kill your server. Set this to true if you want the backpack to be returned to the player after death. Specify here true if you want the backpack to be returned only if equipped. Container type for the backpack, use 1 for general (default), 2 for liquid. Parameter to limit the maximum stack size for items in the container. This is not a hard limit, the minimum number for this parameter and the default stack is used. If you need to hard limit, add the items you want to "Max stacks by shortname" Selects a list to restrict items. Types: Blacklist allows all items except the specified items. White list allows only the specified items. A list of items for the specified item list in the "Use list (0 - None | 1 - Whitelist | 2 - Blacklist)" field. Example and description: "Item list to exclude (for whitelist/blacklist)." [ { "Shortname": "stones", // Item Shortname "SkinID (negative value = any)": -1 // If it is -1, then the item is with any skin, if a specific one is specified, then only with that skin. }, { }, { "shortname": "sulfur.ore", "SkinID (negative value = any)": -1 }, ], Parameter to enable the autoloot feature. To work the player must have the permission "betterbackpacks.autoloot.allow" or "betterbackpacks.autoloot.any". Once enabled, the player must wear the desired backpack and then all items that will fall into the player's inventory will be in the backpack. This works with mining and picking up items. Parameter to enable the furnace function. The player must have the "betterbackpacks.furnace.allow" or "betterbackpacks.furnace.any" permission present for it to work. For this to work, the player must have wood in his backpack. Works similarly to how a furnace works. It takes combustible material and melts what can melt, there is an opportunity to change the maximum number of simultaneously cooked items in the oven Max number of simultaneously cooked items in the furnace in the backpack. List for hard limit of stacks for an item by shortname in the format "shortname": stack size Example: { "shortname1": 1000, "shortname2": 1 } Default config: { "General": { "Max amount backpacks in player inventory (minimum 1)": 100, "Prohibit putting backpacks in backpacks?": true }, "Backpacks (Add new ones at the bottom)": [ { "Unique new item shortname": "backpack.admin", "ItemId (DO NOT MODIFY THIS FIELD!)": -1878567520, "Backpack Setting": { "Name": "Admin Backpack", "SkinID (you can use the same ones for several backpacks)": 3050740532, "Capacity": 1000, "Reclaim after death": true, "Reclaim only if equipped": false, "Contents Type (1 - General | 2 - Liquid)": 1, "Container Max Stack Size (0 = default)": 0, "Use list (0 - None | 1 - Whitelist | 2 - Blacklist)": 0, "Item list to exclude (for whitelist/blacklist)": [], "Components": { "Auto-Loot": true, "Furnace": true, "Max number of simultaneously cooked items in the furnace": 3 }, "Max stacks by shortname": {} } }, { "Unique new item shortname": "backpack.small", "ItemId (DO NOT MODIFY THIS FIELD!)": -1093698081, "Backpack Setting": { "Name": "Small Backpack", "SkinID (you can use the same ones for several backpacks)": 3032442379, "Capacity": 6, "Reclaim after death": false, "Reclaim only if equipped": false, "Contents Type (1 - General | 2 - Liquid)": 1, "Container Max Stack Size (0 = default)": 0, "Use list (0 - None | 1 - Whitelist | 2 - Blacklist)": 0, "Item list to exclude (for whitelist/blacklist)": [], "Components": { "Auto-Loot": true, "Furnace": false, "Max number of simultaneously cooked items in the furnace": 3 }, "Max stacks by shortname": {} } }, { "Unique new item shortname": "backpack.large", "ItemId (DO NOT MODIFY THIS FIELD!)": -717465782, "Backpack Setting": { "Name": "Large Backpack", "SkinID (you can use the same ones for several backpacks)": 3032442379, "Capacity": 48, "Reclaim after death": false, "Reclaim only if equipped": false, "Contents Type (1 - General | 2 - Liquid)": 1, "Container Max Stack Size (0 = default)": 0, "Use list (0 - None | 1 - Whitelist | 2 - Blacklist)": 0, "Item list to exclude (for whitelist/blacklist)": [], "Components": { "Auto-Loot": true, "Furnace": true, "Max number of simultaneously cooked items in the furnace": 3 }, "Max stacks by shortname": {} } }, { "Unique new item shortname": "backpack.liquid", "ItemId (DO NOT MODIFY THIS FIELD!)": -1863402244, "Backpack Setting": { "Name": "Liquid Backpack", "SkinID (you can use the same ones for several backpacks)": 3050741122, "Capacity": 1, "Reclaim after death": false, "Reclaim only if equipped": false, "Contents Type (1 - General | 2 - Liquid)": 2, "Container Max Stack Size (0 = default)": 10000, "Use list (0 - None | 1 - Whitelist | 2 - Blacklist)": 0, "Item list to exclude (for whitelist/blacklist)": [], "Components": { "Auto-Loot": false, "Furnace": false, "Max number of simultaneously cooked items in the furnace": 3 }, "Max stacks by shortname": {} } }, { "Unique new item shortname": "backpack.comp", "ItemId (DO NOT MODIFY THIS FIELD!)": -1167179500, "Backpack Setting": { "Name": "Component Backpack", "SkinID (you can use the same ones for several backpacks)": 3050740925, "Capacity": 12, "Reclaim after death": false, "Reclaim only if equipped": false, "Contents Type (1 - General | 2 - Liquid)": 1, "Container Max Stack Size (0 = default)": 0, "Use list (0 - None | 1 - Whitelist | 2 - Blacklist)": 1, "Item list to exclude (for whitelist/blacklist)": [ { "Shortname": "gears", "SkinID (negative value = any)": -1 }, { "Shortname": "scrap", "SkinID (negative value = any)": -1 }, { "Shortname": "fuse", "SkinID (negative value = any)": -1 }, { "Shortname": "tarp", "SkinID (negative value = any)": -1 }, { "Shortname": "rope", "SkinID (negative value = any)": -1 }, { "Shortname": "sewingkit", "SkinID (negative value = any)": -1 }, { "Shortname": "techparts", "SkinID (negative value = any)": -1 }, { "Shortname": "riflebody", "SkinID (negative value = any)": -1 }, { "Shortname": "smgbody", "SkinID (negative value = any)": -1 }, { "Shortname": "semibody", "SkinID (negative value = any)": -1 }, { "Shortname": "sheetmetal", "SkinID (negative value = any)": -1 }, { "Shortname": "roadsigns", "SkinID (negative value = any)": -1 }, { "Shortname": "metalpipe", "SkinID (negative value = any)": -1 }, { "Shortname": "metalspring", "SkinID (negative value = any)": -1 }, { "Shortname": "metalblade", "SkinID (negative value = any)": -1 }, { "Shortname": "propanetank", "SkinID (negative value = any)": -1 } ], "Components": { "Auto-Loot": true, "Furnace": false, "Max number of simultaneously cooked items in the furnace": 3 }, "Max stacks by shortname": {} } }, { "Unique new item shortname": "backpack.wood", "ItemId (DO NOT MODIFY THIS FIELD!)": -16063997, "Backpack Setting": { "Name": "Wood Backpack", "SkinID (you can use the same ones for several backpacks)": 3050741444, "Capacity": 16, "Reclaim after death": false, "Reclaim only if equipped": false, "Contents Type (1 - General | 2 - Liquid)": 1, "Container Max Stack Size (0 = default)": 0, "Use list (0 - None | 1 - Whitelist | 2 - Blacklist)": 1, "Item list to exclude (for whitelist/blacklist)": [ { "Shortname": "wood", "SkinID (negative value = any)": -1 } ], "Components": { "Auto-Loot": true, "Furnace": false, "Max number of simultaneously cooked items in the furnace": 3 }, "Max stacks by shortname": {} } }, { "Unique new item shortname": "backpack.ore", "ItemId (DO NOT MODIFY THIS FIELD!)": 1211853999, "Backpack Setting": { "Name": "Ore Backpack", "SkinID (you can use the same ones for several backpacks)": 3050741346, "Capacity": 32, "Reclaim after death": false, "Reclaim only if equipped": false, "Contents Type (1 - General | 2 - Liquid)": 1, "Container Max Stack Size (0 = default)": 0, "Use list (0 - None | 1 - Whitelist | 2 - Blacklist)": 1, "Item list to exclude (for whitelist/blacklist)": [ { "Shortname": "stones", "SkinID (negative value = any)": -1 }, { "Shortname": "sulfur.ore", "SkinID (negative value = any)": -1 }, { "Shortname": "hq.metal.ore", "SkinID (negative value = any)": -1 }, { "Shortname": "metal.ore", "SkinID (negative value = any)": -1 } ], "Components": { "Auto-Loot": true, "Furnace": true, "Max number of simultaneously cooked items in the furnace": 3 }, "Max stacks by shortname": {} } } ], "This is an example from which you can take parts and put them into the backpacks you want.": { "Unique new item shortname": "backpack.example", "ItemId (DO NOT MODIFY THIS FIELD!)": -1265413270, "Backpack Setting": { "Name": "Example backpack to copy-paste parts", "SkinID (you can use the same ones for several backpacks)": 3032442379, "Capacity": 777, "Reclaim after death": false, "Reclaim only if equipped": false, "Contents Type (1 - General | 2 - Liquid)": 1, "Container Max Stack Size (0 = default)": 0, "Use list (0 - None | 1 - Whitelist | 2 - Blacklist)": 1, "Item list to exclude (for whitelist/blacklist)": [ { "Shortname": "flower", "SkinID (negative value = any)": -1 }, { "Shortname": "pokemon", "SkinID (negative value = any)": -1 } ], "Components": { "Auto-Loot": true, "Furnace": false, "Max number of simultaneously cooked items in the furnace": 3 }, "Max stacks by shortname": { "shortname1": 1000, "shortname2": 1 } } } } Default lang file: { "NO_PERM_TO_USE_COMMAND": "You dont have permission to use this command.", "backpack.small": "Small Backpack", "backpack.large": "Large Backpack", "backpack.liquid": "Liquid Backpack", "backpack.admin": "Admin Backpack", "backpack.comp": "Component Backpack", "NEED_EQUIPED_BACKPACK": "An equipped backpack is required to use the command.", "backpack.wood": "Wood Backpack", "backpack.ore": "Ore Backpack", "AUTOLOOT_BUTTON": "AUTO-LOOT", "COOK_BUTTON": "COOK", "backpack.test": "Test Backpack" }$15.00 -
Version 1.3.1
1,111 downloads
This library allows developers to create their own ItemDefinitions, which will allow them to create custom items with their own unique values. What is an ItemDefinition created with the library? It is a full-fledged ItemDefinition just like the other ones created by Rust developers, a new item definition is created based on an existing one with modified settings. It has its own shortname and itemid, and can also have its own itemMods created by the developer, which is very convenient. You can use the give command, item.info.[anything], and any other way you want. A simple example of item creation: // Requires: CustomItemDefinitions using static Oxide.Plugins.CustomItemDefinitions; namespace Oxide.Plugins { [Info("LightsaberItem", "0xF", "1.0.0")] public class LightsaberItem : RustPlugin { public static LightsaberItem PluginInstance; ItemDefinition PARENT_DEFINITION = ItemManager.FindItemDefinition("longsword"); void Init() { PluginInstance = this; CustomItemDefinitions.RegisterPluginItemDefinition(new CustomItemDefinition { shortname = "lightsaber", parentItemId = PARENT_DEFINITION.itemid, maxStackSize = 1, category = ItemCategory.Weapon, defaultName = "Lightsaber", defaultSkinId = 3035762342, itemMods = new ItemMod[] { PARENT_DEFINITION.GetComponentInChildren<ItemModEntity>(), new ItemModLightsaberCreatedNotice() { exampleField_message = "Item with name \"{0}\" just created! Yay!" } } }, this); } public class ItemModLightsaberCreatedNotice : ItemMod { public string exampleField_message; public override void OnItemCreated(Item item) { base.OnItemCreated(item); if (exampleField_message != null) PluginInstance.Puts(string.Format(exampleField_message, item.name)); } } } } What are some things to keep in mind? Always register new item definitions in the Init hook! This is important! You must take care to register unique shortnames and item ids. ItemId should never be changed in your plugin, as items created with an old itemId will break if they don't have their definition. After your plugin is unloaded, all items created with your item definitions will lose interaction, as all ItemMods will be removed. This is done for safety, don't worry, after loading the plugin back in, all items will work again as before. CustomItemDefinition class structure: public class CustomItemDefinition { public int parentItemId; public string shortname; public int? itemId; // optional public string defaultName; public string defaultDescription; // For use by other plugins, this will not be displayed on the client side when selecting an item public ulong defaultSkinId; public int? maxStackSize; public ItemCategory? category; public ItemDefinition.Flag flags; public ItemMod[] itemMods; } ItemMods details: ItemMods are overwritten, this means the new item definition will not include the itemMods of the parent. If you need to import an item mod from the parent, you can use PARENT_DEFINITION.GetComponent<ItemModYouNeed>() if you need to import everything ItemMods new List<ItemMod>(PARENT_DEFINITION.itemMods).ToArray() Custom itemMods are added using the method of creating a new class, i.e. new YourItemMod() Here you can also specify the fields you want, example: new YourItemMod() { field: value } Quick answers to questions: Items have become coal, what does that mean? This is a fallback ItemDefinition in case the plugin providing this item is no longer available. The items will be restored if the plugin is returned. Will there be a video? No. Where can I learn more about this? Disassembling and self-study. Explore the workings of ItemDefinition and their mods on your own. Here's a little overview on items from Facepunch: https://wiki.facepunch.com/rust/Items_OverviewFree -
- 24 comments
-
- 1
-
-
- #sorting
- #filtering
-
(and 6 more)
Tagged with:
-
- 2 comments
-
- 1
-
-
Yes, the description is outdated, that's my fault, I'll fix it. I will now respond to your messages: 1. Yes, it is because you have auth level 2. It says so in the first video in the description, right after the first paragraph in the first seconds. 2. No, you can't remove the panel and it's not because I can't or I'm too stupid to realize that it would be a good idea to add it to the MAP. This is a limitation of the CUI, I will not go into details, if you are interested in the details - you can familiarize yourself with it. 3. No, you don't have to read all the patchnotes, but if you are really interested in the plugin, you can do it, all the patchnotes for the history of the plugin are available and they are made to be read.
-
Changed Status from Closed to Not a Bug
-
Changed Status from Pending to Closed
-
Teleport by marker are present in this plugin, no need for an additional one. For this you need to press Ctrl and press RMB at the point you want to teleport to. About merging into 1 plugin, that doesn't make sense. If you just take 2 plugins and merge it will not give you optimization because the code is written the same. Also it is more difficult to determine where the fault is in case of plugin breakage and if the plugin is one, you can not unload something separately, but only all together and lastly if the plugin breaks, it will break the same whether it is 1, or 10 separately, the only difference is how fast the developer will update it.
-
Changed Status from Pending to Closed Changed Fixed In to 1.2.7
-
Hello, yes, this was the case in version 1.0.0, in version 1.0.0 sorting was only done by category and items were moved in random order of their category. In version 1.0.3 items are sorted more consistently, as a different sorting scheme [category name -> rarity -> shortname -> amount] has been implemented. Sorry for the long reply, didn't have a chance to reply in the discussions
- 24 comments
-
- 1
-
-
- #sorting
- #filtering
-
(and 6 more)
Tagged with:
-
- 24 comments
-
- #sorting
- #filtering
-
(and 6 more)
Tagged with:
-
Hello, this has been fixed in the version for discord server members. I'm going to release it soon, if you don't want to wait you can get it in discord.
-
Sorry for the long reply, I don't get any alerts for support requests