Search the Community
Showing results for tags 'developer'.
-
Version 1.0.0
2 downloads
Description FileWatcher monitors your server’s config and lang JSON files and automatically reloads the affected plugin when changes are detected. This is aimed at faster iteration while developing or tuning plugins — edit JSON, save, and the plugin reloads itself. Features Config + Lang monitoring - Watches oxide/config/*.json - Watches oxide/lang/**.json (including subfolders) Safe reload behavior - Debounce (1s): prevents multiple reloads while a file is still being written - Reload cooldown (20s): prevents reload loops and spam - Ignore list: exclude specific plugins from being reloaded - Always ignores FileWatcher itself Stability - If the watcher throws errors, it auto-restarts itself after 5 seconds Debug mode - Optional debug output for watcher init, file changes, cooldown/debounce decisions, etc. Commands /fwstatus Shows watcher status (Config/Lang on/off) and ignored count. Admin only. Permissions No Oxide permission is used. Access is gated by player.IsAdmin. Config { "Watch config folder": true, "Watch lang folder": true, "Ignored plugins": [ "PermissionManager" // This is an example. ], "Debug mode": false } load, run, enjoy$3.55 -
Version 1.0.6
42 downloads
What is Vote System ? Vote System is a sophisticated plugin designed to track player votes in real-time on various ranking sites. It offers two main functionalities: Integration with other plugins: Vote System can be paired with other plugins to enhance its features. See the list of compatible plugins. API for Developers: With a robust API, developers can create plugins that directly interact with the voting system, allowing for advanced customization. Supported Plugins Vote System is compatible with the following plugins: CustomReward: Allows players to receive rewards through a user interface after voting. Economics: Converts votes into virtual currency for players. Documentation : More informations on documentation Supported Ranking Sites Vote System currently supports the following ranking sites: rust-servers.net top-games.net top-serveurs.net$4.99 -
[PluginReference] private Plugin TemporaryPermissions; There are 30 methods: IsReady User's Permissions: GrantUserPermission RevokeUserPermission UserHasPermission GrantActiveUsersPermission GrantAllUsersPermission RevokeActiveUsersPermission RevokeAllUsersPermission UserGetAllPermissions UserGetPermissionByExpiry UserGetAllPermissionsByExpiry ActiveUsersGetAllPermissions AllUsersGetAllPermissions User's Groups: AddUserGroup RemoveUserGroup UserHasGroup AddActiveUsersGroup AddAllUsersGroup RemoveActiveUsersGroup RemoveAllUsersGroup UserGetAllGroups ActiveUsersGetAllGroups AllUsersGetAllGroups Group's Permissions: GrantGroupPermission RevokeGroupPermission GroupHasPermission GrantAllGroupsPermission RevokeAllGroupsPermission GroupGetAllPermissions AllGroupsGetAllPermissions IsReady: Used to check if the TemporaryPermissions plugin is loaded and ready to work. The IsReady method returns true if it is ready, or null if it is not. (bool)TemporaryPermissions?.Call("IsReady");//Calling the IsReady method. If the result is not null(bool true), the plugin is ready. GrantUserPermission: Used to grant a temporary permission to a player. Returns true if the grant was successful. To call the GrantUserPermission method, you need to pass 5 parameters, 3 of which are optional: IPlayer or BasePlayer or <string>playerID - The player object or their Id; <string>permName - The name of the permission; <int>secondsToAdd or <DateTime>expireDate - Optional. The time in seconds to add, or the end date. If a number less than 1 is specified, or if this parameter is not specified, the permission will be valid until the wipe; <bool>fromNow or <DateTime>assignedDate - Optional. true/false to specify whether the seconds should be added to the current date or to the existing time, or an exact assignment date. Defaults to the current date; <bool>checkExistence - Optional. Whether to check for the existence of the permission. (bool)TemporaryPermissions?.Call("GrantUserPermission", player.UserIDString, "realpve.vip");//Calling the GrantUserPermission method without specifying the third parameter, to grant temporary permission until the wipe. (bool)TemporaryPermissions?.Call("GrantUserPermission", player.UserIDString, "realpve.vip", 0);//Calling the GrantUserPermission method with the specified number less than 1, to grant temporary permission until the wipe. (bool)TemporaryPermissions?.Call("GrantUserPermission", player.UserIDString, "realpve.vip", 3600, true, true);//Calling the GrantUserPermission method with the specified number of seconds to add. (bool)TemporaryPermissions?.Call("GrantUserPermission", player.UserIDString, "realpve.vip", expireDate, assignedDate, true);//Calling the GrantUserPermission method with the specified DateTime for the end and start of the temporary permission. RevokeUserPermission: Used to revoke a temporary permission from a player. Returns true if the revoke was successful. To call the RevokeUserPermission method, you need to pass 2 parameters: IPlayer or BasePlayer or <string>playerID - The player object or their Id; <string>permName - The name of the permission. (bool)TemporaryPermissions?.Call("RevokeUserPermission", player.UserIDString, "realpve.vip"); UserHasPermission: Used to check if a player has a temporary permission. Returns true if the player has the specified temporary permission. To call the UserHasPermission method, you need to pass 2 parameters: IPlayer or BasePlayer or <string>playerID - The player object or their Id; <string>permName - The name of the permission. (bool)TemporaryPermissions?.Call("UserHasPermission", player.UserIDString, "realpve.vip"); GrantActiveUsersPermission: Used to temporarily grant a permission to all online players. Returns the <int>number of successful grants of temporary permissions to players. To call the GrantActiveUsersPermission method, you need to pass 3 parameters, 2 of which is optional: <string>permName - The name of the permission; <int>secondsToAdd or <DateTime>expireDate - Optional. The time in seconds to add, or the end date. If a number less than 1 is specified, or if this parameter is not specified, the permission will be valid until the wipe; <bool>fromNow or <DateTime>assignedDate - Optional. true/false to specify whether the seconds should be added to the current date or to the existing time, or an exact assignment date. Defaults to the current date. (int)TemporaryPermissions?.Call("GrantActiveUsersPermission", "realpve.vip");// Calling the GrantActiveUsersPermission method without specifying the second parameter, to grant all online players temporary permission until the wipe. (int)TemporaryPermissions?.Call("GrantActiveUsersPermission", "realpve.vip", 0);//Calling the GrantActiveUsersPermission method with the specified number less than 1, to grant all online players temporary permission until the wipe. (int)TemporaryPermissions?.Call("GrantActiveUsersPermission", "realpve.vip", 3600, true);//Calling the GrantActiveUsersPermission method with the specified number of seconds to add. (int)TemporaryPermissions?.Call("GrantActiveUsersPermission", "realpve.vip", expireDate, assignedDate);//Calling the GrantActiveUsersPermission method with the specified DateTime for the end and start of the temporary permission. GrantAllUsersPermission: Used to grant a temporary permission to all players. Returns the <int>number of successful grants of temporary permissions to players. To call the GrantAllUsersPermission method, you need to pass 3 parameters, 2 of which is optional: <string>permName - The name of the permission; <int>secondsToAdd or <DateTime>expireDate - Optional. The time in seconds to add, or the end date. If a number less than 1 is specified, or if this parameter is not specified, the permission will be valid until the wipe; <bool>fromNow or <DateTime>assignedDate - Optional. true/false to specify whether the seconds should be added to the current date or to the existing time, or an exact assignment date. Defaults to the current date. (int)TemporaryPermissions?.Call("GrantAllUsersPermission", "realpve.vip");//Calling the GrantAllUsersPermission method without specifying the second parameter, to grant all players temporary permission until the wipe. (int)TemporaryPermissions?.Call("GrantAllUsersPermission", "realpve.vip", 0);//Calling the GrantAllUsersPermission method with the specified number less than 1, to grant all players temporary permission until the wipe. (int)TemporaryPermissions?.Call("GrantAllUsersPermission", "realpve.vip", 3600, true);//Calling the GrantAllUsersPermission method with the specified number of seconds to add. (int)TemporaryPermissions?.Call("GrantAllUsersPermission", "realpve.vip", expireDate, assignedDate);//Calling the GrantAllUsersPermission method with the specified DateTime for the end and start of the temporary permission. RevokeActiveUsersPermission: Used to revoke a temporary permission from all online players. Returns the <int>number of successful revokes of temporary permissions to players. To call the RevokeActiveUsersPermission method, you need to pass 1 parameter: <string>permName - The name of the permission. (int)TemporaryPermissions?.Call("RevokeActiveUsersPermission", "realpve.vip"); RevokeAllUsersPermission: Used to revoke a temporary permission from all players. Returns the <int>number of successful revokes of temporary permissions to players. To call the RevokeAllUsersPermission method, you need to pass 1 parameter: <string>permName - The name of the permission. (int)TemporaryPermissions?.Call("RevokeAllUsersPermission", "realpve.vip"); UserGetAllPermissions: Used to retrieve all temporary permissions of a player. Returns a Dictionary<string, DateTime[]> where the key is the permission name and the value is an array of 2 DateTimes: the first date is the assignment date and the second date is the expiration date of the permission. If the expiration date is set to default, it means the permission is valid until the wipe. To call the UserGetAllPermissions method, you need to pass 1 parameter: <string>playerID - The player's Id. (Dictionary<string, DateTime[]>)TemporaryPermissions?.Call("UserGetAllPermissions", player.UserIDString); UserGetPermissionByExpiry: Used to get the expiration date of a player's temporary permission, considering the temporary permission for the group they may belong to. The latest date is taken. Returns a DateTime[]: the first date is the assignment date and the second date is the expiration date of the permission. If the expiration date is set to default, it means the permission is valid until the wipe. To call the UserGetPermissionByExpiry method, you need to pass 2 parameters: IPlayer or BasePlayer or <string>playerID - The player object or their Id; <string>permName - The name of the permission. (DateTime[])TemporaryPermissions?.Call("UserGetPermissionByExpiry", player.UserIDString, "realpve.vip"); UserGetAllPermissionsByExpiry: Used to get the expiration date of all temporary permissions for a player, considering the temporary permissions for the group they may belong to. The latest date is taken. Returns a Dictionary<string, DateTime[]> where the key is the permission name and the value is an array of 2 DateTimes: the first date is the assignment date and the second date is the expiration date of the permission. If the expiration date is set to default, it means the permission is valid until the wipe. To call the UserGetAllPermissionsByExpiry method, you need to pass 1 parameter: IPlayer or BasePlayer or <string>playerID - The player object or their Id. (Dictionary<string, DateTime[]>)TemporaryPermissions?.Call("UserGetAllPermissionsByExpiry", player.UserIDString); ActiveUsersGetAllPermissions: Used to retrieve all temporary permissions of all online players who have temporary permissions. Returns a Dictionary<string, Dictionary<string, DateTime[]>> where the key is userID and the value is another Dictionary<string, DateTime[]>, where the key is the permission name and the value is an array of 2 DateTimes: the first date is the assignment date and the second date is the expiration date of the permission. If the expiration date is set to default, it means the permission is valid until the wipe. (Dictionary<string, Dictionary<string, DateTime[]>>)TemporaryPermissions?.Call("ActiveUsersGetAllPermissions"); AllUsersGetAllPermissions: Used to retrieve all temporary permissions of all players who have temporary permissions. Returns a Dictionary<string, Dictionary<string, DateTime[]>> where the key is userID and the value is another Dictionary<string, DateTime[]>, where the key is the permission name and the value is an array of 2 DateTimes: the first date is the assignment date and the second date is the expiration date of the permission. If the expiration date is set to default, it means the permission is valid until the wipe. (Dictionary<string, Dictionary<string, DateTime[]>>)TemporaryPermissions?.Call("AllUsersGetAllPermissions"); AddUserGroup: Used to temporarily add a player to a group. Returns true if the addition was successful. To call the AddUserGroup method, you need to pass 5 parameters, 3 of which are optional: IPlayer or BasePlayer or <string>playerID - The player object or their Id; <string>groupName - The name of the group; <int>secondsToAdd or <DateTime>expireDate - Optional. The time in seconds to add, or the end date. If a number less than 1 is specified, or if this parameter is not specified, the group will be valid until the wipe; <bool>fromNow or <DateTime>assignedDate - Optional. true/false to specify whether the seconds should be added to the current date or to the existing time, or an exact assignment date. Defaults to the current date; <bool>checkExistence - Optional. Whether to check for the existence of the group. (bool)TemporaryPermissions?.Call("AddUserGroup", player.UserIDString, "vip");//Calling the AddUserGroup method without specifying the third parameter to temporarily add a player, to a group until the wipe. (bool)TemporaryPermissions?.Call("AddUserGroup", player.UserIDString, "vip", 0);//Calling the AddUserGroup method with the specified number less than 1, to temporarily add a player to a group until the wipe. (bool)TemporaryPermissions?.Call("AddUserGroup", player.UserIDString, "vip", 3600, true, true);//Calling the AddUserGroup method with the specified number of seconds to add. (bool)TemporaryPermissions?.Call("AddUserGroup", player.UserIDString, "vip", expireDate, assignedDate, true);//Calling the AddUserGroup method with the specified DateTime for the end and start of the temporary permission. RemoveUserGroup: Used to remove a temporary group from a player. Returns true if the removal was successful. To call the RemoveUserGroup method, you need to pass 2 parameters: IPlayer or BasePlayer or <string>playerID - The player object or their Id; <string>groupName - The name of the group. (bool)TemporaryPermissions?.Call("RemoveUserGroup", player.UserIDString, "vip"); UserHasGroup: Used to check if a player has a temporary group. Returns true if the player has the specified temporary group. To call the UserHasGroup method, you need to pass 2 parameters: IPlayer or BasePlayer or <string>playerID - The player object or their Id; <string>groupName - The name of the group. (bool)TemporaryPermissions?.Call("UserHasGroup", player.UserIDString, "vip"); AddActiveUsersGroup: Used to temporarily add a group to all online players. Returns the <int>number of successful additions of the temporary group to players. To call the AddActiveUsersGroup method, you need to pass 3 parameters, 2 of which is optional: <string>groupName - The name of the group; <int>secondsToAdd or <DateTime>expireDate - Optional. The time in seconds to add, or the end date. If a number less than 1 is specified, or if this parameter is not specified, the group will be valid until the wipe; <bool>fromNow or <DateTime>assignedDate - Optional. true/false to specify whether the seconds should be added to the current date or to the existing time, or an exact assignment date. Defaults to the current date. (int)TemporaryPermissions?.Call("AddActiveUsersGroup", "vip");//Calling the AddActiveUsersGroup method without specifying the second parameter to temporarily add all online players to a group until the wipe. (int)TemporaryPermissions?.Call("AddActiveUsersGroup", "vip", 0);//Calling the AddActiveUsersGroup method with the specified number less than 1, to temporarily add all online players to a group until the wipe. (int)TemporaryPermissions?.Call("AddActiveUsersGroup", "vip", 3600, true);//Calling the AddActiveUsersGroup method with the specified number of seconds to add. (int)TemporaryPermissions?.Call("AddActiveUsersGroup", "vip", expireDate, assignedDate);//Calling the AddActiveUsersGroup method with the specified DateTime for the end and start of the temporary permission. AddAllUsersGroup: Used to temporarily add a group to all players. Returns the <int>number of successful additions of the temporary group to players. To call the AddAllUsersGroup method, you need to pass 3 parameters, 2 of which is optional: <string>groupName - The name of the group; <int>secondsToAdd or <DateTime>expireDate - Optional. The time in seconds to add, or the end date. If a number less than 1 is specified, or if this parameter is not specified, the group will be valid until the wipe; <bool>fromNow or <DateTime>assignedDate - Optional. true/false to specify whether the seconds should be added to the current date or to the existing time, or an exact assignment date. Defaults to the current date. (int)TemporaryPermissions?.Call("AddAllUsersGroup", "vip");//Calling the AddAllUsersGroup method without specifying the second parameter to temporarily add all players to a group until the wipe. (int)TemporaryPermissions?.Call("AddAllUsersGroup", "vip", 0);//Calling the AddAllUsersGroup method with the specified number less than 1, to temporarily add all players to a group until the wipe. (int)TemporaryPermissions?.Call("AddAllUsersGroup", "vip", 3600, true);//Calling the AddAllUsersGroup method with the specified number of seconds to add. (int)TemporaryPermissions?.Call("AddAllUsersGroup", "vip", expireDate, assignedDate);//Calling the AddAllUsersGroup method with the specified DateTime for the end and start of the temporary permission. RemoveActiveUsersGroup: Used to remove a temporary group from all online players. Returns the <int>number of successful removals of temporary groups from players. To call the RemoveActiveUsersGroup method, you need to pass 1 parameter: <string>groupName - The name of the group. (int)TemporaryPermissions?.Call("RemoveActiveUsersGroup", "vip"); RemoveAllUsersGroup: Used to remove a temporary group from all players. Returns the <int>number of successful removals of temporary groups from players. To call the RemoveAllUsersGroup method, you need to pass 1 parameter: <string>permName - The name of the permission. (int)TemporaryPermissions?.Call("RemoveAllUsersGroup", "vip"); UserGetAllGroups: Used to retrieve all temporary groups of a player. Returns a Dictionary<string, DateTime[]> where the key is the group name and the value is an array of 2 DateTimes: the first date is the assignment date and the second date is the expiration date of the group. If the expiration date is set to default, it means the group is valid until the wipe. To call the UserGetAllGroups method, you need to pass 1 parameter: <string>permName - The name of the permission. (Dictionary<string, DateTime[]>)TemporaryPermissions?.Call("UserGetAllGroups", player.UserIDString); ActiveUsersGetAllGroups: Used to retrieve all temporary groups of all online players who have temporary groups. Returns a Dictionary<string, Dictionary<string, DateTime[]>> where the key is userID and the value is another Dictionary<string, DateTime[]>, where the key is the group name and the value is an array of 2 DateTimes: the first date is the assignment date and the second date is the expiration date of the group. If the expiration date is set to default, it means the group is valid until the wipe. (Dictionary<string, Dictionary<string, DateTime[]>>)TemporaryPermissions?.Call("ActiveUsersGetAllGroups"); AllUsersGetAllGroups: Used to retrieve all temporary groups of all players who have temporary groups. Returns a Dictionary<string, Dictionary<string, DateTime[]>> where the key is userID and the value is another Dictionary<string, DateTime[]>, where the key is the group name and the value is an array of 2 DateTimes: the first date is the assignment date and the second date is the expiration date of the group. If the expiration date is set to default, it means the group is valid until the wipe. (Dictionary<string, Dictionary<string, DateTime[]>>)TemporaryPermissions?.Call("AllUsersGetAllGroups"); GrantGroupPermission: Used to grant a temporary permission to a group. Returns true if the grant was successful. To call the GrantGroupPermission method, you need to pass 5 parameters, 3 of which are optional: <string>groupName - The name of the group; <string>permName - The name of the permission; <int>secondsToAdd or <DateTime>expireDate - Optional. The time in seconds to add, or the end date. If a number less than 1 is specified, or if this parameter is not specified, the permission will be valid until the wipe; <bool>fromNow or <DateTime>assignedDate - Optional. true/false to specify whether the seconds should be added to the current date or to the existing time, or an exact assignment date. Defaults to the current date; <bool>checkExistence - Optional. Whether to check for the existence of the permission. (bool)TemporaryPermissions?.Call("GrantGroupPermission", "vip", "realpve.vip");//Calling the GrantGroupPermission method without specifying the third parameter, to grant temporary permission until the wipe. (bool)TemporaryPermissions?.Call("GrantGroupPermission", "vip", "realpve.vip", 0);//Calling the GrantGroupPermission method with the specified number less than 1, to grant temporary permission until the wipe. (bool)TemporaryPermissions?.Call("GrantGroupPermission", "vip", "realpve.vip", 3600, true, true);//Calling the GrantGroupPermission method with the specified number of seconds to add. (bool)TemporaryPermissions?.Call("GrantGroupPermission", "vip", "realpve.vip", expireDate, assignedDate, true);//Calling the GrantGroupPermission method with the specified DateTime for the end and start of the temporary permission. RevokeGroupPermission: Used to revoke a temporary permission from a group. Returns true if the revoke was successful. To call the RevokeGroupPermission method, you need to pass 2 parameters: <string>groupName - The name of the group; <string>permName - The name of the permission. (bool)TemporaryPermissions?.Call("RevokeGroupPermission", "vip", "realpve.vip"); GroupHasPermission: Used to check if a group has a temporary permission. Returns true if the group has the specified temporary permission. To call the GroupHasPermission method, you need to pass 2 parameters: <string>groupName - The name of the group; <string>permName - The name of the permission. (bool)TemporaryPermissions?.Call("GroupHasPermission", "vip", "realpve.vip"); GrantAllGroupsPermission: Used to temporarily grant a permission to all groups. Returns the <int>number of successful grants of temporary permissions to groups. To call the GrantAllGroupsPermission method, you need to pass 3 parameters, 2 of which is optional: <string>permName - The name of the permission; <int>secondsToAdd or <DateTime>expireDate - Optional. The time in seconds to add, or the end date. If a number less than 1 is specified, or if this parameter is not specified, the permission will be valid until the wipe; <bool>fromNow or <DateTime>assignedDate - Optional. true/false to specify whether the seconds should be added to the current date or to the existing time, or an exact assignment date. Defaults to the current date. (int)TemporaryPermissions?.Call("GrantAllGroupsPermission", "realpve.vip");//Calling the GrantAllGroupsPermission method without specifying the second parameter, to grant all groups temporary permission until the wipe. (int)TemporaryPermissions?.Call("GrantAllGroupsPermission", "realpve.vip", 0);//Calling the GrantAllGroupsPermission method with the specified number less than 1, to grant all groups temporary permission until the wipe. (int)TemporaryPermissions?.Call("GrantAllGroupsPermission", "realpve.vip", 3600, true);//Calling the GrantAllGroupsPermission method with the specified number of seconds to add. (int)TemporaryPermissions?.Call("GrantAllGroupsPermission", "realpve.vip", expireDate, assignedDate);//Calling the GrantAllGroupsPermission method with the specified DateTime for the end and start of the temporary permission. RevokeAllGroupsPermission: Used to revoke a temporary permission from all groups. Returns the <int>number of successful revokes of temporary permissions to groups. To call the RevokeAllGroupsPermission method, you need to pass 1 parameter: <string>permName - The name of the permission. (int)TemporaryPermissions?.Call("RevokeAllGroupsPermission", "realpve.vip"); GroupGetAllPermissions: Used to retrieve all temporary permissions of a group. Returns a Dictionary<string, DateTime[]> where the key is the permission name and the value is an array of 2 DateTimes: the first date is the assignment date and the second date is the expiration date of the permission. If the expiration date is set to default, it means the permission is valid until the wipe. To call the GroupGetAllPermissions method, you need to pass 1 parameter: <string>groupName - The name of the group. (Dictionary<string, DateTime[]>)TemporaryPermissions?.Call("GroupGetAllPermissions", "vip"); AllGroupsGetAllPermissions: Used to retrieve all temporary permissions of all groups that have temporary permissions. Returns a Dictionary<string, Dictionary<string, DateTime[]>> where the key is the group name and the value is another Dictionary<string, DateTime[]>, where the key is the permission name and the value is an array of 2 DateTimes: the first date is the assignment date and the second date is the expiration date of the permission. If the expiration date is set to default, it means the permission is valid until the wipe. (Dictionary<string, Dictionary<string, DateTime[]>>)TemporaryPermissions?.Call("AllGroupsGetAllPermissions");
-
Version 1.0.5
145 downloads
Introduction CustomRewards is a turnkey solution to reward player engagement. This plugin allows you to give a player any type of reward based on conditions you'll be able to configure. Whether you're a server admin aiming to boost player engagement or a developer creating complex reward systems, CustomRewards is your go-to solution. Main Features: Diversity of Rewards: Set up a huge variety of rewards for your players, ranging from items to special permissions, including server command execution. Reward Templates: Create different reward models for various events or scenarios, providing maximum flexibility to meet your server's needs. Award Conditions: Ensure only eligible players receive certain rewards by setting conditions based on groups, permissions, and more. Integration with Other Plugins: CustomRewards isn't just a standalone, it can also be seamlessly integrated with other externals plugins such as VoteSystem or PlaytimeTracker : Vote System : By using Custom Reward with VoteSystem, your players will be able to obtain rewards by voting. PlayTime Reward (free) : By using CustomRewards with PlaytimeTracker, your players will be able to obtain rewards based on their playtime. Interface Customization Provide your players with an appealing visual experience with a fully customizable user interface, custom reward images, and colorful themes. Expandability for Developers For those looking to delve deeper, CustomRewards offers a robust API, allowing you to integrate your own point system or even other plugins ! Plugin's Future: We always listen to the community! If you have a specific plugin you'd like to see integrated with CustomRewards, please let us know. Our goal is to make CustomRewards as versatile and useful as possible for all users. Support : I am very often available and will respond as quickly as possible to all your questions, here or on my Discord: https://discord.gg/JJnxFgP27G. Full Documentation : Feel free to check out the complete documentation here. Commands (chat) : - /CustomRewards_Give <type> <player name or id> <quantity> : available only for administrators or with permission CustomRewards.Admin - The commands to show the UI need to be implemented in the configuration. Permissions : - CustomRewards.Admin : enable admin commands if not administrator - CustomRewards.<Type>.Use : Permission linked to the type (rewards template), users without the permission will not be able to use the command to display the UI. Therefore, it's important to add the permission to your groups once the template is created! How To use API : private void Give_API(string rewardType, ulong playerId, int quantity) // Add quantity points for player (for referenced rewardType) private int Get_API(string rewardType, ulong playerId) // Get quantity points for player (for referenced rewardType) CustomRewards Configuration Tutorial Step 1: Initial Setup : - Ensure the CustomRewards_rewards folder is present in Oxide/Data. If not, the plugin will attempt to create it automatically, but it's good to check. - Ensure - For each reward type you want to configure, create a .json file in the CustomRewards_rewards folder. For instance, for a reward type called "VIP", you might have a VIP.json file. Step 2: Basic Configuration In your .json file: - "Enabled": Set this value to true to activate this reward type. - "Commands for show UI": List of commands that will display the user interface for this reward type. For example: ["rewards_vip", "vip_rewards"]. Step 3: User Interface Configuration Under "UI Settings": - Configure the appearance and layout of the user interface with properties like "Max Reward By Page", "Window Rect", etc. - Set the theme colors under "Theme" using properties like "Colors". Each color is defined by an RGBA value. - Configure rarity colors under "Rarity Colors". - To modify the window title or description (above the rewards), go through the lang files (Oxide/Lang/<lang>/CustomRewards_<type>). Example Lang file : { "Messages": { "Title": "Rewards", "Description": "Every time you earn points, you can claim your rewards here." } } Step 4: Reward Configuration Under "Rewards Settings": - "Rewards List": Here, you'll define each individual reward for this type. - "Rarity (Common - Rare - Epic - Legendary)": Set the reward's rarity. - "Quantity": If the reward is an item, set the quantity here. - "Item Shortname (optional)": If the reward is an item, set its short name here. - "Custom image URL (optional)": For a custom image for the reward. - "Server command (optional)": Commands to execute when this reward is claimed. - "Grant Permissions ": Permissions to grant when this reward is claimed. - "Grant Groups": Groups to grant when this reward is claimed. - "Nedded Permissions": Permissions needed to claim this reward. - "Nedded Group ": Groups needed to claim this reward. Step 5: Plugin Extensions Under PluginExtensions, you can configure integration with other plugins: - For PlaytimeTracker, use properties under "PlayTimeTracker" like "Count Afk Time?", "Added points", and "Add point every (in seconds)". Step 6: Save and Reload After completing your configuration, save the .json file and reload the plugin on your server. Here's a sample configuration file to help you get started:$5.99 -
Experienced Rust Plugin Developer Available Hello everyone, I am a professional software developer from Germany with over 3 years of experience in Rust plugin development. In addition to my plugin work, I have a solid background in software development, which allows me to create efficient, high-quality, and well-optimized code tailored to your specific needs. What I Offer: Custom Rust plugins designed to meet your exact requirements Optimization and improvement of existing plugins Bug fixing and performance enhancements Ongoing support and maintenance Why Choose Me: 3+ years of hands-on Rust plugin development experience Strong problem-solving skills and attention to detail Fluent in English for clear and effective communication Reliable, fast, and professional service I am open to both short-term and long-term projects. If you’re looking for someone who can deliver high-quality Rust plugins efficiently, feel free to reach out. Let's discuss how I can help with your project. You can contact me via Discord: janny.p Looking forward to working with you! Best regards, Janny aka CommandoSoldat
-
Version 2.0.6
750 downloads
Rust Snippets Rust Snippets are designed to enhance the coding experience for Rust plugin developers. It streamlines the programming workflow, eliminating the need to repeatedly visit forums or perform repetitive tasks. Rust Snippets integrates all Rust plugin hooks directly into Visual Studio, allowing developers to code on the fly with embedded comments for each hook. Expect regular updates. Shortcuts Setup: Initializes a default Oxide plugin setup. Harmony: Sets up a default Harmony Oxide plugin. Config: Sets up a basic config file. Language: Sets up a basic language file. ChatCommand: Creates a basic ChatCommand. ConsoleCommand: Creates a basic ConsoleCommand. Permissions: Configures basic permissions. Hook Snippets The remaining shortcuts are related to various Rust plugin hooks. Typing "On" or "Can" triggers a dropdown with all available hooks. These hooks currently include all hooks from https://umod.org/documentation/games/rust Tutorial Included in the download is a comprehensive readme that guides users through the setup process. The instructions are easy to follow, ensuring a smooth onboarding experience. Feel free to reach out with any questions. Credits Special thanks to @Billy Joe for the initial idea. Although he didn't continue his work, his contributions inspired me to carry on. Be sure to check out his previous work, he produced some excellent content. I hope I could make your life easier with these snippetsFree -
Version 1.2.0
13 downloads
A webhosting always required. This website is for developers to manage their licenses It doesn't automatically license your plugins, but it talks about how to license it in the documentation. The system works with the IP address of the server where the plugin will run, not with the license key. Documentation content Already Licensed A Sample Plugin Information on how to license a plugin Information about api returns$20.00- 9 comments
-
- 1
-
-
- #drm
- #plugin protection
-
(and 3 more)
Tagged with:
-
Version 1.2.4
611 downloads
Purpose Create some custom plugins for the Rust game using Carbon Oxide Test the plugins with a local server Update the dependencies with a simple script Getting started Download this repository somewhere on your computer (windows only) Run the Workplace_Installer.bat script Open the Plugins.sln solution with Visual Studio or Rider You're done! Update the Frameworks & Server To update the Workplace run Workplace_Updater.bat script This script will call all the update scripts under Scripts\ This action is only requiered on force wipe. However you can run the script by hand if you want to update a specific part of the workplace. It might be usefull when a new version of Carbon or Oxide is released. Please note that the Rust Server will update itself automatically when you start it with the rustserver\Server_Launcher script. Manager the Server To start the server run rustserver\Server_Launcher.bat script Feel free to edit the script to change the server settings. To install Carbon/Oxide on the server run rustserver\Framework_Installer.bat script You will be asked to choose the framework you want to install. To copy all the plugins to the server run rustserver\Plugin_Loader.bat script You will be asked to choose on witch framework you want to load the plugins. Note that Oxide plugins will be loaded enven if you choose Carbon* Extensions There are currently 3 Oxide extensions automatically downloaded: Chaos Discord RustEdit You can simply add more by adding them to the modding\ folder or by editing the Scripts\Extensions.txt file. Carbon extensions are also supported. Documentations I recommend you to read the documentations of the frameworks or browse some existing plugins to understand how they work: Carbon Oxide Rust Server Tools & Versions - .NET Framework 4.8.1 - (C#10) Credits - Author: HandyS11Free- 1 review
-
- 3
-
-
- #rust
- #developer
-
(and 2 more)
Tagged with:
-
Version 1.0.4
356 downloads
Features Be a template for your own plugin Store the last connection time of a player Store the number of death of a player Permissions myplugin.admin - Allows player to use the /myplugin command Commands myplugin help - Displays some help Configuration Default configuration: { "Default Chat Avatar (steamId)": 0 } Localization Default English localization: { "PluginMissing": "The plugin \"SomePlugin\" was not found. Check on UMod: https://umod.org/plugins/someplugin", "NoPermission": "You are not allowed to run this command!", "HelpMessage": "Some useful help!", "UnknownCommand": "Unknown command!" } Hooks DateTime? GetLastConnectionTime(ulong userId) // Return the last connection time (DateTime?) of a player or null if the player is not found int? GetNumberOfDeath(ulong userId) // Return the number (int?) of death of a player or null if the player is not found Credits YourName - AuthorFree -
-
Hello! I'm David and I've been running rust services for over a year now! I've built up a client base and decided to reopen up my services discord with my close friend Shady4u! You might know him from sone of his products like simple splitter or simple symmetry. With summer coming up we're running full steam ahead with the possibility of you getting anything you need made within one community. Join the services discord: here
-
- 1
-
-
- #services
- #development
-
(and 5 more)
Tagged with:
-
I am new to c# but i can do some basic stuff for your server and also i have been working on server configurations, optimization and map making since 2 years . If you are looking for an admin to manage stuff or you need a server to be configured or optimized you can shoot me a pm. If you want to see my previous work you can dm me on discord : Qube#9311 Thank you
-
Hello All, My name is Billy Joe and have been programming in Rust for the past 2 and a half years, doing commission work for a whole ton of clients/community's. I have found some free time to get some more work done, and am looking for serious clients. If you are interested all details needed are down below, please only add me if you are serious and ready to pay. Details: Payment Type: Paypal Pay Amount: $35/hr - I will give you a time estimate based on what you are wanting. Discord: Billy Joe#2213 Hope to hear from you, Billy Joe
-
- 2
-
-
- #developer
- #for hire
-
(and 2 more)
Tagged with:
-
I want to get a list of all the mines placed by the player, entity.GetComponentsInChildren<Landmine>() returns me only landmine[0] And I still don't know how to track the pressing of the RF transmitter and the player who pressed it(
-
Version 1.0.3
511 downloads
Ruster.NET Addons is a service that allows plugin developers to create and server owners to upgrade and change Ruster.NET in almost any way possible. This plugin provides API and hook support that gives you access to interactions users make in Ruster.NET, from creating your own DM bots with custom commands, to use all the modular panels Ruster.NET provides for your own purposes. Read documentation here or get Addons on this tag. Features API Access Open / close users' browser Open modals with custom (required) fields Open color picker Get users or a specific user Check if users are admins, moderators, verified, developer or a bot Create your own users with custom profile pictures and user configurations (for bots) Get friends of users Get friend requests Get posts for a specific feed or user Get marketplace or advert posts Get blocked users Send or handle friend requests for an user Pin/unpin posts Like/dislike posts Get feed information, such as feed title, type, owner Create posts and publish them on feeds or users' profiles Get or create conversations between users Send messages to players Mark message status (read/unread), and much more. Hook Access On coupons added or removed On language change On custom nickname update On wallet withdraw On restock On hashtag filter On post created/removed On post viewed/closed On post with audio played/stopped On DM sent, and much more. Type Examples Feed Post Marketplace Listing Story Coupon Transaction User Gif Flipbook Modal Field Licensed Item Gift Card User Configuration User Notification Conversation Direct Message Emoji Friend Request Hashtag Business Card Bot Bot Command Check the documentation for more in-depth examples and what you can do so far in Ruster.NET and Ruster.NET Addons.Free-
- 1
-
-
- #rust
- #ruster.net
-
(and 7 more)
Tagged with:
-
Hello there, I am looking to hire a Developer, to fully develop a Rust Game Server. At this current moment in-time, little Development progress has been made in any regard, due to lack of experience of myself. I have all the necessary components required to be able to make this Server, including a Dedicated Server. In addition to this, there is a spacious budget for Paid Plugins, etc. A little bit about me, and my Community; I come from the background of FiveM, to which I currently own a Community of nearly 10,000 strong, with an active player base, of nearly 64 players, every night! I am potentially looking to expand our horizons into the Rust Community too. However, I lack the experience in Rust to be able to confidently Develop a Game Server. We have all the assets required to be able to confidently run the Server, in exception to Development experience. To conclude, I am looking for an experience Developer, preferably with experience of building Rust Game Server's to be able to complete this project for me, and oversee its operation for a short-period of time. If you feel like this opportunity would suit you, please contact me, via this thread, and we can further talks to Discord. Cheers.
-
Hi, I have a few projects I would like to have worked on and can use some help. Looking for a Rust developer who has a portfolio of work, communicates well, is consistent and is excited about developing Rust plugins! Please reach out to me on Discord at Bumfuzzler#8705 or reply here or course. Thanks!