Required Dependencieshttps://chaoscode.io/resources/chaos.321/
This plugin require the Chaos extension -> https://chaoscode.io/resources/chaos.321/
SkinBox allows players to change the skin of any skinnable item they place in the box.
When a item has been placed in the box it will be populated with the available skins.
The user can then drag out the skin they want.
Contents
SkinBox allows you to;
This plugin requires a Steam API key to access workshop skin lists.
You can obtain your Steam API key by following this link -> https://steamcommunity.com/dev/apikey
Once you have your Steam API key enter it into your config as depicted below
Code:
"Steam API key for workshop skins (https://steamcommunity.com/dev/apikey)": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX"
** Note ** This plugin will not function without a valid Steam API key!
Regarding client skin downloads
Neither the server or the plugin are responsible for actually loading skins on the client. This is purely between the client and Steam. The plugin merely tells the client the skin ID and the client asks Steam to download it.
Any issues regarding skin icons not loading on the client are entirely client side.
If users are having issues with skin icons not loading, tell them to open Steam, go to the downloads tabs, and force start the queued up workshop requests
Permissions
SkinBox uses Oxides permission system
To assign a user permission use oxide.grant user "username|steam id" "permission" in console.
To assign a group permission use oxide.grant group "groupname" "permission" in console.
You can read more about how to use the permission system here : uMod - Permissions
The permissions are all in the config and can be customized to your liking.
By default they are;
"skinbox.use" - Required to open the SkinBox
"skinbox.admin" - Required to use the admin commands
"skinbox.ignorecost" - Ignores usage cost for players with this permission
"skinbox.ignorecooldown" - Ignores cooldowns for players with this permission
Allowing re-skinning by item category
You can assign permissions to the various item categories that restrict skinning those items to players with the permission.
By default these all use the "skinbox.use" permission which allows anyone with that permission to skin those item types.
If you want to restrict these item types to specific players you need to change the permission to something other than the default and give it to those players
Code:
"Permission required to skin weapons": "skinbox.use",
"Permission required to skin deployables": "skinbox.use",
"Permission required to skin attire": "skinbox.use",
Restricting approved skins to specific players
You can restrict the usage of Rust approved skins to specific players the same way
Code:
"Permission required to view approved skins": "skinbox.use",
Custom permissions per skin
You can also assign custom permissions per skin ID in the "Custom permissions per skin" section of the config. You specify your permission and then add skins to that list.
The default config contains examples of how this is done
C#:
"Custom permissions per skin": {
"skinbox.example1": [
9990,
9991,
9992
],
"skinbox.example2": [
9993,
9994,
9995
],
"skinbox.example3": [
9996,
9997,
9998
]
}
Chat Commands
/skinbox | /sb - Opens the skin box
This command and aliases of this command can be changed in the config in the section titled "Commands to open the SkinBox"
/skindeployed | /sd - Opens the skin box to reskin deployed items
This command and aliases of this command can be changed in the config in the section titled "Commands to open the deployed item SkinBox"
/skinset | /ss - Opens the skin set box
This command and aliases of this command can be changed in the config in the section titled "Commands to open the skin set"
Console Commands
Adding/removing individual skin IDs
skinbox.addskin - Adds one or more skins using their individual ID numbers
(Ex. skinbox.addskin 820574348 (one only) -OR- skinbox.addskin 820574348 820610731 (two at once, you can add up to 16 skin IDs in the same command))
skinbox.removeskin
(Ex. skinbox.removeskin 820574348 (one only) -OR- skinbox.removeskin 820574348 820610731 (two at once, you can add up to 16 skin IDs in the same command))
skinbox.addvipskin <permission> <skinID> - Adds the skin(s) using their individual ID numbers and assigns it the specified permission.
This permission must already exist in the custom permission section of the config
skinbox.removevipskin <permission> <skinID> - Removes the skin and removes it from that permissions skin list.
This permission must already exist in the custom permission section of the config
skinbox.validatevipskins - Compares the VIP skin lists with the actual skin list and queries any missing skins from the workshop.
Adding/removing skin collections
skinbox.addcollection - Adds all the skins in the collection
(Ex: skinbox.addcollection 659627304)
skinbox.removecollection - Removes all the skins in the collection
(Ex: skinbox.addcollection 659627304)
skinbox.addvipcollection <permission> <collectionID> - Adds all the skins in the collection and assigns them the specified permission.
This permission must already exist in the custom permission section of the config
skinbox.removecollection - Removes all the skins in the collection and removes them from that permissions skin list.
This permission must already exist in the custom permission section of the config
Blacklisting skin IDs
skinbox.addexcluded - Prevent players from using this skin unless they have the appropriate auth level
(Ex: skinbox.addexcluded 820574348 (one only) -OR- skinbox.addexcluded 820574348 820610731)
skinbox.removeexcluded - Remove a skin ID from the excluded list
(Ex: skinbox.removeskin 820574348 -OR- skinbox.removeskin 820574348 820610731)
skinbox.addcollectionexclusion - Add an entire skin collection to the skin blacklist
skinbox.removecollectionexclusion - Remove an entire skin collection from the skin blacklist
How to find these skin and collection ID numbers
Open the Steam Workshop by your preferred browser and click on any skin.
In the URL you will see a ID number tacked on the end. This is the skin ID that you will need to use to add this skin.
Use the same process for adding skin collections
Example, the end of the URL contains ?id=2373483517. This number is the skin ID
Applying usage costs to the SkinBox
You can specify costs to use the SkinBox and reskin items in the config section titled "Usage Cost Options"
In here you can change the costs, and which currency to use when applying costs.
If you want VIP's to incur no charge for using the SkinBox, simply grant them the permission "skinbox.ignorecost"
C#:
"Usage Cost Options": {
"Enable usage costs": false,
"Currency used for usage costs (Scrap, Economics, ServerRewards)": "Scrap",
"Cost to open the SkinBox": 5,
"Cost to skin deployables": 10,
"Cost to skin attire": 20,
"Cost to skin weapons": 30
},
Applying cooldowns after using the SkinBox
You can apply cooldown periods to players after using the SkinBox. You can modify the settings for this in the config section titled "Cooldown Options"
If you want prevent cooldowns from being applied to VIP's simply grant them the permission "skinbox.ignorecooldown"
C#:
"Cooldown Options": {
"Enable cooldowns": false,
"Cooldown time start's when a item is removed from the box": true,
"Length of cooldown time (seconds)": 60
},
Favourites System
The favourites system works by recording which skins a player uses and prioritizes those that are used the most.
It also incorporates a data purge system to remove old player data
This system can be toggled in the config, and the purge time can be adjusted
Players can also clear their favourites for each item using the provided button
Skin Set System
The skin set system allows players with permission to store specific skins in a set and easily apply it to their inventory
Players can access the skin set box by pressing the "Set" button in the skin box, or by typing one of the skin set chat commands
The player will have 12 slots which they can drag skinned items in to. The skin set box will save these skins for the player.
- Skins will be applied to non-skinned items in the inventory first, before overriding items that are already skinned
- The skin will only apply to the first item of the same type found in the inventory
- You can only have unique items in the skin set (so 1 assault rifle, 1 pair of pants, etc)
- To add a item to the skin set you just drag a skinned item in to the skin set box
- To remove a item from the skin set, right click the item or hover loot over it
- You can clear an entire set by pressing the 'Clear' button
- You can apply a skin set by pressing the 'Apply' button
- You can edit the number of skin sets a player can have in the config file
- Skin sets use cost rules set up in the config. The cost to apply shown in the skin set UI reflects the cost to apply that set to the users current inventory
This plugin require the Chaos extension -> https://chaoscode.io/resources/chaos.321/
SkinBox allows players to change the skin of any skinnable item they place in the box.
When a item has been placed in the box it will be populated with the available skins.
The user can then drag out the skin they want.
Contents
- • Features
- • This plugin requires a Steam API key to access workshop skin lists.
- • Regarding client skin downloads
- • Permissions
- • Allowing re-skinning by item category
- • Restricting approved skins to specific players
- • Custom permissions per skin
- • Chat Commands
- • Console Commands
- • Adding/removing individual skin IDs
- • Adding/removing skin collections
- • Blacklisting skin IDs
- • How to find these skin and collection ID numbers
- • Applying usage costs to the SkinBox
- • Applying cooldowns after using the SkinBox
- • Favourites System
- • Skin Set System
- • Spray Can Support
- • Other config options
- • Config
- • Hooks
SkinBox allows you to;
- Import specific skins from the Steam Workshop that players can claim in the SkinBox
- Easily import entire skin collections from the Steam Workshop
- Supports redirected item skins such as the industrial door -> sheet metal door
- Ability to reskin deployed items
- Applies workshop skin names to items
- Apply usage costs to use the SkinBox
- Apply usage cooldowns to use the SkinBox
- Give VIP's access to specific skins
- Search for skins by name in the container
- Use a favourite system to prioritize commonly used skins
- Option to use to specially skinned spray cans instead of command
- Ability to store sets of skinned items and apply them to your inventory
This plugin requires a Steam API key to access workshop skin lists.
You can obtain your Steam API key by following this link -> https://steamcommunity.com/dev/apikey
Once you have your Steam API key enter it into your config as depicted below
Code:
"Steam API key for workshop skins (https://steamcommunity.com/dev/apikey)": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX"
** Note ** This plugin will not function without a valid Steam API key!
Regarding client skin downloads
Neither the server or the plugin are responsible for actually loading skins on the client. This is purely between the client and Steam. The plugin merely tells the client the skin ID and the client asks Steam to download it.
Any issues regarding skin icons not loading on the client are entirely client side.
If users are having issues with skin icons not loading, tell them to open Steam, go to the downloads tabs, and force start the queued up workshop requests
Permissions
SkinBox uses Oxides permission system
To assign a user permission use oxide.grant user "username|steam id" "permission" in console.
To assign a group permission use oxide.grant group "groupname" "permission" in console.
You can read more about how to use the permission system here : uMod - Permissions
The permissions are all in the config and can be customized to your liking.
By default they are;
"skinbox.use" - Required to open the SkinBox
"skinbox.admin" - Required to use the admin commands
"skinbox.ignorecost" - Ignores usage cost for players with this permission
"skinbox.ignorecooldown" - Ignores cooldowns for players with this permission
Allowing re-skinning by item category
You can assign permissions to the various item categories that restrict skinning those items to players with the permission.
By default these all use the "skinbox.use" permission which allows anyone with that permission to skin those item types.
If you want to restrict these item types to specific players you need to change the permission to something other than the default and give it to those players
Code:
"Permission required to skin weapons": "skinbox.use",
"Permission required to skin deployables": "skinbox.use",
"Permission required to skin attire": "skinbox.use",
Restricting approved skins to specific players
You can restrict the usage of Rust approved skins to specific players the same way
Code:
"Permission required to view approved skins": "skinbox.use",
Custom permissions per skin
You can also assign custom permissions per skin ID in the "Custom permissions per skin" section of the config. You specify your permission and then add skins to that list.
The default config contains examples of how this is done
C#:
"Custom permissions per skin": {
"skinbox.example1": [
9990,
9991,
9992
],
"skinbox.example2": [
9993,
9994,
9995
],
"skinbox.example3": [
9996,
9997,
9998
]
}
Chat Commands
/skinbox | /sb - Opens the skin box
This command and aliases of this command can be changed in the config in the section titled "Commands to open the SkinBox"
/skindeployed | /sd - Opens the skin box to reskin deployed items
This command and aliases of this command can be changed in the config in the section titled "Commands to open the deployed item SkinBox"
/skinset | /ss - Opens the skin set box
This command and aliases of this command can be changed in the config in the section titled "Commands to open the skin set"
Console Commands
Adding/removing individual skin IDs
skinbox.addskin - Adds one or more skins using their individual ID numbers
(Ex. skinbox.addskin 820574348 (one only) -OR- skinbox.addskin 820574348 820610731 (two at once, you can add up to 16 skin IDs in the same command))
skinbox.removeskin
(Ex. skinbox.removeskin 820574348 (one only) -OR- skinbox.removeskin 820574348 820610731 (two at once, you can add up to 16 skin IDs in the same command))
skinbox.addvipskin <permission> <skinID> - Adds the skin(s) using their individual ID numbers and assigns it the specified permission.
This permission must already exist in the custom permission section of the config
skinbox.removevipskin <permission> <skinID> - Removes the skin and removes it from that permissions skin list.
This permission must already exist in the custom permission section of the config
skinbox.validatevipskins - Compares the VIP skin lists with the actual skin list and queries any missing skins from the workshop.
Adding/removing skin collections
skinbox.addcollection - Adds all the skins in the collection
(Ex: skinbox.addcollection 659627304)
skinbox.removecollection - Removes all the skins in the collection
(Ex: skinbox.addcollection 659627304)
skinbox.addvipcollection <permission> <collectionID> - Adds all the skins in the collection and assigns them the specified permission.
This permission must already exist in the custom permission section of the config
skinbox.removecollection - Removes all the skins in the collection and removes them from that permissions skin list.
This permission must already exist in the custom permission section of the config
Blacklisting skin IDs
skinbox.addexcluded - Prevent players from using this skin unless they have the appropriate auth level
(Ex: skinbox.addexcluded 820574348 (one only) -OR- skinbox.addexcluded 820574348 820610731)
skinbox.removeexcluded - Remove a skin ID from the excluded list
(Ex: skinbox.removeskin 820574348 -OR- skinbox.removeskin 820574348 820610731)
skinbox.addcollectionexclusion - Add an entire skin collection to the skin blacklist
skinbox.removecollectionexclusion - Remove an entire skin collection from the skin blacklist
How to find these skin and collection ID numbers
Open the Steam Workshop by your preferred browser and click on any skin.
In the URL you will see a ID number tacked on the end. This is the skin ID that you will need to use to add this skin.
Use the same process for adding skin collections
Example, the end of the URL contains ?id=2373483517. This number is the skin ID
Applying usage costs to the SkinBox
You can specify costs to use the SkinBox and reskin items in the config section titled "Usage Cost Options"
In here you can change the costs, and which currency to use when applying costs.
If you want VIP's to incur no charge for using the SkinBox, simply grant them the permission "skinbox.ignorecost"
C#:
"Usage Cost Options": {
"Enable usage costs": false,
"Currency used for usage costs (Scrap, Economics, ServerRewards)": "Scrap",
"Cost to open the SkinBox": 5,
"Cost to skin deployables": 10,
"Cost to skin attire": 20,
"Cost to skin weapons": 30
},
Applying cooldowns after using the SkinBox
You can apply cooldown periods to players after using the SkinBox. You can modify the settings for this in the config section titled "Cooldown Options"
If you want prevent cooldowns from being applied to VIP's simply grant them the permission "skinbox.ignorecooldown"
C#:
"Cooldown Options": {
"Enable cooldowns": false,
"Cooldown time start's when a item is removed from the box": true,
"Length of cooldown time (seconds)": 60
},
Favourites System
The favourites system works by recording which skins a player uses and prioritizes those that are used the most.
It also incorporates a data purge system to remove old player data
This system can be toggled in the config, and the purge time can be adjusted
Players can also clear their favourites for each item using the provided button
Skin Set System
The skin set system allows players with permission to store specific skins in a set and easily apply it to their inventory
Players can access the skin set box by pressing the "Set" button in the skin box, or by typing one of the skin set chat commands
The player will have 12 slots which they can drag skinned items in to. The skin set box will save these skins for the player.
- Skins will be applied to non-skinned items in the inventory first, before overriding items that are already skinned
- The skin will only apply to the first item of the same type found in the inventory
- You can only have unique items in the skin set (so 1 assault rifle, 1 pair of pants, etc)
- To add a item to the skin set you just drag a skinned item in to the skin set box
- To remove a item from the skin set, right click the item or hover loot over it
- You can clear an entire set by pressing the 'Clear' button
- You can apply a skin set by pressing the 'Apply' button
- You can edit the number of skin sets a player can have in the config file
- Skin sets use cost rules set up in the config. The cost to apply shown in the skin set UI reflects the cost to apply that set to the users current inventory