About XCustomExcavator
Take full control of excavators on your Rust server with XCustomExcavator. This powerful plugin lets admins fine-tune excavator functionality, ensuring an optimized experience for players. Adjust mined resources, tweak interface settings, and enjoy multi-language support and robust data storage. Custom settings and progress are preserved after restarts. Seamlessly handle multiple excavators and integrate smoothly with your server.
Key Features
- Multi-Language Support: Switch plugin language with ease. Available in EN, RU, UK, and ES.
- Interface Optimization: Adjusts for different monitor resolutions.
- Persistent Data Storage: Excavator data saved in oxide/data/XDataSystem/XCustomExcavator. Progress saved after server restarts.
- Sound Effects: Enjoy interactive menu sounds.
- Multi-Excavator Support: Works seamlessly with multiple excavators on the map.
- Customizable Resources: Modify resources including shortname, amount, custom name, permission, and skin.
- Unlimited Resources: No limit on the number of resources.
- Chat Integration: View excavator information in chat.
- User-Friendly Resource Selection: Features like check button, distance to button, permission checks, and more.
- Error Notifications: Informs you of configuration mistakes.
-> In the code you can switch the plugin language - LanguageEnglish = true <-
Permissions
xcustomexcavator.use - access to UI usage/resource selection. xcustomexcavator.info - chat information. xcustomexcavator.admin - administrator mode.
Commands
/einfo, /exinfo, /excavatorinfo - information about excavator in chat. [ Commands can be changed in the config. ] xcustomexcavator_unload - unload the plugin without consequences. [ For those cases when the plugin will be unloaded and will not be used for some time. ]
API
bool IsValidIndex(int index) - check if the resource index is valid. 1. string GetResourceCustomName(int index) - get the custom name of the resource. 2. string GetResourcePermission(int index) - get the resource permission. 3. ulong? GetResourceSkinID(int index) - get the skin of the resource. 4. string GetResourceAmountString(int index) - get a formatted string of the resource amount. 5. string GetResourceDisplayName(int index) - get the formatted name of the resource. ( For 1-5. If index is invalid, null will be returned. )
Hooks
object OnExcavatorResourceSetUI(ExcavatorArm excavator, int index, ulong skinID, BasePlayer player) - called when player tries to select a resource in UI. Returning non null will prevent this action!
Config
{
"General settings": {
"SteamID profile for custom avatar": 0,
"Chat prefix": "<size=12><color=#FFFFFF50>[</color> <color=#00FF0050>XCustomExcavator</color> <color=#FFFFFF50>]</color></size>\n",
"List of commands to view information about the Excavator": [
"einfo",
"exinfo",
"excavatorinfo"
]
},
"GUI settings": {
"Color_background_1": "0.517 0.521 0.509 0.95",
"Color_background_2": "0.217 0.221 0.209 0.95",
"Color_background_3": "0.527 0.531 0.519 1",
"Button color (icons)": "1 1 1 0.75",
"Block color": "0.517 0.521 0.509 0.5",
"Default block color": "0.417 0.521 0.409 0.5",
"Color of the active button next": "0.35 0.45 0.25 1",
"Color of the inactive button next": "0.35 0.45 0.25 0.4",
"Text color of the active button next": "0.75 0.95 0.41 1",
"Text color of the inactive button next": "0.75 0.95 0.41 0.4",
"Color of the active button back": "0.65 0.29 0.24 1",
"Color of the inactive button back": "0.65 0.29 0.24 0.4",
"Text color of the active button back": "0.92 0.79 0.76 1",
"Text color of the inactive button back": "0.92 0.79 0.76 0.4"
},
"HQM": {
"Shortname of the resource to be mined": "hq.metal.ore",
"Amount of resource that will be mined - one barrel diesel": 100.0,
"Custom item name": null,
"Permission": null,
"Item skin": 0
},
"Sulfur": {
"Shortname of the resource to be mined": "sulfur.ore",
"Amount of resource that will be mined - one barrel diesel": 2000.0,
"Custom item name": null,
"Permission": null,
"Item skin": 0
},
"Stone": {
"Shortname of the resource to be mined": "stones",
"Amount of resource that will be mined - one barrel diesel": 10000.0,
"Custom item name": null,
"Permission": null,
"Item skin": 0
},
"Metal": {
"Shortname of the resource to be mined": "metal.fragments",
"Amount of resource that will be mined - one barrel diesel": 5000.0,
"Custom item name": null,
"Permission": null,
"Item skin": 0
},
"List of mined resources": [
...
]
}
