Customizable Weapon Stats

(Manky)sieve

Supporter
The idea is to be able to assign a permission for a weapon, with configurable properties including ItemID, SkinId, Itemname, Ammo capacity, weapon condition. Also would allow admins to utilise custom/skinned versions of the weapon items if desired.

Admins can then sell the permission as a skill in the in game shops using economics or assign it to players in various ways for gaining skill points etc.

Maybe there are better ways ot achieve this or permissions are unnecessary. If its also just a custom item, then we can let players buy it from NPC traders too. Or maybe thats simpler with permissions, I don't know

basic config idea

"lmg.m249": {
"PermissionSettings": {
"m249extendedammo": {
"SkinId": 0,
"MagazineSize": 300,
"Condition": 500.0,
"InfiniteCondition": false,
"WeaponName": "",
"AmmoType": "",
"ItemID": -2069578888
 
Last edited:
Hmm I'll think about it, though I have a feeling most of this could be done with some plugins already available on umod
 
Thanks for your reply and I appreciate any thoughts or consideration on this.

I've been looking for options available on umod, they are abandoned or have poorconfiguration options.
FireArmModifier which we used to use, sort of works but it only has 5 permission tiers, in a hierarchal order so tier 1 permission overrites the ones below it for example.

Meaning we cant use it to make a custom weapon modifier so that players can buy or find unique weapon upgrades by xp rewards, or economics or from event rewards for more than one item. As the permission applies to every weapon in the game, there fore we can make for example players can unlock Rocket launcher with 5 ammo slots, which is great but then no other options are available on a weapon per weapon basis. As applying a new permission would mean losing the previous one.

I hope that makes sense, I imagine your brain will have some clever way to implement this, or suggest an alternative solution :D

Thanks for your time
Best regards,
Manky
 
Back
Top
This plugin uses Oxide's permission system. Grant or revoke permissions using oxide.grant and oxide.revoke. You can assign them to individual players or groups using their Steam id or group name.
Chat commands start with a /, while console commands can be entered directly in the F1 console or server console. Use find <keyword> in console to search for available commands related to the plugin.
Settings are stored in the config file found under the config/ directory. You can edit this file manually, then reload the plugin to apply your changes.
Persistent data is saved in the data/ directory. This includes things like saved settings, usage stats, or player progress depending on the plugin. Deleting a data file will reset stored progress or customizations.
Language files are located in the lang/ folder. To translate messages, copy the en.json file into your target language folder (e.g. fr, de) and edit the values. Reload the plugin after changes to apply new messages.
This section lists public methods exposed by the plugin for use in other plugins. You can call these via the CallHook method. Make sure the plugin is loaded before calling its API to avoid null reference errors.
These are custom hooks that other plugins can listen for. Simply define a method with the same name and expected parameters in your plugin to handle the event. Hooks are triggered at key moments and are useful for extending or reacting to plugin behavior.
These hooks are injected into the game's code using Harmony. They let the plugin run code at key points in the game's internal logic. You can return values to block or modify behavior. Use with caution — these are powerful and can affect core mechanics.
Cart