Jump to content

Search the Community

Showing results for tags 'plugin'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Categories

  • Plugins
  • Carbon
  • Harmony
  • Maps
  • Monuments
  • Prefabs
  • Arenas
  • Bases
  • Tools
  • Discord Bots
  • Customizations
  • Extensions
  • Graphics

Forums

  • CF Hub
    • Announcements
  • Member Hub
    • General
    • Show Off
    • Requests
  • Member Resources
    • For Hire
    • Creators
    • Creators Directory
  • Community Hub
    • Feedback
  • Support Hub
    • Support
    • Site Support
    • Help Center

Product Groups

  • Creator Services
  • Host Services
  • Memberships

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


About Me


Steam


Github

  1. David

    Wipe Countdown

    Version 1.0.2

    7,295 downloads

    Let players know how many days left till next wipe with this simple countdown plugin. • Features - show time left with chat command - auto broadcast when players type keyword in chat - api to get time left • Commands • Config • API
    Free
  2. Version 0.1.8

    1,246 downloads

    Useful plugin for managing temporary permissions, temporary groups and temporary permissions for groups. This is done through chat commands, built-in Oxide commands, and API methods. Note: The dates is in UTC format. The ability to grant players temporary permissions by specifying either the number of seconds, an exact expiration date or until the wipe occurs; The ability to add players to temporary groups by specifying either the number of seconds, an exact expiration date or until the wipe occurs; The ability to grant groups temporary permissions by specifying either the number of seconds, an exact expiration date or until the wipe occurs; The ability to revoke temporary permissions from players and groups prematurely; The ability to remove players from groups prematurely; The ability to perform all the above actions using existing and familiar console commands(e.g., o.grant), simply by adding the number of seconds, the expiration date or the word "wipe" at the end; The ability to perform all the above actions using a chat command (by default /tperm); The ability to perform all the above actions using API methods; The ability to remove all temporary permissions and groups upon wipe detection. temporarypermissions.admin - Grants access to the admin command(by default /tperm). { "Chat command": "myperm", "Chat admin command": "tperm", "Is it worth enabling GameTips for messages?": true, "List of language keys for creating language files": [ "en" ], "Is it worth saving logs to a file?": true, "Is it worth using console logging?": true, "Interval in seconds for expiration check": 1.0, "Interval in seconds for checking the presence of temporary permissions and temporary groups. A value of 0 disables the check": 600.0, "Is it worth restoring removed temporary permissions and temporary groups if the timer hasn't expired? There are cases where removal cannot be tracked in the usual way": true, "Is it worth revoking temporary permissions and temporary groups when unloading the plugin, without removing them from the data file?": true, "Is it worth revoking temporary permissions and temporary groups that haven't expired yet upon detecting a wipe?": false, "Custom wipe date(detected only during initialization). Only required if you're experiencing issues with the Wipe ID. Leave empty to use the Wipe ID. Example: 2025-06-25 13:00": "", "Wipe ID": null, "Version": { "Major": 0, "Minor": 1, "Patch": 8 } } EN: { "CmdAdmin": "Available admin commands:\n\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>grant user *nameOrId* realpve.vip wipe</color> - Grants or extends the specified permission for the specified player until the end of the current wipe\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>grant user *nameOrId* realpve.vip *intValue* *boolValue*(optional)</color> - Grants or extends the specified permission for the specified player for the given number of seconds\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>grant user *nameOrId* realpve.vip *expirationDate* *assignmentDate*(optional)</color> - Grants or extends the specified permission for the specified player until the given date\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>grant group *groupName* realpve.vip wipe</color> - Grants or extends the specified permission for the specified group until the end of the current wipe\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>grant group *groupName* realpve.vip *intValue* *boolValue*(optional)</color> - Grants or extends the specified permission for the specified group for the given number of seconds\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>grant group *groupName* realpve.vip *expirationDate* *assignmentDate*(optional)</color> - Grants or extends the specified permission for the specified group until the given date\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>revoke user *nameOrId* realpve.vip</color> - Revokes the specified permission from the specified player\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>revoke group *groupName* realpve.vip</color> - Revokes the specified permission from the specified group\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>add *nameOrId* *groupName* wipe</color> - Adds or extends the specified player's membership in the specified group until the end of the current wipe\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>add *nameOrId* *groupName* *intValue* *boolValue*(optional)</color> - Adds or extends the specified player's membership in the specified group for the given number of seconds\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>add *nameOrId* *groupName* *expirationDate* *assignmentDate*(optional)</color> - Adds or extends the specified player's membership in the specified group until the given date\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>remove *nameOrId* *groupName*</color> - Removes the specified player from the specified group\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>wipe *wipeDate*</color> - Set a custom wipe date. Used in case of issues with the Wipe ID. Format: yyyy-MM-dd HH:mm\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>wipe reset</color> - Reset the custom wipe date\n\n<color=#D1CBCB>Optional values:</color>\n*boolValue* - If false(default) and an existing permission or group membership has not expired, the specified time will be added to the existing time. Otherwise, including when true, the specified time will be counted from the current time\n*assignmentDate* - If the assignment date is not specified and there is no existing permission or group membership, the assignment date will be set to the current time. If the assignment date is specified, it will be applied regardless of existing permissions or group memberships\n\n--------------------------------------------------", "CmdPermissionNotFound": "Permission '{0}' not found!", "CmdPlayerNotFound": "Player '{0}' not found! You must provide the player's name or ID.", "CmdMultiplePlayers": "Multiple players found for '{0}': {1}", "CmdGroupNotFound": "Group '{0}' not found!", "CmdGrantWrongFormat": "Incorrect command format! Example: /tperm grant user/group *nameOrId* realpve.vip *secondsOrDateTime*", "CmdRevokeWrongFormat": "Incorrect command format! Example: /tperm revoke user/group *nameOrId* realpve.vip", "CmdUserGroupWrongFormat": "Incorrect command format! Example: /tperm group add/remove *nameOrId* *groupName*", "CmdUserGranted": "Permission '{0}' granted to player '{1}'.", "CmdGroupGranted": "Permission '{0}' granted to group '{1}'.", "CmdUserGroupAdded": "Player '{0}' has been added to group '{1}'.", "CmdUserRevoked": "Permission '{0}' has been revoked for player '{1}'.", "CmdGroupRevoked": "Permission '{0}' has been revoked for group '{1}'.", "CmdUserGroupRemoved": "Player '{0}' has been removed from group '{1}'.", "CmdWipeNew": "New wipe date successfully set to '{0}'. The wipe will take effect only after the plugin is loaded following this date.", "CmdWipeReset": "The custom wipe date has been reset. The wipe is now determined by the Wipe ID.", "CmdWipeFailed": "The specified date '{0}' has an invalid format(yyyy-MM-dd HH:mm) or has already passed. Example: '{1}'.", "CmdCheckNoActive": "You have no active temporary permissions or temporary groups!", "CmdCheckTargetNoActive": "Player '{0}' has no active temporary permissions or temporary groups!", "CmdCheckPermissions": "<color=#D1AB9A>You have {0} temporary permissions(time in UTC):</color>\n{1}", "CmdCheckGroups": "<color=#D1AB9A>You have {0} temporary groups(time in UTC):</color>\n{1}", "CmdCheckTargetPermissions": "<color=#D1AB9A>Player '{2}' has {0} temporary permissions(time in UTC):</color>\n{1}", "CmdCheckTargetGroups": "<color=#D1AB9A>Player '{2}' has {0} temporary groups(time in UTC):</color>\n{1}", "CmdCheckFormatPermissions": "'{0}' - {1}({2})", "CmdCheckFormatGroups": "'{0}' - {1}({2})", "CmdUntilWipe": "Until Wipe" } RU: { "CmdAdmin": "Доступные админ команды:\n\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>grant user *имяИлиАйди* realpve.vip wipe</color> - Выдать или продлить указанный пермишен указанному игроку до конца текущего вайпа\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>grant user *имяИлиАйди* realpve.vip *числовоеЗначение* *булевоеЗначение*(опционально)</color> - Выдать или продлить указанный пермишен указанному игроку на указанное количество секунд\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>grant user *имяИлиАйди* realpve.vip *датаИстечения* *датаНазначения*(опционально)</color> - Выдать или продлить указанный пермишен указанному игроку до указанной даты\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>grant group *имяГруппы* realpve.vip wipe</color> - Выдать или продлить указанный пермишен указанной группе до конца текущего вайпа\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>grant group *имяГруппы* realpve.vip *числовоеЗначение* *булевоеЗначение*(опционально)</color> - Выдать или продлить указанный пермишен указанной группе на указанное количество секунд\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>grant group *имяГруппы* realpve.vip *датаИстечения* *датаНазначения*(опционально)</color> - Выдать или продлить указанный пермишен указанной группе до указанной даты\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>revoke user *имяИлиАйди* realpve.vip</color> - Снять указанный пермишен у указанного игрока\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>revoke group *имяГруппы* realpve.vip</color> - Снять указанный пермишен у указанной группы\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>add *имяИлиАйди* *имяГруппы* wipe</color> - Добавить или продлить пребывание в указанной группе указанному игроку до конца текущего вайпа\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>add *имяИлиАйди* *имяГруппы* *числовоеЗначение* *булевоеЗначение*(опционально)</color> - Добавить или продлить пребывание в указанной группе указанному игроку на указанное количество секунд\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>add *имяИлиАйди* *имяГруппы* *датаИстечения* *датаНазначения*(опционально)</color> - Добавить или продлить пребывание в указанной группе указанному игроку до указанной даты\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>remove *имяИлиАйди* *имяГруппы*</color> - Отменить пребывание в указанной группе указанному игроку\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>wipe *датаВайпа*</color> - Установка кастомной даты вайпа. Используется при проблемах с Wipe ID. Формат: yyyy-MM-dd HH:mm\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>wipe reset</color> - Сброс кастомной даты вайпа\n\n<color=#D1CBCB>Опциональные значения:</color>\n*булевоеЗначение* - Если false(по умолчанию) и существующий пермишен или группа не истекли, указанное время будет добавлено к существующему времени. В противном случае, в т.ч. при true, указанное время будет отсчитываться от текущего времени\n*датаНазначения* - Если дата назначения не указана и нет существующего пермишена или группы, дата назначения будет равна текущей. Если дата назначения указана, то вне зависимости от существования пермишенов или групп, присвоится указанная дата\n\n--------------------------------------------------", "CmdPermissionNotFound": "Пермишен '{0}' не найден!", "CmdPlayerNotFound": "Игрок '{0}' не найден! Вы должны указать имя или ID игрока.", "CmdMultiplePlayers": "По значению '{0}' найдено несколько игроков: {1}", "CmdGroupNotFound": "Группа '{0}' не найдена!", "CmdGrantWrongFormat": "Не верный формат команды! Пример: /tperm grant user/group *имяИлиАйди* realpve.vip *секундыИлиДата*", "CmdRevokeWrongFormat": "Не верный формат команды! Пример: /tperm revoke user/group *имяИлиАйди* realpve.vip", "CmdUserGroupWrongFormat": "Не верный формат команды! Пример: /tperm group add/remove *имяИлиАйди* *имяГруппы*", "CmdUserGranted": "Пермишен '{0}' выдан игроку '{1}'.", "CmdGroupGranted": "Пермишен '{0}' выдан группе '{1}'.", "CmdUserGroupAdded": "Игрок '{0}' был добавлен в группу '{1}'.", "CmdUserRevoked": "Пермишен '{0}' был удален для игрока '{1}'.", "CmdGroupRevoked": "Пермишен '{0}' был удален для группы '{1}'.", "CmdUserGroupRemoved": "Игрок '{0}' был удален из группы '{1}'.", "CmdWipeNew": "Новая дата вайпа успешно установлена на '{0}'. Вайп вступит в силу только при загрузке плагина после этой даты.", "CmdWipeReset": "Кастомная дата вайпа была сброшена. Вайп снова определяется по Wipe ID.", "CmdWipeFailed": "Указанная дата '{0}' имеет неверный формат(yyyy-MM-dd HH:mm) или уже прошла. Пример: '{1}'.", "CmdCheckFormatGroups": "'{0}' - {1}({2})", "CmdCheckNoActive": "У вас нет активных временных пермишенов или временных групп!", "CmdCheckTargetNoActive": "У игрока '{0}' нет активных временных пермишенов или временных групп!", "CmdCheckPermissions": "<color=#D1AB9A>У вас есть {0} временных пермишенов(время по UTC):</color>\n{1}", "CmdCheckGroups": "<color=#D1AB9A>У вас есть {0} временных групп(время по UTC):</color>\n{1}", "CmdCheckTargetPermissions": "<color=#D1AB9A>У игрока '{2}' есть {0} временных пермишенов(время по UTC):</color>\n{1}", "CmdCheckTargetGroups": "<color=#D1AB9A>У игрока '{2}' есть {0} временных групп(время по UTC):</color>\n{1}", "CmdCheckFormatPermissions": "'{0}' - {1}({2})", "CmdUntilWipe": "До вайпа" } /myperm - Displays a list of all your temporary permissions and temporary groups; /myperm *NameOrId* - Displays a list of all temporary permissions and temporary groups of the specified player. Permission "temporarypermissions.admin" required. Admin commands(/tperm). Permission "temporarypermissions.admin" required: grant - Grants a temporary permission to a player or group. user *NameOrId* realpve.vip wipe - Grants a temporary permission to a player until the next wipe by specifying the player's name or Id, the permission name and the word "wipe"; *NameOrId* realpve.vip 3600 true/false - Grants a temporary permission to a player by specifying the player's name or Id, the permission name, the number of seconds and true/false(optional). If false(default) and an existing permission has not expired, the specified time will be added to the existing time. Otherwise, including when true, the specified time will be counted from the current time; *NameOrId* realpve.vip "2024-08-19 17:57" "2024-08-19 16:57" - Grants a temporary permission to a player by specifying the player's name or Id, the permission name, the expiration date and the assigned date(optional). If the assignment date is not specified and there is no existing permission, the assignment date will be set to the current time. If the assignment date is specified, it will be applied regardless of existing permissions. group *GroupName* realpve.vip wipe - Grants a temporary permission to a group until the next wipe by specifying the group's name, the permission name and the word "wipe"; *GroupName* realpve.vip 3600 true/false - Grants a temporary permission to a group by specifying the group's name, the permission name, the number of seconds, and true/false(optional). If false(default) and an existing group membership has not expired, the specified time will be added to the existing time. Otherwise, including when true, the specified time will be counted from the current time; *GroupName* realpve.vip "2024-08-19 17:57" "2024-08-19 16:57" - Grants a temporary permission to a group by specifying the group's name, the permission name, the expiration date and the assigned date(optional). If the assignment date is not specified and there is no existing group membership, the assignment date will be set to the current time. If the assignment date is specified, it will be applied regardless of existing group memberships. revoke - Revokes a temporary permission from a player or group. user *NameOrId* realpve.vip - Revokes a temporary permission from a player by specifying the player's name or Id and the permission name; group *GroupName* realpve.vip - Revokes a temporary permission from a group by specifying the group's name and the permission name. add - Temporary addition of a player to a group. *NameOrId* *GroupName* wipe - Temporary addition of a player to a group until the next wipe by specifying the player's name or Id, the group name and the word "wipe"; *NameOrId* *GroupName* 3600 true/false - Temporary addition of a player to a group by specifying the player's name or Id, the group name, the number of seconds, and true/false(optional). If true, the specified seconds will count from the current moment, otherwise(default), they will be added to the existing time; *NameOrId* *GroupName* "2024-08-19 17:57" "2024-08-19 16:57" - Temporary addition of a player to a group by specifying the player's name or Id, the group name, the expiration date and the assigned date(optional). If not specified, the assigned date will default to the current date, otherwise, it will be set to the provided date. remove *NameOrId* *GroupName* - Removal of a player from a temporary group by specifying the player's name or Id and the group name. wipe - Setting a custom wipe date. Used if you're experiencing issues with using the Wipe ID. *wipeDate* - Set a custom wipe date(yyyy-MM-dd HH:mm). Used in case of issues with the Wipe ID; reset - Reset the custom wipe date. Example: /tperm grant user iiiaka realpve.vip wipe /tperm grant user iiiaka realpve.vip 3600 true /tperm grant user iiiaka realpve.vip "2024-08-19 17:57" "2024-08-19 16:57" /tperm wipe "2025-06-25 13:00" Note: To access the commands, the player must be an admin(console or owner) or have the temporarypermissions.admin permission. P.S. Templates for the commands above can also be used with existing console commands. For example: o.grant user iiiaka realpve.vip 3600 true All developer documentation can be found in the Docs section.
    Free
  3. Version 1.0.9

    5,238 downloads

    UI spawn amount/time control for monument crates, keycards, barrels, etc. MonumentSpawnControl provides a UI per vanilla monument, listing each spawn group for that monument, with controls for spawn population, respawn timer, and max amount to respawn per cycle. Each group can be emptied, filled, enabled, or disabled, with one click. Respawn durations are in minutes. Where there are multiple monuments of the same name (e.g. Lighthouse), they are all controlled by the same settings. Notes Does not offer control over RustEdit created monument spawns. Does not govern spawners which are part of a puzzle, as these have their own reset criteria. Chat commands. /msc - Usable by admin, or with permission. Permissions. monumentspawncontrol.allowed Configuration. ButtonColour "0.7 0.32 0.17 1" ButtonColour2 "0.4 0.1 0.1 1" - Used for disabled / inactive. Config also stores an entry per monument with information per spawn group. There is no need to edit or view this - It’s all controllable by in-game UI. Useful tool for picking CUI colours - RGB Decimal.
    Free
  4. Fruster

    Road Bunkers

    Version 1.0.7

    165 downloads

    This plugin adds bunkers to your server that spawn along roads. It doesn't require any complex setup or additional plugins; just launch it and it's ready to use. You can also configure bunker types: building grade, security door color, and whether to use a fuse. You can also customize the loot in crates and their quantity. Config: { "Bunker removal time after opening(in seconds)": 180, "Types of bunkers": [ { "Number of bunkers of this type on the map": 60, "Access level (from 1 to 3)": 1, "Fusebox spawn chance (0 to 100)": 0, "Minimum number of crates": 1, "Maximum number of crates (no more than 3)": 1, "Grade type (0 - twigs, 1 - wood, 2 - stones, 3 - metal, 4 - topTier)": 2, "Use own loot table": false, "SimpleLootTable name": "" }, { "Number of bunkers of this type on the map": 30, "Access level (from 1 to 3)": 2, "Fusebox spawn chance (0 to 100)": 50, "Minimum number of crates": 1, "Maximum number of crates (no more than 3)": 2, "Grade type (0 - twigs, 1 - wood, 2 - stones, 3 - metal, 4 - topTier)": 3, "Use own loot table": false, "SimpleLootTable name": "" }, { "Number of bunkers of this type on the map": 10, "Access level (from 1 to 3)": 3, "Fusebox spawn chance (0 to 100)": 100, "Minimum number of crates": 3, "Maximum number of crates (no more than 3)": 3, "Grade type (0 - twigs, 1 - wood, 2 - stones, 3 - metal, 4 - topTier)": 4, "Use own loot table": false, "SimpleLootTable name": "" } ], "Own loot table(there can be a maximum of 12 items in a crate)": { "minAmount": 2, "maxAmount": 4, "itemsList": [ { "name": "metal.fragments", "dropChance": 100, "minAmount": 50.0, "maxAmount": 300.0, "displayName": "", "skinID": 0 }, { "name": "metal.refined", "dropChance": 100, "minAmount": 5.0, "maxAmount": 10.0, "displayName": "", "skinID": 0 }, { "name": "scrap", "dropChance": 100, "minAmount": 10.0, "maxAmount": 20.0, "displayName": "", "skinID": 0 }, { "name": "techparts", "dropChance": 50, "minAmount": 1.0, "maxAmount": 2.0, "displayName": "", "skinID": 0 } ] } }
    $9.99
  5. Version 1.3.2

    2,714 downloads

    This plugin adds a new dynamic zombie event to your server, the appearance of which you can customize in the configuration for any standard and custom monuments Description The event begins with a message in chat that the evacuation of the general from the island will begin soon. At the end of the configured timer, a military checkpoint randomly appears on the map and it is said in the chat that the general's guard was killed, and the general himself was seriously wounded The player and his friends (if you have any) need to arrive at the military checkpoint and call for help for the general with the laptop located at the checkpoint control center After the player calls for help, waves of zombies will attack the base. During the preparation phase, players can upgrade the base with turrets, purchase ammunition for them, or place it from their inventory through the checkpoint control center. In the doorways, players can install barricades of different types (5 types of barricades, which differ in the amount of Hit Points) to contain the incoming waves of zombies. The player can also use a hammer to repair the barricades. During the attack phase, waves of zombies will be directed at you. You cannot allow zombies to kill the general, otherwise, the event will end. There are several zombie types (in future updates it is planned to add to the list of zombie types). Each type of zombie has its own tasks. After the end of each wave, a room with crates opens, where there will be a reward for you At the end of the event, a helicopter arrives for the general and picks him up, and you are notified in chat that the event has been successfully completed. When the general dies, the event ends, as will the attack wave, the event, and all hope is lost! All the necessary settings of zombies, timers, items in crates for each wave, as well as settings for each wave (the number of zombies of each type, the time of the preparation phase and the attack wave, etc.), settings of the military checkpoint (the price of buying something or improving the base, used ammo in turrets, etc.), the price of repairs, barricade options, and many other settings are available in the plugin configuration Also in the event there are additional missions during the waves of attack, during which you will receive an additional reward (in future updates it is planned to add to the list of additional missions). You can set up additional missions in the settings of each attack wave The event provides the use of several military base designs. The Mad Mappers team will add to the list of constructions for the event in the future. When an event appears, the plugin randomly selects the construction of the base from those that you have in the data folder, and also randomly selects a place to appear from all those that have been set in the plugin configuration Also, the Mad Mappers team will begin to offer support in our custom maps for this event and contain files for the appearance of bases in custom monuments and locations on our maps Constructions of other bases Defendable Bases (Bundle-1) Defendable Bases (Bundle-2) Custom Map Maps that have a configuration for the appearance of bases on their custom monuments You can also download all these files for all maps here Deathland Badlands Destroyed World Detroit: Irreparable Damage Oregon 2: Last Hope Oregon: Land of Dead Pandora All files for custom maps are stored in the folder oxide/data/DefendableBases/CustomMap. You don't have to delete files from there, the plugin will understand by itself which map is currently installed on the server and will download only the necessary file if there is one in this folder. The plugin will tell you about this process in the console during the plugin loading. It will write in the console what file works on the current map, and what ones don’t work If you want to create a custom place for the base to appear on your custom map or on a map that is not in this list, you have to create the ID of this custom map. After that you need to place an item such as a RAND Switch on your map. It must be placed randomly, where it will not be visible to other players. You will get the identifier, if you add up the three coordinates of the position of this object from RustEdit (x, y and z) and write the resulting value in the parameter of your file (an example file can be taken from ready-made files) - ID As an example, let's take the coordinates (26.896, -456.158, 527.258), then our identifier is 26.896 - 456.158 + 527.258 = 97.996 Then you need to indicate a list of bases that will appear on your map. You need to copy the configuration data block for each base construction. In the database parameters you will specify the name of the base construction and a list of positions where it can appear The list of positions consists of several parameters. First you need to specify the position and rotation of the appearance of the base on your map, then you can get these values using RustEdit. You need to choose the place for the appearance of the event on the custom monument, where the player has a ban on construction You have such a parameter as the pursuit radius for such a type of zombie as Blazer. These zombies run around the base along this radius and shoot at the players. Please note! Some object sometimes may be on your map in this radius, for example a fence, and they will not be able to overcome it, because they cannot run inside this circle, and they haven’t a way out for them so you need to leave them a way or adjust it by increasing or decreasing the radius You have a list of coordinates for the points of appearance of all zombies. It is necessary to indicate these coordinates evenly around the base so that the zombies run from different sides and attack all sides of the base, not just a few ones. So it will be more interesting to play this event. Also note the fact that you can indicate the coordinate where a player can create his house, so it is advisable to specify all the coordinates that are in the construction ban zone, they are in the zone of your custom monument. You can also get the coordinates of the appearance of zombies using RustEdit Images You may want to change some parameters during the plugin installation or the base configuration In the plugin configuration these parameters are: Custom Barricades => Price for repairs (per hammer hit) => List of items, 3 maximum (if the economy method is 3) In the base configuration, these parameters are: List of turrets => Price to unlock => List of items, 3 maximum (if the economy method is 3) List of turrets => List of ammo => Price => List of items, 3 maximum (if the economy method is 3) List of barricades to buy => Price => List of items, 3 maximum (if the economy method is 3) A list of items that are in the laptop inventory when the base appears List of attack waves => Additional missions => Reward for completing the mission => List of items If you change items in the current configuration items, you need to upload the image for this item to the oxide/data/Images folder. In order for the plugin to load this image and can use it for display in the player's GUI. If it is a standard Rust item, you need to name this image file by its ShortName. If it is a custom item, you need to name the image file by the SkinID of the item Then you need to make a few changes to the plugin configuration in the List of paths to GUI images item. You need to add a new image to this list. The name is the ShortName or SkinID of the item. The path to the image will look something like this: Images/{ShortName or SkinID}.png If you use the economy of some following points on your server as prices, you can change the image with the name Economic to your own with the same name All images must be used square. Attention! The lower size of the image file will be displayed to the player faster Dependencies Required NpcSpawn Dependencies (optional, not required) True PVE PveMode GUI Announcements Notify Discord Messages AlphaLoot CustomLoot NTeleportation Economics Server Rewards IQEconomic Chat commands (only for administrators) /warstart {name} – start the event ({name} – name of the base) /warstop - end the event Console commands (RCON only) warstart {name} – start the event ({name} – name of the base) warstop - end the event givebarricade {steamid} {level} {amount} - a player with a SteamID ({steamid}) is given a certain number of barricades ({amount}) of a certain level ({level}) Plugin Config en - example of plugin configuration in English ru - example of plugin configuration in Russian Base Config en - example of base configuration in English ru - example of base configuration in Russian Custom Map Config en - example of custom map configuration in English ru - example of custom map configuration in Russian My Discord: KpucTaJl#8923 Join the Mad Mappers Discord here! Check out more of my work here! Creator of the default configuration and the bases – jtedal Help in creating a plugin description – Jbird#2022
    $45.00
  6. Version 1.0.2

    23 downloads

    Solar Panel Upgrades adds a part-based upgrade system to electrical solar panels, allowing their performance to be enhanced through modular components. Each part type includes 3 tiers of progression. Players can open an upgrade interface while looking at a solar panel and holding a hammer, then install custom parts by dragging them into specific slots. The menu input button is fully configurable, supporting RELOAD, USE, MIDDLE CLICK, and RIGHT CLICK. Each upgrade part modifies the panel’s behavior, letting you fine-tune max output, sun angle efficiency, low-light performance, and damage power retention through a simple and intuitive interface. Upgrades are saved per panel, and all changes are applied directly to the entity in a lightweight and persistent system. The plugin also includes optional loot crate support, allowing you to control whether upgrade parts spawn in containers and define per-container drop chances for each tier. Alternatively, parts can be integrated into your existing systems such as shops or crafting plugins. All upgrade parts are fully configurable, including their stats and visuals, making it easy to adapt the system to your server’s balance and progression. A default English localization file is included, with full support for custom translations. Part shortnames and skins are pre-configured but can be modified or replaced with items from systems like Custom Item Manager. Permissions: solarpanelupgrades.use – Allows players to open and use the solar panel upgrade interface solarpanelupgrades.admin – Allows access to the admin part-giving command Commands: /sppart – Admin chat command to give yourself all available parts for testing or shop setup. Optionally specify an amount. Pre-Configured Parts: Cells: Tracking Mount: MPPT Controller: Tempered Glass: Default Config:
    $13.99
  7. Version 1.0.3

    32 downloads

    Windmill Upgrades adds a part based upgrade system to electrical windmills, allowing their performance to be improved. Each part type has 3 tiers. Players can open an upgrade interface while looking at a windmill and holding a hammer, then install custom parts by dragging them into specific slots. The menu input button is configurable, with support for RELOAD, USE, MIDDLE CLICK, and RIGHT CLICK. Each upgrade part affects the windmill’s stats, allowing you to tune max output, effective height, wind capture, power stability, and thunder performance through a simple interface. Parts are matched to their proper module slots, upgrades are saved per windmill, and all changes are applied directly to the entity in a lightweight, persistent system. The plugin also includes optional loot crate support, letting you control whether upgrade parts can appear in loot containers and set per-container drop chances for each tier. Alternatively, the parts can be added to any of your existing systems such as shops or crafting plugins. The upgrade parts are all configured in the config, with unique icons and stats, allowing you to quickly deploy this functionality to your server. As with most of my content, localization is possible, with a default English lang file included. The part shortnames and skins are all pre-configured but can be modified, or replaced with items from my Custom Item Manager. Permissions: windmillupgrades.use - Allows players to open and use the windmill upgrade interface. windmillupgrades.admin - Allows access to the admin part giving command. Commands: /wmpart - Admin chat command to give yourself all of the available parts for testing or adding to shops. Optionally can specify amount if you need more than one of each. Pre-Configured Parts: Blades: Shaft: Generator: Regulator: Lightning Rod: Default Config:
    $15.99
  8. Version 1.1.3

    2,007 downloads

    Deep Sea Options is a single config control plugin for Rust’s new Deep Sea feature. It lets server owners fully control when Deep Sea opens, what spawns inside it, what vehicles can enter, and how access rules are enforced. You can also configure if players can build inside deep sea. Building Control Enforce building allowed / blocked inside Deep Sea * Limit how many foundations a player can build in Deep Sea * Buildings persist restart, as long as the deep sea isnt being closed. Deep Sea Behavior Control Configure defaults: Whether the deep sea should always remain open, be on timers, or disabled Whether deepsea will auto open on server wipe (facepunch disables this by default) Control all phase timers GameTip messages to announce deep sea openinig/closing Deep Sea Content Control Configure procedural spawns: Island counts Ghost Ships counts RHIB counts Control: count spacing radius minimum distance between spawns distance from Deep Sea edges Settings are grouped and explained in the config Loot spawn Configurable respawn option for crates/ore/npc Respawn for scientist boat groups Access & Teleport Rules Control: Allow all vehicles (including planes and helis) or only an allow-listed set players can enter without a boat flying (noclip/admin) players can bypass checks NPC passengers are allowed on vehicles Prevent or allow “vehicle stacking” (boats/helis on deck) Also included is a mini plugin to fix Chinooks getting stuck in the deep sea portal when exiting this map. This is necessary due to the plugin increasing the portal height to allow Rust Planes and other high altitude custom vehicles or noclipping admins to enter. Chat Commands /deepsea status Shows current Deep Sea state /deepsea open Opens deep sea if not alrady open /deepsea close Closes current Deep Sea Console Commands dso open - to open the deepsea through the plugin dso close - to close the deepsea through the plugin dso forceclose - to force close the deepsea in case you need it closed but 'AlwaysOpen' is reopening it Note if you make changes to some config values (such as the procedural spawns, you will need to close the deep sea and reopen.) Config options: === GENERAL CONTROLS === Control - Schedule If ON: Plugin controls when Deep Sea opens/closes and how long it stays open. Control - Content If ON: Plugin controls how many islands, ghost ships, and RHIB patrol groups spawn and how they are placed. Control - Travel Rules If ON: Plugin controls who/what is allowed to use Deep Sea portals (vehicles, NPCs, players without vehicle, etc). Control - Building If ON: Plugin controls whether players can build while inside Deep Sea. Force Apply On Reload If ON: When plugin reloads, it forces Deep Sea to close and reopen so spawn changes apply immediately. If OFF: Changes apply next time Deep Sea opens normally. === SCHEDULE SETTINGS === Mode Vanilla = Normal Rust Deep Sea cycle. AlwaysOpen = Deep Sea never closes. Disabled = Deep Sea never opens. Plugin keeps pushing the next opening far into the future. Open Time Seconds How long Deep Sea stays open before closing. Cooldown Seconds How long Deep Sea stays closed before opening again. Final Phase Seconds End-of-cycle phase used for weather / atmosphere effects. Radiation Warning Phase Seconds When time left is below this, new entry is normally blocked unless late entry is allowed. AlwaysOpen - Keep Time Left Around Seconds In AlwaysOpen mode, plugin keeps the remaining open time around this value. AlwaysOpen - Refill When Below Seconds If time left drops below this, it refills back up to the target above. Disabled - Push Next Opening To Seconds In Disabled mode, pushes next open time far into the future. Entrance Portal Direction Forces the entrance portal direction. 0 = Map-based 1 = North 2 = East 3 = South 4 = West Set Open On Server Wipe If ON: Plugin controls the vanilla wipe setting. Open On Server Wipe Only used if above is ON. If enabled, Deep Sea is allowed to auto-open on server wipe Set Generation Pacing If ON: Plugin controls Deep Sea generation pacing values. Increasing this value can help if you experience long langs when deepsea is opening Entities Spawn Interval Seconds Only used if above is ON. Controls delay between general Deep Sea entity spawns during generation. Lower = faster generation. Spawn Groups Spawn Interval Seconds Only used if above is ON. Controls delay between Deep Sea spawn-group waves during generation. Lower = faster generation. === CONTENT SPAWNING === These control placement spacing for each Deep Sea content type. Islands / Ghost Ships / RHIB Groups all use the same logic: Count How many spawn each time Deep Sea opens. Spacing Size General spacing radius. Bigger = more spread out. Edge Buffer How far from the outer Deep Sea border spawns must stay. Bigger = more toward the center. Minimum Spacing Hard minimum distance between spawns. Overrides spacing size if larger. === RESPAWN (CRATES / NPCs / HACKABLES / RHIBS) === Enable Respawn System If ON: Plugin respawns eligible Deep Sea crates, ores, moving scientists, and optional RHIB patrol groups. Check Interval Minutes How often the respawn system runs. Min Distance From Players To Allow Respawn Entities only respawn if no players are within this distance. Respawn Hackable Crates Via Ghostship If ON: Hackable crates respawn through ghost ship crate spawning. Hackable Crates Count How many hackable crates the plugin wants available through ghost ship spawning. Respawn RHIB Patrol Groups When None Remain If ON: When all Deep Sea RHIB patrol groups are gone, plugin attempts to respawn them. Uses the current deepsea.rhib_count value, so it respawns however many RHIB groups are currently configured in the ConVar/content settings. === TRAVEL RULES === Allow Any Vehicle If ON: Any vehicle can use the portal. Allowed Vehicle Prefabs If Allow Any Vehicle is OFF, only vehicles matching these prefab names/partial names are allowed. Require Boat Type Only If ON: Even allowed vehicles must be boat-type vehicles. Allow Players Without Vehicle If ON: Players can teleport without standing on a vehicle. Allow Noclip Players If ON: Flying/admin players bypass normal vehicle checks. Allow Non-Player Passengers (NPCs) If OFF: Vehicles with NPC passengers cannot teleport. Allow Non-Player Entity Teleport (NPCs) If ON: NPC player-type entities themselves can teleport. Allow Entry During Radiation Warning Phase If ON: Players can still enter even when Deep Sea is near closing. Ignore Extra Vehicle Onboard Check If ON: Skips checks for extra vehicles being carried/on top of another vehicle, such as helicopters on boats. Log Entry/Exit If ON: Logs allow/deny travel decisions for debugging. === BUILDING === Allow Building In Deep Sea If OFF: Players cannot build inside Deep Sea. If ON: Building is allowed. DeepSea - Limit Foundations If ON: Limits how many foundations each player can place inside Deep Sea only. DeepSea - Max Foundations Per Player Maximum number of foundations a player can place inside Deep Sea. DeepSea - GameTip: Show Remaining On Successful Place If ON: When a player places a foundation in Deep Sea, shows how many they can still place. DeepSea - GameTip: Show Message When Denied If ON: When a player hits the Deep Sea foundation limit, shows a GameTip. === NOTIFICATIONS === GameTip - Deep Sea Opening If ON: Shows a GameTip when Deep Sea starts opening. GameTip - Deep Sea Opened If ON: Shows a GameTip when Deep Sea is fully open. GameTip - Deep Sea Closing If ON: Shows a GameTip when Deep Sea starts closing. GameTip - Deep Sea Closed If ON: Shows a GameTip when Deep Sea is fully closed.
    $8.99
  9. Version 2.1.7

    6,500 downloads

    This plugin adds to the game a variety of NPC bosses with different abilities and a very adaptable configuration Description Using this plugin you can add NPC bosses to any point on the map. You can set up any ability with the plugin configuration. If it is necessary, you can add multiple abilities to one boss. Abilities are divided into two categories, ones take place in a certain radius from the NPC, and others are triggered by damaging from an NPC. The map also displays the location of the actual bosses (their name and amount of health). You can give any clothes and weapons for NPCs using the configuration. Custom Map Maps that have a configuration for the appearance of boss on their custom monuments You can also download all these files for all maps here Dark Ages Blue Tears All files for custom maps are stored in the folder oxide/data/BossMonster/CustomMap. You don't have to delete files from there, the plugin will understand by itself which map is currently installed on the server and will download only the necessary file if there is one in this folder. The plugin will tell you about this process in the console during the plugin loading. It will write in the console what file works on the current map, and what ones don’t work If you want to create a custom place for the boss to appear on your custom map or on a map that is not in this list, you have to create the ID of this custom map. After that you need to place an item such as a RAND Switch on your map. It must be placed randomly, where it will not be visible to other players. You will get the identifier, if you add up the three coordinates of the position of this object from RustEdit (x, y and z) and write the resulting value in the parameter of your file (an example file can be taken from ready-made files) - ID As an example, let's take the coordinates (26.896, -456.158, 527.258), then our identifier is 26.896 - 456.158 + 527.258 = 97.996 Then you need to indicate a list of bosses that will appear on your map. You need to copy the configuration data block for each boss. In the database parameters you will specify the name of the boss and a list of positions where it can appear Dependencies (optional, not required) GUI Announcements Notify Discord Messages AlphaLoot CustomLoot Economics Server Rewards IQEconomic PveMode Chat commands (only for administrators) /WorldPos - displays the actual player’s position on the map /SavePos <name> - saves a new position to the configuration file for the boss with the name - name, relative to the nearest monument /SpawnBoss <name> - spawn of the boss with the name - name in the coordinates of the administrator Console commands (RCON only) SpawnBoss <name> – spawn of the boss with the name – name KillBoss <name> – kill all bosses with the name – name Plugin Config en - example of plugin configuration in English ru - example of plugin configuration in Russian Boss Config en - example of plugin configuration in English ru - example of plugin configuration in Russian Custom Map Config en - example of plugin configuration in English ru - example of plugin configuration in Russian Hooks void OnBossSpawn(ScientistNPC boss) - сalled when a boss appears on the map void OnBossKilled(ScientistNPC boss, BasePlayer attacker) - сalled when a player kills a boss API ScientistNPC SpawnBoss(string name, Vector3 pos) - spawns a boss named name in position pos void DestroyBoss(ScientistNPC boss) - destroys the boss My Discord: KpucTaJl#8923 Join the Mad Mappers Discord here! Check out more of my work here!
    $35.00
  10. KpucTaJl

    Better Npc

    Version 2.2.5

    14,121 downloads

    This plugin adds variety of NPC sets with very high number of parameter sets on standard and custom monuments. Also it is added during dropping the server AirDrop, locked crate and destroying a tank or helicopter Dependencies (optional, not required) AlphaLoot CustomLoot True PVE Kits Economics Server Rewards IQEconomic PveMode Custom maps Maps that have default settings for their custom monuments. For these maps, you will not need to create places for the appearance of NPCs, they have already been created by the map developer and are located inside the archive when buying the map You can also download all these files for all maps here Detroit: Irreparable Damage Oregon 2: Last Hope Lostly Island Frontier – American Old West Oregon: Land of Dead Badlands Foreign Lands Namalsk Kong: Skull Island Destroyed World Deathland Dreamland Last Train Pandora Railway Island Wasteland Cataclysm: Fury of Nature Last Oasis Crazy Island Standard monuments This item of the plugin settings is used for appearing NPCs in all standard monuments. All these settings are located in the Monument folder (oxide/data/BetterNpc/Monument). Each file in this folder corresponds to a standard monument If there is no standard monument file in the folder, you can create it (you need to name the file the same way as the standard monuments on the map inside the game). You can copy the settings from any other standard monument Configuration parameters: Enabled? [true/false] – It allows to enable/disable the appearance of NPC on the monument. If you need NPCs appearing on the map and don’t need it on another map, you can use this option simply The size of the monument – this parameter contains two values. It is the length and width of the monument. This parameter is necessary for random appearance of NPC on the monument and indication of limits of removal of standard NPCs on the monument (if it is necessary) Remove other NPCs? [true/false] – It deletes the standard NPCs inside the limits of this monument Presets – It is a list of all the NPC presets to appear on the monument (the description of the NPC preset settings is located below) Custom monuments This item of the plugin settings is responsible for the appearance of NPCs on custom monuments. All these settings are located in the Custom folder (oxide/data/BetterNpc/Custom). Each file in this folder corresponds to a custom monument If you have bought a map with already configured NPC appearance files for custom monuments you will copy these files into the Custom folder. If you want to create and configure the appearance of NPC in your custom location on the map, you will use the command in the administrators’ chat /SpawnPointAdd {name} (see the description of this command below in the instruction) Configuration parameters: Enabled? [true/false] – It allows to enable/disable the appearance of NPC on the monument. If you need NPCs appearing on the map and don’t need it on another map, you can use this option simply Position – It is a position of the custom monument on the map Rotation – It is a rotation of the custom monument on the map (this parameter is necessary for using custom places to appear of NPC on the monument, if the monument is used on more than one map) Radius – It is the radius of the custom monument from the position on the map Remove other NPCs? [true/false] – It removes the standard NPCs inside the limits of this monument Presets – It is a list of all the NPC presets to appear on the monument (the description of the NPC preset settings is located below) Roads This item of the plugin settings is used to appear NPCs on all types of roads. All these settings are located in the Road folder (oxide/data/BetterNpc/Road). Each file in this folder corresponds to a particular road type ExtraNarrow – It is a narrow, unpaved walkway ExtraWide It is a wide, paved, two-lane, beltway road Standard – It is a regular, paved road Configuration parameters: Enabled? [true/false] – It allows to enable/disable the appearance of NPC on the road. If you need NPCs appearing on the map and don’t need it on another map, you can use this option simply Presets – It is a list of all the NPC presets to appear on the road (the description of the NPC preset settings is located below) Biomes This item of the plugin settings is used to appear NPCs on all types of biomes. All these settings are located in the Biome folder (oxide/data/BetterNpc/Biome). Each file in this folder corresponds to a particular biome type (Arctic, Arid, Temperate, Tundra) Configuration parameters: Enabled? [true/false] – It allows to enable/disable the appearance of NPC on the biome. If you need NPCs appearing on the map and don’t need it on another map, you can use this option simply Presets – It is a list of all the NPC presets to appear on the biome (the description of the NPC preset settings is located below) In-game events This item of the plugin settings is used to appear the NPCs in standard Rust events. All of these settings are located in the Event folder (oxide/data/BetterNpc/Event). Each file in this folder corresponds to its own type of event The supported events: When the plane drops the server AirDrop, it will be guarded by specific NPC presets CH47 – When the chinook drops a locked crate during patrolling the map, it will be guarded by specific NPC presets Bradley – When someone destroys a tank, its crates will be guarded by specific NPC presets Helicopter – When someone shoots down a patrol helicopter, its crates will be guarded by specific NPC presets Configuration parameters: Enabled? [true/false] – It allows to enable/disable the appearance of NPC on the event. If you need NPCs appearing on the map and don’t need it on another map, you can use this option simply Radius – NPC appearance radius Presets – It is a list of all the NPC presets to appear on the event (the description of the NPC preset settings is located below) The NPC preset parameters Enabled? [true/false] – It is enabling/disabling the preset Minimum numbers – Day – It is the minimum number of NPCs from the day preset Maximum numbers – Day – It is the maximum number of NPCs from the day preset Minimum numbers – Night – It is the minimum number of NPCs from the night preset Maximum numbers – Night – It is the maximum number of NPCs from the night preset NPCs setting – It is all NPC settings of this preset (see the description of NPC settings for details) Type of appearance (0 – random; 1 – own list) – It is a type of NPC appearance. You can create your own list of places of NPC appearance. The NPC will appear only randomly. This parameter is not used in Road appearance types Own list of locations – It is your own list of NPC appearances. You need to use the number of locations at least the maximum possible number of NPCs in this preset. This parameter is not used in Road appearance types The path to the crate that appears at the place of death – It is the full path to the crate prefab that appears at the place of death of an NPC. If you don’t need this parameter, you should leave this blank Which loot table should the plugin use (0 – default; 1 – own; 2 – AlphaLoot; 3 – CustomLoot; 4 – loot table of the Rust objects; 5 – combine the 1 and 4 methods) – It is the type of the NPC loot table in this preset. Type 5 includes two types (1 and 4) at the same time and locates items from both types Loot table from prefabs (if the loot table type is 4 or 5) – It is a setting of the loot tables from Rust objects. You can see the loot table of Rust objects description for more details Own loot table (if the loot table type is 1 or 5) – It’s NPC’s own loot table. You can see the description of your own loot table for more details The NPC settings description Names is a list of NPC names. It is selected from the list randomly Health – It’s the HP amount of the NPC Roam Range – It’s the patrolling area distance. It’s the distance that the NPC can move from the place of appearance during patrolling Chase Range – It’s the chase range of the target. It’s the distance that the NPC can chase his target from the place of appearance Attack Range Multiplier – It’s the attack range multiplier of the NPC’s weapon Sense Range – It’s a target detection radius Target Memory Duration [sec.] – It’s the time that the NPC can remember his target Scale damage – It’s the damage multiplier from NPC to the player Aim Cone Scale – It’s the spread of NPC shooting, the default value in Rust is 2. It doesn’t take negative values Detect the target only in the NPCs viewing vision cone? [true/false] – It’s the parameter that allows detecting the target only in a certain NPC viewing. If you want to detect the target in 360 degrees, you will set the parameter "False” Vision Cone – It’s the NPC viewing. The range of values is from 20 to 180 degrees. If the previous parameter is False, this parameter is not used Speed – It’s the NPC speed. The default value in Rust is 5 Minimum time of appearance after death [sec.] – It’s the minimum time of NPC appearance after the death. This parameter is not used in the NPC Event places Maximum time of appearance after death [sec.] – It’s the maximum time of NPC appearance after the death. This parameter is not used in the NPC Event places Disable radio effects? [true/false] – You can disable/enable radio effects Is this a stationary NPC? [true/false] – If this parameter is True, the NPC will not move or run Remove a corpse after death? [true/false] – This parameter can control the deleting of NPC corpses (only backpacks are left). This parameter improves efficiency if there are a lot of NPCs Wear items – It’s a list of NPCs’ clothes and armor Belt items – It’s a list of weapons and items NPCs’ fast slots. Medical syringes are used for healing. If you give grenades to an NPC, he will use them. Smoke grenades are used for creating smoke screens (if you don’t need them, you should remove them from your inventory). If you give a Rocket Launcher to an NPC, he will raid the target’s building (if the target is inside it) Kits – It gives a pack of Kits plugin. If you don’t need this parameter, you should leave this blank. I recommend using the previous 2 points to configure NPC items A description of the Rust loot table settings Minimum numbers of prefabs –It’s the minimum numbers of prefabs that are needed to appear in the NPC loot table Maximum numbers of prefabs –It’s the maximum numbers of prefabs that are needed to appear in the NPC loot table Use minimum and maximum values? [true/false] – this parameter specifies whether to use the minimum and maximum numbers to limit the number of items List of prefabs – It’s a list of prefabs that need to add in the loot table. It is necessary to indicate the full path to the prefab and the probability of falling out this prefab A description of the own loot table settings Minimum numbers of items – It’s the minimum number of items Maximum numbers of items – It’s the maximum number of items Use minimum and maximum values? [true/false] – this parameter specifies whether to use the minimum and maximum numbers to limit the number of items List of items – It’s a total list of all items that can fall out in the NPC loot table. You can specify any standard items, their blueprints and any skinned or custom items The commands in the chat (for admins only) /SpawnPointPos {name} – To show the local admin’s position coordinates relative to the place where the NPC {name} appears /SpawnPointAdd {name} – To create the NPC appearance point {name} in the Admin’s custom coordinates. A file with this name will be created in the folder Custom and you can configure it as you need /SpawnPointAddPos {number} {name} – To write the local admin’s coordinate into the preset with the positional number {number} (starting from 1) to the place where the NPC {name} appears /SpawnPointAddWear {number} {name} – To write all the admin’s dressed clothes into the preset with the positional number {number} (starting from 1) to the place where the NPC {name} appears /SpawnPointAddBelt {number} {name} – To write all the admins’ quick slots cells into a preset with the positional number {number} ( starting from 1) to the place where the NPC {name} appears /SpawnPointShowPos {number} {name} – To show to the Admin all the custom NPC appearance points in the preset with the positional number {number} ( starting from 1) in the place where the NPC {name} appears /SpawnPointReload {name} – Reload Spawn Point with the name {name} Console commands (RCON only) ShowAllNpc – Shows the number of all NPCs of the BetterNpc plugin on your server Hooks object CanAirDropSpawnNpc(SupplyDrop supplyDrop) – It is called before an NPC appearance to guard an AirDrop. The returning of a non-zero value stops an NPC appearance object CanCh47SpawnNpc(HackableLockedCrate crate) – It is called before an NPC appearance to guard a locked chinook crate. The returning of a non-zero value stops an NPC appearance object CanBradleySpawnNpc(BradleyAPC bradley) – It is called before an NPC appearance to guard the boxes from crushed Bradley. The returning of a non-zero value stops an NPC appearance object CanHelicopterSpawnNpc(BaseHelicopter helicopter) – It is called before an NPC appearance to guard the crates from crushed patrol helicopter. The returning of a non-zero value stops an NPC appearance API void DestroyController(string name) – It destroys the place of appearance NPC with the name {name} void CreateController(string name) – It creates the place of appearance NPC with the name {name} These APIs can be used with standard monuments, custom monuments (NPC locations) and roads. The name of this monument is in standard monuments {name}. It is the name of the file in the Custom and Road folder in custom monuments and roads My Discord: KpucTaJl#8923 Join the Mad Mappers Discord here! Check out more of my work here! Creator of the default configuration – jtedal
    $35.00
  11. TF Crazy

    CFuelUI

    Version 1.0.6

    2,452 downloads

    Show fuel amount when player pilot a vehicle MiniCopter Car Boat Snowmobile
    Free
  12. Adem

    Any Map Vendor

    Version 1.0.1

    3,716 downloads

    Allows the vendor to travel any maps, including those without ring roads. The map can be either custom or procedural. The vendor can drive on both country roads and paved roads. Chat commands (admin only) /vendorspawn - spawns a vendor /vendorroadblock - the vendor will not spawn on the road where you are standing (clear the Blocked roads section of config when you change maps) Console commands (RCON only) vendorspawn - spawns a vendor Plugin Config en – example of plugin configuration in English Check out the rest of my work: Adem's Codefling Library You can reach out to me in Discord: Adem's Discord Profile Join the Mad Mappers Discord!
    Free
  13. Version 1.2.5

    10,853 downloads

    Formerly NPCLoot. Populate npc corpses, containers, and barrels with custom loot. General info. Users can create as many loottables as required, and assign them to npc/container types by name. To create a new loot table, simply set the "lootTable" entry for some container type in config to a new made up name. This will create a new /data file of that name, which you can customise. The same loot table can be used for multiple corpse or container types. New categories and items are added automatically so, hopefully, data should never need to be wiped. Default loottable has all probabilities set to zero. By default this plugin spawns nothing and will require user customisation. It is your responsibility to ensure that your use of this plugin is in compliance with any relevant Terms of Service or other guidelines, regarding the spawning of DLC/Paid items/skins. Item choice is done by two-tier probability. For each spawned item a category is chosen first, based on your category probabilities, then an item is chosen from that category, based on your item probabilities for that category. See notes at bottom for further info on probabilities. Dec '23 1.2.2 update. Customloot now supports treating specific skinned items as if they are unique items. For example you could create skinned paper as ‘Money’, and it will be treated as unique, with totally separate settings and options from regular paper. The format for creating items is that you hold your skinned item and type /CustomLoot ExistingLootTable Category CustomName so, for example, if you want to skin paper with skin 012345 and use it as ‘Money’ in a loottable called ‘AirdropTable’, hold some paper with that money skin and type /CustomLoot AirdropTable Resources Money You can also specify "All” instead of a specific loottable /CustomLoot All Resources Money Optional dependencies - BotReSpawn Configuration. Global. corpseTypePerBotReSpawnProfile - true/false allowDuplicates - true/false Include_DM_Crates - true/false AllowSkinsFor - { "add", "items", "like", this" } NPC types. OilRig Excavator CompoundScientist BanditTown MountedScientist JunkPileScientist DungeonScarecrow ScareCrow MilitaryTunnelScientist CargoShip HeavyScientist TunnelDweller UnderwaterDweller Trainyard Airfield DesertScientist ArcticResearchBase LaunchSite Gingerbread ZombieHorde *if Global option 1 is true, this entry is replaced with one entry per existing BotReSpawn profile, by name. Eg, The Dome 0, Airfield 0, LaunchSite 0, etc. Container Types bradley_crate heli_crate supply_drop dm ammo dm c4 dm construction resources dm construction tools dm food dm medical dm res dm tier1 lootbox dm tier2 lootbox dm tier3 lootbox loot_barrel_1 loot_barrel_2 loot-barrel-1 loot-barrel-2 oil_barrel codelockedhackablecrate crate_basic crate_elite crate_mine crate_normal crate_normal_2 crate_normal_2_food crate_normal_2_medical crate_tools crate_underwater_advanced crate_underwater_basic foodbox minecart trash-pile-1 ...There may be more, as the plugin automatically adds new ones as they appear in-game. Options per type: "enabled": true/false (governs corpse loot-giving) "lootTable": "default" "minItems": 6 "maxItems": 6 "gunsWithAmmo": true/false "noGuns": true/false "MaxBps": 3 "WaterPreFillPercent": 20 "ClearContainerFirst": true/false Data: By default there is one data file : /data/CustomLoot/default.json If you specify a unique lootTable name for any corpse or container type, a new file will be created in the same folder, by name. Eg /CustomLoot/JunkPileLootTable.json Each data file contains: Blacklist : [] - These items will never spawn, and are removed from loottable. Setting to [] will repopulate with default blacklist. AlwaysSpawnList : [] - These items will always spawn, regardless of probabilities. allowChristmas = false allowHalloween = false allowKeycards = false By default all Christmas, Halloween and Keycard items are disabled. Items, grouped by category. *Each item has:* "probability": 5 "minStack": 10 "maxStack": 50 "blueprintChancePerfect": 0 - where applicable "skins": [] - where applicable "IncludeAllApprovedSkins" - false "MinConditionPercent": 90 - where applicable "MaxConditionPercent": 100 - where applicable Categories: Ammunition Attire Component Construction Electrical Food Fun Items Medical Misc Tool Traps Resources Weapon ...There may be more, as the plugin automatically adds new ones as they appear in-game. Options per category: "probability": 5 "allowBlueprints": true API. If the called config profile doesn't exist CustomLoot will create it under 'API'. Example call. [PluginReference] private Plugin CustomLoot; List<Item> lootcall = CustomLoot?.Call("MakeLoot", "Profile_Name"; if (lootcall is string) PrintWarning(string)lootcall); Object hooks are provided to prevent this plugin giving loot to your spawned npcs, or containers. Return non-null for the following. OnCustomLootNPC(uint) OnCustomLootContainer(uint) Notes. *Probability, in both cases above, is relative; There is no scale. If there were two categories with probabilities of 9 and 1, the first would have a 9 out of 10 chance of being picked. Probability of zero effectively means the item, or category is disabled. Categories with no enabled items will never be chosen. Their probability is irrelevant. Disabled categories will never be chosen. Their probability is irrelevant. Users should never have to manually add, or remove, items in the /data files. New items in Rust should be added automatically. The blacklist can be used to remove entries from the data file, if that's preferred. Reloading is not required to catch up with profile changes made in BotReSpawn.
    Free
  14. Version 1.2.1

    25 downloads

    Animal Levels adds a fresh twist to Rust’s wildlife by giving animals their own levels, stats, and behaviors. Instead of every encounter feeling the same, you’ll run into creatures with different health, gather yields, and even unique abilities. Some might be easy prey, others a real threat — making hunting and exploring a lot more unpredictable and rewarding. Features: Animals have different levels Animals can have different mutations Fully configurable loot and gather rates Supports all animals in the game Configurable speed & damage Fully customizable Commands: The following command can be used to spawn an animal with a specific mutation and level. The mutation index is the number position of the mutation entry in the config file, starting at 0. mutation <animal name> <mutation index> <level> The command requires the permission animallevels.spawn Loot Configurations: The gather rates of the corpse can be adjusted with the config fields BaseGatherFraction and GatherFractionPerLevel. BaseGatherFraction is the gather rate for a level 1 animal. For every level, the value of GatherFractionPerLevel is added to the final gather rate. It is also possible to configure additional loot drops for animals using the Loottable plugin or in the config file. All additional loot will drop after the corpse has been destroyed. Rarities: Each animal has a rarity. The rarity does not change the properties of an animal, it only changes the color of the displayed info card. You can choose from 4 different rarities: Common (grey) Rare (blue) Epic (pink) Legendary (gold) Classes: ExplosiveAnimal: Animals glow red and explode on death. The config options BaseGatherFraction and GatherFractionPerLevel have no effect here. BigAnimal: Makes the animal larger. Use the SizeFactor config option to change scaling. WolfLeader: Spawns a big wolf with torch on its head. ... more classes will be added in future updates Helpful information: The table below shows the vanilla stats for each animal. Animal Health Speed Damage ------------------------------------- wolf 150 9 20 bear 325 8 35 polarbear 420 8 45 stag 150 11 10 boar 150 7 12 chicken 25 2 3 tiger 240 8.25 60 panther 240 8 60 crocodile 450 8 30/40 player 100 7 n/a Default Configuration: { "Animal mutations": { "boar": [ { "Class": null, "DisplayName": "Boar", "Rarity": "Common", "MaxLevel": 15, "SpawnWeight": 100, "BaseHealth": 75.0, "HealthPerLevel": 15.0, "BaseGatherFraction": 0.5, "GatherFractionPerLevel": 0.1, "Damage": 12.0, "Speed": 7.0, "ExtraLootTable": null }, { "Class": "ExplosiveAnimal", "DisplayName": "Explosive Boar", "Rarity": "Rare", "MaxLevel": 10, "SpawnWeight": 30, "BaseHealth": 75.0, "HealthPerLevel": 15.0, "Damage": 15.0, "Speed": 6.0, "ExplosionDamage": 80.0, "ExtraLootTable": "explosive_boar" } ], "wolf": [ { "Class": null, "DisplayName": "Wolf", "Rarity": "Common", "MaxLevel": 15, "SpawnWeight": 100, "BaseHealth": 75.0, "HealthPerLevel": 15.0, "BaseGatherFraction": 0.5, "GatherFractionPerLevel": 0.1, "Damage": null, "Speed": null, "ExtraLootTable": null }, { "Class": "ExplosiveAnimal", "DisplayName": "Explosive Wolf", "Rarity": "Rare", "MaxLevel": 10, "SpawnWeight": 40, "BaseHealth": 200.0, "HealthPerLevel": 50.0, "Damage": null, "Speed": null, "ExplosionDamage": 50.0, "ExtraLootTable": "explosive_wolf" }, { "Class": "WolfLeader", "DisplayName": "Wolf Leader", "Rarity": "Epic", "MaxLevel": 10, "SpawnWeight": 15, "BaseHealth": 300.0, "HealthPerLevel": 20.0, "BaseGatherFraction": 1.5, "GatherFractionPerLevel": 0.1, "Damage": null, "Speed": null, "ExtraLootTable": "wolf_leader" } ], "bear": [ { "Class": null, "DisplayName": "Bear", "Rarity": "Common", "MaxLevel": 15, "SpawnWeight": 100, "BaseHealth": 175.0, "HealthPerLevel": 25.0, "BaseGatherFraction": 0.5, "GatherFractionPerLevel": 0.1, "Damage": null, "Speed": null, "ExtraLootTable": null }, { "Class": "BigAnimal", "DisplayName": "Big Bear", "Rarity": "Epic", "MaxLevel": 5, "SpawnWeight": 10, "BaseHealth": 375.0, "HealthPerLevel": 25.0, "BaseGatherFraction": 1.25, "GatherFractionPerLevel": 0.25, "Damage": null, "Speed": 5.0, "ExtraLootTable": "big_bear", "SizeFactor": 1.3 } ], "polarbear": [ { "Class": null, "DisplayName": "Polar Bear", "Rarity": "Common", "MaxLevel": 10, "SpawnWeight": 100, "BaseHealth": 300.0, "HealthPerLevel": 25.0, "BaseGatherFraction": 0.5, "GatherFractionPerLevel": 0.1, "Damage": null, "Speed": null, "ExtraLootTable": null }, { "Class": "BigAnimal", "DisplayName": "Big Polar Bear", "Rarity": "Epic", "MaxLevel": 5, "SpawnWeight": 10, "BaseHealth": 400.0, "HealthPerLevel": 20.0, "BaseGatherFraction": 1.25, "GatherFractionPerLevel": 0.25, "Damage": null, "Speed": 5.0, "ExtraLootTable": "big_bear", "SizeFactor": 1.3 } ], "stag": [ { "Class": null, "DisplayName": "Deer", "Rarity": "Common", "MaxLevel": 10, "SpawnWeight": 100, "BaseHealth": 75.0, "HealthPerLevel": 15.0, "BaseGatherFraction": 0.5, "GatherFractionPerLevel": 0.1, "Damage": null, "Speed": null, "ExtraLootTable": null }, { "Class": "ExplosiveAnimal", "DisplayName": "Explosive Deer", "Rarity": "Rare", "MaxLevel": 10, "SpawnWeight": 30, "BaseHealth": 100.0, "HealthPerLevel": 20.0, "Damage": null, "Speed": null, "ExplosionDamage": 80.0, "ExtraLootTable": "explosive_deer" } ], "chicken": [ { "Class": null, "DisplayName": "Chicken", "Rarity": "Common", "MaxLevel": 10, "SpawnWeight": 100, "BaseHealth": 30.0, "HealthPerLevel": 10.0, "BaseGatherFraction": 0.8, "GatherFractionPerLevel": 0.1, "Damage": null, "Speed": null, "ExtraLootTable": null }, { "Class": "ExplosiveAnimal", "DisplayName": "Explosive Chicken", "Rarity": "Rare", "MaxLevel": 5, "SpawnWeight": 30, "BaseHealth": 20.0, "HealthPerLevel": 20.0, "Damage": null, "Speed": null, "ExplosionDamage": 50.0, "ExtraLootTable": "explosive_chicken" }, { "Class": "BigAnimal", "DisplayName": "Fat Chicken", "Rarity": "Epic", "MaxLevel": 5, "SpawnWeight": 10, "BaseHealth": 100.0, "HealthPerLevel": 25.0, "BaseGatherFraction": 1.25, "GatherFractionPerLevel": 0.25, "Damage": null, "Speed": null, "ExtraLootTable": "fat_chicken", "SizeFactor": 1.5 } ] }, "Animal info UI settings": { "Default view settings": { "ViewDistance": 20.0, "LookAtRadius": 1.3 }, "View settings while aiming": { "ViewDistance": 50.0, "LookAtRadius": 1.0 }, "View settings while using binoculars": { "ViewDistance": 200.0, "LookAtRadius": 0.7 } }, "Extra loot tables": { "explosive_boar": { "Enabled": true, "Item list": [ { "Short name": "meat.pork.burned", "Min amount": 1, "Max amount": 5, "Chance (1 = 100%)": 1.0, "Skin id": 0, "Custom name": "" }, { "Short name": "charcoal", "Min amount": 10, "Max amount": 300, "Chance (1 = 100%)": 0.8, "Skin id": 0, "Custom name": "" }, { "Short name": "sulfur", "Min amount": 10, "Max amount": 200, "Chance (1 = 100%)": 0.5, "Skin id": 0, "Custom name": "" }, { "Short name": "gunpowder", "Min amount": 10, "Max amount": 50, "Chance (1 = 100%)": 0.2, "Skin id": 0, "Custom name": "" }, { "Short name": "explosives", "Min amount": 1, "Max amount": 2, "Chance (1 = 100%)": 0.05, "Skin id": 0, "Custom name": "" } ] }, "explosive_wolf": { "Enabled": true, "Item list": [ { "Short name": "wolfmeat.burned", "Min amount": 1, "Max amount": 3, "Chance (1 = 100%)": 1.0, "Skin id": 0, "Custom name": "" }, { "Short name": "charcoal", "Min amount": 10, "Max amount": 300, "Chance (1 = 100%)": 0.8, "Skin id": 0, "Custom name": "" }, { "Short name": "sulfur", "Min amount": 10, "Max amount": 200, "Chance (1 = 100%)": 0.5, "Skin id": 0, "Custom name": "" }, { "Short name": "gunpowder", "Min amount": 10, "Max amount": 50, "Chance (1 = 100%)": 0.2, "Skin id": 0, "Custom name": "" }, { "Short name": "explosives", "Min amount": 1, "Max amount": 2, "Chance (1 = 100%)": 0.05, "Skin id": 0, "Custom name": "" } ] }, "explosive_deer": { "Enabled": true, "Item list": [ { "Short name": "deermeat.burned", "Min amount": 1, "Max amount": 3, "Chance (1 = 100%)": 1.0, "Skin id": 0, "Custom name": "" }, { "Short name": "charcoal", "Min amount": 10, "Max amount": 300, "Chance (1 = 100%)": 0.8, "Skin id": 0, "Custom name": "" }, { "Short name": "sulfur", "Min amount": 10, "Max amount": 200, "Chance (1 = 100%)": 0.5, "Skin id": 0, "Custom name": "" }, { "Short name": "gunpowder", "Min amount": 10, "Max amount": 50, "Chance (1 = 100%)": 0.2, "Skin id": 0, "Custom name": "" }, { "Short name": "explosives", "Min amount": 1, "Max amount": 2, "Chance (1 = 100%)": 0.05, "Skin id": 0, "Custom name": "" } ] }, "explosive_chicken": { "Enabled": true, "Item list": [ { "Short name": "chicken.burned", "Min amount": 1, "Max amount": 2, "Chance (1 = 100%)": 1.0, "Skin id": 0, "Custom name": "" }, { "Short name": "charcoal", "Min amount": 10, "Max amount": 100, "Chance (1 = 100%)": 0.8, "Skin id": 0, "Custom name": "" }, { "Short name": "sulfur", "Min amount": 10, "Max amount": 50, "Chance (1 = 100%)": 0.5, "Skin id": 0, "Custom name": "" }, { "Short name": "gunpowder", "Min amount": 10, "Max amount": 30, "Chance (1 = 100%)": 0.2, "Skin id": 0, "Custom name": "" }, { "Short name": "explosives", "Min amount": 1, "Max amount": 1, "Chance (1 = 100%)": 0.02, "Skin id": 0, "Custom name": "" } ] }, "wolf_leader": { "Enabled": true, "Item list": [ { "Short name": "scrap", "Min amount": 50, "Max amount": 10, "Chance (1 = 100%)": 1.0, "Skin id": 0, "Custom name": "" }, { "Short name": "pie.hunters", "Min amount": 1, "Max amount": 2, "Chance (1 = 100%)": 0.5, "Skin id": 0, "Custom name": "" } ] }, "big_bear": { "Enabled": true, "Item list": [ { "Short name": "scrap", "Min amount": 20, "Max amount": 50, "Chance (1 = 100%)": 0.8, "Skin id": 0, "Custom name": "" }, { "Short name": "bearmeat.spoiled", "Min amount": 1, "Max amount": 10, "Chance (1 = 100%)": 0.8, "Skin id": 0, "Custom name": "" }, { "Short name": "pie.bear", "Min amount": 1, "Max amount": 2, "Chance (1 = 100%)": 0.5, "Skin id": 0, "Custom name": "" }, { "Short name": "keycard_green", "Min amount": 1, "Max amount": 1, "Chance (1 = 100%)": 0.4, "Skin id": 0, "Custom name": "" }, { "Short name": "keycard_blue", "Min amount": 1, "Max amount": 1, "Chance (1 = 100%)": 0.2, "Skin id": 0, "Custom name": "" } ] }, "fat_chicken": { "Enabled": true, "Item list": [ { "Short name": "egg", "Min amount": 1, "Max amount": 4, "Chance (1 = 100%)": 0.9, "Skin id": 0, "Custom name": "" }, { "Short name": "pie.chicken", "Min amount": 1, "Max amount": 2, "Chance (1 = 100%)": 0.8, "Skin id": 0, "Custom name": "" }, { "Short name": "chicken.spoiled", "Min amount": 1, "Max amount": 4, "Chance (1 = 100%)": 0.5, "Skin id": 0, "Custom name": "" }, { "Short name": "chicken.costume", "Min amount": 1, "Max amount": 1, "Chance (1 = 100%)": 0.01, "Skin id": 0, "Custom name": "" } ] } } }
    $21.00
  15. Version 1.0.6

    250 downloads

    Custom Item Manager is an in-game admin UI for creating true custom Rust items by registering brand-new ItemDefinitions, leveraging the CustomItemDefinitions* framework. Unlike traditional “skinned item” approaches, this plugin adds items directly into the game’s item manifest, allowing them to be spawned, stored, traded, and in many cases interacted with exactly like vanilla items. Because these items exist as real ItemDefinitions, they can have their own unique itemID, shortname, display names, meaningful descriptions, icons, categories, flags, and blueprint rules**. This solves one of the biggest limitations of skin-based custom items: skinned items can only reuse the original item’s shortname, description and behavior, while CustomItemManager allows you to define entirely new identity and metadata for each item. All item creation and editing is done through an in-game UI. Items can be created, edited, unregistered, and re-registered instantly without editing code or restarting the server. Created items are stored persistently and automatically re-registered on server start. A searchable list andone-click give buttons makes testing fast and convenient. In short, CustomItemManager provides a clean workflow for adding more vanilla-like custom items to Rust servers, not just reskinned vanilla items. Why use this instead of skinned existing items? Skinned vanilla items: Share the original item’s behavior Cannot change the description meaningfully Are limited to cosmetic differences Custom Item Manager items: Exist as unique ItemDefinitions Have their own display name and custom description, in place of the ownership label, as well as additional customizable labels. Can have different rules, eg can/can't be dropped, configurable category (e.g. for sorting). Integrate cleanly with most Rust plugins that give or require specific item shortnames. RECYCLABLE - setting the Craftable value to True, and setting Blueprint Ingredients, will allow the item to be recycled. CRAFTABLE- by giving players a blueprint for the custom item, it can be crafted using the industrial workbench If you want items to feel like true, purpose-built content instead of cosmetic overrides, this plugin is the better approach, and will save you a lot of time chasing down skinIDs when configuring other plugins. Data and Persistence All created items are stored in the plugin data file Items are automatically re-registered on server start and plugin reload It is safe to reload the plugin without losing definitions On unload, all existing items will appear as a fallback item, and be restored to their original condition upon plugin load. Permissions customitemmanager.admin - required to use the utility Commands /cim - opens the CIM UI Recommendations Ensure you have the latest version of Custom Item Definitions framework For non-usable items (eg custom craft components, quest items), use RHIB as the parent item. It has a blank description to avoid confusion. When using the items in other plugins, you do not need to specify the SkinID again, only the shortname (skinID should be 0) If the items are already in player containers, prefer editing and re-registering over deleting. Text of the first, Green label on the item is configured in the lang file for Custom Item Definitions. All Display Names and Descriptions will be available in the lang file for Custom Item Manager, allowing you to easily translate the items. Custom Labels Example: The green label text is configured in the Custom Item Definitions lang file. The text when hovering over it, is the item description configured via my plugin. The blue and orange labels, can also be created via my plugin, with or without additional text when hovering over it. SPECIAL ITEM=|QUEST ITEM= After = you would enter the text you wish to display when hovering over the additional label. It's up to you to experiment and adapt it for your own needs. * This plugin is a UI utility to easily create and manage custom items, based on the required dependency - Custom Item Definitions framework developed by 0xF ** The plugin allows specifying whether the item can have a blueprint as well as the required components to craft, which allows the custom item to be recycled. The blueprint itself can be given to players and learned, however it will not appear in the vanilla crafting menu. It can however be crafted with an industrial crafter,
    $9.99
  16. Whispers88

    Skinner

    Version 3.1.4

    10,993 downloads

    Skinner! The unrivaled no.1 performance skinning plugin. Skin any item in the game with a unique skinbox giving you live skinning, auto skinning and skin sets. Thanks for everyone who has given feed back through the duration of the beta release. Skinner 3.0 is finally here! Visual overhaul! - with dynamic UI menus for permission based player menus Automatic skin filtering and dev modes for new TOS Permission based skin sets Team share skins! Auto unlock owned skins! and More!!! Live Skinning - Skin items in place without moving them Auto import - Automatically import and use all game approved skins Skin Sets - Create a variety of different skin sets for any item Skin Requests - Allows players to request and Admins to accept new skins in game Auto Skins - Automatically apply selected skins to every item that enters your inventory Skinner 2.0 offers unrivaled performance in plugin efficiency. Our standard testing shows runtime results were 60x faster and memory usage was 200x more efficient than the closest peforming plugin. SkinMenu Commands: /Skin or /S - Live skin any item in your inventory by selecting a skin you wish to apply /SkinCraft or /Sc - Create multiple skin sets for use in other functions such as skinauto or skinteam /Skinitem or /Si - Skin a deployable item you are looking at ingame. Args - Spectify 1, 2 or 3 to automatically use a skin set. Automatic Commands: /Skincon or /scon - sets all items in a container you are looking at to your default craft set Args - Optional, spectify 1, 2 or 3 to automatically use a skin set. /Skininv or /sinv - sets all items in your inventory to your default craft set Args - Optional, spectify 1, 2 or 3 to automatically use a skin set. /Skinauto or /Sauto - Automatically apply selected skins to every item that enters your inventory based off your skin sets. Args - Optional, spectify 1, 2 or 3 to automatically use a skin set. /Skinteam or /st - sets all items in your inventory and your teams to your default craft set Args - Optional, spectify 1, 2 or 3 to automatically use a skin set. Toggle - Use /skinteam toggle to opt in or out of the team skin set /SkinBase - Allows you to skin all deployables in your base to your default skincraft skins. Args - Optional, specify item name to filter items being skinned example: /Skinbase sleepingbag to only skin sleeping bags. /SkinAll Command - Skin all the items in all the containers in your base. Args - Optional, specify item by shortname example: /SkinAll rifle.ak to only skin ak47's. Skin Import Commands: /Skinimport or /sip - Import custom workshop skins Args - WorkshopID example: /Skinimport 2397648701 /Colimport or /cip - Import custom workshop collection using /skinimport collectionID Args - Collection ID example: /Colimport 2921147807 /Skinrequest or /Sr - Request a skin to be added to skinner, requested skins will show in the /Skinrequests UI for approval Args - WorkshopID example: /Skinrequest 2397648701 /Skinrequests or /Srs - Opens the the skinner menu with a box of skins awating approval Button Usage - Select an option and remove the skin to enact the process Try - Recieve a copy of an item with that skin Approve - Adds the skin from the menu to the imported skins list Deny - Removes the skin Note: All chat commands are universal meaning they can be used via the console, rcon(for import commands) and can be customized via the configuration. Player Permissions: Skinner.default - enables /skin command Skinner.items - enables /skinitem command Skinner.craft - enables /skincraft command Skinner.skinauto - enables /skinauto command Skinner.skincon - enables /skincon command Skinner.skininv - enables /skininv command Skinner.skinbase - for use of the /skinbase command Skinner.skinteam - Allows the use of the /skinteam command Skinner.skinall - for the use of the /skinall command Skinner.skinrequest - enables /skinrequest Cooldowns Permissions: Cooldown settins can be adjusted via the plugin config. Applying the cooldown permission example skinner.default30 will enforce cooldowns on those with the permission. If no cooldown permission is applied no cooldowns will be enforced. If multiple cooldown perms are assigned to a single player they fastest cooldown will be used. "Command based cooldowns ('permission' : 'command' seconds": { "Default30CD": { "skin": 30.0, "skinitem": 30.0, "skincraft": 30.0, "skincon": 30.0, "skininv": 30.0, "skinteam": 30.0, "skinbase": 60.0, "skinall": 60.0 } Admin Permissions: Skinner.import – enables /Skinimport, /Colimport and /Skinrequests Skinner.bypassauth - bypasses the building auth requirement when using /Skinitem Skinner.permskintry - enables try feature when using /Skinrequests Warning: trying a skin will make a copy of that item. Only give this perm to admins who are allowed to spawn items. Other Permissions: Skinner.skinautotoggled - applied when a player disables skinauto Skinner.skinteamblock - applied when a player disables team skins Skinner offers multiple ways of importing skins including via the config and through commands: Importing via the config: To import skins via the config insert workshopIDs into the imported skins list as per the code snippet below, once finished reload skinner and the shortname and displayname fields will be automatically populated. You can add extra skins at any stage using this method. "Imported Skins List": { "861142659": {}, "2617744110": {} }, Optionally entire workshop skin collections can be added to conifg, each item skin is automatically imported to your imported skins list on plugin load. "Import Skin collections (steam workshop ID)": [496517795,2921147807], Importing via commands: Commands can be used to edit the config options for imported skins and collections via RCON, chat commands and the f1 console. Commands include: /Skinimport WorkshopID /Colimport CollectionID Importing via Skin Requests: Players can requests skins to be added to the game using the skinrequests feature. By using the command /skinrequest WorkshoID a skin gets automatically uploaded to the skin requests box. Admins with the skinner.import permission can open the requests box with the /skinrequests command. Skins from the request box can then be "tried" approved or denied. Each skin requested can be logged to discord using the webhook in the config. Importing from other plugins: Skinner now has a tool for windows to import data from skinbox, xskins and skincontroller. Simply select your json data file with imported skins into the tool and copy the new imported skins list into the skinner config. https://github.com/Whispers88/SkinDataConverter/releases/tag/Main Note: The "Imported Skins (skinid : 'shortnamestring', skinid2 : 'shortnamestring2'": {}" is now redundant and automatically converted to imported skins list. { "Skin Commands (skin items in you inventory": [ "skin", "s", "skinbox", "sb" ], "Skin Items Commands (skin items you have already placed": [ "skinitem", "si", "skindeployed", "sd" ], "Set default items to be skinned": [ "skincraft", "sc" ], "Automatically set all items in you inventory to your default skins": [ "skininv", "sinv" ], "Automatically set all items a container to your default skins": [ "skincon", "scon" ], "Automatically skin all deployables in your base": [ "skinbase", "skinbuilding" ], "Automatically skin all items in your base": [ "skinall", "sa" ], "Automatically skin all items that are moved into you inventory": [ "skinauto", "sauto" ], "Skin your teams inventories with your skin set": [ "skinteam", "st" ], "Request workshop skins via workshop ID": [ "skinrequest", "sr" ], "Approve workshop skin requests": [ "skinrequests", "srs" ], "Set your selected skin set": [ "skinset", "ss" ], "Import Custom Skins": [ "skinimport", "sip" ], "Import Workshop Collection Command": [ "colimport", "cip" ], "Skin Request Notification Discord Webhook": "", "Custom Page Change UI Positon anchor/offset 'min x, min y', 'max x', max y'": [ "0.5 0.0", "0.5 0.0", "198 60", "400 97" ], "Custom Searchbar UI Positon anchor/offset 'min x, min y', 'max x', max y'": [ "0.5 0.0", "0.5 0.0", "410 635", "572 660" ], "Custom Set Selection UI Positon anchor/offset 'min x, min y', 'max x', max y'": [ "0.5 0.0", "0.5 0.0", "250 610", "573 633" ], "Auto import approved skins": true, "Remove player data after inactivity (days)": 14, "Apply names of skins to skinned items": true, "Add Search Bar UI": true, "Use on itemcraft hook (skin items after crafting - not required when using skinauto)": false, "Override spraycan behaviour": false, "Use spraycan effect when holding spraycan and skinning deployables": true, "Blacklisted Skins (skinID)": [], "Blacklisted Itemms (itemID)": [], "Import Skin collections (steam workshop ID)": [], "Command based cooldowns ('permission' : 'command' seconds": { "Default30CD": { "skin": 30.0, "skinitem": 30.0, "skincraft": 30.0, "skincon": 30.0, "skininv": 30.0, "skinteam": 30.0, "skinbase": 60.0, "skinall": 60.0 } }, "Imported Skins List": {} } //Get all Cached skins public Dictionary<int, List<ulong>> GetAllCachedSkins() { return _cachedSkins; } //Check if skin is a Redirect item public bool IsRedirectID(ulong uID) { return HasMask(uID); } //Convert Redirect ID to item ID public int RedirectIDtoItemID(ulong uID) { return (int)UnsetMask(uID); } //Get a list of skins for a particular item public List<ulong>? GetSkinsItemList(int itemid) { _cachedSkins.TryGetValue(itemid, out List<ulong>? cachedSkins); return cachedSkins; }
    $24.99
  17. TREX

    ItemX

    Version 1.0.6

    39 downloads

    ITEMX ItemX is a premium, comprehensive RPG-style progression plugin for Rust that transforms standard equipment into a deep, meaningful progression journey. Featuring 1 to 100 upgrade levels, dynamic enchantments, a player-driven marketplace with integrated social features, and a powerful in-game Admin Dashboard, it is the ultimate solution for servers looking to add depth, economy, and player retention. In-Game Admin Dashboard Manage your entire progression system through a sleek, interactive UI. - **Item Configuration**: Add/Remove items, set custom display names, skin IDs for tiers 9/10, and tier-specific stats. - **Real-time Settings**: Toggle every module (Upgrade, Enchant, Market, etc.) and adjust global variables instantly. - **Material Management**: Configure custom crafting recipes for tokens with full skin support. - **Command Control**: Fully customize every chat command to fit your server's theme. Modular Permission System - **Tab-Based Access**: Every module (Upgrade, Enchant, Market, Trade-Up, Deposit, Craft) has its own independent permission. - **Granular Control**: Set specific permissions per tab or leave blank for "Admins Only" default access. - Core Features - Item Upgrade System - **1 to 100 Upgrade Levels**: Progressive stat bonuses that feel powerful and rewarding. - **Customizable Logic**: Configure success rates, destruction risks (Levels 8-10), and destruction thresholds. - **Tier 9 & 10 Specialization**: - Level 9: Items become **Indestructible**. - Level 10: Massive damage/protection bonuses (+50% base multipliers). - **Dynamic Skin System**: Automated skin application for high-tier upgrades to show off power. - **Resource Support**: Use Scrap, Economics, or ServerRewards for upgrade costs. Advanced Enchantment System - **4 Custom Slots**: Unlock the 4th slot using a special Slot Token. - **Rarity Tiers**: Common, Uncommon, Rare, Epic, Legendary. - **Available Stats**: - **Combat**: Dmg/Prot bonuses. - **Gathering**: Wood, Stone, Scrap, Metal Ore yield multipliers. - **Utility**: Health regeneration and movement speed. - **Reroll & Upgrade**: Re-roll specific enchantments or upgrade their values with a risk/reward system. Global Marketplace & Social System - **Player Driven Economy**: List upgraded items for scrap or custom currency. - **Advanced UI**: Search, filter by level/rarity/type, and manage items with a smooth pagination system. - **Integrated Social Suite**: - **Player Profiles**: Reputation ratings (1-5 stars) and detailed statistics. - **Direct Messaging**: Negotiate prices through a dedicated, persistent chat system. - **Transaction Logs**: Full history of sales, purchases, and earnings. Trade-Up & Quality Score - **Quality Mathematic Logic**: Combined Level and Durability calculate an item's "Quality Score." - **Sacrifice Mechanic**: Combine 5 items to attempt a higher-rarity reward. - **Outcome Probability**: Dynamically calculated chances for Major Upgrades, Same Tier, or Downgrades. Secure Storage & Deposit - **Upgraded-Only Slots**: Safely store your most valuable gear with data preservation. - **Unlockable Capacity**: Start with free slots and unlock more via custom currency. - **Withdrawal Cooldowns**: Configurable timers to prevent combat exploit. Advanced Crafting System - **Custom Token Creation**: Craft Perfect Tokens (100% success), Bonus Tokens, and Slot Tokens. - **Customizable Ingredients**: Set unique material requirements for every token via the Admin UI. Full Localization Support Supports **10 languages** with live synchronization: - English, Romanian, German, Spanish, French, Italian, Japanese, Portuguese, Russian, and Chinese. Commands - `/upadmin` - **[Admin]** Open the Configuration Dashboard. - `/upgrade` - Open the Item Upgrade interface. - `/enchant` - Open the Enchantment table. - `/marketplace` - Access the Global Marketplace. - `/tradeup` - Combine items for better gear. - `/deposit` - Access secure upgraded storage. - `/iteminfo` - View detailed stats and enchantments of equipped items. - `/social` - Access profiles and direct messages. API for Developers - `bool IsItemUpgradeable(ulong itemUID)` - Check if item is valid. - `int GetItemUpgradeLevel(ulong itemUID)` - Get current level. - `Hash<string, object> GetItemUpgradeData(ulong itemUID)` - Get full statistics. - `void SetItemUpgradeLevel(ulong itemUID, int level)` - Direct level modification.
    $34.99
  18. Adem

    Armored Train

    Version 1.9.9

    18,366 downloads

    New Year Update The New Year is coming and I have prepared for you a new preset customization for the train!After installing the update, customization will be automatically applied to all cars in the configuration of the armored train. To disable this, make the "Customization preset" parameter empty in the config. You can also disable the customization of certain wagons or change the customization of the NPCs in the file oxide/data/ArmoredTrain/NewYear New Year's map from the video: Halloween Update Have you already prepared your server for Halloween? On the eve of the Halloween Rust update, I have prepared for customization of all armored train cars. After installing the update, customization will be automatically applied to all cars in the configuration of the armored train. To disable this, make the "Customization preset" parameter empty in the config. This plugin will add an armored train to your server, which can travel both in the subway and by rail. It can consist of any number of wagons. A helicopter can accompany it. Bradley, npc, turrets, simsites can be installed on the train. The plugin allows you to create any number of train presets, for which the order of wagons, the helicopter preset, the probability of spawn and the duration of patrolling can be specified. Each wagon or locomotive can be configured separately. Any speed can be set by the locomotive.If there is no spawn of trains on the surface on your custom map, read the section "Custom spawn points” Custom spawn points If you are using a custom map in which there are no spawn trains on the surface, but there is a railway, then for the train to work on the surface, you need to add custom spawn points of the train. Instruction: Stand at the point where you want the train to spawn Enter the command /atrainpoint If you receive a message that a point has been created, enable "Use custom spawn coordinates [true/false]” in config For correct operation, it is recommended to create several spawn points of the train Chat commands (only for administrators) /atrainstart– launches the event in a random configuration /atrainstartunderground - forcibly launches an event underground /atrainstartaboveground - forcibly launches an event aboveground /atrainstart <trainPresetName> – launches the event in the <trainPresetName> configuration /atrainstartunderground <trainPresetName> /atrainstartaboveground <trainPresetName> /atrainstop– stops the event /atrainpoint– creates a custom spawn point of the train in your position Console commands (RCON only) atrainstart– launches the event in a random configuration atrainstartunderground - forcibly launches an event underground atrainstartaboveground - forcibly launches an event aboveground atrainstart <trainPresetName> – launches the event in the <trainPresetName> configuration atrainstartunderground <trainPresetName> atrainstartaboveground <trainPresetName> atrainstop – stops the event Config en – example of plugin configuration in English ru – example of plugin configuration in Russian Dependencies (optional, not required) True PVE PveMode GUI Announcements Notify DiscordMessages AlphaLoot CustomLoot Economics Server Rewards IQEconomic Api bool IsArmoredTrainActive() bool StopArmoredTrain() bool StartArmoredTrainEvent() bool EndArmoredTrainEvent() bool IsTrainBradley(uint netID) bool IsTrainHeli(uint netID) bool IsTrainCrate(uint netID) bool IsTrainSamSite(uint netID) bool IsTrainWagon(uint netID) bool IsTrainTurret(uint netID) Vector3 ArmoredTrainLocomotivePosition() Hooks OnArmoredTrainEventStart OnArmoredTrainEventStop Contact me in Discord: Adem#955
    $29.99
  19. jtedal

    Train Homes

    Version 1.1.8

    1,348 downloads

    Live in one place? It's not interesting. Live in a camping car module? Too small. Have a full-fledged mobile home? That's what you need! Video How does it work? You cannot build a base on a wagon while the wagon is on the rails. In order to place something on the wagon, you need to move it to your base, which has at least 7x3 foundations. Everything is shown in more detail in this video.: With this plugin, your players will be able to build their own small base on the wagon and wander around the server with it. Or you can even assemble a whole train of such wagons. Chat Command (For admins) /showfreewagons - Writes the number of available wagons to the console, and also shows their location on the server. (Permission is required for use) /givewagon <amount> <SteamID or Name> - gives the specified player an item for the spawn of the wagon in the amount that you specify (Permission is required for use) Chat Command (For Player) /thinstruction - instructions on some features of the plugin /removewagon - take a hammer in your hands, write a command and hit the wagon Console Command (RCON only) clearallwagons - clears the server of all custom wagons. Be careful! The action is irreversible and players will lose all their items and resources. It should be used only before you want to turn off the plugin from the server, because after unloading, custom wagons can be created on the server. givewagon <amount> <SteamID or Name> - gives the specified player an item for the spawn of the wagon in the amount that you specify Plugin Config https://pastebin.com/jbsateCv Permissions trainhomes.givewagon - gives permission to use the chat command /givewagon trainhomes.showfreewagons - gives permission to view the location of free wagons Hooks private bool OnWagonSpawn(BasePlayer player) API private bool IsEntityFromBaseWagon(ulong netIdValue) Returns true if the netId of the object belongs to the wagon private bool IsBaseWagon(ulong netIdValue) Returns true if the netId belongs to a wagon on the base private bool IsTrainHomes(ulong netIdValue) Returns true if the netId belongs to a wagon on the track private bool IsFreeWagon(ulong netIdValue) Returns true if the netId belongs to a free wagon on the track Check out more of my work here JTedal's library. Come see our whole teams work Mad Mapper Library.
    $28.99
  20. Mevent

    Skills

    Version 2.1.23

    3,146 downloads

    Introducing Skills, the ultimate skill progression system for Rust servers featuring 71+ pre-configured skills across 13 categories! Complete with 4 UI templates, modal windows system, automatic migration from SkillTree/Skills V1, and comprehensive API. Transform your server into a world of specialization where players can master every aspect of Rust - from elite resource gathering and crafting to combat dominance and survival expertise. With intuitive progression, stunning visuals, and seamless integration, Skills delivers endless replayability and keeps players engaged for months! Why Choose Skills? Massive Skill Library - 71+ pre-configured skills covering every gameplay aspect Ready to Deploy - All skills are balanced and ready to use immediately Deep Progression - 10 levels per skill with meaningful advancement Visual Editor - Easy customization without coding knowledge Server Integration - Native support for ServerPanel V1/V2/V4, Notify/UINotify, and all major economy plugins Performance Focused - Optimized for high-population servers Seamless Migration - Automatic data conversion from SkillTree and Skills V1 Modal Windows - Advanced modal system for custom interfaces Multi-Template Support - Fullscreen, V1, V2, V4 ServerPanel templates Real-time Notifications - Integrated Notify/UINotify support Video Overview Showcase Templates Fullscreen Template ServerPanel V1 Template ServerPanel V2 Template ServerPanel V4 Template Modal Windows & Editor Modal Windows System Complete Skill Arsenal (71+ Skills) Skills comes with a massive library of pre-configured skills covering every aspect of Rust gameplay. All skills are ready to use with balanced 10-level progression systems! Mining Skills All Ores Mining - Boosts yields from stone, sulfur, metal, and HQM ore by up to 50% Stone Mining - Specialized stone gathering with up to 50% bonus Sulfur Mining - Enhanced sulfur ore collection up to 50% Metal Mining - Increased metal ore yields up to 50% HQM Mining - High-quality metal ore bonuses up to 50% Instant Ore Destruction - Chance to instantly destroy ore nodes (up to 20%) Durability Skills Tool Durability - Reduces wear on gathering tools Weapon Durability - Preserves weapon condition in combat Clothing Durability - Maintains armor integrity Wood Skills Wood Gathering - Increased wood collection from trees Instant Tree Chopping - Chance to fell trees instantly Coal Chance - Bonus coal drops from woodcutting Resources Skills Smelted Ore Chance - Bonus metal from ore smelting Animal Butchering - More meat from animal carcasses Instant Butchering - Chance to butcher animals instantly Plant Gathering - Better yields from bushes and hemp Crop Harvest - Increased vegetable production Fishing - Improved fishing success and rare catches Instant Barrel Destruction - Instant barrel breaking chance Crafting Skills Craft Duplicate - Chance for double crafted items Craft Speed - Faster crafting times Recycler Speed - Quicker recycling Furnace Smelting Speed - Faster ore smelting Component Find Chance - Bonus components from scrapping Cooking Speed - Faster food preparation Defense Skills Fire Resistance - Reduced fire damage Fall Damage Resistance - Less fall damage Temperature Resistance - Better cold/heat protection Radiation Resistance - Reduced radiation damage Explosive Resistance - Protection from explosions Stand Up Chance - Higher chance to stand when wounded Melee Damage Resistance - Less melee damage taken Damage From Scientists Resistance - Reduced scientist damage Damage From Players Resistance - PvP damage reduction Animal & Shark Defense Animal Damage Resistance - Protection from animal attacks Shark Damage Resistance - Reduced shark damage Metabolism Skills Hunger Metabolism - Slower hunger depletion Thirst Metabolism - Reduced thirst buildup Health Regeneration - Faster natural healing Horse Skills Horse Speed - Faster horse movement Horse Damage Resistance - Horse takes less damage Horse Fall Resistance - Better horse fall survival Underwater Skills Underwater Breathing - Extended underwater time Crate Skills Crate Unlocking Speed - Faster locked crate opening Crate Extra Loot - Bonus items from containers Building Skills Building Upgrade Cost - Reduced building upgrade costs Vehicle Skills Fuel Consumption - Reduced vehicle fuel usage Vehicle Repair Cost - Cheaper vehicle repairs Air Vehicle Takeoff Speed - Faster helicopter takeoff Damage Skills Damage To Scientists - Increased damage to scientists Damage To Animals - More damage to animals Damage To Players - Bonus PvP damage output Trap Damage - Increased trap and turret damage Combat Skills Magazine Size - Larger weapon magazines Effect Duration - Longer buff/debuff effects Revive Healing - More health from revives Special Skills Teleportation VIP - VIP teleport permissions Wipe Protection - Data protection across wipes Migration & Conversion Skills supports seamless data migration from popular skill plugins: SkillTree Plugin - Automatic conversion of player XP and skill levels Skills V1 - Full data transfer including custom skills and configurations Advanced Features Modal Windows System - Create custom modal interfaces for additional functionality Multi-Template UI - Support for Fullscreen, ServerPanel V1/V2/V4 templates Real-time Notifications - Integrated Notify/UINotify system for skill progression alerts Advanced API - Comprehensive developer API for third-party integrations ImageLibrary Integration - Offline image mode with automatic fallback Custom Economy Hooks - Flexible economy integration with plugin hooks XP Transfer System - Transfer XP between players on death (configurable) Cooldown System - Configurable action cooldowns to prevent spam Commands /skills or /skill - Opens the skills interface skills.modal <modalID> - Open specific modal window Admin Console Commands: skills.manage addxp <player> <amount> - Add XP to player skills.manage takexp <player> <amount> - Take XP from player skills.manage setxp <player> <amount> - Set player's XP balance skills.manage setskill <player> <skillId> <level> - Set skill level skills.manage giveskill <player> <skillId> <levels> - Increase skill level skills.manage resetskill <player> <skillId> - Reset specific skill skills.manage resetall <player> - Reset all skills skills.manage info <player> - Show player skill information Permissions skills.use - Access to skills interface (set in config as "Permission") skills.edit - Access to visual skill editor skills.xprate.vip - 1.5x XP rate bonus skills.xprate.premium - 2x XP rate bonus skills.xptransfer.vip - 75% XP transfer on death skills.xptransfer.premium - 100% XP transfer on death skills.gathering.level6-10 - Access to advanced gathering levels Developer API Skills provides a comprehensive API for developers: Methods: API_GetPlayerSkillLevel(ulong playerId, int skillId) - Get player's skill level API_AddPlayerXP(ulong playerId, float amount) - Grant XP to player API_GetSkillInfo(int skillId) - Get skill configuration data API_OnGather(BasePlayer player, Item item) - Handle gather events API_OnSkillLevelUp(BasePlayer player, int skillId, int level) - Skill level up events API_GetSkillLevel(BasePlayer player, int skillId) → int - Skill level API_GetSkillValue(BasePlayer player, int skillId) → float - Skill effect value API_GetPlayerSkills(BasePlayer player) → Dictionary<int, int> - All skill levels API_IsPlayerLoaded(BasePlayer player) → bool - Player data loaded API_SetSkillLevel(BasePlayer player, int skillId, int level) - Set skill level API_ResetPlayerSkills(BasePlayer player) - Reset all skills Hooks: OnSkillsPlayerLoaded(BasePlayer player) - Player data loaded OnSkillsXPEarned(BasePlayer player, float amount) - XP earned from gameplay (not admin commands) OnSkillsSkillLevelUp(BasePlayer player, int skillId, int newLevel) - Skill upgraded. Return null to allow, string to deny Web Config Editor Easily manage your Skills settings with our web-based configuration editor. This tool allows you to adjust plugin configurations through a user-friendly interface, eliminating the need to manually edit files on your server. P.S. Join our Discord at https://discord.gg/mevent and request the "Skills" group for access to the web configuration editor. FAQ Q: How many skills come with Skills? A: Skills includes 71+ pre-configured skills across 13 categories, all ready to use with balanced progression systems. Q: Do I need to configure anything? A: No! All skills are pre-configured and balanced. Simply install, enable desired skills, and grant permissions. Q: How does the XP system work? A: Players earn XP through gameplay activities (mining, combat, crafting, etc.) and spend it to unlock skill levels. Q: Can I customize skills? A: Yes! Use the visual editor to modify skill costs, bonuses, requirements, and create new custom skills. Q: What happens on server wipe? A: Fully configurable - you can preserve skills/XP, reset everything, or choose selective wipe protection. Q: Does it work with economy plugins? A: Yes! Full integration with ServerRewards, Economics, BankSystem, IQEconomic, and custom economy systems. Q: Can I migrate from SkillTree or Skills V1? A: Absolutely! Skills automatically converts data from both plugins. All player progress is preserved. Q: What are modal windows? A: Modal windows are custom popup interfaces you can create for additional features like shops, information displays, or mini-games. Q: Which ServerPanel versions are supported? A: Skills supports ServerPanel V1, V2, V4, and Fullscreen templates - all with dedicated banner images and layouts. Q: Can I use custom images? A: Yes! Skills supports ImageLibrary integration with offline image mode for custom skill icons and backgrounds. Q: Is there a cooldown system? A: Yes, configurable cooldowns prevent spam actions and maintain server performance. Q: How does XP transfer work? A: When enabled, defeated players can transfer a percentage of their XP to the killer, adding competitive depth. Q: Can I limit skill access? A: Yes! Skills support permission requirements, playtime requirements, and other prerequisites. Q: What's the performance impact? A: Skills is highly optimized with caching, batch processing, and efficient data structures for minimal server load. Q: How do I add Skills to the ServerPanel menu? A: You can do this directly from the ServerPanel in-game: 1. Open the ServerPanel menu in-game. 2. If you have permission to edit, switch the panel to edit mode so you can see the blue "EDIT CATEGORY" and "EDIT PAGES" buttons. 3. Choose the category where you want Skills to appear and click the "EDIT CATEGORY" button for that category. 4. While you are in this category in the ServerPanel, click the "EDIT PAGES" button to create a new page (or edit an existing one) for Skills. 5. For that page, set these exact parameters: Type: Plugin Plugin Name: Skills Plugin Hook: API_OpenPlugin 6. Save the changes. The Skills button will now appear in the ServerPanel in the category you selected.
    $24.95
  21. Version 0.1.6

    81 downloads

    Adds a reputation system, similar to the well-known Infestation Survivor Stories(The WarZ). More information on how the plugin works can be found at the bottom in the "Principle of work" section. The ability to create an unlimited number of reputations. The only condition is that their value ranges must not overlap; The ability to flexibly customize the bar for each reputation; The ability to automatically reset reputations upon detecting a wipe; The ability to set a prefix for reputations; The ability to show your reputation by waving to players; The ability to see a player's reputation when aiming at them with scope items. Unfortunately, the reputation will also be displayed if a player is in certain bushes; The ability to see the reputation of all players in the bandit zone; The ability to prohibit players with a certain reputation from entering safe zones (except for the bandit zone). Also, notifying players about it; The ability to set fake reputations to confuse players. reputationmaster.vip - Provides the ability to set a fake rank value. reputationmaster.admin - Provides the ability to set or reset reputation value to other players. { "Chat command": "rep", "Is it worth enabling GameTips for messages?": true, "Is it worth using the AdvancedStatus plugin?": true, "List of language keys for creating language files": [ "en" ], "Is it worth using ddraw to display reputation? NOTE: To use, an administrator flag is required, which is granted before rendering and revoked immediately after issuing the command": true, "Is it worth displaying reputation when aiming at a player with a scope(ddraw should be enabled)? NOTE: The player's reputation may be displayed in certain bushes": true, "Is it worth resetting reputations upon detecting a wipe?": true, "Is it worth forbidding bandits from visiting safe zones(except for Banditcamp)?": true, "The time in seconds during which a bandit can stay in the safe zone(except for Banditcamp) before being killed, making their loot available to everyone": 10.0, "The prefab name for the effect when a bandit is killed in the safe zone. An empty string disables the effect": "assets/prefabs/misc/xmas/advent_calendar/effects/open_advent.prefab", "Assigning reputation for NPCs(Disabled, ForVanilla, ForAll)": "ForAll", "Minimum random reputation value for NPCs": -1000.0, "Maximum random reputation value for NPCs": 1000.0, "Is it worth enabling self-defense for NPCs?": false, "The time in seconds during which self-defense will be active for a lawman after being attacked by another lawman": 900, "The minimum value limit for fake reputation": -10000.0, "The maximum value limit for fake reputation": 10000.0, "UI. Position - Left to Right": true, "UI. Position - AnchorMin": "1 0.9", "UI. Position - AnchorMax": "1 0.9", "UI. Position - OffsetMin": "-208 -15", "UI. Position - OffsetMax": "-16 15", "UI. Reputation Positive Value Image - URL": "https://gitlab.com/IIIaKa/images/-/raw/main/ReputationMaster/ReputationMaster_Positive.png", "UI. Reputation Negative Value Image - URL": "https://gitlab.com/IIIaKa/images/-/raw/main/ReputationMaster/ReputationMaster_Negative.png", "UI. Added Value Sound - Prefab Name. An empty string disables the effect": "assets/bundled/prefabs/fx/notice/item.select.fx.prefab", "Wipe ID": null, "Version": { "Major": 0, "Minor": 1, "Patch": 6 } } Note: To use ddraw, an administrator flag is required, which is granted before rendering and revoked immediately after issuing the command. The player's reputation may be displayed in certain bushes. [ { "Name": "Assassin", "Prefix": "⁎✧⁎ ", "MinValue": -3.40282347E+38, "MaxValue": -1000.0, "Reward": 20.0, "LawmanPenalty": 0.0, "AllowSafeZone": false, "BarSettings": { "Text_Transparency": 1.0, "SubText_Transparency": 1.0, "Order": 20, "Height": 26, "Main_Color(Hex or RGBA)": "#FF341E", "Main_Transparency": 0.6, "Main_Material": "", "Image_Url": "https://gitlab.com/IIIaKa/images/-/raw/main/ReputationMaster/ReputationMaster_Assassin.png", "Image_Local(Leave empty to use Image_Url)": "ReputationMaster_Assassin", "Image_Sprite(Leave empty to use Image_Local or Image_Url)": "", "Image_IsRawImage": false, "Image_Color(Hex or RGBA)": "#FF341E", "Image_Transparency": 1.0, "Image_Outline_Color(Hex or RGBA)": "0.1 0.3 0.8 0.9", "Image_Outline_Transparency": 0.0, "Image_Outline_Distance(Leave empty to disable). Example '0.75 0.75'": null, "Text_Size": 14, "Text_Color(Hex or RGBA)": "#FF341E", "Text_Font(https://umod.org/guides/rust/basic-concepts-of-gui#fonts)": "RobotoCondensed-Bold.ttf", "Text_Offset_Horizontal": 0, "Text_Outline_Color(Hex or RGBA)": "#000000", "Text_Outline_Transparency": 1.0, "Text_Outline_Distance(Leave empty to disable)": null, "SubText_Size": 12, "SubText_Color(Hex or RGBA)": "#FF341E", "SubText_Font": "RobotoCondensed-Bold.ttf", "SubText_Outline_Color(Hex or RGBA)": "0.5 0.6 0.7 0.5", "SubText_Outline_Transparency": 0.0, "SubText_Outline_Distance(Leave empty to disable)": null } }, ... { "Name": "Civilian", "Prefix": "", "MinValue": -4.99, "MaxValue": 9.99, "Reward": 1.0, "LawmanPenalty": -1.0, "AllowSafeZone": true, "BarSettings": { "Text_Transparency": 1.0, "SubText_Transparency": 1.0, "Order": 20, "Height": 26, "Main_Color(Hex or RGBA)": "#5EC0CA", "Main_Transparency": 0.6, "Main_Material": "", "Image_Url": "https://gitlab.com/IIIaKa/images/-/raw/main/ReputationMaster/ReputationMaster_Civilian.png", "Image_Local(Leave empty to use Image_Url)": "ReputationMaster_Civilian", "Image_Sprite(Leave empty to use Image_Local or Image_Url)": "", "Image_IsRawImage": false, "Image_Color(Hex or RGBA)": "#5EC0CA", "Image_Transparency": 1.0, "Image_Outline_Color(Hex or RGBA)": "0.1 0.3 0.8 0.9", "Image_Outline_Transparency": 0.0, "Image_Outline_Distance(Leave empty to disable). Example '0.75 0.75'": null, "Text_Size": 14, "Text_Color(Hex or RGBA)": "#5EC0CA", "Text_Font(https://umod.org/guides/rust/basic-concepts-of-gui#fonts)": "RobotoCondensed-Bold.ttf", "Text_Offset_Horizontal": 0, "Text_Outline_Color(Hex or RGBA)": "#000000", "Text_Outline_Transparency": 1.0, "Text_Outline_Distance(Leave empty to disable)": null, "SubText_Size": 12, "SubText_Color(Hex or RGBA)": "#5EC0CA", "SubText_Font": "RobotoCondensed-Bold.ttf", "SubText_Outline_Color(Hex or RGBA)": "0.5 0.6 0.7 0.5", "SubText_Outline_Transparency": 0.0, "SubText_Outline_Distance(Leave empty to disable)": null } }, ... { "Name": "Paragon", "Prefix": "⋆☆⋆ ", "MinValue": 1000.0, "MaxValue": 3.40282347E+38, "Reward": 20.0, "LawmanPenalty": -125.0, "AllowSafeZone": true, "BarSettings": { "Text_Transparency": 1.0, "SubText_Transparency": 1.0, "Order": 20, "Height": 26, "Main_Color(Hex or RGBA)": "#0AFBFB", "Main_Transparency": 0.6, "Main_Material": "", "Image_Url": "https://gitlab.com/IIIaKa/images/-/raw/main/ReputationMaster/ReputationMaster_Paragon.png", "Image_Local(Leave empty to use Image_Url)": "ReputationMaster_Paragon", "Image_Sprite(Leave empty to use Image_Local or Image_Url)": "", "Image_IsRawImage": false, "Image_Color(Hex or RGBA)": "#0AFBFB", "Image_Transparency": 1.0, "Image_Outline_Color(Hex or RGBA)": "0.1 0.3 0.8 0.9", "Image_Outline_Transparency": 0.0, "Image_Outline_Distance(Leave empty to disable). Example '0.75 0.75'": null, "Text_Size": 14, "Text_Color(Hex or RGBA)": "#0AFBFB", "Text_Font(https://umod.org/guides/rust/basic-concepts-of-gui#fonts)": "RobotoCondensed-Bold.ttf", "Text_Offset_Horizontal": 0, "Text_Outline_Color(Hex or RGBA)": "#000000", "Text_Outline_Transparency": 1.0, "Text_Outline_Distance(Leave empty to disable)": null, "SubText_Size": 12, "SubText_Color(Hex or RGBA)": "#0AFBFB", "SubText_Font": "RobotoCondensed-Bold.ttf", "SubText_Outline_Color(Hex or RGBA)": "0.5 0.6 0.7 0.5", "SubText_Outline_Transparency": 0.0, "SubText_Outline_Distance(Leave empty to disable)": null } } ] MinRange, MaxRange - Range of values for the group rank; Name - Name of the rank; Reward - Reward for killing or reviving(divided by 2) a player in this rank. If the initiating player has IsLawman = true, the value will be positive, otherwise, it will be negative; LawmanPenalty - Penalty for a peaceful player of this rank, for killing another peaceful player. If the target did not initiate this pvp first; AllowSafeZone - Is this rank allowed to visit Safe Zones (except Bandit Camp)? The "Forbid bandits from visiting the SafeZone (except for Banditcamp)" config should be set to true. Path: *SERVER*\oxide\data\ReputationMaster\ReputationRanks.json EN: { "CmdNotAllowed": "You do not have permissions to use this command!", "CmdPlayerNotFound": "Player '{0}' not found! You must provide the player's name or Id.", "CmdNpcNotFound": "Npc '{0}' not found or has an invalid entity type! You must provide the npc's network Id.", "CmdEntityNotFound": "Entity not found! Try getting closer to the entity.", "CmdMultiplePlayers": "Multiple players found: {0}", "CmdAdmin": "Available admin commands:\n\n<color=#D1CBCB>/rep</color> <color=#D1AB9A>netId</color> - Get the netId of the entity you are looking at.\n<color=#D1CBCB>/rep</color> <color=#D1AB9A>set *floatValue* *nameOrId*</color> - Set reputation for the specified player.\n<color=#D1CBCB>/rep</color> <color=#D1AB9A>set *floatValue* self</color> - Set reputation for yourself.\n<color=#D1CBCB>/rep</color> <color=#D1AB9A>set *floatValue* npc *netId* force(optional)</color> - Set reputation for the specified npc. The last argument controls forced assignment.\n<color=#D1CBCB>/rep</color> <color=#D1AB9A>fake *floatValue* *nameOrId*</color> - Set fake reputation for the specified player.\n<color=#D1CBCB>/rep</color> <color=#D1AB9A>fake *floatValue* self</color> - Set fake reputation for yourself.\n<color=#D1CBCB>/rep</color> <color=#D1AB9A>fake *floatValue* npc *netId* force(optional)</color> - Set fake reputation for the specified npc. The last argument controls forced assignment.\n<color=#D1CBCB>/rep</color> <color=#D1AB9A>info *nameOrId*</color> - Show full reputation information for the specified player.\n<color=#D1CBCB>/rep</color> <color=#D1AB9A>info self</color> - Show full reputation information for yourself.\n<color=#D1CBCB>/rep</color> <color=#D1AB9A>reset *nameOrId*</color> - Reset reputation for the specified player.\n<color=#D1CBCB>/rep</color> <color=#D1AB9A>reset self</color> - Reset your reputation.\n<color=#D1CBCB>/rep</color> <color=#D1AB9A>reset all</color> - Reset reputation for all players.\n\n--------------------------------------------------", "CmdMain": "Available commands:\n\n<color=#D1CBCB>/rep</color> <color=#D1AB9A>fake *floatValue*</color> - Set fake reputation for yourself.\n\n--------------------------------------------------", "CmdSetNpcFailed": "Failed to set reputation for npc '{0}'! Try adding the 'force' argument for forced assignment.", "CmdSetNpc": "Npc '{0}' has received a new reputation value: {1}({2})!", "CmdSetPlayer": "Player '{0}' has received a new reputation value: {1}({2})!", "CmdFakeNpcFailed": "Failed to set fake reputation for npc '{0}'! Try adding the 'force' argument for forced assignment.", "CmdFakeNpc": "Npc '{0}' has received a new fake reputation value: {1}({2})!", "CmdFakeSelf": "A new fake reputation value has been successfully set: {0}({1})!", "CmdFakePlayer": "Player '{0}' has received a new fake reputation value: {1}({2})!", "CmdNetId": "The NetID of the entity you are looking at: '{0}'({1}).", "CmdInfoPlayer": "Player '{0}' reputation:\n<color=#D1AB9A>Reputation:</color> {1} ({2})\n<color=#D1AB9A>Fake Reputation:</color> {3} ({4})\n<color=#D1AB9A>Last Helper:</color> {5}\n\n--------------------------------------------------", "CmdInfoNPC": "NPC '{0}' reputation:\n<color=#D1AB9A>Reputation:</color> {1}({2})\n<color=#D1AB9A>Fake Reputation:</color> {3}({4})\n<color=#D1AB9A>Last Helper:</color> {5}\n\n--------------------------------------------------", "CmdResetTarget": "{0}'s reputation has been successfully reset!", "CmdResetSelf": "Your reputation has been successfully reset!", "CmdResetAll": "{0} reputations have been successfully reset!", "MsgReputation": "Reputation", "MsgShowPlayerReputation": "Player '{0}' reputation: {1}({2})", "MsgNewReputation": "Congratulations! You have received the reputation '{0}'!", "MsgSelfDefense": "You attacked a peaceful player '{0}'({1}) first. If they kill you within {2} minutes, they will not receive a penalty", "MsgSelfDefenseNoPenalty": "You killed a peaceful player '{0}'({1}). However, since they attacked you first, you will not be penalized", "MsgLawmanEnterBanditZone": "You have entered the Bandit Camp! Stay vigilant, this place is full of thugs!", "MsgLawmanLeaveBanditZone": "You have left the Bandit Camp! We recommend avoiding this area!", "MsgBanditEnterBanditZone": "Welcome to the Bandit Camp! We are glad to have you back!", "MsgBanditLeaveBanditZone": "You have left the Bandit Camp! We hope to see you again soon!", "MsgBanditEnterSafeZone": "You are not welcome here! If you do not leave this place, you will be killed in {0} seconds!", "MsgBanditLeaveSafeZone": "Do not come back here! People like you belong in the Bandit Camp!" } RU: { "CmdNotAllowed": "У вас недостаточно прав для использования этой команды!", "CmdPlayerNotFound": "Игрок '{0}' не найден! Вы должны указать имя или ID игрока.", "CmdNpcNotFound": "Нпц '{0}' не найден, либо не верный тип сущности! Вы должны указать Id нпц.", "CmdEntityNotFound": "Сущность не найдена! Попробуйте подойти ближе к объекту.", "CmdMultiplePlayers": "Найдено несколько игроков: {0}", "CmdAdmin": "Доступные админ команды:\n\n<color=#D1CBCB>/rep</color> <color=#D1AB9A>netId</color> - Получить netId сущности, на которую вы смотрите.\n<color=#D1CBCB>/rep</color> <color=#D1AB9A>set *дробноеЗначение* *имяИлиАйди*</color> - Установить репутацию указанному игроку.\n<color=#D1CBCB>/rep</color> <color=#D1AB9A>set *дробноеЗначение* self</color> - Установить репутацию себе.\n<color=#D1CBCB>/rep</color> <color=#D1AB9A>set *дробноеЗначение* npc *netId* force(опционально)</color> - Установить репутацию указанному npc. Последний аргумент принудительно задаёт значение.\n<color=#D1CBCB>/rep</color> <color=#D1AB9A>fake *дробноеЗначение* *имяИлиАйди*</color> - Установить ложную репутацию указанному игроку.\n<color=#D1CBCB>/rep</color> <color=#D1AB9A>fake *дробноеЗначение* self</color> - Установить себе ложную репутацию.\n<color=#D1CBCB>/rep</color> <color=#D1AB9A>fake *дробноеЗначение* npc *netId* force(опционально)</color> - Установить ложную репутацию указанному npc. Последний аргумент принудительно задаёт значение.\n<color=#D1CBCB>/rep</color> <color=#D1AB9A>info *имяИлиАйди*</color> - Показать полную информацию о репутации указанного игрока.\n<color=#D1CBCB>/rep</color> <color=#D1AB9A>info self</color> - Показать полную информацию о своей репутации.\n<color=#D1CBCB>/rep</color> <color=#D1AB9A>reset *имяИлиАйди*</color> - Сбросить репутацию указанному игроку.\n<color=#D1CBCB>/rep</color> <color=#D1AB9A>reset self</color> - Сбросить свою репутацию.\n<color=#D1CBCB>/rep</color> <color=#D1AB9A>reset all</color> - Сбросить репутацию всем игрокам.\n\n--------------------------------------------------", "CmdMain": "Доступные команды:\n\n<color=#D1CBCB>/rep</color> <color=#D1AB9A>fake *дробноеЗначение*</color> - Установить себе ложную репутацию.\n\n--------------------------------------------------", "CmdSetNpcFailed": "Не удалось установить репутацию нпц '{0}'! Попробуйте добавить аргумент 'force' для принудительной установки.", "CmdSetNpc": "Нпц '{0}' получил новое значение репутации: {1}({2})!", "CmdSetPlayer": "Игрок '{0}' получил новое значение репутации: {1}({2})!", "CmdFakeNpcFailed": "Не удалось установить ложную репутацию нпц '{0}'! Попробуйте добавить аргумент 'force' для принудительной установки.", "CmdFakeNpc": "Нпц '{0}' получил новое значение ложной репутации: {1}({2})!", "CmdFakeSelf": "Новое значение ложной репутации успешно установлено: {0}({1})!", "CmdFakePlayer": "Игрок '{0}' получил новое значение ложной репутации: {1}({2})!", "CmdNetId": "NetID сущности, на которую вы смотрите: '{0}'({1}).", "CmdInfoPlayer": "Репутация игрока '{0}':\n<color=#D1AB9A>Репутация:</color> {1}({2})\n<color=#D1AB9A>Ложная репутация:</color> {3}({4})\n<color=#D1AB9A>Последний помощник:</color> {5}\n\n--------------------------------------------------", "CmdInfoNPC": "Репутация нпц '{0}':\n<color=#D1AB9A>Репутация:</color> {1}({2})\n<color=#D1AB9A>Ложная репутация:</color> {3}({4})\n<color=#D1AB9A>Последний помощник:</color> {5}\n\n--------------------------------------------------", "CmdResetTarget": "Репутация '{0}' успешно сброшена!", "CmdResetSelf": "Ваша репутация успешно сброшена!", "CmdResetAll": "Успешно сброшено {0} репутаций!", "MsgReputation": "Репутация", "MsgShowPlayerReputation": "Репутация игрока '{0}': {1}({2})", "MsgNewReputation": "Поздравляем! Вы получили репутацию '{0}'!", "MsgSelfDefense": "Вы первым атаковали мирного игрока '{0}'({1}). Если он вас убьет в течении {2} минут, то не получит штрафа", "MsgSelfDefenseNoPenalty": "Вы убили мирного игрока '{0}'({1}). Но так как он первым вас атаковал, вас не накажут", "MsgLawmanEnterBanditZone": "Вы пришли в Лагерь Бандитов! Будьте бдительны, здесь полно разных отморозков!", "MsgLawmanLeaveBanditZone": "Вы покинули Лагерь Бандитов! Советуем обходить это место!", "MsgBanditEnterBanditZone": "Добро пожаловать в Лагерь Бандитов! Мы рады вашему возвращению!", "MsgBanditLeaveBanditZone": "Вы покинули Лагерь Бандитов! Надеемся на скорое ваше возвращение!", "MsgBanditEnterSafeZone": "Вам здесь не рады! Если вы не покинете это место, то вас убьет через {0} секунд!", "MsgBanditLeaveSafeZone": "Больше сюда не возвращайтесь! Таким как вы место в Лагере Бандитов!" } fake *floatValue* - Set a fake reputation. Permission "reputationmaster.vip" required; netId - Get the netId of the entity you are looking at. Permission "reputationmaster.admin" required; set *floatValue* *nameOrId* - Set reputation for the specified player. Permission "reputationmaster.admin" required; set *floatValue* self - Set reputation for yourself. Permission "reputationmaster.admin" required; set *floatValue* npc *netId* force(optional) - Set reputation for the specified npc. The last argument controls forced assignment. Permission "reputationmaster.admin" required; fake *floatValue* *nameOrId* - Set fake reputation for the specified player. Permission "reputationmaster.admin" required; fake *floatValue* self - Set fake reputation for yourself. Permission "reputationmaster.admin" required; fake *floatValue* npc *netId* force(optional) - Set fake reputation for the specified npc. The last argument controls forced assignment. Permission "reputationmaster.admin" required; info *nameOrId* - Show full reputation information for the specified player. Permission "reputationmaster.admin" required; info self - Show full reputation information for yourself. Permission "reputationmaster.admin" required; reset *nameOrId* - Reset reputation for the specified player. Permission "reputationmaster.admin" required; reset self - Reset your reputation. Permission "reputationmaster.admin" required; reset all - Reset reputation for all players. Permission "reputationmaster.admin" required. Example: /rep fake 150 /rep fake -40 iiiaka /rep set 23 iiiaka /rep set npc 64 4032 ReputationValueUpdated: Called after the player's reputation value has changed. Works only for players that are not NPCs. void ReputationValueUpdated(ulong userID, string repName, float repValue) { Puts($"{userID} updated a reputation value to {repValue}. Current reputation rank is {repName}."); } ReputationUpdated: Called after the player receives a new reputation rank. Works only for players that are not NPCs. void ReputationUpdated(ulong userID, string oldRep, string newRep, bool isLawman, bool allowSafeZone, float repValue) { Puts($"{userID} has updated their rank from {oldRep} to {newRep}. Is peaceful: {isLawman}\nSafe Zones: {allowSafeZone}\nReputation Value: {repValue}"); } [PluginReference] private Plugin ReputationMaster; There are 4 api methods: GetReputationValue: Used to retrieve the reputation value, real or fake. Returns null on failure. To call the GetReputationValue method, you need to pass 2 parameters: userID as a ulong; realRep as a bool. What reputation value to get, real or fake? This parameter is optional. (float)(ReputationMaster?.Call("GetReputationValue", player.userID, true) ?? 0f); GetReputationName: Used to retrieve the reputation name, real or fake. Returns an empty string on failure. To call the GetReputationName method, you need to pass 2 parameters: userID as a ulong; realRep as a bool. What reputation name to get, real or fake? This parameter is optional. (string)(ReputationMaster?.Call("GetReputationName", player.userID, true) ?? string.Empty); SetReputationValue: Used to retrieve the reputation name, real or fake. Returns a false on failure. To call the SetReputationValue method, you need to pass 3 parameters: Available options: userID as a ulong or a string; player as a BasePlayer. newValue as float; realRep as a bool. What reputation value to get, real or fake? This parameter is optional. (bool)(ReputationMaster?.Call("SetReputationValue", player.UserIDString, 150f, true) ?? false);//(string)userID (bool)(ReputationMaster?.Call("SetReputationValue", player.userID, 150f, true) ?? false);//(ulong)userID (bool)(ReputationMaster?.Call("SetReputationValue", player, 150f, true) ?? false);//(BasePlayer)player ***recommended option*** SetReputationValues: Used to retrieve the reputation name, real or fake. Returns a false on failure. To call the SetReputationValues method, you need to pass 3 parameters: Available options: userID as a ulong or a string; player as a BasePlayer. value as float; fakeValue as a float. (bool)(ReputationMaster?.Call("SetReputationValues", player.UserIDString, 150f, 50f) ?? false);//(string)userID (bool)(ReputationMaster?.Call("SetReputationValues", player.userID, 150f, 50f) ?? false);//(ulong)userID (bool)(ReputationMaster?.Call("SetReputationValues", player, 150f, 50f) ?? false);//(BasePlayer)player ***recommended option*** You can create as many reputation ranks as you want, but there are only two main groups: Lawmen(peaceful or civilians); Outlaws(bandits). Each kill has a different scores depending of the reputation rank of the victim and attacker. For exampe, if you are a Civilian, you will receive: Paragon: -20 Vigilant: -15 Guardian: -10 Lawman: -4 Deputy: -3 Constable: -2 Civillian: -1 Thug: +2 Outlaw: +3 Bandit: +4 Hitman: +10 Villain: +15 Assassin: +20 Reviving: For reviving a player, you will receive a reward divided by 2. If the target is a lawman, the reward will be positive, else if a target is a bandit, it will be negative. Also, this is the only way out of bandit rank for bandits. Outlaw: When you reach the outlaw reputation, you have no more back! Except for reviving a peaceful player. You can kill other bandits but still counting as negative reputation! So, after you reach the outlaw reputation rank, scores by killing a player of a certain reputation will be as follows(negative reward value) : Paragon: -20 Vigilant: -15 Guardian: -10 Lawman: -4 Deputy: -3 Constable: -2 Civillian: -1 Thug: -2 Outlaw: -3 Bandit: -4 Hitman: -10 Villain: -15 Assassin: -20 Lawman: The scores will be as follows for each kill a outlaw reputation ranks(positive reward value) : Assassin: +20 Villain: +15 Hitman: +10 Bandit: +4 Outlaw: +3 Thug: +2 But for killing a peaceful player, you will receive penalties based on your rank. A list of penalties for each reputation rank: Paragon: -125 Vigilante: -60 Guardian: -40 Lawman: -15 Deputy: -2 Constable: -1 Civilian: -1 There is also a self-defense system that works as follows: If a peaceful player initiates an attack on another peaceful player, a timer of 15 minutes(sets from config) is activated, during which the victim can kill the attacker without penalties. So, it's very hard to become a lawman, and it's very easy to get out from lawman.
    $4.99
  22. Gd.Kenni

    Techtree

    Version 2.2.7

    141 downloads

    The plugin has been revamped. Customize the Techtree however you like. It will replace the vanilla one by default, but this option can be changed in the configuration. You have two options: Replace the vanilla tech tree and customize it. Keep the vanilla tech tree and create a completely customized tech tree. Feature TechTree customizable TechTree by Workbenchlevel Multiple rewards (ChatCommand / ConsoleCommand / Economics) Item custom support Reward if tree is all unlocked (in datafiles) No command to open Automatic replace the vanilla tree or press the Use key R on the Workbench to open Multilingual support CUI Editor CUI Editor Permissions techtree.use // Grants permission to use the tech tree techtree.unlock.free // Grants permission to unlock everything for free techtree.unlock.instant // Grants permission to bypass unlock time Information Default vanilla tree are created on plugin load Automatic import of new nodes added by Facepunch Vanilla blueprints are managed directly by the plugin. To manage custom blueprints, please use the available APIs. If you want to remove a vanilla node from your TechTree, you must first backlist it, otherwise it will be automatically added back the next time the plugin is reloaded. An option is available for this. I recommend modifying the tree only when players are not using it to avoid synchronization issues. General Settings { "Settings": { "Wipe Player Data at Wipe": true, "Time For Unlock Node": 1.0, "Selected Theme": "Default", "Use Permissions ?": false, "Use Economics ?": false, "Replace tree vanilla ? Open with [R] if false": true } } Techtree Data ID: ID of the node. Vanilla ID: default ID for facepunch Parent: List of parent node required to unlock this node. Image URL or Item: Image used, via URL or in-game item (ID/Skin). Type: Type of Image (URL or Item). Value: Url (string) if URL or ItemID and SkinID if Item. Grid Position: Node position on the grid (x, y). Player Info: information displayed on the UI Name: In-game name for this node. Lang: Dictionary for multilingual support Description: Short description of the node. Lang: Dictionary for multilingual support Price: Cost to unlock this node. Curency: Resource needed to pay the price (ID/Skin). ItemID SkinID Rewards: List of rewards obtained after unlocking. Type: Type of reward (ChatCommand, ConsoleCommand or Economics). Value: Value or command associated with the reward (string). "TechTree": [ { "ID": 40046421, "Vanilla ID": 84, "Parent": [ 1865581242 ], "Image URL or Item": { "Type": "Item", "Value": { "Item ID": 2090395347, "Skin ID": 0 } }, "Grid Position": { "x": 3.5, "y": 6.5 }, "Player Info": { "Ingame Name": { "Lang": {} }, "Description": { "Lang": {} } }, "Price": 30, "Curency": { "Item ID": -932201673, "Skin ID": 0 }, "Rewards": [ { "Type": "ChatCommand", "Value": "say Congratulations!" }, { "Type": "ConsoleCommand", "Value": "c.grant user playerID perm.use" }, { "Type": "Economics", "Value": "6500" } ] }, ], "Extra": { "Reward On All Node Unlocked": [ { "Type": "ChatCommand", "Value": "say Congratulations, you all unlocked!" }, { "Type": "Economics", "Value": "20000" } ] } Image configuration exemple With URL : "Image URL or Item": { "Type": "Url", "Value": "https://imgur.com/SRGgaKX.png" }, With ITEM : "Image URL or Item": { "Type": "Item", "Value": { "Item ID": -1966748496, "Skin ID": 0 } }, Lang { "CLOSE": "Close", "EDITMODE": "Edit mode", "PLAYERMODE": "Player mode", "SAVE": "Save", "ADD": "Add", "REMOVE": "Remove", "MODIFY": "Modify", "CANCEL": "Cancel", "CONFIRM": "Confirm", "SELECT": "Select", "NONE": "None", "GRIDSETTING": "Grid Setting", "NOTAVAILABLE": "Not yet available", "TOTALREQUIRED": "Total required", "OPEN": "[R] OPEN", "Workbench_1": "LEVEL 1", "Workbench_2": "LEVEL 2", "Workbench_3": "LEVEL 3", "Engineering": "ENGINEERING", "NO PERM": "You don't have permission.", "EXCLUDE": "Exclude from vanilla sync", "EXCLUDED_NODES": "Excluded Nodes", "NO_EXCLUDED_NODES": "No excluded nodes", "EXCLUDE_RESTORED": "{0} nodes restored", "EXCLUDE_ADDED": "{0} nodes excluded", "EXCLUDE_ALL": "Exclude All", "CLEAR_ALL": "Clear All", "DELETE_ALL_NODES": "Delete All Nodes", "UPDATE_GRID": "Update Grid", "NODES_DELETED": "{0} nodes deleted", "RESET_TO_VANILLA": "Reset to Vanilla", "ARE_YOU_SURE": "Are you sure ?", "DISABLE_FUTURE_IMPORTS": "Disable future vanilla imports", "FUTURE_IMPORTS_DISABLED": "Future vanilla imports are now disabled", "FUTURE_IMPORTS_ENABLED": "Future vanilla imports are now enabled", "OPEN_BUTTON": "Open tech tree", "SAVING_APPLY_TOOLTIP": "Saving apply", "RESET_VANILLA_TOOLTIP": "Tech tree reset to vanilla defaults", "EXCLUDE_TOOLTIP": "Excludes this vanilla node from automatic imports. Useful for permanently removing a vanilla node from your tech tree.", "REWARD_TOOLTIP": "Use the “playerID” tag in your command if you need to specify a player. ex: c.grant user playerID perm.use.", "LANG_TOOLTIP": "“Default” will use the default text for the item; otherwise, the added language will be used.", "DISABLE_IMPORTS_TOOLTIP": "Prevents any new vanilla nodes from being automatically imported. Useful for freezing the configuration or preventing Facepunch updates.", } Api (Dictionary<string, object>) API_GetPlayerData(BasePlayer player) // Return key "workbench" and Dictionary value { string, List<int> } (bool) API_SetPlayerData(BasePlayer player, Dictionary<string, object> apiData) // Return bool (bool) API_ClearPlayerWorkbenchData(BasePlayer player, Workbench workbench) // Return bool (bool) API_ClearPlayerData(BasePlayer player) // Return bool Hook // Called before a tech tree node is unlocked. private object OnNodeUnlock(Workbench workbench, Dictionary<string, object> node, BasePlayer player) { Puts("OnNodeUnlock has been called!"); return null; } // Called before a tech tree node is unlocked. private object OnNodeUnlock(BasePlayer player, Dictionary<string, object> node, Dictionary<string, object> treeData) { Puts("OnNodeUnlock has been called!"); return null; } // Called when a tech tree node is unlocked. private void OnNodeUnlocked(Workbench workbench, Dictionary<string, object> node, BasePlayer player) { Puts("OnNodeUnlocked has been called!"); } // Called when a tech tree node is unlocked. // Same behavior as OnNodeUnlocked but returns the list of notes directly. private void OnPathNodeUnlocked(Workbench workbench, List<object> nodes, BasePlayer player) { Puts("OnPathNodeUnlocked has been called!"); } Api and Hook Doc Dictionary<string, object> node: "id" : int "vanillaId" : int? "price" : int "parents" : List<int> "isVanilla" : bool "currency" : Dictionary<string, object> => "itemId" : int "skinId" : ulong Dictionary<string, object> treeData: "workbench" : Workbench "nodes" : List<Dictionary<string, object>> Dictionary<string, object> playerData: "workbench" : Dictionary<string, object> "Workbench_1" : List<int> "Workbench_2" : List<int> "Workbench_3" : List<int> "Engineering" : List<int> ########### Dictionary<string, object> API_GetPlayerData(BasePlayer player) return: { "workbench" : { "Workbench_1" : [123, 456, 789], "Workbench_2" : [111, 222], "Workbench_3" : [], "Engineering" : [333] } } Usage: [PluginReference] Plugin TechTree; var playerData = TechTree?.Call("API_GetPlayerData", player) as Dictionary<string, object>; ########### bool API_SetPlayerData(BasePlayer player, Dictionary<string, object> apiData) return: bool usage: var data = TechTree?.Call("API_GetPlayerData", player) as Dictionary<string, object>; var workbench = data["workbench"] as Dictionary<string, object>; workbench["Workbench_1"] = new List<object> { 123, 456 }; workbench["Engineering"] = new List<object>(); bool success = (bool)TechTree?.Call("API_SetPlayerData", player, data); Contact Send me a private message on Codefling Send me a message on Discord: gd.kenni
    $14.99
  23. Version 1.7.3

    319 downloads

    xSkillSystem xSkillSystem adds an RPG-style leveling experience to your gameplay. Whether you're chopping wood, mining for ores, or battling wildlife, every action earns you XP and helps you level up specialized skills. XP Table was testet properly and it should be fine. There are gather rates impact which are configurable and also a passive HP regen for skill "Vitality" depending on its level which is also configurable. Comes with an external config editor! » Discord « PLUG&PLAY PLUGIN, but configs are available to adjust it to your needs Built in image caching/reading (ImageLibrary is NOT needed) => Automatic skill icons download and placement. Skills: Each player starts at Level 1 in every skill and levels up through regular gameplay. Here's what you can master: Woodcutting – Chop trees. (Configurable Gather Rates depending on Level) Mining – Dig deep and extract valuable resources like stone, metal, and sulfur. (Configurable Gather Rates depending on Level) Gathering – Pick up natural items from the environment. (Configurable Gather Rates depending on Level) Slayer – Hunt animals, kill NPCs and fight players. (Configurable player speed boost 'Blood Rush' perk depending on Level) Skinning – Skin downed animals for XP. (Configurable Gather Rates depending on Level) Building - Gain XP by building, upgrading, deploying etc. Crafting – Gain XP as you build tools, weapons, and other items. (Configurable Craft Speed depening on Level) Vitality - Gain XP by using medical syringes & bandages (Configurable passive HP regen depending on Level) Looting - Gain XP by killing barrels or looting different type of crates. Cooking - Gain XP by cooking food. Custom Level Rewards Double XP Weekends Commands Plugin Preview ( *v1.2.7* ) > Clipchamp didn't allow me 60FPS export, sorry External Config Editor Config Permissions Language API
    $21.99
  24. Barry_Allenn

    MBShop

    Version 1.6.0

    116 downloads

    MBShop — Advanced UI Shop for Rust (Cart, Categories, Multi-Economy) MBShop is a modern and fully customizable UI-based shop system for Rust, featuring a shopping cart, category system, image-based interface, and multi-economy support. Designed for smooth gameplay, performance, and professional server presentation. Perfect for PvP, PvE, modded, and commercial servers. Key Features 🛍 Full Shopping Cart System Add multiple items Buy everything at once Dynamic total price calculation 🗂 Category System Fully configurable categories Multilingual category names (EN / UK / RU) Horizontal scrolling Multi-Language Support English Ukrainian Russian Multi-Economy Support MBCoins Economics ServerRewards Easy switching via config 🖼 Image-Based UI Custom background images Item cell backgrounds Buy button background NPC image Coin icon Error & success notification icons Styled UI Notifications No chat spam Visual error & success messages Auto-hide after a few seconds Safe Item Delivery Inventory space validation No item dropping on the ground No dupes No lost items Configuration { "NPC Image URL": "https://i.ibb.co/r2Ft9sJQ/MBNPC.png", "Virtual currency image URL": "https://i.ibb.co/gbMSk6DV/Virtual.png", "Donate currency image URL": "https://i.ibb.co/KzzPd1cX/MBShop-Coin.png", "Scrap currency image URL": "https://ru-wiki.rustclash.com/img/items180/scrap.png", "Scrollbar Handle Color": "1 0 0 0.6", "Configuration of Categories and Items": { "Weapons": { "Translations": { "en": { "Enabled": true, "Text": "Weapons" }, "uk": { "Enabled": false, "Text": "Зброя" }, "ru": { "Enabled": false, "Text": "Оружие" } }, "Items": [ { "Name": "Assault Rifle", "Shortname": "rifle.ak", "Amount": 1, "Price": 10000.0, "Description": "High damage machine rifle.", "Currency (Donate, Virtual, Scrap)": 3 }, { "Name": "Thompson", "Shortname": "smg.thompson", "Amount": 1, "Price": 2.0, "Description": "A medium damage machine gun.", "Currency (Donate, Virtual, Scrap)": 2 }, { "Name": "Custom SMG", "Shortname": "smg.2", "Amount": 1, "Price": 0.1, "Description": "A rapid-firing Machine Gun. Sacrifices accuracy and distance for speed.", "Currency (Donate, Virtual, Scrap)": 1 }, { "Name": "Pump Shotgun", "Shortname": "shotgun.pump", "Amount": 1, "Price": 0.1, "Description": "A Shotgun. Fires 8 rounds.", "Currency (Donate, Virtual, Scrap)": 1 }, { "Name": "Revolver", "Shortname": "pistol.revolver", "Amount": 1, "Price": 0.08, "Description": "A standard eight shot revolver.", "Currency (Donate, Virtual, Scrap)": 1 }, { "Name": "Nailgun", "Shortname": "pistol.nailgun", "Amount": 1, "Price": 0.06, "Description": "A construction tool turned deadly.", "Currency (Donate, Virtual, Scrap)": 1 } ] }, "Ammo": { "Translations": { "en": { "Enabled": true, "Text": "Ammo" }, "uk": { "Enabled": false, "Text": "Боєприпаси" }, "ru": { "Enabled": false, "Text": "Патроны" } }, "Items": [ { "Name": "5.56 Rifle Ammo", "Shortname": "ammo.rifle", "Amount": 30, "Price": 0.05, "Description": "Ammunition for a Rifle. Loses velocity when fired over long distances resulting in slightly decreased damage.", "Currency (Donate, Virtual, Scrap)": 1 }, { "Name": "Pistol Ammo", "Shortname": "ammo.pistol", "Amount": 30, "Price": 0.04, "Description": "Ammunition for a Pistol. Loses velocity when fired over long distances resulting in slightly decreased damage.", "Currency (Donate, Virtual, Scrap)": 1 }, { "Name": "Shotgun Shells", "Shortname": "ammo.shotgun", "Amount": 12, "Price": 0.04, "Description": "Ammunition for a Shotgun.", "Currency (Donate, Virtual, Scrap)": 1 }, { "Name": "Nails", "Shortname": "ammo.nailgun.nails", "Amount": 30, "Price": 0.03, "Description": "Standard nailgun ammunition", "Currency (Donate, Virtual, Scrap)": 1 }, { "Name": "Incendiary 5.56", "Shortname": "ammo.rifle.incendiary", "Amount": 20, "Price": 0.06, "Description": "Slower moving ammunition that deals fire damage. There's a small chance it will start a fire.", "Currency (Donate, Virtual, Scrap)": 1 } ] }, "Medical": { "Translations": { "en": { "Enabled": true, "Text": "Medical" }, "uk": { "Enabled": false, "Text": "Медицина" }, "ru": { "Enabled": false, "Text": "Медикаменты" } }, "Items": [ { "Name": "Medical Syringe", "Shortname": "syringe.medical", "Amount": 2, "Price": 0.05, "Description": "Heal yourself or others with this syringe. Left-click heals you, right-click heals a target.", "Currency (Donate, Virtual, Scrap)": 1 }, { "Name": "Bandage", "Shortname": "bandage", "Amount": 5, "Price": 0.03, "Description": "Heal yourself or others with this bandage. Left-click heals you, right-click heals a target.", "Currency (Donate, Virtual, Scrap)": 1 }, { "Name": "Large Medkit", "Shortname": "largemedkit", "Amount": 1, "Price": 0.1, "Description": "A large medkit that heals you to max health over time and stops any bleeding instantly.", "Currency (Donate, Virtual, Scrap)": 1 }, { "Name": "Anti-Rad Pills", "Shortname": "antiradpills", "Amount": 2, "Price": 0.03, "Description": "Taking these pills will lower your radiation level. WARNING: May cause extreme dehydration.", "Currency (Donate, Virtual, Scrap)": 1 } ] }, "Resources": { "Translations": { "en": { "Enabled": true, "Text": "Resources" }, "uk": { "Enabled": false, "Text": "Ресурси" }, "ru": { "Enabled": false, "Text": "Ресурсы" } }, "Items": [ { "Name": "Wood", "Shortname": "wood", "Amount": 1000, "Price": 0.05, "Description": "Wood. Collected from trees and used in many crafting recipes. It's also needed to cook in camp-fires.", "Currency (Donate, Virtual, Scrap)": 1 }, { "Name": "Stone", "Shortname": "stones", "Amount": 1000, "Price": 0.05, "Description": "Harvested from rocks using tools, basic building material.", "Currency (Donate, Virtual, Scrap)": 1 }, { "Name": "Metal Fragments", "Shortname": "metal.fragments", "Amount": 500, "Price": 0.08, "Description": "Metal Fragments. Smelted from Metal Ore, used in lots of different crafting recipes.", "Currency (Donate, Virtual, Scrap)": 1 }, { "Name": "Sulfur", "Shortname": "sulfur", "Amount": 500, "Price": 0.1, "Description": "Sulfur is commonly used in gunpowder, medicine, and matches. Matches release sulfur dioxide when they burn, giving them their smell. Sulfur is an essential component to living cells.", "Currency (Donate, Virtual, Scrap)": 1 }, { "Name": "HQ Metal Ore", "Shortname": "hq.metal.ore", "Amount": 50, "Price": 0.15, "Description": "A rock containing High Quality Metal. Can be smelted in a furnace.", "Currency (Donate, Virtual, Scrap)": 1 } ] }, "Tools": { "Translations": { "en": { "Enabled": true, "Text": "Tools" }, "uk": { "Enabled": false, "Text": "Інструменти" }, "ru": { "Enabled": false, "Text": "Инструменты" } }, "Items": [ { "Name": "Hatchet", "Shortname": "hatchet", "Amount": 1, "Price": 0.05, "Description": "A Hatchet, useful for chopping trees and dismembering corpses.", "Currency (Donate, Virtual, Scrap)": 1 }, { "Name": "Pickaxe", "Shortname": "pickaxe", "Amount": 1, "Price": 0.06, "Description": "A Pickaxe, useful for gathering ore from rocks.", "Currency (Donate, Virtual, Scrap)": 1 }, { "Name": "Chainsaw", "Shortname": "chainsaw", "Amount": 1, "Price": 0.15, "Description": "A Chainsaw. Very effective at cutting trees in addition to soft fleshy objects. Requires Low Grade Fuel to run.", "Currency (Donate, Virtual, Scrap)": 1 }, { "Name": "Jackhammer", "Shortname": "jackhammer", "Amount": 1, "Price": 0.12, "Description": "A Pneumatic Jackhammer to blast through ore nodes. The sheer power of this device requires no aiming as all weak spots will be instantly destroyed. Works well on human flesh. Can berefilled at a Workbench.", "Currency (Donate, Virtual, Scrap)": 1 }, { "Name": "Hammer", "Shortname": "hammer", "Amount": 1, "Price": 0.03, "Description": "A Hammer, used to upgrade building materials. Right-click for the options. You can also pick up deployed objects while the hammer is equipped.", "Currency (Donate, Virtual, Scrap)": 1 } ] }, "Building": { "Translations": { "en": { "Enabled": true, "Text": "Building" }, "uk": { "Enabled": false, "Text": "Будівництво" }, "ru": { "Enabled": false, "Text": "Строительство" } }, "Items": [ { "Name": "Tool Cupboard", "Shortname": "cupboard.tool", "Amount": 1, "Price": 0.1, "Description": "Placing and authorising with the cupboard will make it so only you can build in a 50 meter radius of it. If you want your friends to build, they'll need to auth too. You should protect this.", "Currency (Donate, Virtual, Scrap)": 1 }, { "Name": "Sleeping Bag", "Shortname": "sleepingbag", "Amount": 1, "Price": 0.05, "Description": "A sleeping bag. Placing this will give you or an assigned player a place to respawn, with a long cooldown.", "Currency (Donate, Virtual, Scrap)": 1 }, { "Name": "Door Key Lock", "Shortname": "lock.key", "Amount": 1, "Price": 0.03, "Description": "Place on a door to prevent unwelcome guests. You can create a key to share with your friends, don't let it fall in the wrong hands!", "Currency (Donate, Virtual, Scrap)": 1 }, { "Name": "Code Lock", "Shortname": "lock.code", "Amount": 1, "Price": 0.1, "Description": "An electronic lock. Locked and unlocked with four-digit code.", "Currency (Donate, Virtual, Scrap)": 1 }, { "Name": "Wooden Door", "Shortname": "door.hinged.wood", "Amount": 1, "Price": 0.05, "Description": "A Cheap door to secure your base. Its vulnerability to fire and weak explosive resistance makes the door a temporary solution to securing your base. Due to its flaws you should look at The Wooden Door can take two kinds of locks the basic Key Lock and the Code Lock. To pick up the door, remove any locks and open, hold down the E (USE) key and select 'Pickup'.", "Currency (Donate, Virtual, Scrap)": 1 }, { "Name": "Metal Door", "Shortname": "door.hinged.metal", "Amount": 1, "Price": 0.1, "Description": "Medium strength door, vulnerable to explosives.", "Currency (Donate, Virtual, Scrap)": 1 } ] }, "Clothing": { "Translations": { "en": { "Enabled": true, "Text": "Clothing" }, "uk": { "Enabled": false, "Text": "Одяг" }, "ru": { "Enabled": false, "Text": "Одежда" } }, "Items": [ { "Name": "T-Shirt", "Shortname": "tshirt", "Amount": 1, "Price": 0.03, "Description": "A tshirt, simple undergarment. Good protection from damage and the elements.", "Currency (Donate, Virtual, Scrap)": 1 }, { "Name": "Pants", "Shortname": "pants", "Amount": 1, "Price": 0.03, "Description": "A pair of pants, highly capable undergarment for your legs. Great all round protection from damage and the elements.", "Currency (Donate, Virtual, Scrap)": 1 }, { "Name": "Hoodie", "Shortname": "hoodie", "Amount": 1, "Price": 0.05, "Description": "A hoodie.", "Currency (Donate, Virtual, Scrap)": 1 }, { "Name": "Boots", "Shortname": "shoes.boots", "Amount": 1, "Price": 0.04, "Description": "Sturdy work boots to keep your toes safe, you'd feel nothing if you kicked a table leg. Strong protection against the cold and incoming damage.", "Currency (Donate, Virtual, Scrap)": 1 }, { "Name": "Roadsign Vest", "Shortname": "roadsign.jacket", "Amount": 1, "Price": 0.1, "Description": "A shoddy piece of body armor made from roadsigns.", "Currency (Donate, Virtual, Scrap)": 1 }, { "Name": "Roadsign Kilt", "Shortname": "roadsign.kilt", "Amount": 1, "Price": 0.1, "Description": "A shoddy piece of leg armor made from roadsigns. Moderate protection from melee and projectiles.", "Currency (Donate, Virtual, Scrap)": 1 } ] } }, "Donate economy plugin (Economics, ServerRewards, MBCoins)": "MBCoins", "Show Donate balance": true, "Virtual economy plugin (Economics, ServerRewards, MBCoins)": "Economics", "Show Virtual balance": true, "Enable Scrap economy": true, "Global discount percent (0-100)": 0.0, "Show Discount": true, "Permission discounts (permission = percent)": { "mbshop.vip": 10.0, "mbshop.premium": 20.0 } } 🖱 Modern UI Controls Quantity selector (+ / -) Scrollable item grid Scrollable cart Animated UI background blur Highly Configurable Categories Item prices Item amounts UI images via URLs Economy type Supported Economies Economy PluginSupported MBCoins Economics ServerRewards Supported Languages English (Default) Ukrainian Russian All UI elements, buttons, cart, prices, and notifications are localized. Security & Stability Protected ConsoleCommand handlers No RCON abuse No UI exploits Safe balance deduction Inventory validation before purchase Memory cleaned on player disconnect 🖼 UI Image System All UI images are loaded dynamically using an internal Local Image Loader: Shop background Item cell background Category background Buy button Total price panel NPC image Coin icon Error icon Success icon Images are fully configurable via URLs in the config. Example Config Snippet { "NPC Image URL": "https://yourimage.com/npc.png", "Coin image URL": "https://yourimage.com/coin.png", "Economy type (Economics, ServerRewards, MBCoins)": "MBCoins" } Commands Command Description /shop Open the shop UI 🛠 Requirements At least ONE of the following economy plugins: MBCoins Economics ServerRewards No other dependencies required. Perfect For: Donat shops PvP storefronts PvE progression shops VIP reward systems Premium monetization systems
    $13.00
  25. kaysharp

    Map Voter

    Version 1.1.24

    262 downloads

    This plugin makes the admin’s life easier by automatically generating maps, initiating a vote that lets users choose which map they would like to play in during the next wipe. Depends on: Image Library Wipe Info API Discord extension UnZip for Windows NEW GUI: Features: Automatically generate maps and start the vote ,every first Thursday of the month. Automatically generate maps on wipe day using https://rustmaps.com/ & wipe-info-api and start the vote. Allows players to vote on maps through an in-game UI or Discord (if you use any plugin that links a player and a Discord user, enable "only authenticated users can vote” in the config file to avoid duplicate votes). Automatically checks if it’s wipe day using wipe-info-api and the plugin’s config. Configure the plugin through a GUI (not all settings are available on the GUI). Select maps from rustmaps.com through a GUI via a RustMaps share code. Note : This plugin does not include auto wipe script. if you wish to automatically restart and update the server and wipes it on forced wipe or on schedule check the other version of Map voter. Video How to add Custom maps : Permissions: MapVoter.use only allows an admin to generate maps and start a vote. MapVoter.Manager allows an admin to use all the features. Commands: /mvote : Opens the plugin’s main GUI. /startvote After selecting which maps will appear on the vote, starts the vote. MapVoter.generate <Number of maps to generate> <seed> <voting duration in minutes>. voteresult : Shows which map had won the vote. Mapvoter.reload reload the plugin. MapVoter.stopvoting : stops ongoing voting. Discord commands: !vote !generate <Number of maps to generate> <seed> <voting duration in minutes>. Configuration { "Commands": { "Open MapVoter UI": "mvote", "Generate Mpas": "MapVoter.generate", "vote result": "voteresult" }, "Options": { "Select random maps from rustmaps filter id instead of generating random maps on wipe day (true/false)": true, "How many pages the plugin looks up per search request(every page has 30 maps": 10, "Enable Discord bot (true/false)": true, "Only players with permission MapVoter.Vote can vote (true/false)": false, "Map size": 3500, "Disable UI": false, "RustMaps API key": "https://rustmaps.com/user/profile", "staging": false, "barren": false, "Stop voting after (minutes)": 60, "avatar url": "", "Discord footer": "", "filter Id": "Visit https://rustmaps.com/ and adjust your map requirements. In the red box above the settings hit the Share button,the string at the end of the URL is the filterId.Example URL: https://rustmaps.com/?share=gEU5W6BUuUG5FpPlyv2nhQ the string at the end in this case {gEU5W6BUuUG5FpPlyv2nhQ} is the filterId." }, "Discord Settings": { "Discord Webhook": "https://support.discordapp.com/hc/en-us/articles/228383668-Intro-to-Webhooks", "Discord Apikey": "BotToken", "Discord Command Prefix": "!", "Discord Channels": [ { "Discord Channel ID": "", "Commands": [ "generate", "vote", "mapwipe", "bpwipe", "cancelwipe", "stopvoting", "update", "cancelupdate" ] } ], "Discord Command Role Assignment (Empty = All roles can use command.)": { "generate": [ "DiscordRoleName", "DiscordRoleName2" ], "vote": [ "DiscordRoleName", "DiscordRoleName2" ], "mapwipe": [ "DiscordRoleName", "DiscordRoleName2" ], "bpwipe": [ "DiscordRoleName", "DiscordRoleName2" ], "cancelwipe": [ "DiscordRoleName", "DiscordRoleName2" ], "stopvoting": [ "DiscordRoleName", "DiscordRoleName2" ], "update": [ "DiscordRoleName", "DiscordRoleName2" ], "cancelupdate": [ "DiscordRoleName", "DiscordRoleName2" ] } }, "Auto Vote": { "Auto start vote": true, "Only Authenticated users can vote through discord": true, "Start voting at (HH:mm) 24-hour clock (UTC)": "17:00", "Number of maps to generate": 4 }, "Auto Wipe": { "Custom Map": { "Custom map": false, "Map URL": "" }, "Map Wipe schedule": [ 7, 14, 21, 28 ], "BP Wipe schedule": [ 0 ], "Enable Auto wipe": true, "Wipe BPs at forced wipe day": true, "Forced Wipe time (HH:mm) 24-hour clock (UTC)": "19:00", "Wipe time (HH:mm) 24-hour clock (UTC)": "19:00" } } Contact kaysharp#2008
    $15.00

About Us

Codefling is the largest marketplace for plugins, maps, tools, and more, making it easy for customers to discover new content and for creators to monetize their work.

Downloads
2.5m
Total downloads
Customers
11.2k
Customers served
Files Sold
160.2k
Total sales
Payments
3.4m
Processed total
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.