Jump to content

Search the Community

Showing results for tags 'plugins'.

  • 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. Version 0.1.8

    1,245 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
  2. Version 1.3.2

    2,713 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
  3. Version 1.0.1

    43 downloads

    Overview MBCommands provides players with an intuitive graphical interface to view available server commands. Instead of typing help commands in chat, players can open a visually appealing menu that lists commands with descriptions in their native language (English, Ukrainian, Russian). The plugin features a built-in local image loader, eliminating the need for external dependencies like ImageLibrary. Images are cached locally for optimal performance. Features Local Image Loader — Downloads and caches images locally (oxide/data/). No external plugin dependencies required. Multi-Language Support — Command descriptions configurable per language (EN/UK/RU) directly in the config file. Fully Configurable — Add, remove, or edit commands via JSON without changing code. Modern UI — Scrollable command list with custom background images and customizable scrollbar colors. MBMainMenu Integration — Includes a "Back" button to return to the main menu (if MBMainMenu is installed). Configuration { "NPC Image URL": "https://i.ibb.co/r2Ft9sJQ/MBNPC.png", "Scrollbar Handle Color": "1 0 0 0.6", "Commands": [ { "Command": "/vip", "Descriptions": { "en": { "Enabled": true, "Text": "Opens VIP menu with exclusive perks." }, "uk": { "Enabled": true, "Text": "Відкриває VIP меню з ексклюзивними привілеями." }, "ru": { "Enabled": true, "Text": "Открывает VIP меню с эксклюзивными привилегиями." } } }, { "Command": "/craft", "Descriptions": { "en": { "Enabled": true, "Text": "Opens crafting menu for exclusive items." }, "uk": { "Enabled": true, "Text": "Відкриває меню крафту ексклюзивних предметів." }, "ru": { "Enabled": true, "Text": "Открывает меню крафта эксклюзивных предметов." } } } ] } Commands /commands Opens the commands menu.
    $2.30
  4. Whispers88

    Skinner

    Version 3.1.4

    10,991 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
  5. 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
  6. 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
  7. Barry_Allenn

    MBKits

    Version 1.4.6

    172 downloads

    MBKits — Modern Kit UI with Previews, Cooldowns, AutoKits & Permissions MBKits is a modern, fully customizable and visually refined Rust plugin for managing player kits through an advanced UI. It features a polished interface, animated intro images, detailed kit previews, cooldowns, autokits, pop-up notifications, flexible permissions, item skins, ammo support, and deep integration with systems. Core Features Beautiful Modern UI Clean scrollable interface with a 3-column grid for kits. Fully image-driven design (backgrounds, kit icons, overlays). Optional animated intro images on player connect. Supports custom images for individual kits. View Kit Contents Players can preview every item inside a kit: Detailed inventory layout: Main, Belt, Wear. Supports custom skins, modded items, nested contents. Shows weapon ammo, attachments, and item quantities. Supports custom icons per item via custom image keys. Advanced Cooldown System Per-kit cooldowns: 1h, 30m, 2d4h, etc. UI shows exact remaining cooldown time. Cooldowns persist through server restarts. Per-player cooldowns stored in data files. Permission Support Each kit can require its own permission. Permissions auto-register if missing. UI reacts to permission state: No access → greyed-out button. Hidden kits optionally supported. Claim System Checks if the player has enough space before giving the kit. Fully supports skins, ammo, attachments, modded weapons. Smart fallback logic if the intended slot is occupied. Custom commands per kit item using {playerid} and {name}. Success & error popups using dynamic UI with icons. Multi-language Support Built-in languages: English Russian Ukrainian All UI text and messages are fully localized and stored in separate language files. YouTube 🛠 Admin Tools Create / Remove Kits Create kit from your inventory: /dkit add <name> [permission] Saves main, belt, wear containers. Automatically creates a permission if not supplied. Sets default cooldown. Remove a kit: /dkit remove <name> Deletes the kit. Clears all cooldowns for all players. Create / Remove AutoKits /akit add <name> /akit remove <name> Permission System Requires mbkits.admin to manage kits. Kit permissions auto-create: mbkits.<kitname> Autokits: mbkits.autokit.<name> Commands Command Description /kits Opens the main kit UI /dkit add <name> Creates a new kit from your current inventory /dkit add <name> <permission> Creates a kit with a custom permission /dkit remove <name> Deletes a kit and clears all cooldown data /akit add <name> Creates a hidden AutoKit from your inventory /akit remove <name> Removes an AutoKit Data Files Stored under: oxide/data/MBSystem/MBKits/ MBKits_kits.json — player kits MBKits_cooldowns.json — per-player cooldowns MBKits_uses.json — usage limits MBKits_autokits.json — hidden autokits
    $7.00
  8. Version 1.3.1

    225 downloads

    MBMainMenu - Premium Main Menu for Rust MBMainMenu - a stylish, animated, and fully customizable main menu that welcomes players from the very first seconds on your server and transforms a regular join into a true WOW experience Make your server look modern, professional, and truly premium. Core Features Real-Time Server Information Online players Max player limit Player joins Queue size Server time 🗺 Map size Server rates Team size Game mode (PvP / PvE / Solo / Duo / Trio, etc.) Live Event Tracking Icons automatically switch between ON / OFF states: Airdrop Cargo Ship Chinook Patrol Helicopter 🛡 Bradley APC Players always know what’s happening on the server right now Economy & Rewards Supports 3 popular economy systems: Economics ServerRewards MBCoins Features Balance progress indicator First join reward ⏱ Online time rewards 🕹 Total playtime tracking Website & Social Integration All links open in clean UI windows with QR codes: Website Discord TikTok Instagram YouTube Each window includes Copy button QR code Stylish banner Quick close button Multilingual Support Full multi-language support Custom welcome text for each language Automatic language detection Visual Design 🌫 Blurred background Smooth animations Clean and modern UI 🖼 Custom backgrounds NPC character in menu Online and balance indicators Your server will feel like a high-end Rust project, not a basic setup Requirements ImageLibrary Economics or ServerRewards or MBCoins Author Barry_Allenn 🛠 Regular updates and support Discord https://discord.gg/6b5tkpDb57
    $8.00
  9. Carbon Team

    Carbon

    Version 2.0.242

    42,482 downloads

    Carbon is a self-updating, lightweight framework for Rust offering the best performance and stability possible. It's backwards compatibility Oxide data files and plugins make it the ultimate replacement for those wanting more from their plugins with less headache and performance overhead. Why use Carbon Carbon manages hooks in memory, instead of having to physically patch server files like Oxide does. This allows you to freely update the server without having to update Carbon, and the convenient fact that a Carbon update is rarely required, even if a new server update is released. It has much better performance thanks to dynamic hooks, which allows Carbon to dynamically load and unload hooks depending on the plugins you're running, instead of having over 800 hooks invoking that aren't being used. In addition to our full-time development team, we're able to hyper-optimize everything to ensure the best performance possible. Switching from Oxide This process is very simple thanks to our backwards compatibility and automatic migration when you boot the server with Carbon for the first time. It automatically copies all of your Oxide user and user data files, plugins, plugin configs, plugin data files, extensions and Harmony patches over to the managed Carbon directory. It's as easy as installing Carbon and letting it work! Automatic migration to Carbon Manual migration to Carbon More Reasons to Switch Carbon is free and will always be free Extremely lightweight Seamless migration from Oxide MySQL and SQLite user permission and data support Built-in modules maintained by the Carbon team to ensure essentials plugins are always ready for the big update Accurate and detailed error logging (No more incorrect stack traces. Find the issue quickly.) Native profiler to quickly identify performance issues with an intuitive in-game interface Plugin metrics to also identify performance issues at a glance that offers detailed print outs of plugin and hook usage Carbon is updated hours in advanced to force updates so you're never worrying if you can update your servers on-time Carbon updates itself when your server boots. No more auto update scripts or manual updates needed! Install, update and configure plugins all from our panel in-game without ever having to touch files again! Carbon offers a staging build that's updated all month to enable you to run modded staging servers and test your plugins well in advance to the big update Documentation Installing Carbon - https://carbonmod.gg/owners/installing-carbon Configuring Carbon - https://carbonmod.gg/owners/configuring-carbon Staging Builds Would you like to run Carbon on staging or aux branches of Rust throughout the month? Our staging and aux branches are always up-to-date, so you can properly test plugins prior to a major update or provide a modded server for players to try out new Rust updates before they're live! Staging - https://github.com/CarbonCommunity/Carbon.Core/releases/tag/rustbeta_staging_build Aux01 - https://github.com/CarbonCommunity/Carbon.Core/releases/tag/rustbeta_aux01_build Aux02 - https://github.com/CarbonCommunity/Carbon.Core/releases/tag/rustbeta_aux02_build Aux03 - https://github.com/CarbonCommunity/Carbon/releases/tag/rustbeta_aux03_build For Developers If you're a developer, you can enjoy all of the latest improvements of C# 10 as well as the ability to add your own methods anywhere in the assembly without being locked down to pre-existing hooks. All of your existing Oxide plugins will be compatible, though we recommend making a Carbon-specific version available to utilize Carbon to its fullest. Check out Creating your First Plugin to get started!
    Free
  10. KpucTaJl

    Water Event

    Version 2.2.3

    3,374 downloads

    A new event includes a lot of game mechanics Description The event starts with a warning in the chat: a submarine will soon be passed near the island. A submarine will appear on the water when the time is up. There are 4 floors in the submarine. 2 floors are over the water and 2 floors are under the water. It is possible to get into the submarine on absolutely any transport. There are 4 outside entrances, 4 underwater entrances, and 2 submarine entrances (added in the Underwater Update). There are about 50 NPCs outside the boat and two upper floors. There are about 120 crates of items, rooms with blue and red doors, locked crates, recyclers, workbenches in the submarine (it is possible to set up in the configuration). There are also 4 cameras on the submarine that you can connect to (Submarine1, Submarine2, Submarine3, Submarine4). The number and location of all NPCs and crates can be changed in the plugin configuration. It is also possible to change the dropdown items in them. It is necessary to blow up the doors on the submarine with explosives to get to the crates (it is possible to set up the amount of damage to the doors in the configuration). When an event appears, a marker will display on the map (configurable in the configuration file). It is possible to set up in the configuration the PVP zone for those who use the TruePVE plugin. A timer with a countdown to the Event end and the number of crates and NPCs will display for all players in the Event zone. The conditions for the completing event are the end of the timer or the end of the loot crates. The submarine will disappear at the end of the event. It is possible to set up an automatic event appear on the map. All timers can be set up in the configuration. It is possible to lower the FPS on the server due to the large number of entities during the submarine appearance or the end of the event! Dependencies Required NpcSpawn Dependencies (optional, not required) True PVE PveMode GUI Announcements Notify Discord Messages AlphaLoot CustomLoot NTeleportation Economics Server Rewards IQEconomic Kits Chat commands (only for administrators) /waterstart - start the event /waterstop - end the event /waterpos - determining the position and rotation coordinates for changing the location of NPCs and crates.It should write in the configuration (Attention! The event must be started, the current position of the administrator in relation to the submarine is read) Console commands (RCON only) waterstart - start the event waterstop - end the event Plugin Config en - example of plugin configuration in English ru - example of plugin configuration in Russian Hooks void OnWaterEventStart(HashSet<BaseEntity> entities, Vector3 position, float radius) – called when the event starts void OnWaterEventEnd() – called when the event ends void OnWaterEventWinner(ulong winnerId) – called at the end of the event, where the winnerId is the player who did more actions to complete the event My Discord: KpucTaJl#8923 Join the Mad Mappers Discord here! Check out more of my work here! The submarine is designed by Jtedal
    $40.00
  11. KpucTaJl

    Air Event

    Version 2.3.2

    3,189 downloads

    The event is an alternative to the usual cargoship, but it is only in the air Description The chat notification about the airship with scientists arrival to the island begins the event A smoke screen appears in the air after the time is up (it is possible to deactivate the smoke screen in the configuration), then the airship with scientists appears There are 2 locked, 2 elite, 2 military, 2 standard crates and 16 NPCs on the airship as the default The location and loot of all the crates/NPCs can be changed in the configuration, you can add or remove unnecessary crates/NPCs There are 2 CCTV cameras by which you can track the availabilities of locked crates on the airship (the name of the cameras can be changed in the configuration) The looting of both locked crates is the condition for the completion of the event. After that the players have time to depart the airship. They can use the transport that they arrived on it or use hot air balloons on the airship (you need be inside the basket of the hot air balloon) Dependencies Required NpcSpawn Dependencies (optional, not required) True PVE PveMode GUI Announcements Notify Discord Messages AlphaLoot CustomLoot NTeleportation Economics Server Rewards IQEconomic Kits Chat commands (only for administrators) /airstart – starting of the event /airstop – ending of the event /airpos – determining the position and rotation coordinates for changing the location of NPCs and crates.It should write in the configuration (Attention! The event must be started, the current position of the administrator in relation to the cargoship is read) Console commands (RCON only) airstart – starting of the event airstop – ending of the event Plugin Config en - example of plugin configuration in English ru - example of plugin configuration in Russian Hooks void OnAirEventStart(HashSet<BaseEntity> entities) – called when the event starts void OnAirEventEnd() – called when the event ends void OnAirEventWinner(ulong winnerId) – called at the end of the event, where the winnerId is the player who did more actions to complete the event My Discord: KpucTaJl#8923 Join the Mad Mappers Discord here! Check out more of my work here! The airship is designed by Jtedal
    $25.00
  12. Version 1.0.0

    91 downloads

    SafeZoneVehicle enforces specific safety rules for vehicles within safe zones. It ensures that vehicles and their passengers are better protected in safezones by disabling damage and preventing certain interactions. With this plugin you can protect your players and prevent them from annoyingly leaving the server because they were pushed by the recycler or died while recycling. It also offers other useful modifications. Features: Vehicles no longer take damage in safezones. Players can no longer push vehicles with passengers in safezones. Permissions: safezonevehicle.use load, run, enjoy Join my Discord pick the Role -> Flash and find Free Plugins Support Discord
    Free
  13. nivex

    Raidable Bases

    Version 3.1.3

    47,976 downloads

    Create fully automated raidable bases with NPCs in Rust NOT compatible with server.pve when set to true. Use a PVE plugin like TruePVE if you want PVE protection. This is the premium version of Raidable Bases. The differences between this and the free version are too many to list. A few key differences are: five (5) difficulties and associated loot table functionality instead of one (1), buyable events, lockouts for players. Requires latest version of CopyPaste. This plugin does NOT come with any bases. Packages are sold separately that include bases. Check out my packages for this plugin for tier1, tier2, and tier3 which contain everything you need to get the plugin working in minutes with all bases and loot already configured for you! Packages are sold separately. Facepunch TOS Disclaimer: The Facepunch Terms of Service have been updated to explicitly prohibit servers from enabling players to access Facepunch-approved DLC content or cosmetic skins through any method other than those officially provided by vanilla Rust (e.g., legitimate crafting or ownership-based unlocking mechanisms). This plugin includes built-in configuration options—enabled by default—that are designed to assist servers in maintaining compliance with this policy. Modification, disabling, or circumvention of these safeguards may place the server in breach of Facepunch's Terms of Service. By using this plugin, server operators acknowledge and accept full responsibility for any alterations made to its configuration, and the developer assumes no liability for any misuse, policy violations, or enforcement actions resulting therefrom. You should independently ensure that any prohibited content—such as unauthorized DLC items or restricted skins—is removed from your server files. Do not rely solely on this plugin or any third-party tool for compliance. The developer assumes no liability for servers found in violation due to misconfiguration, oversight, or failure to remove such content manually. You can add unapproved (non-paid) skins manually to your ImportedWorkshopSkins.json file found in the RaidableBases data directory, which has an example provided already. Profiles in Oxide are located in the folder: oxide/data/RaidableBases/Profiles Profiles in Carbon are located in the folder: carbon/data/RaidableBases/Profiles ninco90 has created a tool to help with this. At the time of this posting, he’s still actively working on this, so please be patient while he fixes issues with it. https://app.rustspain.com/facepunch/checkitems RBE DEBUG This command exists to aid with issues regarding your configuration, profiles and/or map by displaying information, both good and bad, related to finding spawn points and spawning of bases. It is your responsibility to use this command before asking for help. Loot Table Editor by @beee https://codefling.com/tools/raidable-bases-boats-loot-editor/ heya, I can't say without your config file. TL;DR, it's likely your config as your map has an abundance of available spawn points given how flat some of the areas on your map are. you've likely changed the biome settings, or have forced everything elsewhere. Shop Plugins TL;DR: A shop/store plugin will not be supported unless they sell at zero cost. Otherwise players can pay and get blocked by RB cooldowns/restrictions with no possible refund. Price at 0, run the command, let RB charge/refund. The buyraid command handles all payments from players and purchases from plugins. RaidableBases has multiple cooldowns and restrictions that can make a purchase invalid and block it. If a shop plugin handles payment, and RaidableBases then blocks the purchase due to a cooldown or restriction, the player will not be refunded: The shop plugin does not know the purchase failed, so it cannot refund. RaidableBases did not see or handle the payment, so it cannot refund either. Because of that, the shop must sell the event for free (0) and only trigger the purchase command. RaidableBases must handle charging and refunds internally without exception. If a shop plugin cannot sell at zero cost it will not be supported. Supported method: Set the cost in the RaidableBases config Set the shop price to free/0 (if a shop plugin cannot sell for free/0, it will not be supported) Shop command: buyraid 0 <steamid> <steamid> must use the placeholder syntax your shop plugin requires. Example: if your shop uses %steamid%, then use: buyraid 0 %steamid% By default, 0 is the difficulty level (0=Easy, 1=Medium, 2=Hard, 3=Expert, 4=Nightmare) Map Terrain and it's importance with this plugin (maps must be designed appropriately for use with this plugin) Flat terrain only: I do not support spawning bases on bumpy terrain—design them on flat terrain only. Fortify on Steam is perfect for this, and there are plenty of bases available there. Be careful when downloading bases from ANY source: vet them first, and remember that bases are not all designed equally. Stability can be shaky in some, causing them to crumble as they paste in. Inventories may contain items the designer forgot to remove. Worst of all, some bases aren’t copied properly from their centermost foundation—copying at the wrong height can make them spawn below the map or way above it. If you look at the ground, paste it in, and it appears elsewhere, it was not copied properly. Recopy it—don’t rely on ANY height settings in profiles! Those settings are for MINOR adjustments, not for bases that got yeeted halfway around the world. If the plugin is ignoring terrain, it's usually due to one of three reasons: The terrain is not flat enough for bases to spawn on- bases should be designed on unobstructed flat and equal terrain. You've modified a setting in your config or profiles, use compare in Notepad++ or diff on the default config file, and your config file, and see what changes are different. This is the EASIEST way to see what you've changed! The spawn point is blocked by a visible or invisible entity. Just because you can't see it does not mean it's not there. RBE DEBUG (see documentation) exists solely so you can spot issues like this on-the-fly. Understand that debug contains GOOD and BAD information, use your common sense to narrow it down weighing the highest number occurrences of BAD debug at the most likely causes. Easier than it sounds. No worries. If your map’s terrain is bad, you’ve still got options: the beach, the water, or custom spawn points. Shagadelic, baby. Custom spawn points Spawns Database plugin Create spawn points yourself, and put the name of the file (e.g: nivexspawnpoints10 - note that .json is NOT appended to the end of the filename, do not append it, using the filename without its path or extension as I've shown) in your config OR profile (not both, highly recommend profile only). Allow Raid Bases On Beaches in the config, not the profiles. This is for the beach and all beach terrain under the water within its vicinity, usually a very short distance out from the shore. Water Settings - In the profiles, not the config. Highly recommended: Water is abundant in the ocean, surprise! Enable within your profiles, force them on top of the waters surface. Highly recommended for maps with bad terrain. Allow Bases To Float Above Water: true Chance For Underwater Bases To Spawn: 100 Spawn On The Surface Of Water: true Ignore Land Level On Seabed: true Prevent Bases From Floating Above Water By Also Checking Surrounding Area: false Maximum Water Depth Level Used For Float Above Water Option: 1 Minimum Water Depth Level Used For Seabed Option: -20 (negative twenty, forcing the spawn points AWAY from the shoreline) Keep these settings enabled (true), knowing that changing them can and will break the plugin depending on the maps you use. Some maps may embrace these changes, while others will feel like a distant echo—terrain reduced to nothing, the memory abandoned entirely, lost to the abyss for all eternity. Just kidding—use the damn water settings and quit pouting. Bad spawns are notoriously brutal on custom maps. Allow Raid Bases On Beaches Allow Raid Bases Inland Allow Raid Bases On Building Topology Enable (true) these settings if you're in desperate need of more spawn points: Allow Raid Bases On Roads Allow Raid Bases On Rivers Do not use these options if you have high traffic on railroads Allow Raid Bases On Railroads Do not modify Allow Raid Bases In Biomes without understanding that disable a biome will prevent all bases from spawning within that biome! Allow Raid Bases In Biomes Arctic: true Arid: true Temperate: true Tundra: true or false Jungle: true or false Last but not least, the most important of them all for anyone not using custom spawn points from Spawns Database plugin (see documentation): The number of potential spawn points is displayed when the grid loads. First, the plugin must initialize, then it generates potential spawn points across your map. Once this process is complete—usually within a few minutes—it will output the results to your server console. If potential points are under 1000, the map has poor terrain, or you’ve disabled too many options in the config. If potential points are above 1500, you’ll have a reliable amount of spawns. This number will naturally decline as players build more bases on the server. If potential points are above 2500 but nothing spawns, your config and/or profiles are set up incorrectly. Read the documentation. Do not disable biome options in the config. Doing so blocks all spawns in those biomes. There are just a few steps required to get bases spawn on your server within minutes (3 minutes for experts, 30 minutes for a novice, and 60 to 120 minutes for beginners. Total time to configure the plugin beyond these steps is infinite, you'll never stop making changes so long as you continue building your base catalog into a massive collection of artwork). You must have the CopyPaste plugin installed. (Disclaimer: Configuring this to your servers specific needs will require a lot of time and effort) Step 1: Obtain Your Bases You can get bases by: Downloading them from Fortify Purchasing a tier package from me Buying a base package from third-party sellers (be wary that some sellers include items in their CopyPaste files!) Creating your own bases CopyPaste files belong in the oxide/data/copypaste/ folder for Oxide users, and the carbon/data/copypaste/ folder for Carbon users. Note that the folder name must be in all lowercase. Step 2: Set Up Profiles Profiles are located in: oxide/data/RaidableBases/Profiles/ carbon/data/RaidableBases/Profiles/ There are five different profiles. You can add the filenames of your CopyPaste bases manually, or by using the command: For example (You must use straight double quotes. Curly double quotes are not supported!): Step 3: Edit the Configuration The configuration file is located in: oxide/config/RaidableBases.json carbon/configs/RaidableBases.json Make the following changes: Always Maintain Max Events: Set this to true. Max Maintained Events: Set this to the number of bases you want to spawn. Minimum Required Players Online: If you want bases to spawn even when no players are online, set this to 0. Step 4: Save and Reload After making your changes: Save your files. Reload the plugin. The bases will now start spawning automatically. They will use the Default Loot table, located in: oxide/data/RaidableBases/Default_Loot.json carbon/data/RaidableBases/Default_Loot.json Step 5: Customize Loot Tables Refer to the documentation to learn how to set up your own custom loot tables. Additional Information If you want buyable events using the /buyraid command, you can set a cost under the Buyable Event Costs section. This includes: Economics Buy Raid Costs ServerRewards Buy Raid Costs Custom Buy Raid Costs Tips for Customizing Your Setup The plugin has many settings to customize. No guide can cover everything, so you will need to go through each setting and adjust it to meet your server’s needs. Important: Make backups as you configure the settings. Don’t rush—take it one step at a time. Dynamic difficulties (added in 3.0.0): Easily add or remove your own difficulties. You should reload the plugin whenever you make changes! Add a difficulty: rb.difficulty add "Sky" This will create the profile "Sky Bases.json" and set the difficulty to "Sky" rb.config add "Sky Bases" sky1 sky2 sky3 sky4 sky5 Reload the plugin! This will create language messages in the EN and RU language files which you can copy to other language files. If your messages do not update after a reload then you must restart your Rust server to reset Oxide cache. This will create all relevant settings for "Sky" within the config file where you must set them all as desired You need your own copypaste files and loot tables using their new respective names. Base Loot folder - add a loot table with the filename "Sky Bases.json" to match the profile name. Difficulty Loot folder - add a loot table with the filename "Sky.json" to match the difficulty name. Remove a difficulty: rb.difficulty remove "Sky" This will remove all settings for this difficulty from the config file - and disable the profile - only. No files are deleted! Edit or change a difficulty name: This is not supported and will not be - some hosts restrict System.File.IO namespace Please avoid trying to do this unless you are an expert user - you must rename EVERYTHING yourself Configuration errors are shown in rcon when the plugin loads If you make a mistake, you can use the add command a second time which will re-add any missing settings. If you feel overwhelmed or frustrated, take a break and return to it later. I am always here to answer your questions and help you (even if it takes some hours for me to respond). Tutorial This is not your run-of-the-mill plugin. DO NOT INSTALL WITHOUT READING THIS DOCUMENTATION FIRST. This plugin is extremely advanced and requires utmost attention to detail to configure properly. Jumping around in the configuration file or profiles will lead to more problems than it's worth. Take your time to understand each option before enabling or disabling its functionality. Raidable Bases is an independent expansion of Dangerous Treasures. You may learn how to enable the expansion mode below. It does not require Dangerous Treasures for any other purpose. Configuration Loot Tables The plugin comes with some very basic items (Default_Loot.json) that only serve as a demo loot list for you to either delete or expand upon. In order to make any use of the plugin (beyond demonstration) you will have to create your own loot lists instead. It will take a very long time to configure your loot tables, and fine-tune each to your specific needs. To start, I recommend that you use the rb.populate all command. This creates files in the Editable_Lists folder for each difficulty that contain every item in the game. Edit each file and set the amounts for the items that you want to spawn, and remove those that you do not want to spawn. It may look intimidating editing a list of 660 items, but don't underestimate how easy it is to delete items from a list compared to adding each one manually. Items that have their amount AND amountMin set to 0 will not spawn. So you may either delete these items from the list, or come back to them later. If you set amountMin to 0 then chance will determine if the item spawns or not, and another item will not replace it unless there are extra items available (as of 1.7.3). You can set the item skin that you want to use, but I suggest using the Skins settings in the configuration file to use random skins, or none at all. The rb.populate command which populates the Editable_Lists folder also includes items already inside of your Difficulty_Loot folder. This allows you to easily repopulate lists in order to re-evaluate which items spawn at a later date. Files inside of the Editable_Lists folder must be copied into an existing loot file in order to use the loot table. As the name implies, it is for editing only. - If you want to use Editable_Lists/Easy.json for your Easy bases then copy the contents of the file into the Difficulty_Loot/Easy.json file. - If you want to use Editable_Lists/Expert.json for the Expert Bases.json profile, then you must copy the contents of the Expert.json file into the Bases_Loot/Expert Bases.json file probability - the chance that the item can spawn. value must be between 0.0 and 1.0 where 1.0 is 100% chance Loot Priority Loot is pulled from all datafiles within the oxide/data/RaidableBases/ folder with the exception of the Profiles folder which is used to configure bases. oxide/data/RaidableBases/Base Loot - If a loot table exists in this folder with the same name as a profile then all of the bases in that profile will use this loot table. If you want items in this loot table to always spawn then you must enable Always Spawn Base Loot Table in the respective profile. oxide/data/RaidableBases/Difficulty Loot - Items will be chosen from these files based on the difficulty of each profile. If Use Day Of Week Loot is enabled then it will choose the loot table for that specific day. Otherwise, it will pick from Default_Loot.json. This is the default list, and is only used when all other loot tables do not have a sufficient amount of loot to spawn based on the Amount Of Items To Spawn setting. Loot Settings Block paid and restricted content to comply with Facepunch TOS (true) – removes paid content on NPC death, prevents pickup of DLC/paid deployables, resets skins on pickup, and blocks paid loot in boxes. Future update may allow pickup for content owners. Allow Duplicate Items - This is useful when you do not have enough items in your loot tables , and you want to spawn Amount Of Items To Spawn by using the same items more than once. Amount Of Items To Spawn - This is the number of items that you want to spawn. If you do not have enough items in your loot tables then it will only spawn the amount that you have available. It will not spawn items if the container does not have enough space. Drop Tool Cupboard Loot After Raid Is Completed (false) Divide Loot Into All Containers - This allows you to divide loot evenly from all of your loot lists into all containers when enabled. You MUST increase or decrease Amount Of Items To Spawn respective to how many items you want in each container. This includes large boxes, small boxes, coffins and storage barrels. Optional settings include (in order of priority) cupboard, bbq, oven, fridge and lockers. Allow Players To Pickup Deployables (false) - As name implies, overridden by Entities Not Allowed To Be Picked Up Allow Players To Deploy A Cupboard (true) - Block players from placing a TC after destroying the TC in the base. Drop Container Loot X Seconds After It Is Looted (false) - Prevent players from cherry picking items and leaving the rest, in order to despawn the raid quicker. Drop Container Loot Applies Only To Boxes And Cupboards (true) - As name implies Empty All Containers Before Spawning Loot (true) - Useful if using CopyPaste files that contain loot already - I suggest leaving this true as it can complicate how many items spawn if there are too few inventory slots remaining. Ignore Containers That Spawn With Loot Already (false) - Useful if you want specific loot to spawn from a copypaste file. Require Cupboard Access To Loot (false) - Prevent all players from looting until they reach the TC, or destroy it. Skip Treasure Loot And Use Loot In Base Only (false)" - Useful if you want all loot to spawn from a copypaste file - not recommended - will allow players to memorize which boxes to raid and ignore the rest. Always Spawn Base Loot Table (false) - Very useful if you want items in the Base_Loot file to always spawn (such as C4, rockets, ammo, etc) Advanced Loot Configuration Loot Behavior in Tool Cupboards Stacked Items Combine Items that spawn into the Tool Cupboard (TC) automatically combine into single stacks. For example, two separate 500-stone stacks will merge into one 1,000-stone stack. This is reflected in the Status UI. TC Always Counts Toward Remaining Loot In Status UI The contents of the TC are always included in the loot remaining total shown in the Status UI — even if looting the TC is not required for event completion. There is no reason players should not be aware of the TC amount. Making the TC a Requirement By default, players do not need to loot the TC to complete the raid. To require TC and boxes to be looted before the event can be completed, enable: Require Cupboard To Be Looted Before Completion To require only the TC to be looted before the event can be completed, enable: Destroying The Cupboard Completes The Raid Stack Size Options Stack-Split Items Reduce Remaining Loot When using stack size options, the split stacks are counted individually, which reduces the number of remaining items needed to meet the Amount Of Items To Spawn requirement. Optional Setting To Change This Behavior: Amount Of Items To Spawn Increased By Item Splits When enabled, one item will still count as one, even if it becomes split into multiple smaller stacks. An option exists in the configuration file for all items: Use Stack Size Limit For Spawning Items An option exists in the loot tables for each individual item, and will override the above option: stacksize Additional Containers Only TC and Boxes are counted in the Status UI by default Other containers (e.g., furnaces, lockers) are not included in the remaining loot count by default. To include others, add the prefab short name (not item shortname) found with /tpve_prod to: Additional Containers To Include As Boxes Settings Blacklisted Commands (none) - prevents players from using these commands inside of a raid base Automatically Teleport Admins To Their Map Marker Positions (true) - right-click map to teleport (requires raidablebases.mapteleport permission) Block Wizardry Plugin At Events (false) - Block players from using wands Chat Steam64ID (0) - The steam profile icon to show in chat messages Expansion Mode (Dangerous Treasures) (false) - Allow Dangerous Treasures to take over a random box for its event Remove Admins From Raiders List (false) - Allows admins to help players without receiving any rewards Show X Z Coordinates (false) - Show X Z coordinates alongside grid location Buy Raid Command (buyraid) - Opens the buyable UI to purchase raids for each difficulty Event Command (rbe) - Specify command name Hunter Command (rb) - Specify command name Server Console Command (rbevent) - Specify command name Remove Paid Content Command - Name is generated randomly on load. This command will edit your loot tables and all copypaste files. Backup your files before using this command. The edit will remove any restricted content from these files. Block paid and restricted content to comply with Facepunch TOS (true) – removes paid content on NPC death, prevents pickup of DLC/paid deployables, resets skins on pickup, and blocks paid loot in boxes. Future update may allow pickup for content owners. Raid Management Allow Teleport (false) - Allow/prevent players from teleporting Allow Cupboard Loot To Drop (true) - Allows loot to drop when TC is destroyed by a player Allow Players To Build (true) Allow Players To Use Ladders (true) Allow Players To Deploy Barricades (true) Allow Players To Upgrade Event Buildings (false) - Prevent players from upgrading buildings with no TC to prevent this otherwise Allow Player Bags To Be Lootable At PVP Bases (true) - Bypasses Prevent Looting plugin Allow Player Bags To Be Lootable At PVE Bases (true) - Bypasses Prevent Looting plugin Allow Traps To Drop Loot (false) - Allow traps such as guntraps and turrets to drop loot on death Allow Players To Loot Traps (false) - Allows players to loot traps such as guntrap and turrets with TC access Allow Raid Bases On Roads (true) Allow Raid Bases On Rivers (true) Allow Raid Bases On Building Topology (true) - Specifically added for custom map makers Allow Vending Machines To Broadcast (false) - Prevents vending machines from showing on the map Allow Bases To Float Above Water (false) - Keyword: FLOAT Allow Bases To Spawn On The Seabed (false) Prevent Bases From Floating Above Water By Also Checking Surrounding Area (false) - Keyword: FLOAT Maximum Water Depth Level Used For Float Above Water Option (1.0) - Keyword: FLOAT, but allows you to prevent on water if the value is low enough Backpacks Can Be Opened At PVE Bases (true) Backpacks Can Be Opened At PVP Bases (true) Backpacks Drop At PVE Bases (false) - Will drop a backpack on death, even if explicity disabled in Backpack configuration (requires Backpacks 3.4.0 ) Backpacks Drop At PVP Bases (false) Block Mounted Damage To Bases And Players (false) - Prevent players from dealing damage while on mini, scrap heli, etc Block RestoreUponDeath Plugin For PVP Bases (false) Block RestoreUponDeath Plugin For PVE Bases (false) Bypass Lock Treasure To First Attacker For PVE Bases (false) - Do not set an owner for PVE bases Bypass Lock Treasure To First Attacker For PVP Bases (false) - Do not set an owner for PVP bases Despawn Spawned Mounts (true) - Allows mounts such as mini or scrap heli to remain if not abandoned when raid despawns Do Not Destroy Player Built Deployables (true) - Loot is not lost if the plugin destroys a player's box with this option - it is dropped on the ground in a grey loot container just as if they destroyed the box themselves Do Not Destroy Player Built Structures (true) Divide Rewards Among All Raiders (true) Draw Corpse Time (Seconds) (300.0) - The amount of time the players corpse location is drawn on their screen Eject Sleepers Before Spawning Base (true) Extra Distance To Spawn From Monuments (0.0) Flame Turrets Ignore NPCs (false) - Can help with performance on some servers Maximum Land Level (2.5) - The allowed height of the surrounding terrain for spawning bases (this should never be changed) Move Cookables Into Ovens (true) Move Food Into BBQ Or Fridge (true) Move Resources Into Tool Cupboard (true) Move Items Into Lockers (true) Lock Treasure To First Attacker (true) - Sets the first attacker as the owner of a raid. You must set eject enemies settings in each profile if you do not want players entering private raids Lock Treasure Max Inactive Time (Minutes) (20.0) - Resets the raid as public after this time Assign Lockout When Lock Treasure Max Inactive Time Expires (false) - useful those who partially raid bases in order to avoid the lockout timer Lock Players To Raid Base After Entering Zone (false) - Forces players to be locked to a raid once they enter it, even on accident Only Award First Attacker and Allies (false) Minutes Until Despawn After Looting (min 1) (15) - The time until the base despawns after being raided Minutes Until Despawn After Inactive (0 = disabled) (45) - The time until the base despawns after being inactive Minutes Until Despawn After Inactive Resets When Damaged (true) - Resets the time until the base despawns when it is damaged by a player Mounts Can Take Damage From Players (false) Mounts Can Take Damage From SamSites (true) Player Cupboard Detection Radius (100.0) - Extra layer of protection to prevent raid bases from spawning too closely to player bases (this should never be under 100 and never too high either, 100-200 at most) Players With PVP Delay Can Damage Anything Inside Zone (false) - Applies specifically to PVP raid bases Players With PVP Delay Can Damage Other Players With PVP Delay Anywhere (false) PVP Delay Between Zone Hopping (10.0) - The amount of time players can take damage while on a PVE server after stepping outside of a PVP zone - prevents exploiting - recommended value: 120 Prevent Fire From Spreading (true) - Helps with server performance by preventing forest fires, err, fire from spreading after initial spawn Prevent Players From Hogging Raids (true) - Prevents players from tagging multiple raids at once Require Cupboard To Be Looted Before Despawning (false) Destroying The Cupboard Completes The Raid (false) Require All Bases To Spawn Before Respawning An Existing Base (false) - Rotate through all bases specific to each difficulty before reusing an existing base Turn Lights On At Night (true) Turn Lights On Indefinitely (false) Traps And Turrets Ignore Users Using NOCLIP (false) Use Random Codes On Code Locks (true) Wait To Start Despawn Timer When Base Takes Damage From Player (false) - Prevents the inactive despawn timer from starting until it is damaged by a player. Combos well when inactive resets is disabled by giving players a limited time to finish a raid once they start it Additional Containers To Include As Boxes (none) - example: vendingmachine Eject Mounts Boats (false) - Set any true to prevent them from entering a raid base Cars (Basic) (false) Cars (Modular) (false) Campers (true) Chinook (false) Flying Carpet (false) Horses (false) HotAirBalloon (true) MiniCopters (false) Pianos (true) Scrap Transport Helicopters (false) All Other Mounts (false) All Controlled Mounts (false) - Mounts controlled via another plugin Max Amount Of Players Allowed To Enter Each Difficulty (0 = infinite, -1 = none) (infinite) Easy Difficulty => Amount (0) Medium Difficulty => Amount (0) Hard Difficulty => Amount (0) Expert Difficulty => Amount (0) Nightmare Difficulty => Amount (0) Max Amount Allowed To Automatically Spawn Per Difficulty (0 = infinite) -1 = disabled) Easy (0) - Specifies how many of each difficulty can be spawned at any given time Medium (0) Hard (0) Expert (0) Nightmare (0) Player Lockouts (0 = ignore) - this is for PUBLIC raids where buyable events use the Buyable Cooldowns and these are not shared - players may still do 1 public and 1 buyable event if these are both enabled Time Between Raids In Minutes (Easy) (0.0) - Set a cooldown before the player can enter another raid base Time Between Raids In Minutes (Medium) (0.0) Time Between Raids In Minutes (Hard) (0.0) Time Between Raids In Minutes (Expert) (0.0) Time Between Raids In Minutes (Nightmare) (0.0) Block Clans From Owning More Than One Raid (false) - Prevent clans from hogging multiple raid bases Block Friends From Owning More Than One Raid (false) Block Teams From Owning More Than One Raid (false) Easy|Medium|Hard|Expert|Nightmare Raids Can Spawn On Monday (true) Tuesday (true) Wednesday (true) Thursday (true) Friday (true) Saturday (true) Sunday (true) Difficulty Colors (Border) Easy (000000) Medium (000000) Hard (000000) Expert (000000) Nightmare (000000) Difficulty Colors (Inner) Easy (00FF00) Medium (FFEB04) Hard (FF0000) Expert (0000FF) Nightmare (000000) Map Markers Marker Name (Raidable Base Event) Radius (0.25) Use Vending Map Marker (true) Show Owners Name on Map Marker (true) Use Explosion Map Marker (false) Create Markers For Buyable Events (true) Create Markers For Maintained Events (true) Create Markers For Scheduled Events (true) Create Markers For Manual Events (true) Buyable Events Do Not Reward Buyable Events (false) Refunds > Refund Despawned Bases (false) Refunds > Refund Percentage (100.0) Refunds > Refund Resets Cooldown Timer (false) Refunds > Block Refund If Base Is Damaged (true) Cooldowns (0 = No Cooldown) VIP Permission (raidablebases.vipcooldown (300.0) Admin Permission (raidablebases.allow (0.0) Server Admins (0.0) Normal Users (600.0) Allow Players To Buy PVP Raids (false) - If all of your profiles have PVP enabled then players will NOT be able to buy any raids! Convert PVE To PVP (false) Convert PVP To PVE (false) Distance To Spawn Bought Raids From Player (500.0) Lock Raid To Buyer And Friends (true) Ignore Player Entities At Custom Spawn Locations (false) Ignore Safe Checks (false) - if enabled will prevent the plugin from checking the area for a TC, buildings, or deployables Max Buyable Events (1) Reset Purchased Owner After X Minutes Offline (10.0) Spawn Bases X Distance Apart (100.0) - most maps cannot support this being above 200 ! Spawns Database File (Optional) (none) - Useful if you want buyable raids to spawn in specific locations using spawn files from the Spawns Database plugin Maintained Events Always Maintain Max Events (false) - Spawn another raid soon after one despawns Ignore Player Entities At Custom Spawn Locations (false) - spawn regardless of what player entities are built in the area Chance To Randomly Spawn PVP Bases (0 = Ignore Setting) (0.0) - Overrides all PVP Allow profile settings for a chance to make the raid PVE or PVP Convert PVE To PVP (false) Convert PVP To PVE (false) Include PVE Bases (true) Include PVP Bases (true) Ignore Safe Checks (false) - Bypass checks that ensure no buildings or other objects are blocking the spawn Minimum Required Players Online (1) - Max Maintained Events (1) - How many bases you want available at any given time Spawn Bases X Distance Apart (100.0) - most maps cannot support this being above 200 ! Spawns Database File (Optional) (none) - Useful if you want maintained raids to spawn in specific locations using spawn files from the Spawns Database plugin Time To Wait Between Spawns (15.0) - Wait a specific time frame between each paste (can be set to 0) Manual Events Convert PVE To PVP (false) Convert PVP To PVE (false) Max Manual Events (1) Spawn Bases X Distance Apart (100.0) Spawns Database File (Optional) (none) - Useful if you want manually spawned raids to spawn in specific locations using spawn files from the Spawns Database plugin Scheduled Events Enabled (false) - Spawn raids on a timer specific to random amount of time between Every Min and Every Max Seconds Ignore Player Entities At Custom Spawn Locations (false) - spawn regardless of what player entities are built in the area Chance To Randomly Spawn PVP Bases (0 = Ignore Setting) (0.0) - Overrides all PVP Allow profile settings for a chance to make the raid PVE or PVP Convert PVE To PVP (false) Convert PVP To PVE (false) Every Min Seconds (3600.0) Every Max Seconds (7200.0) Include PVE Bases (true) Include PVP Bases (true) Ignore Safe Checks (false) - Bypass checks that ensure no buildings or other objects are blocking the spawn Max Scheduled Events (1) Max To Spawn At Once (0 = Use Max Scheduled Events Amount) (0) Minimum Required Players Online (1) Spawn Bases X Distance Apart (100.0) - most maps cannot support this being above 200 ! Spawns Database File (Optional) (none) - Useful if you want scheduled raids to spawn in specific locations using spawn files from the Spawns Database plugin Time To Wait Between Spawns (15.0) - Wait a specific time frame between each paste (can be set to 0) Economics Buy Raid Costs (0 = disabled) - if you do not configure at least one cost for Buyable Events then players will not be able to buy any raids Easy (0.0) - How much each raid costs, use the /buyraid command to see the UI Medium (0.0) Hard (0.0) Expert (0.0) Nightmare (0.0) ServerRewards Buy Raid Costs (0 = disabled) - if you do not configure at least one cost for Buyable Events then players will not be able to buy any raids Easy (0) - How much each raid costs, use the /buyraid command to see the UI Medium (0) Hard (0) Expert (0) Nightmare (0) Custom Buy Raid Costs (false = disabled) - if you do not configure at least one cost for Buyable Events then players will not be able to buy any raids Easy (50 scrap) - How much each raid costs, use the /buyraid command to see the UI Medium (100 scrap) Hard (150 scrap) Expert (200 scrap) Nightmare (250 scrap) All are disabled by default. All can require its own specific item. Allowed Zone Manager Zones List: pvp, 99999999 - the list of zones where raid bases may spawn at - Zone Manager is not required to use this plugin. Use Grid Locations In Allowed Zone Manager Zones Only - forces all spawns into zones by Zone Manager. Adding flags to your zones may conflict with this plugin. Use of Spawns Database plugin is advised instead Event Messages Notify Plugin (-1 = disabled) Notification Interval (1 second) Announce Raid Unlocked (false) Announce Buy Base Messages (false) Announce Thief Message (true) Announce PVE/PVP Enter/Exit Messages (true) Show Destroy Warning (true) Show Opened Message (true) Show Opened Message For Paid Bases (true) Show Prefix (true) Show Messages To Player (true) - set false if you do not want players to receive CHAT messages, other messages from notifications will still show GUIAnnouncements and Advanced Alerts plugins can be used instead of CHAT messages Advanced Alerts Enabled (true) Anchor Min and Max Time Shown (5) Panel Alpha (0.98) Background Color Title Background Color GUIAnnouncements Enabled (false) Banner Tint Color (Grey) Maximum Distance (300.0) Text Color (White) Lusty Map Enabled (false) Icon File (http://i.imgur.com/XoEMTJj.png) Icon Name (rbevent) Icon Rotation (0.0) Ranked Ladder (based on points system) Award Top X Players On Wipe (3) - Set 0 to disable permissions and groups from being created. Every wipe the top 3 players are awarded the raidablebases.th permission and raidhunter group. Used with plugins that give titles based on permissions/groups, such as BetterChat Enabled (true) Difficulty Points (for each difficulty) Assign To Owner Of Raid Only (false) Assign Rank After X Completions - Players that complete the required amount of completions will receive the relevant above permission and group automatically - Set value above 0 to enable this feature for any given difficulty as it is disabled for all difficulties by default Permissions and groups are given to players for being top 3 in each difficulty at the end of a wipe Set Award Top X Playrs On Wipe to 0 to disable these permissions and groups from being created. permissions: raidablebases.ladder.easy, raidablebases.ladder.medium, raidablebases.ladder.hard, raidablebases.ladder.expert, raidablebases.ladder.nightmare, raidablebases.th groups: raideasy, raidmedium, raidhard, raidexpert, raidnightmare, raidhunter Skins (Boxes, Loot Items, Npcs all have there own settings) (skin settings revamped in 2.7.4) Use Identical Skins Include Workshop Skins (true) Use Random Skin (true) Use Imported Workshop Skins File (true) - copy existing Imported Workshop Skins section from Skinbox to the Imported Workshop Skins json file to apply. Boxes (including above Skins options) Preset Skins - you can add any box skin here and it will randomly apply to any relevant box this skin can be used with Loot Items (including above Skins options) Use Identical Skins For Stackable Items Use Identical Skins For Non-Stackable Items Deployables (including above Skins options) List: Partial Names (door, barricade, chair, fridge, furnace, locker, reactivetarget, rug, sleepingbag, table, vendingmachine, waterpurifier, skullspikes, skulltrophy, summer_dlc, sled) Skin Everything (true) - if true then the Partial Names list will not be used Preset Door Skins - you can add any door skin here and it will randomly apply to any relevant door this skin can be used with Ignore If Skinned Already (false) Treasure Resources Not Moved To Cupboards (skull.human, battery.small, bone.fragments, can.beans.empty, can.tuna.empty, water.salt, water, skull.wolf) Use Day Of Week Loot (false) Do Not Duplicate Base Loot (false) Do Not Duplicate Difficulty Loot (false) Do Not Duplicate Default Loot (false) Use Stack Size Limit For Spawning Items (false) Status UI - Shows PVE/PVP, time left, amount of loot left and the status of owner Details UI - Shows owner and active status Delay UI - Shows UI for PVP delay Buyable Cooldowns UI - Shows UI for the Buyable Cooldowns option Buyable Events UI - Shows players a UI for buying events including the primary cost Lockouts UI - Shows UI for the Player Lockouts option Enabled Offset Min Offset Max Panel Alpha Font Size Background Color Title Background Color etc Weapons Fog Machine Allows Motion Toggle (true) Fog Machine Requires A Power Source (true) SamSite Repairs Every X Minutes (0.0 = disabled) (5.0) SamSite Range (350.0 = Rust default) (75.0) Test Generator Power (100.0) Tesla Coil settings in profiles Infinite Ammo AutoTurret (true) FlameTurret (true) FogMachine (true) GunTrap (true) SamSite (true) Ammo AutoTurret (256) FlameTurret (256) FogMachine (5) GunTrap (128) SamSite (24) Tesla Coil (profiles) Requires A Power Source (true) Max Discharge Self Damage Seconds (0 = None) 120 = Rust default) (0.0) Max Damage Output (35.0) Profiles Difficulty - very first setting. If your raids show as NORMAL then you're using the free plugin. If all bases show as EASY then this setting is not configured. Entities Not Allowed To Be Picked Up (List: generator.small, generator.static autoturret_deployed - overrides Allow Players To Pickup Deployables) Additional Bases For This Difficulty (default) - A list of bases to use within this profile Paste Options (default) - Paste options specific to the profiles filename if it is also a base Profile Enabled (true)- Useful for disabling a profile instead of deleting it Add Code Lock To Unlocked Or KeyLocked Doors (true) Add Code Lock To Boxes (false) Add Code Lock To Tool Cupboards (false) Close Open Doors With No Door Controller Installed (true) Allow Duplicate Items (false) - [Explained above] Allow Players To Pickup Deployables (false) - [Explained above] Allow Players To Deploy A Cupboard (true)- [Explained above] Allow PVP (true) Allow Friendly Fire (Teams) (true) Amount Of Items To Spawn (30) - [Explained above] Minimum Amount Of Items To Spawn (0 = Use Max Value) (0) Flame Turret Health (300.0) Block Plugins Which Prevent Item Durability Loss (false) - Force items to take condition losses Block Damage Outside Of The Dome To Players Inside (false) - Prevent damage from outside of the dome to players inside of the dome Block Damage Outside Of The Dome To Bases Inside (false) - Prevent damage from outside of the dome to the base inside Block Damage Inside From Npcs To Players Outside (false) Building Blocks Are Immune To Damage (false) Boxes Are Invulnerable (false) Spawn Silently (No Notifcation, No Dome, No Map Marker) (false) Divide Loot Into All Containers (true) - [Explained above] Drop Container Loot X Seconds After It Is Looted (0.0) - [Explained above] Drop Container Loot Applies Only To Boxes And Cupboards (true) - [Explained above] Create Dome Around Event Using Spheres (0 = disabled, recommended = 5) (5) - A visible dome for players to distinguish raid bases from player bases Empty All Containers Before Spawning Loot (true) - [Explained above] Eject Corpses From Enemy Raids (Advanced Users Only) (true) - Prevents corpses from remaining inside of a raid when it becomes private and prevents the user from looting it Eject Enemies From Purchased PVE Raids (true) - Useful when Lock Raid To Buyer And Friends is enabled Eject Enemies From Purchased PVP Raids (false) Eject Enemies From Locked PVE Raids (true) - Useful when Lock Treasure To First Attacker is enabled Eject Enemies From Locked PVP Raids (false) Explosion Damage Modifier (0-999) (100.0) - Modify the damage of all explosives Force All Boxes To Have Same Skin (true) Ignore Containers That Spawn With Loot Already (false) - [Explained above] Penalize Players On Death In PVE (ZLevels) (true) Penalize Players On Death In PVP (ZLevels) (true) Loot Amount Multiplier (1.0) - useful to scale loot amounts without having to adjust them all individually Protection Radius (50.0) - This options controls every single option and feature that relies explicity on distance or radius in one regard or another. Setting an incorrect value, either too low, or too high, will break the functionality of the plugin. It's best to leave it alone. Require Cupboard Access To Loot (false) - [Explained above] Minimum Respawn Npc X Seconds After Death (0.0) - Useful in simulating a real raid where players respawn Maximum Respawn Npc X Seconds After Death (0.0) Skip Treasure Loot And Use Loot In Base Only (false) - [Explained above] Always Spawn Base Loot Table (false) - [Explained above] - Arena Walls Enabled (true) Extra Stacks (1) - How many times you want walls to stack on top of one another Use Stone Walls (true) - set false to use wooden walls instead Use Iced Walls (false) - not advised to use this as it can cause client lag (not a plugin issue) Use Least Amount Of Walls (true) Use UFO Walls (false) - Walls spawn horizontally instead of vertically Radius (25.0) NPC Levels Level 2 - Final Death (false) - Respawns all npcs when raid is completed NPCs Enabled (true) Spawn Inside Bases (Options: Spawn On Floors, Spawn On Rugs, Spawn On Beds) Murderer Items Dropped On Death (none) Scientist Items Dropped On Death (none) Murderer (Items) (metal.facemask, metal.plate.torso, pants, tactical.gloves, boots.frog, tshirt, machete) Scientist (Items) (hazmatsuit_scientist, rifle.ak) Murderer Kits (murderer_kit_1, murderer_kit_2) - Kits have priority over these lists of items Scientist Kits (scientist_kit_1, scientist_kit_2) Random Names (none) - Spawn with a custom random name instead of a provided random name Amount To Spawn (3) Aggression Range (70.0) - Aggression range is increased by 250 meters when engaged Despawn Inventory On Death (true) Health For Murderers (100 min, 5000 max) (150.0) Health For Scientists (100 min, 5000 max) (150.0) Minimum Amount To Spawn (1) Use Dangerous Treasures NPCs (false) - Tells Dangerous Treasures to control and outfit the NPCs instead Spawn Murderers And Scientists (true) Scientist Weapon Accuracy (0 - 100) (30.0) - These bots are meant to be savages. 30% is average for highly skilled players, while the average player has 10-20% accuracy Spawn Murderers (false) Spawn Random Amount (false) Spawn Scientists Only (false) Rewards Economics Money (0.0) - How much is rewarded after a raid. Overridden by Divide Rewards Among All Raiders ServerRewards Points (0) Change Building Material Tier To Wooden (false) - Useful for upgrading or downgrading buildings automatically Stone (false) Metal (false) HQM (false) Change Door Type To Wooden (false) - Useful for upgrading or downgrading doors automatically Metal HQM Player Building Restrictions Wooden (false) Stone (false) Metal (false) HQM (false) Auto Turrets Aim Cone (5.0) - shots fired will spread into a cone pattern based on this radius. Lowering this value will group the shots closer together. Minimum Damage Modifier (1.0) Maximum Damage Modifier (1.0) Start Health (1000.0) Sight Range (30.0) Set Hostile (False = Do Not Set Any Mode) (true) Requires Power Source (false) Remove Equipped Weapon (false) Weapon To Equip When Unequipped (null = Do Not Equip) (rifle.ak) Permissions raidablebases.allow -- Allows player to use the available ADMIN commands. This is NOT recommended as players can use the commands 'buyraid' and 'rb' already. raidablebases.canbypass permission (or to be flying) to bypass dome restrictions (this previously worked for admins, but now requires the permission instead) raidablebases.blockbypass permission to bypass Owning More Than One Raid settings for Clans/Friends/Teams raidablebases.mapteleport Teleporting to map marker now simply requires this permission and to be enabled in config raidablebases.ddraw allows support for FauxAdmin users raidablebases.config allows use of the rb.config command in-game (server console does not require this permission) raidablebases.banned bans the user from entering any raids - If you grant this by accident, use /rb unban name|id to revoke it. Do not grant this to any groups, especially not the default group... raidablebases.durabilitybypass to bypass `Block Plugins Which Prevent Item Durability Loss` raidablebases.notitle permission to exclude users from ranked title rewards See other permissions using Permissions Manager Players do not require any permissions by default. Grid This plugin creates it's own spawn points automatically, which cover the entirety of your server's map when the plugin is loaded. This is created one-time when the plugin loads. The grid maintains itself without requiring any input. You may view the grid by typing /rb grid in-game to view detailed drawings of all locations on the grid. X - green - possible spawn point X - Red - currently in use C - Cyan - construction detected nearby TC - yellow - TC detected nearby W - blue - water depth is too high - refreshes on ocean level change Each location on the grid is checked a second time before spawning a base to insure it does not spawn the base on players or their buildings. You can disable using the grid by providing a valid spawn file for each raid type (buyable, maintained, scheduled and manual). Commands buyraid - buys a raid, eg: buyraid easy, buyraid easy steamid, buyraid 0, buyraid 0 steamid. I suggest typing the command and using the UI to buy bases. rb - for players to see the ladder (also for admins to see the status of each raid going on, which includes showing the allies and owners of each raid) rb ui [lockouts|status] - COMMAND REMOVED rbe despawn - despawns a players purchased base if they have raidablebases.despawn.buyraid permission For admins, or players with the admin permission raidablebases.allow: rb.config stability true/false - sets stability in every profile rbe debug - toggles debug messages shown every second to server console for maintained and scheduled warning messages rb grid - see the grid and all monument names rb resettime - reset the time for the next scheduled event rb savefix - to cancel a server save that has become stuck - requires authlevel 2 rb prod - to gather information from a raid base entity for debugging purposes - requires admin or raidablebases.allow rbe - spawns a base at the position you are looking at. You cannot spawn a base on a player (including yourself) rbe draw - draw the raids radius rbe despawn - despawn a base near you (can be used by players with raidablebases.despawn.buyraid permission to despawn a base they purchased) rbe despawnall - despawn all bases rbe [basename] [difficulty] - spawn a raid at the location you are looking at rbe expire steamid|playername - removes a lockout for a specific player rbe expireall rbe active - shows status for each event rbevent [basename] [difficulty] - spawn a raid randomly on the map - and teleport to it if using the command in-game rb.reloadconfig - allows you to reload the config without needing to reload the plugin. Some changes are not applied immediately, and no changes are retroactive to bases that are already spawned. rb.config - allows you to edit the config by adding, removing, and listing bases. Requires the permission raidablebases.config when not being used from the server console. rb.toggle - toggles Maintained Events and Scheduled Events on/off, if enabled in the config, until plugin reloads rbe setowner name - Sets the player as the owner of the raid rbe clearowner - Clears the owner of the raid Additional Bases allows you to add additional files to an existing base so that all bases in that list share the same configuration as the primary base/profile. This is great for setting up a list of bases for easy, medium, hard, expert and nightmare. Command rb.populate all will add every item in the game to specific loot tables under the oxide/data/RaidableBases/Editable_Lists folder, with each disabled by default (amount is 0) Arguments: - rb.populate easy medium hard expert nightmare loot all - rb.populate 0 1 2 3 4 loot all - easy - Populates oxide/data/RaidableBases/Editable_Lists/Easy.json - all - Populates ALL diifficulty loot tables Configure the items to your liking then copy the files contents into a loot table that you would like to use Example: - Difficulty_Loot/Easy.json to match the difficulty - Base_Loot/Easy Bases.json to match the profile name API No return behavior: void OnRaidableBaseStarted(Vector3 raidPos, int mode, bool allowPVP) void OnRaidableBaseEnded(Vector3 raidPos, int mode, bool allowPVP) void OnPlayerEnteredRaidableBase(BasePlayer player, Vector3 raidPos, bool allowPVP, int mode) void OnPlayerExitedRaidableBase(BasePlayer player, Vector3 raidPos, bool allowPVP, int mode) OnRaidableBaseDespawn, OnRaidableBaseDespawned, OnRaidableBasePrivilegeDestroyed, OnRaidableBaseCompleted find more hooks and arguments by searching for CallHook in the plugin file Tips Players will be considered raiders after looting, killing an npc, using explosives, eco raiding, destroying a building block/high wall/door or dealing damage from INSIDE of the dome You must change easybase1, mediumbase2, expertbase3, etc to the name of your CopyPaste files, or vis-versa. This plugin doesn't create or come with any bases. You can use the rb.config command (rb.config add "easy bases" easybase1 easybase2 0) in the server console to make this process easier. You can rename all profiles or additional base filenames. When copying a base with CopyPaste, make certain that you copy the base from eye level of the CENTER foundation within the base, or slightly clipped into this foundation with noclip. Whichever provides better results for you. You must verify that the base pastes down correctly (with /paste command) after you've copied it. I would not change autoheight from false to true. height is the distance the base is spawned off of the ground. elevation determines how flat the surrounding terrain must be in order for bases to spawn on it Scheduled Events is how often you want a random base to spawn on the map. This is disabled by default. This randomness comes from Every Min Seconds and Every Max Seconds Maintain Events will always spawn the Max Events amount of bases on your map. This is disabled by default. When one despawns, another will take its place shortly after. Allow Teleport will prevent players from teleporting when disabled. Compatible with NTeleportation or any plugin that uses the CanTeleport hook. Help This plugin does NOT use Zone Manager - it creates and manages everything on its own. If you are having issues with too few locations on the grid, or each attempt to spawn a base returns a manual spawn was already requested then it is likely because of how you have setup Zone Manager. You either have far too many zones, or you have zones which are far too large. Raidable Bases will not spawn in these zones unless the ZoneID is added to Allowed Zone Manager Zones in the config file. This plugin requires CopyPaste plugin to work. It also requires that you have copypaste files already made. Raidable bases will be spawned using the CopyPaste plugin. This plugin does NOT come with any bases. PvE server friendly with TruePVE and other plugins that support the hooks CanEntityTakeDamage, CanEntityBeTargeted, and CanEntityTrapTrigger. Bases can have 5 difficulty settings: 0 for easy, 1 for medium, 2 for hard, 3 for expert, and 4 for nightmare. This is configurable per profile. Bases can spawn on roads and other areas that do not allow building by Rust. Building ladders in these areas is allowed by the plugin. I will add support for building twig later. My bases often spawn in the same biome If you're having issues with spawn points being repeatedly used, or with a biome being favored consistently over other biomes then this is an elevation issue with the terrain on your map. You can fix this by increasing the Elevation in the configuration. For example, if your Elevation is 1.0 then set it to 1.5 and try again. This will also increase the height the base is allowed to spawn off of the ground. With certain maps you'll just have to make do with this issue. Corpses appear outside of the dome as backpacks This is intended, and it is optional. The location is drawn on the players screen to notify them that their corpse moved. This allows players to retrieve their backpack in the event that the raid becomes locked privately to another player, and prevents them from entering. Players do not drop their active item when they die. Bases Stop Spawning On Linux Machine [Error] Exception while calling NextTick callback (DllNotFoundException: libgdiplus.so.0) If you see this error after bases spawn then you need to install libgdiplus on your machine. This will mimic the below issue but it is NOT a bug like the below issue is. A quick google search shows the install command is: sudo apt-get install -y libgdiplus This happens when images in the CopyPaste file are being rendered by converting the byte array to bitmap. Paste/Spawn/Despawn FPS/Rubberbanding Issues: Upgrade your servers hardware (please don't tell me how good your hardware is-- if it's having issues or is overloaded with plugins then it's not) Use copypaste files under 3MB Reduce the amount of bases that you are spawning Remove plugins - if you have too many resource hogs then you're going to have issues! Reduce Amount of entities to paste per batch. Use to tweak performance impact of pasting in your CopyPaste config to between 1 and 5 Restart your server daily to mitigate server degradation issues It could be as simple as a bad copypaste file. Note the base(s) that spawned around the time that the lag started, go to each of those bases and despawn them (/rbe despawn). If the lag disappears, then the base is the cause. Remove it from rotation (rb.config remove badbase1) until you can figure out what's wrong with it. RaidableBases is a large plugin, with a lot of functionality, and that functionality demands hook time. I constantly strive to improve performance and provide high quality products.
    $40.00
  14. IIIaKa

    Real PvE

    Version 0.1.25

    1,784 downloads

    Plugin for Real PvE servers, featuring damage prevention, anti-griefing measures, customizable PvP zones, an automatic loot queue in radtowns and raid zones, and much more. The ability to set "server.pve" to "true", which allows the server to have a "PvE" flag; Damage from NPC's are enabled when server.pve is true; The ability to inflict damage to one's own structures with "server.pve true"; The ability to destroy(including external walls) or rotate one's structures without any time constraints; The ability to toggle the gather resource restriction in someone else's Building Privileges; No one, except the owner or their friends, will be able to open their loot containers (chests, storages, bodies, etc.); Administrators can bypass loot restrictions; The ability to schedule the killing of players if they disconnect within someone else's Building Privilege; Disabling backpack and active item drop upon death, even if backpack is full; The ability to modify the items given at spawn on the beach; The ability to create an unlimited number of custom permissions; The ability to allow players to bypass the queue; The ability to set limits on sleeping bags, shelters and auto turrets for each permission; The ability to set a multiplier for the prices of monuments and events for each permission; The ability to customize the price and amount of vehicles for each of your custom permissions; The ability to assign vehicles to each player; The ability to customize the assigned price and available amount of vehicles for each of your custom permissions; An assigned vehicle can't be damaged, looted or pushed by other players, but it can be pushed if it is within someone else's Building Privilege; The ability to loot monuments through a queue system; The ability to configure monuments, setting their looting price and time, and adjusting status bars for each monument; The ability to acquire the privilege to loot events (helicopters, bradleys, and raidable bases) through a purchase; The ability to customize the price of each event types and loot attempts (lives); NPCs only aggress against players who are looting monuments, events or raidable bases; Only players who are looting monuments, events or raidable bases can inflict damage to NPCs; RaidableBases are protected from griefing(no damage, no loot and etc). Only the owner can interact with the raid; Neutral RaidableBases can be purchased; Prices for purchasing neutral raids are configurable for each difficulty level; Configurable raid limits (currently available) along with discount multipliers for purchases, for each permission. File location: *SERVER*\oxide\data\RealPVE\PermissionConfig.json Default: https://pastebin.com/5VtWZZVr All permissions are created and configured in the config file under the "List of permissions" section. You can create as many permissions as needed and customize them flexibly. It is recommended to use the prefix "realpve" in the permission's name, for example: "realpve.vip". NOTE: The first permission will serve as the default permission for those who do not have any permissions. { "List of permissions. NOTE: The first permission will be used by default for those who do not have any permissions.": [ { "Permission Name": "realpve.default", "Bypass Queue": false, "Limit of beds": 15, "Limit of shelters": 1, "Limit of auto turrets": 12, "Seconds that will be skipped when opening HackableLockedCrate": 0.0, "Monuments price multiplier": 1.0, "Events price multiplier": 1.0, "Limit of RaidableBases(at the time)": 1, "RaidableBases price multiplier": 1.0, "Vehicles settings": { "Horse": { "Limit": 1, "Price": 10.0 }, "Bike": { "Limit": 1, "Price": 5.0 }, "MotorBike": { "Limit": 1, "Price": 20.0 }, "Car": { "Limit": 1, "Price": 25.0 }, ... } }, { "Permission Name": "realpve.vip", "Bypass Queue": true, "Limit of beds": 20, "Limit of shelters": 2, "Limit of auto turrets": 15, "Seconds that will be skipped when opening HackableLockedCrate": 450.0, "Monuments price multiplier": 0.9, "Events price multiplier": 0.9, "Limit of RaidableBases(at the time)": 2, "RaidableBases price multiplier": 0.9, "Vehicles settings": { "Horse": { "Limit": 5, "Price": 9.0 }, "Bike": { "Limit": 5, "Price": 4.5 }, "MotorBike": { "Limit": 5, "Price": 18.0 }, "Car": { "Limit": 5, "Price": 22.5 }, ... } } ], "Version": { "Major": 0, "Minor": 1, "Patch": 1 } } An example of a monument/event/rb multipliers using default permissions. For example, if you set the price for the Harbor at $1000, a player with the default permission(1.0) will pay $1000 * 1 = $1000. Meanwhile, a player with a VIP permission(0.9) will pay $1000 * 0.9 = $900. However, if a player possesses a misbehaving permission with a value of 1.1, they will need to pay $1000 * 1.1 = $1100. { "Chat command": "realpve", "Chat admin command": "adminpve", "Is it worth enabling GameTips for messages?": true, "Is it worth using Notify plugins for messages instead of the vanilla UI?": false, "Is it worth forcibly implementing PvE for a server?": true, "Is it worth forcing the tutorial mode support?": true, "Is it worth rechecking the limits when removing permissions?": true, "Is it worth preventing death on logout in safe zones?": true, "Entities spawned by the server allowed to be looted in someone else's building privilege zone(None, Wood, Ore, Flesh, Collectible, All)": "All", "Is it worth forcibly blocking damage from the patrol helicopter to building blocks and deployables?": false, "Is it worth preventing players from handcuffing others?": true, "Is it worth assigning portals(Halloween and Christmas) to the first player?": true, "Is it worth preventing a backpack from dropping upon player death?": true, "Is it worth preventing damage to the laptop of the Hackable Crate?": true, "Is it worth removing the penalties for recyclers in safe zones?": true, "Is it worth allowing all players to pick up items dropped by others? If enabled, personal settings will be ignored": false, "Is it worth protecting sleeping players from animals?": true, "Is it worth allowing players to loot banned players items?": false, "Specify the regular message type for notify": 0, "Specify the warning message type for notify": 1, "The format that will be used for prices": "${0}", "Vehicles - Time in seconds to display the marker when searching for a vehicle. A value of 0 disables the marker": 15.0, "Anti-Sleeper - Time in seconds after which a player will be killed if they disconnect while inside someone else's Building Privilege. Set to 0 to disable": 1200.0, "Is it worth enabling support for the 'Npc Random Raids' plugin?": true, "List of language keys for creating language files(excluding ru)": [ "en" ], "Settings id for the admin loot status bar": "admin_loot", "Is friendly fire enabled by default when creating a new team?": false, "PvP - Is it worth adding map markers for PvP zones?": true, "PvP - Name of the map maker": "PvP Zone!", "PvP - Settings id for the status bar": "pvp", "PvP - Settings id for the progress status bar": "pvp", "Wipe ID": null, "Version": { "Major": 0, "Minor": 1, "Patch": 24 } } ENG: https://pastebin.com/ZMUL6pYL RUS: https://pastebin.com/Mx8cbMts Main commands(/realpve) : autobuy - Toggle autobuy for monuments, vanilla events and raid bases with a total price greater than 0; pickup - Toggle access to pick up your items from the ground for all players; share - Manage access to looting your entities by other players(outside of the team): status *entityID*(optional) - Display information about the settings of the entity you are looking at or the one you specified; add *nameOrID* *entityID*(optional) - Add the specified player to the entity list you are looking at or the one you specified; remove *nameOrID* *entityID*(optional) - Remove the specified player from the entity list you are looking at or the one you specified; toggle *entityID*(optional) - Toggle the entity list you are looking at or the one you specified; delete *entityID*(optional) - Delete the settings for the entity you are looking at or the one you specified; clear - Delete the settings for all your entities. team - Manage your team: ff - Toggle the ability to damage your teammates. vehicle - Manage your vehicles: list - List of IDs for all your vehicles; find *vehicleID*(optional) - Help finding the vehicle you are looking at or the one you specified; unlink *vehicleID*(optional) - Unlink the vehicle you are looking at or the one you specified; clear - Unlink all your vehicles. Admin commands(/adminpve). Permission "realpve.admin" required: autobuy - Manage autobuy for monuments, vanilla events and raid bases: *nameOrId* - Toggle autobuy for the specified player; force monument/event/rb - Toggle forced autobuy. If enabled, player settings will be ignored; clear - Disable autobuy for everyone. config - Manage settings for values in the configuration file: forcepve *boolValue*(optional) - Is it worth forcibly implementing PvE for a server? forcetutorial *boolValue*(optional) - Is it worth forcing the tutorial mode support? gametips *boolValue*(optional) - Is it worth enabling GameTips for messages? perm_limits *boolValue*(optional) - Is it worth rechecking the limits when removing permissions? safe_death *boolValue*(optional) - Is it worth preventing death on logout in safe zones? heli_damage *boolValue*(optional) - Is it worth forcibly blocking damage from the patrol helicopter to building blocks and deployables? handcuffs *boolValue*(optional) - Is it worth assigning portals(Halloween and Christmas) to the first player? portals *boolValue*(optional) - Is it worth preventing players from handcuffing others? backpack_drop *boolValue*(optional) - Is it worth preventing a backpack from dropping upon player death? laptop_damage *boolValue*(optional) - Is it worth preventing damage to the laptop of the Hackable Crate? recycler_safezone *boolValue*(optional) - Is it worth removing the penalties for recyclers in safe zones? item_pickup *boolValue*(optional) - Is it worth allowing all players to pick up items dropped by others? If enabled, personal settings will be ignored; safe_sleep *boolValue*(optional) - Is it worth protecting sleeping players from animals? loot_privilege *stringValues* - Entities spawned by the server allowed to be looted in someone else's building privilege zone(None, Wood, Ore, Flesh, Collectible, All) ; priceformat *stringValue* - The format that will be used for prices; vehicle_marker_time *floatValue* - Vehicles - Time in seconds to display the marker when searching for a vehicle. A value of 0 disables the marker; antisleeper *floatValue* - Anti-Sleeper - Time in seconds after which a player will be killed if they disconnect while inside someone else's Building Privilege. Set to 0 to disable; randomraids *boolValue*(optional) - Is it worth enabling support for the 'Npc Random Raids' plugin? teamff *boolValue*(optional) - Is friendly fire enabled by default when creating a new team? pvpmarkers *boolValue*(optional) - PvP - Is it worth adding map markers for PvP zones? pvpmarkersname *stringValue* - PvP - Name of the map maker. loot - Manage player access to entities without restrictions: *nameOrId* - Toggle unrestricted access for the specified player; self - Toggle unrestricted access for yourself; clear - Revoke unrestricted access for all players. monument - Manage monuments: list - List of available monuments; ignore *nameOrID* *boolValue* - Add or remove a player from the monument entry ignore list; *monumentID*/this - Instead of the monumentID, you can use the word "this", but you must be inside the monument: suffix *boolValue*(optional) - Toggle the suffix display in the monument's name; broadcast *boolValue*(optional) - Toggle notifications about monument occupancy/release; time *intValue* - Set the looting time limit for the monument in seconds; price *floatValue* - Set the cost for looting rights. A value of 0 makes the monument free; offer *floatValue* - Set the offer duration for purchasing the monument in seconds; map_mode *intValue* - Set the marker display mode on the map. 0 - disabled, 1 - enabled, 2 - enabled during PvP mode; map_circle *boolValue*(optional) - Toggle the display of the monument's circle marker on the map; pvp *boolValue*(optional) - Toggle PvP mode for the monument; pvp_delay *floatValue* - Set the PvP mode duration in seconds for players after leaving the PvP monument; bar_progress *boolValue*(optional) - Toggle between TimeProgressCounter and TimeCounter bars for the monument. perm - Manage permissions: add *permName* - Adds a new permission to the list by copying values from the first(default) permission in the list. If the permission name starts with 'realpve', it will also register a new permission; add *permName* *sourcePermName* - Adds a new permission to the list by copying values from an existing permission in the list; remove *permName* - Removes an existing permission from the list; edit *permName* - Edits a permission: queue - Toggle the permission to bypass the server queue; unlockRespawn - Toggle the availability of the Outpost respawn point; beds *intValue* - Restriction on the number of available beds; shelters *intValue* - Restriction on the number of available shelters; turrets *intValue* - Restriction on the number of available turrets; hackable *floatValue* - Number of seconds(0-900) to skip when opening a hackable crate; monuments *floatValue* - Price multiplier for monuments; events *floatValue* - Price multiplier for vanilla events; rb_limit *intValue* - Restriction on the number of raid bases available simultaneously; rb_mult *floatValue* - Price multiplier for raid bases; vehicles *vehType* - Vehicles settings: limit *intValue* - Limit on the number of available vehicles by type; price *floatValue* - Price for registering a vehicle by type. clear - Removes all permissions from the list except the first one. pickup - Manage access to picking up another player's items from the ground: *nameOrId* - Toggle access to picking up a specific player's items from the ground; clear - Revoke access for all players to pick up items from the ground. share - Manage access to looting entities by other players(outside of the team): status *entityID*(optional) - Display information about the settings of the entity you are looking at or the one you specified; add *nameOrID* *entityID*(optional) - Add the specified player to the entity list you are looking at or the one you specified; remove *nameOrID* *entityID*(optional) - Remove the specified player from the entity list you are looking at or the one you specified; toggle *entityID*(optional) - Toggle the entity list you are looking at or the one you specified; delete *entityID*(optional) - Delete the settings for the entity you are looking at or the one you specified; clear *nameOrID*(optional) - Delete the settings for all entities or all entities of the specified player. tc - Manage building privilege: add self/*entityID* *nameOrID*(optional) - Add yourself or a specified player to the building privilege of the area you or the specified entity are in; remove self/*entityID* *nameOrID*(optional) - Remove yourself or a specified player from the building privilege of the area you or the specified entity are in; clear self/*entityID* - Clear the list of authorized players in the building privilege of the area you or the specified entity are in; info self/*entityID* - Get information about the building privilege of the area you or the specified entity are in. vehicle - List of all available vehicle types: types - List of available vehicle types. Example: /realpve pickup /realpve vehicle find *netID* /realpve team ff /adminpve config loot_privilege wood, ore /adminpve perm add realpve.vip2 /adminpve perm add realpve.vip2 realpve.vip /adminpve perm edit realpve.vip2 queue true /adminpve perm edit realpve.vip2 vehicles horse limit 5 /adminpve monument list /adminpve monument *monumentID* pvp /adminpve monument *monumentID* price 7.5 /adminpve loot iiiaka /adminpve pickup iiiaka /adminpve tc info self /adminpve tc info 6959689 /adminpve vehicle types This plugin provides the ability to claim vehicles, thereby preventing theft and griefing from other players. In permissions, you can set the price and quantity restrictions for each type of vehicle, ensuring flexible customization according to your preferences. An assigned vehicle can't be damaged, looted or pushed by other players, but it can be pushed if it is within someone else's Building Privilege. File location: *SERVER*\oxide\data\RealPVE\MonumentConfig.json Default: https://pastebin.com/XY1d9YaM This plugin introduces queue system and loot purchases for monuments. You can customize the price and time for looting for each monument. Within monuments, only the "Looter" and his friends have the ability to loot, pick up items or damage entities. Additionally and NPCs within monuments do not aggress against other players and do not receive damage from them. If a player dies within the monument, they will have a grace period to return. This allows players to safely loot monuments without fear of griefing. Example of monument configuration: "ferry_terminal_1": { "Type(This parameter is just a hint. Changes won’t have any effect)": "RadTown", "Is it worth displaying the suffix(if any) in the monument's name?": true, "Is it worth notifying all players about the occupation/release of the monument?": true, "The cost for the right to loot the monument. A value of 0 makes the monument free": 15.0, "The time in seconds(1-3600) given for looting the monument": 900, "The time in seconds(1-15) given to make a decision to purchase the monument": 5.0, "Map marker display mode: 0 - disabled, 1 - enabled, 2 - enabled during PvP mode": 1, "Is it worth creating a circle in the map marker?": true, "PvP - Is PvP enabled at this monument? If so, players will be able to kill each other and loot will be publicly accessible": false, "PvP - The time in seconds(0-60) during which the player retains PvP mode after leaving the PvP monument": 10.0, "Is it worth using a progress bar for bars with a counter?": true, "Settings for the status bar": { "Order": 10, "Height": 26, "Main_Color(Hex or RGBA)": "#FFBF99", "Main_Transparency": 0.8, "Main_Material": "", "Image_Url": "https://i.imgur.com/awUrIwA.png", "Image_Local(Leave empty to use Image_Url)": "RealPVE_ferry_terminal_1", "Image_Sprite(Leave empty to use Image_Local or Image_Url)": "", "Image_IsRawImage": false, "Image_Color(Hex or RGBA)": "#FFDCB6", "Image_Transparency": 1.0, "Is it worth enabling an outline for the image?": false, "Image_Outline_Color(Hex or RGBA)": "0.1 0.3 0.8 0.9", "Image_Outline_Transparency": 0.0, "Image_Outline_Distance": "0.75 0.75", "Text_Size": 12, "Text_Color(Hex or RGBA)": "1 1 1 1", "Text_Font(https://umod.org/guides/rust/basic-concepts-of-gui#fonts)": "RobotoCondensed-Bold.ttf", "Is it worth enabling an outline for the text?": false, "Text_Outline_Color(Hex or RGBA)": "#000000", "Text_Outline_Transparency": 1.0, "Text_Outline_Distance": "0.75 0.75", "SubText_Size": 12, "SubText_Color(Hex or RGBA)": "1 1 1 1", "SubText_Font": "RobotoCondensed-Bold.ttf", "Is it worth enabling an outline for the sub text?": false, "SubText_Outline_Color(Hex or RGBA)": "0.5 0.6 0.7 0.5", "SubText_Outline_Transparency": 0.0, "SubText_Outline_Distance": "0.75 0.75" }, "Settings for the progress status bar": { "Main_Color(Hex or RGBA)": "1 1 1 0.15", "Main_Transparency": 0.15, "Progress_Reverse": true, "Progress_Color": "#FFBF99", "Progress_Transparency": 0.7, "Progress_OffsetMin": "0 0", "Progress_OffsetMax": "0 0" } } Type - This field serves only as an indicator for you. The changes won't have any impact; ShowSuffix - Suffix display. Some monuments (for example Warehouses) have suffixes in the name, like "Warehouse #12"; Broadcast - Enabling or disabling broadcasts when a monument is occupied or vacated; LootingTime - Time allocated for looting the monument; Price - The price for which you can start looting the monument. 0 means looting is free; BarSettings - Settings for the Advanced Status Bar. You can also choose the types of monuments by specifying them under the "List of tracked types of monuments" section. A list of all available types can be viewed on the MonumentsWatcher's page in the "Developer API" section. "List of tracked types of monuments": [ "RadTown", "RadTownWater", "RadTownSmall", "TunnelStation", "Custom" ] Events, similar to monuments, offer the opportunity to claim events. All events are configured in the config file under the "Settings for the events" section. You can customize the price of looting and looting attempts(deaths, including friends). Just like in monuments, only the "Looter" and his friends have the ability to loot and damage entities. Additionally, in events, NPCs do not aggress against other players. If a player(including friends) exceeds the death limit, the event became free, thereby providing other players with the opportunity to claim the event. Example of event configuration: { "Is it worth enabling forced auto-buy for vanilla events where the final price is greater than 0?": false, "Settings for the PatrolHelicopter events": { "IsEnabled": true, "Time in seconds (1-15) given to respond for purchasing this event. Note: This is shown to everyone who deals damage, and the first person to buy it will claim it": 5.0, "Is it worth removing fire from crates?": true, "The price to claim the event. A value of 0 means it's free": 50.0, "The number of deaths after which the event becomes public. A value of 0 disables the limit": 5, "The time in seconds for which the event is locked to the player. A value of 0 disables the time limit": 1800.0 }, "Settings for the BradleyAPC events": { "IsEnabled": true, "Time in seconds (1-15) given to respond for purchasing this event. Note: This is shown to everyone who deals damage, and the first person to buy it will claim it": 5.0, "Is it worth removing fire from crates?": true, "The price to claim the event. A value of 0 means it's free": 50.0, "The number of deaths after which the event becomes public. A value of 0 disables the limit": 5, "The time in seconds for which the event is locked to the player. A value of 0 disables the time limit": 1800.0 }, "Version": { "Major": 0, "Minor": 1, "Patch": 0 } } Price - The price to claim the event. 0 means looting is free; DeathLimit - Limit of deaths after which the event becomes free. File location: *SERVER*\oxide\data\RealPVE\NewbieConfig.json Default: https://pastebin.com/QHZCqpji An example of an item list given for the main inventory: "List of items for the main inventory": [ { "ShortName": "note", "Slot": 0, "Amount": 1, "SkinID": 0, "Text": "MsgNoteText" } ] P.S. In the Text field, you need to specify the language key. Or, you can just write any text, but there won't be a translation of the text. File location: *SERVER*\oxide\data\RealPVE\RaidableBasesConfig.json Default: https://pastebin.com/rpDng7Fd Integration with the RaidableBases plugin does not restrict its functionality in any way. On the contrary, it adds an anti-grief system that protects bases from malicious players. In raid bases, NPCs and other entities can only receive damage from the raid owner or their friends; Turrets and traps do not aggress against outsiders; You can customize the price of claiming to each difficulty and set individual discounts for each permission. You can still purchase raid bases using the /buyraid command. Raid bases without owners(buyable, maintained, manual and scheduled) can be bought for a price set in the configuration file or assigned to the first player who enters its radius, if the final price(price * discount) less or equals to 0. Additionally, as a bonus, upon buying this plugin, you receive 5 free bases for 3 difficulty levels, along with configured loot for them. [PluginReference] private Plugin RealPVE; There are 6 universal hooks that the plugin is subscribed to, the use of which allows interaction with PVP in various PVE plugins: OnPlayerEnterPVP OnPlayerExitPVP OnEntityEnterPVP OnEntityExitPVP CreatePVPMapMarker DeletePVPMapMarker OnPlayerEnterPVP: Used to add a player to PVP mode/zone. To call the OnPlayerEnterPVP hook, you need to pass 2 parameters: <BasePlayer>player - The player to add to PVP; <string>zoneID - A unique identifier for your PVP zone. This parameter is very important because a player can be in multiple PVP zones at the same time and passing the zoneID in this case allows for correct processing of the player's location within them. Interface.CallHook("OnPlayerEnterPVP", player, "*Your unique zone identifier*");//Calling the OnPlayerEnterPVP hook to tell PVE plugins that the player needs to be added to the specified PVP zone. OnPlayerExitPVP: Used to remove a player from PVP mode/zone. Calling this hook guarantees the player’s removal from the specified PVP zone, but does not guarantee the removal from PVP mode, as there may be other zones in addition to yours. Also, when a player dies, they are automatically removed from all PVP zones. To call the OnPlayerExitPVP hook, you need to pass 3 parameters, 1 of which is optional: <BasePlayer>player - The player to remove from PVP; <string>zoneID - A unique identifier for your PVP zone; <float>pvpDelay - Optional. When the player exits your PVP zone, you can also pass the PVP delay time. However, if the player still has other active PVP zones, your PVP delay will not take effect. Interface.CallHook("OnPlayerExitPVP", player, "*Your unique zone identifier*", 10f);//Calling the OnPlayerExitPVP hook to tell PVE plugins that the player needs to be removed from the specified PVP zone, with the pvpDelay(10 seconds) specified if the player no longer has any active PVP zones. OnEntityEnterPVP: Used to add an entity to PVP mode/zone. In the case of RealPVE, this hook is only necessary to add entities with an owner(player) to a PVP, allowing other players to interact with them, such as a player's corpse after death(PlayerCorpse) or a backpack after the corpse disappears(DroppedItemContainer). To call the OnEntityEnterPVP hook, you need to pass 2 parameters: <BaseEntity>entity - The entity to add to PVP; <string>zoneID - A unique identifier for your PVP zone. Interface.CallHook("OnEntityEnterPVP", entity, "*Your unique zone identifier*");//Calling the OnEntityEnterPVP hook to tell PVE plugins that the entity needs to be added to the specified PVP zone. OnEntityExitPVP: Used to remove an entity from PVP mode/zone. When an entity dies, it is automatically removed from all PVP zones. To call the OnEntityExitPVP hook, you need to pass 3 parameters, 1 of which is optional: <BaseEntity>entity - The entity to remove from PVP; <string>zoneID - A unique identifier for your PVP zone; <float>pvpDelay - Optional. When the entity exits your PVP zone, you can also pass the PVP delay time. However, if the entity still has other active PVP zones, your PVP delay will not take effect. Interface.CallHook("OnEntityExitPVP", entity, "*Your unique zone identifier*", 10f);//Calling the OnEntityExitPVP hook to tell PVE plugins that the entity needs to be removed from the specified PVP zone, with the pvpDelay(10 seconds) specified if the entity no longer has any active PVP zones. CreatePVPMapMarker: Used to create a map marker for the PVP zone. To call the CreatePVPMapMarker hook, you need to pass 5 parameters, 2 of which is optional: <string>zoneID - A unique identifier for your PVP zone; <Vector3>pos - The position of your PVP zone; <float>radius - The radius of the circle for your PVP zone; <string>displayName - Optional. The display name for the map marker; <BaseEntity>entity - Optional. The entity to which the map marker should be attached. Interface.CallHook("CreatePVPMapMarker", "*Your unique zone identifier*", pos, 25f, "ATTENTION! This is a PVP zone!");//Calling the CreatePVPMapMarker hook to tell PVE plugins to create a map marker for the specified zone, at the specified position with the given radius, but without specifying a parent entity. DeletePVPMapMarker: Used to delete a map marker for the PVP zone. To call the DeletePVPMapMarker hook, you need to pass only 1 parameter: <string>zoneID - A unique identifier for your PVP zone. Interface.CallHook("DeletePVPMapMarker", "*Your unique zone identifier*");//Calling the DeletePVPMapMarker hook to tell PVE plugins to delete a map marker for the specified zone. There are 5 hooks that the plugin calls: OnPlayerPVPDelay OnPlayerPVPDelayed OnPlayerPVPDelayRemoved OnZoneStatusText CanRedeemKit OnPlayerPVPDelay: Called when a player exits the last active PVP zone, allowing other plugins to overwrite the value for pvpDelay. Returning a float value allows changing the pvpDelay for the player. A value less than zero disables the pvpDelay. When calling the OnPlayerPVPDelay hook, 3 parameters are passed: <BasePlayer>player - The player to whom the pvpDelay is applied; <float>pvpDelay - The initial value of pvpDelay; <string>zoneID - A unique identifier of PVP zone. object OnPlayerPVPDelay(BasePlayer player, float pvpDelay, string zoneID) { Puts($"Attempting to set a PvP delay of {pvpDelay} seconds for player {player.displayName} in zone {zoneID}!"); if (zoneID == "*Your unique zone identifier*") { return 15f;//Overriding the values for pvpDelay } return null;//Leave unchanged } OnPlayerPVPDelayed: Called after the PVP delay has been set for the player. When calling the OnPlayerPVPDelayed hook, 3 parameters are passed: <BasePlayer>player - The player to whom the pvpDelay is applied; <float>pvpDelay - The value of pvpDelay; <string>zoneID - A unique identifier of PVP zone. void OnPlayerPVPDelayed(BasePlayer player, float pvpDelay, string zoneID) { Puts($"A PvP delay of {pvpDelay} seconds has been set for player {player.displayName} in zone {zoneID}!"); } OnPlayerPVPDelayRemoved: Called when the PVP delay is removed from the player after they enter a PVP zone with an active PVP delay. When calling the OnPlayerPVPDelayRemoved hook, only 1 parameter is passed: <BasePlayer>player - The player from whom the PVP delay has been removed. void OnPlayerPVPDelayRemoved(BasePlayer player) { Puts($"PVP delay has been removed for player {player.displayName} as they entered a PVP zone!"); } OnZoneStatusText: Called when the text with the nice name for the specified zone is needed, to be displayed in the status bar. When calling the OnZoneStatusText hook, 2 parameters are passed: <BasePlayer>player - The player for whom the nice name for the zone is being requested; <string>zoneID - A unique identifier of PVP zone. object OnZoneStatusText(BasePlayer player, string zoneID) { Puts($"Text for the status bar is required for zone {zoneID}"); if (zoneID == "*Your unique zone identifier*") { return lang.GetMessage("*langKey*", this, player.UserIDString);//<string>Overriding the value for the status bar text } return null;//Leave unchanged } CanRedeemKit: Called before giving the starter kit, in the OnDefaultItemsReceive hook. A non-zero value cancels this action. When calling the CanRedeemKit hook, only 1 parameter is passed: <BasePlayer>player - The player to whom the kit is being attempted to be given. object CanRedeemKit(BasePlayer player) { Puts($"Attempting to give the kit to player {player.displayName}!"); if (player.IsAdmin) { return false;//Cancel the action } return null;//Leave unchanged }
    $39.99
  15. Version 2.4.2

    8,392 downloads

    Creates a unique event at the Harbor monument for players to participate in for rewards. Players must battle numerous NPCs and APCs to access the puzzle to open the loot room! Description This event started off as a warning on the chatbox about the ships coming soon to dock in Port, loaded with precious cargo. After the period has passed, a ship appears in one of the locations at Harbour that are accessible from the map, where the crane loads the container. The loading area is protected by one Tank and 7 NPCs by default. The container door is locked, you must push a button from inside the cranes cockpit to open the door. Inside the container, there is a default security camera, locked box, 2 DMS, 2 Elite, and 2 Military boxes. The locations and loot from all crates/NPCs can be configured within configurations, and unwanted crates/NPCs added or removed. Also, ships will generate the default ship loot, e.g. The config file allows to modify tank as well as loot inside of the ship. When the event occurs, the map displays the markers (configured in the config file). All players that are inside the event area will have a timer counting down the amount of time until the event ends. Dependencies Required NpcSpawn Dependencies (optional, not required) True PVE PveMode GUI Announcements Notify Discord Messages AlphaLoot CustomLoot NTeleportation HeliControl Economics Server Rewards IQEconomic Kits Chat commands (only for administrators) /harborstart – starting of the event /harborstop – ending of the event /harborpos – determining the position and rotation coordinates for changing the location of NPCs and crates.It should write in the configuration (Attention! The event must be started, the current position of the administrator in relation to the cargoship is read) Console commands (RCON only) harborstart – starting of the event harborstop – ending of the event Plugin Config en - example of plugin configuration in English ru - example of plugin configuration in Russian Hooks void OnHarborEventStart() – called when the event starts void OnHarborEventEnd() – called when the event ends void OnHarborEventWinner(ulong winnerId) – called at the end of the event, where the winnerId is the player who did more actions to complete the event My Discord: KpucTaJl#8923 Join the Mad Mappers Discord here! Check out more of my work here!
    $35.00
  16. IIIaKa

    Trader

    Version 0.1.4

    223 downloads

    An excellent plugin for remote trading between players with extensive functionality. The ability to log successful trades; The ability to create new permissions; The ability to customize permissions flexibly, including both new and existing ones; The ability to limit slots in trade; The ability to configure the method(Personal, CommonMinimum, CommonMaximum) for limiting the number of slots; The ability to set a cooldown on sending trade requests; The ability to configure the method(InitiatorOnly, TargetOnly, Both) for applying cooldown to players; The ability to purchase a bypass for the trade request cooldown; The ability to set a daily limit on sending trade requests; The ability to purchase additional trade requests after reaching the daily limit; The ability to forbid trading when wounded; The ability to forbid trading while swimming; The ability to forbid trading while mounted on certain seats; The ability to forbid trading in specified monuments, by name or by monument type; The ability to forbid trading in someone else's building privileges; The ability to forbid trading when taking damage; The ability to forbid trading during a combat block; The ability to forbid trading during a raid block; The ability to forbid certain items from being traded; The ability to automatically generate language files for specified languages(with content filled in English); The ability to set an effect upon receiving a trade request; The ability to change the effect upon a successful trade completion; The ability to display a status bar while waiting for a trade; The ability to choose between bar types(TimeCounter and TimeProgressCounter); The ability to specify the order of the bar; The ability to change the height of the bar; The ability to customize the color and transparency of the background; The ability to set a material for the background; The ability to switch between CuiRawImageComponent and CuiImageComponent for the image; The ability to get images from the local folder(*SERVER*\oxide\data\AdvancedStatus\Images); The ability to set own image and customize the color and transparency of the image; The ability to set sprite instead of the image; The ability to customize the color, size and font of the text. { "Chat command": "trade", "List of 'accept' commands": [ "accept", "yes" ], "List of 'cancel' commands": [ "cancel", "no" ], "Is it worth enabling GameTips for messages?": true, "Is it worth using Notify plugins for messages instead of the vanilla UI?": false, "Specify the regular message type for notify": 0, "Specify the warning message type for notify": 1, "Is it worth using the AdvancedStatus plugin?": true, "Is it worth saving trade logs to a file?": true, "List of language keys for creating language files": [ "en" ], "Slot limit calculation mode(Personal, CommonMinimum, CommonMaximum)": "CommonMaximum", "Trade cooldown apply mode(InitiatorOnly, TargetOnly, Both)": "InitiatorOnly", "Is it worth checking the target's trade cooldown?": false, "Time in seconds given to respond to a trade request": 15.0, "Price to skip 60 seconds of the trade request cooldown": 10.0, "The prefab name for the effect triggered when a trade request is received": "assets/bundled/prefabs/fx/invite_notice.prefab", "The prefab name for the effect triggered when a trade is successfully completed": "assets/prefabs/building/wall.frame.shopfront/effects/metal_transaction_complete.prefab", "List of mount names where trading is prohibited": [ "horsesaddle", "horsesaddlerear", "bikedriverseat", "bikepassengerseat", "motorbikedriverseat", "motorbikepassengerseat", "modularcardriverseat", "modularcarpassengerseatleft", "modularcarpassengerseatright", "modularcarpassengerseatlesslegroomleft", "modularcarpassengerseatlesslegroomright", "modularcarpassengerseatsidewayleft", "miniheliseat", "minihelipassenger", "transporthelipilot", "transporthelicopilot", "attackhelidriver", "attackheligunner", "submarinesolodriverstanding", "submarineduodriverseat", "submarineduopassengerseat", "snowmobiledriverseat", "snowmobilepassengerseat", "snowmobilepassengerseat tomaha", "workcartdriver", "locomotivedriver", "craneoperator", "batteringramseat", "ballistagun.entity" ], "Status. Bar - Display time in seconds. A value of 0 keeps it visible until the cooldown ends": 15.0, "Status. Bar - Type(TimeProgressCounter or TimeCounter)": "TimeCounter", "Status. Bar - Height": 26, "Status. Bar - Order": 10, "Status. Background - Color(Hex or RGBA)": "#EFC570", "Status. Background - Transparency": 0.7, "Status. Background - Material(Leave empty to disable)": "", "Status. Image - Url": "https://gitlab.com/IIIaKa/images/-/raw/main/StatusBars/Trader_Request.png", "Status. Image - Local(Leave empty to use Image_Url)": "Trader_Request", "Status. Image - Sprite(Leave empty to use Image_Local or Image_Url)": "", "Status. Image - Is raw image": false, "Status. Image - Color(Hex or RGBA)": "#EFC570", "Status. Image - Transparency": 1.0, "Status. Image Outline - Color(Hex or RGBA)": "0.1 0.3 0.8 0.9", "Status. Image Outline - Transparency": 1.0, "Status. Image Outline - Distance(Leave empty to disable). Example '0.75 0.75'": "", "Status. Text - Size": 12, "Status. Text - Color(Hex or RGBA)": "#FFFFFF", "Status. Text - Transparency": 1.0, "Status. Text - Font(https://umod.org/guides/rust/basic-concepts-of-gui#fonts)": "RobotoCondensed-Bold.ttf", "Status. Text - Offset Horizontal": 0, "Status. Text Outline - Color(Hex or RGBA)": "#000000", "Status. Text Outline - Transparency": 1.0, "Status. Text Outline - Distance(Leave empty to disable)": "", "Status. SubText - Size": 12, "Status. SubText - Color(Hex or RGBA)": "#FFFFFF", "Status. SubText - Transparency": 1.0, "Status. SubText - Font": "RobotoCondensed-Bold.ttf", "Status. SubText Outline - Color(Hex or RGBA)": "0.5 0.6 0.7 0.5", "Status. SubText Outline - Transparency": 1.0, "Status. SubText Outline - Distance(Leave empty to disable)": "", "Status. Progress - Background Color(Hex or RGBA)": "1 1 1 0.15", "Status. Progress - Background Transparency": 0.15, "Status. Progress - Reverse": true, "Status. Progress - Color(Hex or RGBA)": "#EFC570", "Status. Progress - Transparency": 0.7, "Status. Progress - OffsetMin": "0 0", "Status. Progress - OffsetMax": "0 0", "List of trade permissions": [ { "Permission Name": "trader.default", "Number of available trade slots": 3, "Cooldown time(in seconds) before next trade": 600.0, "Daily trade request limit. A value of 0 disables the limit": 50, "Price to purchase a trade after exceeding the daily limit. A value of 0 disables the purchase": 5.0, "Is it worth forbidding trade if the player is in a wounded state?": true, "Is it worth forbidding trade if the player is swimming?": true, "Is it worth forbidding trade if the player is mounted?": true, "Is it worth forbidding trade if the player is in someone else's building privilege area?": true, "Is it worth forbidding trade if the player has taken damage?": true, "Is it worth forbidding trade if the player has combat block?": true, "Is it worth forbidding trade if the player has raid block?": true, "List of monuments where trade is forbidden": null, "List of monument categories where trade is forbidden": [ "RadTown", "RadTownWater", "RadTownSmall", "TunnelStation", "Custom" ], "List of forbidden trade items": [ "rock" ] }, { "Permission Name": "trader.vip", "Number of available trade slots": 6, "Cooldown time(in seconds) before next trade": 450.0, "Daily trade request limit. A value of 0 disables the limit": 100, "Price to purchase a trade after exceeding the daily limit. A value of 0 disables the purchase": 2.5, "Is it worth forbidding trade if the player is in a wounded state?": true, "Is it worth forbidding trade if the player is swimming?": true, "Is it worth forbidding trade if the player is mounted?": true, "Is it worth forbidding trade if the player is in someone else's building privilege area?": true, "Is it worth forbidding trade if the player has taken damage?": true, "Is it worth forbidding trade if the player has combat block?": true, "Is it worth forbidding trade if the player has raid block?": true, "List of monuments where trade is forbidden": null, "List of monument categories where trade is forbidden": [ "RadTown", "RadTownWater", "TunnelStation" ], "List of forbidden trade items": [ "rock" ] }, { "Permission Name": "realpve.vip", "Number of available trade slots": 9, "Cooldown time(in seconds) before next trade": 300.0, "Daily trade request limit. A value of 0 disables the limit": 0, "Price to purchase a trade after exceeding the daily limit. A value of 0 disables the purchase": 0.0, "Is it worth forbidding trade if the player is in a wounded state?": false, "Is it worth forbidding trade if the player is swimming?": false, "Is it worth forbidding trade if the player is mounted?": false, "Is it worth forbidding trade if the player is in someone else's building privilege area?": false, "Is it worth forbidding trade if the player has taken damage?": false, "Is it worth forbidding trade if the player has combat block?": false, "Is it worth forbidding trade if the player has raid block?": false, "List of monuments where trade is forbidden": [ "oilrig_1" ], "List of monument categories where trade is forbidden": null, "List of forbidden trade items": [ "rock" ] } ], "Version": { "Major": 0, "Minor": 1, "Patch": 4 } } EN: { "CmdNotAllowed": "You do not have permission to use this command!", "CmdPlayerNotFound": "Player '{0}' not found! You must provide the player's name or ID.", "CmdMultiplePlayers": "Multiple players found: {0}", "CmdEconomicsNotEnough": "Not enough funds!", "CmdMain": "Available trade commands:\n\n<color=#D1CBCB>/trade</color> <color=#D1AB9A>bars *boolValue*(optional)</color> - Toggle status bar display\n<color=#D1CBCB>/trade</color> <color=#D1AB9A>*nameOrId*</color> - Send a trade request to the specified player\n<color=#D1CBCB>/trade</color> <color=#83BA7C>accept/yes</color> - Accept a pending trade request\n<color=#D1CBCB>/trade</color> <color=#DE5757>cancel/no</color> - Decline a pending or active trade\n<color=#D1CBCB>/trade</color> <color=#D1AB9A>limits</color> - View your trade limits\n<color=#D1CBCB>/trade</color> <color=#D1AB9A>buy limits *amount*(optional)</color> - Purchase additional trade requests\n<color=#D1CBCB>/trade</color> <color=#D1AB9A>buy cd *amount*(optional)</color> - Purchase a 60 second(* by amount) cooldown skip\n\n--------------------------------------------------", "CmdBarsEnabled": "Status bar display enabled!", "CmdBarsDisabled": "Status bar display disabled!", "CmdDailyLimitExtra": "You have exceeded the daily limit({0}) for sending trade requests!\n<size=10>However, you can buy additional requests using the <color=#D1AB9A>/trade buy limits</color> command for <color=#D1CBCB>${1}</color></size>", "CmdDailyLimit": "You have exceeded the daily limit({0}) for sending trade requests!", "CmdCooldownSkip": "You must wait {0} seconds before sending another trade request!\n<size=10>However, you can skip the cooldown using the <color=#D1AB9A>/trade buy cd</color> command for <color=#D1CBCB>${1}</color> per 60 seconds</size>", "CmdCooldown": "You must wait {0} seconds before sending another trade request!", "CmdWoundBlock": "You can't trade while wounded!", "CmdSwimming": "You can't trade while swimming!", "CmdMountBlock": "You can't trade while mounted here!", "CmdBuildingBlock": "You can't trade inside someone else's base!", "CmdDamageBlock": "You can't trade while taking damage!", "CmdCombatBlock": "You can't trade during combat block!", "CmdRaidBlock": "You can't trade during a raid block!", "CmdAcceptEmpty": "You have no pending trade requests!", "CmdAcceptOngoing": "You already have an active trade with player '<color=#D1AB9A>{0}</color>'!", "CmdDeclineEmpty": "You have no pending or active trades!", "CmdDecline": "Trade between you and player '<color=#D1AB9A>{0}</color>' has been canceled!", "CmdDeclineOther": "Player '<color=#D1AB9A>{0}</color>' canceled the trade with you!", "CmdSendSelf": "You cannot send a trade request to yourself!", "CmdSendNoRespond": "Player '<color=#D1AB9A>{0}</color>' has not responded to your trade request!", "CmdSendAlredyHave": "You already have a pending or active trade with player '<color=#D1AB9A>{0}</color>'!\n<size=10><color=#83BA7C>/trade yes</color> - Accept the pending trade request\n<color=#DE5757>/trade no</color> - Decline the pending or active trade</size>", "CmdSendTargetNotAllowed": "Player '<color=#D1AB9A>{0}</color>' does not have permission to use trading!", "CmdSendTargetAlredyHave": "Player '<color=#D1AB9A>{0}</color>' already has a pending or active trade with player '<color=#D1AB9A>{1}</color>'!", "CmdSendTargetHasCooldown": "Player '<color=#D1AB9A>{0}</color>' has an active cooldown, {1} seconds remaining!", "CmdSendTo": "Trade request successfully sent to player '<color=#D1AB9A>{0}</color>'.", "CmdSendFrom": "Player '<color=#D1AB9A>{0}</color>' has sent you a trade request.\n<size=10><color=#83BA7C>/trade yes</color> - Accept the pending trade request\n<color=#DE5757>/trade no</color> - Decline the pending or active trade</size>", "CmdPurchaseNotLimited": "You haven't reached your daily limit yet!", "CmdPurchaseHaveExtra": "You still have {0} additional trade requests! Use them before purchasing more.", "CmdPurchaseLimitsNotAllowed": "Purchasing additional trade requests is unavailable!", "CmdPurchasedLimits": "You have successfully purchased <color=#D1CBCB>{0}</color> trade requests!\n<size=10>Now you have <color=#D1CBCB>{1}</color> additional trade requests</size>", "CmdPurchaseNoCooldown": "You don't have a cooldown for sending trade requests!", "CmdPurchaseCooldownNotAllowed": "Purchasing a cooldown skip for trade requests is not available!", "CmdPurchasedCooldown": "You have successfully purchased a cooldown skip for <color=#D1CBCB>{0} seconds</color> for trade requests!\n<size=10>Now you need to wait <color=#D1CBCB>{1} seconds</color></size>", "CmdMyLimits": "Your trade request limits:\n\n<color=#D1CBCB>Cooldown</color> - <color=#D1AB9A>{0} sec</color>\n<color=#D1CBCB>Daily Limit</color> - <color=#D1AB9A>{1}</color>\n\n--------------------------------------------------", "BarInitiator": "Trade to: {0}", "BarTarget": "Trade from: {0}", "BarCooldown": "Trade cooldown:", "MsgStarted": "You have started a trade with player '<color=#D1AB9A>{0}</color>'!", "MsgCompleted": "Trade with player '<color=#D1AB9A>{0}</color>' completed successfully!", "MsgCanceled": "Player '<color=#D1AB9A>{0}</color>' canceled the trade!" } RU: { "CmdNotAllowed": "У вас недостаточно прав для использования этой команды!", "CmdPlayerNotFound": "Игрок '{0}' не найден! Вы должны указать имя или ID игрока.", "CmdMultiplePlayers": "Найдено несколько игроков: {0}", "CmdEconomicsNotEnough": "Не достаточно средств!", "CmdMain": "Доступные команды для трейда:\n\n<color=#D1CBCB>/trade</color> <color=#D1AB9A>bars *булевоеЗначение*(опционально)</color> - Переключение отображения статус баров\n<color=#D1CBCB>/trade</color> <color=#D1AB9A>*имяИлиАйди*</color> - Отправить запрос на трейд указанному игроку\n<color=#D1CBCB>/trade</color> <color=#83BA7C>accept/yes</color> - Принять ожидающий запрос на трейд\n<color=#D1CBCB>/trade</color> <color=#DE5757>cancel/no</color> - Отклонить ожидающий или активный трейд\n<color=#D1CBCB>/trade</color> <color=#D1AB9A>limits</color> - Узнать свои лимиты\n<color=#D1CBCB>/trade</color> <color=#D1AB9A>buy limits *количество*(опционально)</color> - Докупить дополнительное количество трейд запросов\n<color=#D1CBCB>/trade</color> <color=#D1AB9A>buy cd *количество*(опционально)</color> - Купить пропуск 60 секунд(* на количество) задержки перед отправкой трейд запросов\n\n--------------------------------------------------", "CmdBarsEnabled": "Отображение статус баров включено!", "CmdBarsDisabled": "Отображение статус баров выключено!", "CmdDailyLimitExtra": "Вы превысили допустимую дневную норму({0}) на отправку трейд запросов!\n<size=10>Но вы можете купить дополнительные запросы с помощью команды <color=#D1AB9A>/trade buy limits</color> за <color=#D1CBCB>{1}$</color></size>", "CmdDailyLimit": "Вы превысили допустимую дневную норму({0}) на отправку трейд запросов!", "CmdCooldownSkip": "Перед отправкой нового запроса на трейд вам необходимо подождать {0} секунд!\n<size=10>Но вы можете купить пропуск задержки с помощью команды <color=#D1AB9A>/trade buy cd</color> за <color=#D1CBCB>{1}$</color> за каждые 60 секунд</size>", "CmdCooldown": "Перед отправкой нового запроса на трейд вам необходимо подождать {0} секунд!", "CmdWoundBlock": "Вам запрещено пользоваться трейдом в предсмертном состоянии!", "CmdSwimming": "Вам запрещено пользоваться трейдом в воде!", "CmdMountBlock": "Вам запрещено пользоваться трейдом сидя в данном месте!", "CmdBuildingBlock": "Вам запрещено пользоваться трейдом в чужой базе!", "CmdDamageBlock": "Вам запрещено пользоваться трейдом при получении урона!", "CmdCombatBlock": "Вам запрещено пользоваться трейдом во время боя!", "CmdRaidBlock": "Вам запрещено пользоваться трейдом во время рейда!", "CmdAcceptEmpty": "У вас нет ожидающих запросов на трейд!", "CmdAcceptOngoing": "У вас уже есть активный трейд с игроком '<color=#D1AB9A>{0}</color>'!", "CmdDeclineEmpty": "У вас нет ожидающих или активных трейдов!", "CmdDecline": "Трейд между вами и игроком '<color=#D1AB9A>{0}</color>' отменён!", "CmdDeclineOther": "Игрок '<color=#D1AB9A>{0}</color>' отменил трейд с вами!", "CmdSendSelf": "Нельзя отправить трейд запрос самому себе!", "CmdSendNoRespond": "Игрок '<color=#D1AB9A>{0}</color>' не ответил на ваш трейд запрос!", "CmdSendAlredyHave": "У вас уже есть ожидающий или активный трейд с игроком '<color=#D1AB9A>{0}</color>'!\n<size=10><color=#83BA7C>/trade yes</color> - Принять ожидающий запрос на трейд\n<color=#DE5757>/trade no</color> - Отклонить ожидающий или активный трейд</size>", "CmdSendTargetNotAllowed": "У игрока '<color=#D1AB9A>{0}</color>' недостаточно прав для использования обмена!", "CmdSendTargetAlredyHave": "У игрока '<color=#D1AB9A>{0}</color>' уже есть ожидающий или активный трейд с игроком '<color=#D1AB9A>{1}</color>'!", "CmdSendTargetHasCooldown": "У игрока '<color=#D1AB9A>{0}</color>' имеется активный кулдаун, осталось {1} секунд!", "CmdSendTo": "Игроку '<color=#D1AB9A>{0}</color>' был успешно отправлен запрос на трейд.", "CmdSendFrom": "Игрок '<color=#D1AB9A>{0}</color>' отправил вам запрос на трейд.\n<size=10><color=#83BA7C>/trade yes</color> - Принять ожидающий запрос на трейд\n<color=#DE5757>/trade no</color> - Отклонить ожидающий или активный трейд</size>", "CmdPurchaseNotLimited": "Вы ещё не исчерпали свой дневной лимит!", "CmdPurchaseHaveExtra": "У вас ещё есть {0} дополнительных трейд запросов! Используйте их прежде, чем покупать новые.", "CmdPurchaseLimitsNotAllowed": "Покупка дополнительных трейд запросов недоступна!", "CmdPurchasedLimits": "Вы успешно докупили <color=#D1CBCB>{0}</color> трейд запросов!\n<size=10>Теперь у вас <color=#D1CBCB>{1}</color> дополнительных трейд запросов</size>", "CmdPurchaseNoCooldown": "У вас нет задержки на отправку трейд запросов!", "CmdPurchaseCooldownNotAllowed": "Покупка пропуска задержки на трейд запросы недоступна!", "CmdPurchasedCooldown": "Вы успешно купили пропуск на <color=#D1CBCB>{0} секунд</color> задержки для трейд запросов!\n<size=10>Теперь вам нужно подождать <color=#D1CBCB>{1} секунд</color></size>", "CmdMyLimits": "Ваши лимиты трейд запросов:\n\n<color=#D1CBCB>Время задержки</color> - <color=#D1AB9A>{0} сек</color>\n<color=#D1CBCB>Дневной лимит</color> - <color=#D1AB9A>{1}</color>\n\n--------------------------------------------------", "BarInitiator": "Трейд с: {0}", "BarTarget": "Трейд от: {0}", "BarCooldown": "Задержка трейда:", "MsgStarted": "Вы начали трейд с игроком '<color=#D1AB9A>{0}</color>'!", "MsgCompleted": "Трейд с игроком '<color=#D1AB9A>{0}</color>' успешно завершён!", "MsgCanceled": "Игрок '<color=#D1AB9A>{0}</color>' отменил трейд!" } bars *boolValue*(optional) - Toggle status bar display. *nameOrId* - Send a trade request to the specified player. accept/yes - Accept a pending trade request. cancel/no - Decline a pending or active trade. limits - View your trade limits. buy limits *amount*(optional) - Purchase additional trade requests. buy cd *amount*(optional) - Purchase a 60 second(* by amount) cooldown skip. Example: /trade bars true /trade iiiaka /trade yes /trade limits /trade buy limits 1 /trade buy limits 0.5
    $9.99
  17. Version 1.3.0

    1,894 downloads

    The plugin adds a dungeon event to your server. Dungeons are bases with puzzles, NPC defenders, turrets and more. You can create your own dungeons of varying difficulty You can build your own bases or modify existing ones: There are moving NPC guardians in the dungeons: There are puzzles with protective doors in the dungeons: In the dungeons there are secret notes with codes in boxes or on NPCs: Commands: dungbase_start - force start event dungbase_start <entrance name> <dungeon name> <X> <Y> <Z> - force an event to start using the specified entrance and dungeon at coordinates X Y Z (you can also specify the name of the entrance or dungeon <random>) example: dungbase_start entrance1 dungeon1 122.3 5.2 872 dungbase_start random dungeon3 dungbase_stop - force stop event dungbase_addblack <radius> - add a zone where dungeon spawning is not allowed Hooks: void DungeonBasesEventStarted() - // called when event starts void DungeonBasesEventEnded() - // called when event ends Configuration: { "Allow only the event owner (the one who entered the dungeon first) into the dungeon": true, "Allow owner's teammates to enter the dungeon": true, "Time before ownership is lost after leaving the server(in seconds)": 300, "Event marker on the map": true, "Event marker name": "Dungeon Base", "Event marker transparency(0-1)": 0.55, "Event marker radius": 0.5, "Event marker color.R(0-1)": 1.0, "Event marker color.G(0-1)": 0.0, "Event marker color.B(0-1)": 0.0, "Display event owner name on marker": true, "Display the time remaining until the end of the event on the marker": true, "Autostart event(disable if you want to trigger the event only manually)": true, "Calculate the time until the next event only after the previous one has finished": false, "Minimum time to event start(in seconds)": 3600, "Maximum time to event start(in seconds)": 7200, "Minimum event duration(in seconds)": 2000, "Maximum event duration(in seconds)": 3000, "Minimum number of online players to trigger an event": 1, "List of NPC names": [ "Dungeon NPC", "Dungeon Keeper", "Dungeon guard" ], "Dungeons list": [ "#dung#base1", "#dung#base2", "#dung#base3", "#dung#base4" ], "Entrances list": [ "#dung#entrance1", "#dung#entrance2", "#dung#entrance3", "#dung#entrance4" ], "Random order of choosing a dungeon from the list (if false, will be selected in turn)": true, "Random order of choosing the entrance to the dungeon from the list (if false, will be selected in turn)": true, "Change the time of day when entering the dungeon(from 0 to 23, if -1 - do not change the time)": 0.0, "How long before the end of the event does radiation start to affect players inside the dungeon": 180, "How long before the event ends will a warning message be displayed to players": 300, "How long after the event ends should the entrance be destroyed": 60, "Close the entrance and exit to the dungeon when the event time is over": true, "Will autoturrets attack NPCs": false, "Save event data (If true, the event will be saved and will continue even if you restart the server or plugin. Disable this if you get lag when saving)": true, "SteamID for chat message icon": 0 } Note: The plugin is guaranteed to work correctly with bases enabled. NPCs will not behave as standard, as they use different algorithms. Only one dungeon can spawn on the map at a time.
    $19.99
  18. Version 1.3.1

    79 downloads

    MBCalendar - Stylish Wipe Calendar for Rust Overview MBCalendar - a clean, stylish, and functional wipe calendar plugin for Rust servers. It allows players to easily view all upcoming global and regular wipes directly in a modern in-game interface. Fully customizable, multilingual, and integrated with ImageLibrary, this plugin is a perfect addition for any server that wants a clear and informative UI. Features 🗓 Beautiful calendar interface showing all wipes for the month Supports both global and regular wipes Timezone configuration (set +2, -5, etc. for your region) Displays exact date and time for every wipe Organize wipes by month directly in config Multilingual support (English, Russian, Ukrainian) 🖼 Built with ImageLibrary - no extra files, fast loading Lightweight, optimized, and easy to configure 🖥 UI Features Smooth layout with day and month navigation Highlighted days with wipe events Different colors and icons for global and regular wipes “Next Wipe” and “Last Wipe” displays with accurate countdown Commands /calendar - Opens the wipe calendar interface
    $5.00
  19. Version 1.4.6

    63 downloads

    MBPrivileges MBPrivileges is a modern Rust plugin that provides a stylish system for viewing and purchasing in-game privileges. It features a fully custom CUI-based interface and supports multiple economy systems. Key Features: Beautiful and intuitive UI to display all available privileges. Supports MBCoins, Economics, and ServerRewards — choose the economy system that fits your server. Fully customizable privileges: Group Name (GroupName) Duration (DurationText) Price (Price) Image (ImageUrl) Multi-language descriptions (EN / RU / UK) Integration with ImageLibrary for image loading and display. Simple navigation — close or go back with a single click. Multi-language support: English, Russian, Ukrainian. Commands: /vip — opens the privilege menu. New Features Visual UI banners instead of chat messages: Successful purchase Not enough funds Purchase error Purchase confirmation required Purchase in quantities: Added + / − buttons to select the purchase amount Price and duration are automatically recalculated based on quantity Purchase confirmation: Before pressing “Buy”, the player must tick the confirmation checkbox After purchase, the confirmation resets automatically Balance indicator: The player’s current balance is now displayed directly in the interface Updates in real time when the player changes quantity or completes a purchase Dependencies: Economics (optional) ServerRewards (optional) MBCoins (optional) Configuration: All settings are managed via the configuration file: { "Privileges": [ { "GroupName": "vip", "DurationText": "14d", "Price": 10, "ImageUrl": "", "Descriptions": { "en": { "Enabled": true, "Text": "Prefix [VIP] ... description in English ..." }, "uk": { "Enabled": true, "Text": "Prefix [VIP] ... description in Ukrainian ..." }, "ru": { "Enabled": true, "Text": "Prefix [VIP] ... description in Russian ..." } } }, { "GroupName": "premium", "DurationText": "14d", "Price": 15, "ImageUrl": "", "Descriptions": { "en": { "Enabled": true, "Text": "Prefix [PREMIUM] ... description in English ..." }, "uk": { "Enabled": true, "Text": "Префікс [PREMIUM] ... description in Ukrainian ..." }, "ru": { "Enabled": true, "Text": "Prefix [PREMIUM] ... description in Russian ..." } } }, { "GroupName": "deluxe", "DurationText": "14d", "Price": 20, "ImageUrl": "", "Descriptions": { "en": { "Enabled": true, "Text": "Prefix [DELUXE] ... description in English ..." }, "uk": { "Enabled": true, "Text": "Префікс [DELUXE] ... description in Ukrainian ..." }, "ru": { "Enabled": true, "Text": "Prefix [DELUXE] ... description in Russian ..." } } } ], "Economy type (Economics, ServerRewards, MBCoins)": "MBCoins" }
    $7.00
  20. Version 0.1.11

    1,790 downloads

    An API plugin which helps interact with players, NPCs, animals, and other entities inside monuments. More detailed information can be found in the GitHub repository.
    Free
  21. IIIaKa

    Fuel Status

    Version 0.1.6

    549 downloads

    The plugin displays the vehicle's fuel level in the status bar. Depends on AdvancedStatus plugin. The ability to display the vehicle's fuel level(gauge) in the status bar; The ability to notify when a low fuel level is reached; The ability to set a color for each percentage of fuel; The ability to specify mount poses for display; The ability to automatically generate language files for different languages(filled in English); The ability to specify the order of the bar; The ability to change the height of the bar; The ability to customize the color and transparency of the background; The ability to set a material for the background; The ability to switch between CuiRawImageComponent and CuiImageComponent for the image; The ability to get images from the local folder (*SERVER*\oxide\data\AdvancedStatus\Images); The ability to set own image and customize the color and transparency of the image; The ability to set sprite instead of the image; The ability to customize the color, size, font and outline of the text. { "Is it worth enabling GameTips for messages?": true, "Is it worth using Notify plugins for messages instead of the vanilla UI?": false, "Specify the regular message type for notify": 0, "Specify the warning message type for notify": 1, "List of language keys for creating language files": [ "en" ], "Fuel stack size for fraction calculation. A value of 0 uses the actual stack size": 0, "Fuel indicator refresh interval in seconds": 5.0, "Notifications - The percentage(0.0 to 1.0) of fuel at which notifications will occur. A value of 0 disables this": 0.2, "Notifications - The effect that will be triggered upon a warning. Choose the effect carefully! An empty string disables the effect call": "assets/prefabs/locks/keypad/effects/lock.code.denied.prefab", "Status. Bar - Height": 26, "Status. Bar - Order": 1, "Status. Background - Color(Hex or RGBA)": "#FFFFFF", "Status. Background - Transparency": 0.15, "Status. Background - Material(empty to disable)": "", "Status. Image - Url": "https://i.ibb.co/4ZhnTpBv/Fuel-Status-Fuel.png", "Status. Image - Local(Leave empty to use Image_Url)": "FuelStatus_Fuel", "Status. Image - Sprite(Leave empty to use Image_Local or Image_Url)": "", "Status. Image - Is raw image": false, "Status. Image - Color(Hex or RGBA)": "#E2DBD6", "Status. Image - Transparency": 0.55, "Status. Image Outline - Color(Hex or RGBA)": "0.1 0.3 0.8 0.9", "Status. Image Outline - Transparency": 1.0, "Status. Image Outline - Distance(Leave empty to disable). Example '0.75 0.75'": "", "Status. Text - Size": 15, "Status. Text - Color(Hex or RGBA)": "#E2DBD6", "Status. Text - Transparency": 1.0, "Status. Text - Font(https://umod.org/guides/rust/basic-concepts-of-gui#fonts)": "RobotoCondensed-Bold.ttf", "Status. Text - Offset Horizontal": 7, "Status. Text Outline - Color(Hex or RGBA)": "#000000", "Status. Text Outline - Transparency": 1.0, "Status. Text Outline - Distance(Leave empty to disable)": "", "Status. Progress - Transparency": 0.8, "Status. Progress - OffsetMin": "25 2.5", "Status. Progress - OffsetMax": "-3.5 -3.5", "Status. Progress - Zero Text Size": 12, "Status. Progress - Zero Text Color(Hex or RGBA)": "#F70000", "List of mount poses for displaying fuel status": [ "Driving", "HandMotorBoat", "StandDrive", "SitMinicopter_Pilot", "Sit_Workcart", "Sit_Crane", "Driving_Snowmobile", "Sit_Locomotive", "Sit_DPV", "Sit_BatteringRam", "Steering_Boat" ], "List of Gauge Indicators": [ { "MinRange": 0.0, "MaxRange": 0.2, "Color(Hex or RGBA)": "#F70000" }, { "MinRange": 0.2, "MaxRange": 0.6, "Color(Hex or RGBA)": "#F7BB00" }, { "MinRange": 0.6, "MaxRange": 1.0, "Color(Hex or RGBA)": "#B1C06E" } ], "Version": { "Major": 0, "Minor": 1, "Patch": 6 } } The values of MaxRange and MinRange set the range of values over which the color applies. The values for MaxRange and MinRange must be between 0.0 and 1.0 (inclusive), where 0.0 equals 0%, and 1.0 equals 100%. The value of MaxRange must be equal to the value of MinRange of the previous. EN: { "MsgFuelLow": "Warning: Fuel level is low!", "BarProgressZero": "Out of fuel, refill required!" } RU: { "MsgFuelLow": "Внимание: уровень топлива низкий!", "BarProgressZero": "Нет топлива!" } Available mount poses(PlayerModel.MountPoses): public enum MountPoses { Chair = 0, Driving = 1, Horseback = 2, HeliUnarmed = 3, HeliArmed = 4, HandMotorBoat = 5, MotorBoatPassenger = 6, SitGeneric = 7, SitRaft = 8, StandDrive = 9, SitShootingGeneric = 10, SitMinicopter_Pilot = 11, SitMinicopter_Passenger = 12, ArcadeLeft = 13, ArcadeRight = 14, SitSummer_Ring = 15, SitSummer_BoogieBoard = 16, SitCarPassenger = 17, SitSummer_Chair = 18, SitRaft_NoPaddle = 19, Sit_SecretLab = 20, Sit_Workcart = 21, Sit_Cardgame = 22, Sit_Crane = 23, Sit_Snowmobile_Shooting = 24, Sit_RetroSnowmobile_Shooting = 25, Driving_Snowmobile = 26, ZiplineHold = 27, Sit_Locomotive = 28, Sit_Throne = 29, Parachute = 30, Sit_DPV = 31, Standing_Ballista = 32, Sit_BatteringRam = 33, VineSwinging = 34, Sit_Ejectorseat = 35, Sit_Beanbag = 36, Steering_Boat = 37, Standing = 128 }
    $3.99
  22. Version 0.1.4

    366 downloads

    The plugin that displays temporary permissions and groups in the status bar. Depends on AdvancedStatus plugin. The ability to display temporary and permanent permissions; The ability to display temporary and permanent groups; The ability to display temporary and permanent permissions from groups; The ability to automatically generate language files for different languages(filled in English); The ability to customize the bar for each permission and group; The ability to choose between bar types(TimeCounter and TimeProgressCounter); The ability to specify the order of the bar; The ability to change the height of the bar; The abillity to customize the color and transparency of the background; The ability to set a material for the background; The ability to switch between CuiRawImageComponent and CuiImageComponent for the image; The ability to get images from the local folder(*SERVER*\oxide\data\AdvancedStatus\Images); The abillity to set own image and customize the color and transparency of the image; The abillity to set sprite instead of the image; The ability to customize the color, size, font and outline of the text. { "Chat command": "pstatus", "Is it worth enabling GameTips for messages?": true, "List of language keys for creating language files": [ "en" ], "Is it worth clearing saved settings for permissions and groups upon detecting a wipe?": false, "Is it worth displaying the status bar only when players are in the safe zone or have building privilege?": false, "Default display mode for new permissions(Disabled, Temporary, UntilWipe, Permanent, All)": "Temporary, UntilWipe", "Default display mode for new groups(Disabled, Temporary, UntilWipe, Permanent, All)": "Temporary, UntilWipe", "Wipe ID": null, "Version": { "Major": 0, "Minor": 1, "Patch": 4 } } P.S. The default status bar configuration can be adjusted in *SERVER*\oxide\data\PermissionsStatus\BarsConfig.json under the key "_default". EN: { "CmdFailed": "The entered command is incorrect! Try '/{0} display'", "CmdDisplayEnabled": "Displaying the bar is enabled!", "CmdDisplayDisabled": "Displaying the bar is disabled!", "BarUntilWipe": "Until wipe", "BarPermanent": "Permanent" } RU: { "CmdFailed": "Введена не верная команда! Попробуйте '/{0} display'", "CmdDisplayEnabled": "Отображение бара включено!", "CmdDisplayDisabled": "Отображение бара выключено!", "BarUntilWipe": "До вайпа", "BarPermanent": "Постоянный" } The language file is generated during the plugin initialization process. Additionally, when creating a new permission or group, a key for it will be automatically added. Note: You can also specify in the configuration file the generation of language files for other languages besides en and ru. In the "\data\PermissionsStatus\" folder, there are three files: BarsConfig.json - stores status bar settings with their unique keys. GroupsConfig.json - contains settings for groups. PermissionsConfig.json - contains settings for permissions.
    $9.99
  23. Version 0.1.25

    5,073 downloads

    A useful API plugin that mimics in-game status bars and allows the addition of custom ones. Note: AdvancedStatus does not display any bars on its own. This is done by other plugins that work with it. An example plugin demonstrating interaction with AdvancedStatus. The ability to specify the frequency of calculating the number of bars; The ability to specify the order of the bar; The ability to change the height of the bar; The abillity to customize the color and transparency of the background; The ability to set a material for the background; The ability to switch between CuiRawImageComponent and CuiImageComponent for the image; The ability to get images from the local folder(*SERVER*\oxide\data\AdvancedStatus\Images); The abillity to set own image and customize the color and transparency of the image; The abillity to set sprite instead of the image; The ability to specify custom text; The ability to customize the color, size and font of the text; No need to pass all parameters; No need to manually delete your bar when unloading your plugin. advancedstatus.admin - Grants access to the chat command(by default /bar). { "Chat command": "bar", "Is it worth enabling console notifications for the successful loading of local images?": false, "Interval(in seconds) for counting in-game status bars": 0.5, "Interval(in seconds) for counting Building Privileges status bars. Note: Calculating Building Privileges is resource-intensive": 1.0, "Is it worth counting Vehicle Privilege? Useful if you don't have a Tugboat or PlayerBoat": true, "Is it worth counting Entity Privilege? Useful if you don't have a Legacy Shelter": true, "Ui layer for displaying bars. For button bars, it is recommended to use the 'Hud' layer(https://umod.org/guides/rust/basic-concepts-of-gui#layers)": "Under", "Is it worth displaying bar components left to right?": true, "Vertical spacing between bars": 2, "The height of the bar by default": 26, "The background color of the bar by default": "#505F75", "The background transparency of the bar by default": 0.7, "The background material of the bar by default, leave empty to disable": "", "The image of the bar by default": "AdvancedStatus_Default", "The color of the bar image by default": "#6B7E95", "The transparency of the bar image by default": 1.0, "The outline color of the bar image by default": "#000000", "The outline transparency of the bar image by default": 1.0, "The outline distance of the bar image by default. Example '0.75 0.75'": "", "The size of the bar text by default": 12, "The color of the bar text by default": "#FFFFFF", "The transparency of the bar text by default": 1.0, "The font of the bar text by default(https://umod.org/guides/rust/basic-concepts-of-gui#fonts)": "RobotoCondensed-Bold.ttf", "The horizontal offset of the bar text by default": 0, "The outline color of the bar text by default": "#000000", "The outline transparency of the bar text by default": 1.0, "The outline distance of the bar text by default": "", "The size of the bar subtext by default": 12, "The color of the bar subtext by default": "#FFFFFF", "The transparency of the bar subtext by default": 1.0, "The font of the bar subtext by default": "RobotoCondensed-Bold.ttf", "The outline color of the bar subtext by default": "#000000", "The outline transparency of the bar subtext by default": 1.0, "The outline distance of the bar subtext by default": "", "The color of the bar progress by default": "#89B840", "The transparency of the bar progress by default": 0.7, "The OffsetMin of the bar progress by default": "25 2.5", "The OffsetMax of the bar progress by default": "-3.5 -3.5", "Version": { "Major": 0, "Minor": 1, "Patch": 25 } } EN: { "MsgDays": "d", "MsgHours": "h", "MsgMinutes": "m", "MsgSeconds": "s" } RU: { "MsgDays": "д", "MsgHours": "ч", "MsgMinutes": "м", "MsgSeconds": "я" } images reload *ImageName* - Reloads the specified image from the image folder; all - Reloads all local images from the image folder. Example: /bar images reload all Note: To access the commands, the player must be an admin(console or owner) or have the advancedstatus.admin permission. OnAdvancedStatusLoaded: Called after the AdvancedStatus plugin is fully loaded and ready. OnPlayerGainedBuildingPrivilege: Called after the player enters their building privilege. OnPlayerLostBuildingPrivilege: Called after the player exits their building privilege. void OnAdvancedStatusLoaded() { Puts("The AdvancedStatus plugin is loaded and ready to go!"); } void OnPlayerGainedBuildingPrivilege(BasePlayer player) { Puts($"{player.displayName} entered the authorized building privilege zone."); } void OnPlayerLostBuildingPrivilege(BasePlayer player) { Puts($"{player.displayName} exited the authorized building privilege zone."); } [PluginReference] private Plugin AdvancedStatus; There are 15 methods: IsReady CreateBar UpdateContent DeleteBar DeleteCategory DeleteAllBars GetTotalClientBars GetTotalPlayerBars LoadImages LoadImage CopyImage DeleteImages DeleteImage BarExists InBuildingPrivilege There are 5 types of bar: Default - A simple bar that displays the provided information. Does not update the value of SubText by itself; Timed - Similar to the default bar, but it automatically disappears after the specified time in the TimeStamp parameter; TimeCounter - The SubText shows the remaining time until TimeStamp. Also automatically removed upon expiration of the TimeStamp; TimeProgress - Similar to the Timed bar, but additionally features an automatically filling progress bar; TimeProgressCounter - Similar to the TimeCounter bar, but additionally features an automatically filling progress bar. IsReady: Used to check if the AdvancedStatus plugin is loaded and ready to work. The IsReady method returns true if it is ready, or null if it is not. (bool)AdvancedStatus?.Call("IsReady");//Calling the IsReady method. If the result is not null(bool true), the plugin is ready. CreateBar: Used to create a bar or update bar values for a player. To call the CreateBar method, you need to pass 2 parameters. The first one is BasePlayer or <ulong>playerID. The second one is a dictionary with the parameters you need. In the CreateBar method, all parameters are optional, except for two: Id; Plugin. Parameters not specified when creating a new bar will use the values set in the AdvancedStatus plugin's configuration file. Parameters not specified during bar update will retain the values they had before the update. Note: The plugin does not update values automatically, you need to manually send new values. Dictionary<string, object> parameters = new Dictionary<string, object> { { "Id", "AdvancedStatusDemo_1" }, //<string>Unique identifier for the bar in your plugin. ***This is a required field. { "BarType", "Default" }, //<string>Type of the bar. There are 4 types: Default, Timed, TimeCounter and TimeProgress. { "Plugin", "AdvancedStatusDemo" }, //<string>Name of your plugin. ***This is a required field. { "Category", "Default" }, //<string>Internal plugin category of the bar. { "Order", 10 }, //<int>The position of your bar relative to others. Order is determined by increasing values(ASC). { "Height", 26 }, //<int>The height of your bar. A standard bar is 26 pixels. { "Main_Color", "#505F75" }, //<string>HTML Hex color of the bar background. { "Main_Transparency", 0.7f }, //<float>Transparency of the bar background. { "Main_Material", "assets/content/ui/uibackgroundblur.mat" }, //<string>Material of the bar background(empty to disable). { "Image", "scrap" }, //<string>Name of the image saved in the ImageLibrary or a direct link to the image if ImageLibrary is not used. { "Image_Local", "AdvancedStatusDemo_Scrap" }, //<string>The name of the image file(without its extension) located in *SERVER*\data\AdvancedStatus\Images. Leave empty to use Image. { "Image_Sprite", "" }, //<string>Sprite image of the bar. Leave empty to use Image_Local or Image. { "Is_RawImage", true }, //<bool>Which type of image will be used? True - CuiRawImageComponent. False - CuiImageComponent. { "Image_Color", "#6B7E95" }, //<string>HTML Hex color of the bar image. { "Image_Transparency", 1.0f }, //<float>Transparency of the image. { "Text", "Scrap" }, //<string>Main text. { "Text_Size", 12 }, //<int>Size of the main text. { "Text_Color", "#FFFFFF" }, //<string>HTML Hex color of the main text. { "Text_Font", "RobotoCondensed-Bold.ttf" }, //<string>Font of the main text. { "Text_Offset_Horizontal", 0 }, //<int>Horizontal offset for the main text. { "SubText", "35" }, //<string>Sub text. { "SubText_Size", 12 }, //<int>Size of the sub text. { "SubText_Color", "#FFFFFF" }, //<string>HTML Hex color of the sub text. { "SubText_Font", "RobotoCondensed-Bold.ttf" }, //<string>Font of the sub text. { "TimeStampStart", Network.TimeEx.currentTimestamp }, //<double>Responsible for specifying the start point of the time reference and 0% for TimeProgress and TimeProgressCounter bars. Used if the bar type is Timed, TimeCounter, TimeProgress or TimeProgressCounter. { "TimeStamp", Network.TimeEx.currentTimestamp + 6 }, //<double>Specifies the end time point after which the bar will be destroyed and 100% for TimeProgress and TimeProgressCounter bars. Used if the bar type is Timed, TimeCounter, TimeProgress or TimeProgressCounter. { "TimeStampDestroy", Network.TimeEx.currentTimestamp + 3 }, //<double>If TimeStampDestroy is specified and it is less than TimeStamp, the bar will be destroyed by TimeStampDestroy. Used if the bar type is Timed, TimeCounter, TimeProgress or TimeProgressCounter. { "Progress", (float)35 / 100f }, //<float>Progress. From 0.0 to 1.0. { "Progress_Reverse", false }, //<bool>Progress reverse. A value of false means that the progress will increase. Used if the bar type is TimeProgress or TimeProgressCounter. { "Progress_Color", "#89B840" }, //<string>Progress color. { "Progress_Transparency", 1f }, //<float>Progress transparency. { "Progress_OffsetMin", "25 2.5" }, //<string>Progress OffsetMin: "*left* *bottom*". { "Progress_OffsetMax", "-3.5 -3.5" }, //<string>Progress OffsetMax: "*right* *top*". { "Command", "kit" } //<string>If the field is not empty, the bar becomes clickable, and the specified command is executed upon clicking. Note: the command must be covalence. }; AdvancedStatus?.Call("CreateBar", player.userID.Get(), parameters); //Calling the CreateBar method with the passing of BasePlayer/playerID and a dictionary containing the required parameters. UpdateContent: Used to update only the content of an existing status bar. To call the UpdateContent method, you need to pass 2 parameters. The first one is BasePlayer or <ulong>playerID. The second one is a dictionary with the parameters you need. In the UpdateBar method, all parameters are optional, except for two: Id; Plugin. var parameters = new Dictionary<string, object> { { "Id", "MyID" }, //<string>Unique identifier for the bar in your plugin. ***This is a required field. { "Plugin", Name }, //<string>Name of your plugin. ***This is a required field. { "Text", "MyText" }, //<string>Main text. { "SubText", "MyText" }, //<string>Sub text. { "Progress", (float)amount / 100f }, //<float>Progress. From 0.0 to 1.0. }; AdvancedStatus?.Call("UpdateContent", player.userID.Get(), parameters); //Calling the UpdateContent method with the passing of BasePlayer/playerID and a dictionary containing the required parameters. DeleteBar: Used to remove the bar for a player. There are two methods for removing a bar by ID: with specifying a particular player; To call this method, you need to pass 3 parameters. The first one is BasePlayer or <ulong>playerID. The second one is Id of your bar and the third one is name of your plugin. without specifying a particular player (which removes it for all players) To call this method, you need to pass 2 parameters. The first one is Id of your bar and the second one is name of your plugin. AdvancedStatus?.Call("DeleteBar", player.userID.Get(), barID, Name); //Calling the DeleteBar method with the passing of BasePlayer/playerID, ID of the bar and the name of your plugin. AdvancedStatus?.Call("DeleteBar", barID, Name); //Calling the DeleteBar method with the passing of ID of the bar and the name of your plugin. If you try to delete a bar that doesn't exist, nothing bad will happen. So feel free to delete the bar without checking its existence. P.S. When unloading your plugin, there is no need to manually delete bars for players, AdvancedStatus will handle it automatically. DeleteCategory: Used to remove all bars associated with the plugin's category. To call the DeleteCategory method, you need to pass 2 parameters. The first one is category and the second one is name of your plugin. AdvancedStatus?.Call("DeleteCategory", "Default", Name);//Calling the DeleteCategory method by passing the category and name of your plugin DeleteAllBars: Used to remove all bars associated with the plugin. To call the DeleteAllBars method, you need to pass only 1 parameter. It is name of your plugin. AdvancedStatus?.Call("DeleteAllBars", Name);//Calling the DeleteAllBars method, passing the name of your plugin GetTotalClientBars: Used to get the number of client bars for the player. To call the GetTotalClientBars method, you need to pass only 1 parameter. It is BasePlayer or <ulong>playerID. (int)AdvancedStatus?.Call("GetTotalClientBars", player.userID.Get());//Calling the GetTotalClientBars method, passing the name of BasePlayer/playerID GetTotalPlayerBars: Used to get the number of active custom bars for the player. To call the GetTotalPlayerBars method, you need to pass only 1 parameter. It is BasePlayer or <ulong>playerID. (int)AdvancedStatus?.Call("GetTotalPlayerBars", player.userID.Get());//Calling the GetTotalPlayerBars method, passing the name of BasePlayer/playerID LoadImages: Used to check if the local images specified in the list are loaded. If any of the images are not loaded but their files exist in the images folder, the plugin will load them. To call the LoadImages method, you need to pass only 2 parameters. The first one is the <List<string>>list of image's name and the second one(optional) is <bool>force, which, if set to true, will force reload the image even if it already exists. AdvancedStatus?.Call("LoadImages", list, false);//Calling the LoadImages method, passing a list of image names LoadImage: Used to check if the local image is loaded. If the file is not loaded and exists in the images folder, the plugin will load it. To call the LoadImage method, you need to pass 2 parameters. The first one is the <string>image's name and the second one(optional) is <bool>force, which, if set to true, will force reload the image even if it already exists. AdvancedStatus?.Call("LoadImage", imgName, false);//Calling the LoadImage method, passing an image's name CopyImage: Used to create and load a copy of an existing image. To call the CopyImage method, you need to pass 3 parameters. The first parameter is the <string>source image's name, the second parameter is the <string>new image's name and the third one(optional) is <bool>force, which, if set to true, will force copy and reload the image even if it already exists. AdvancedStatus?.Call("CopyImage", "ZoneStatus_Default", "ZoneStatus_NewZone", false);//Calling CopyImage, passing the source image name and the new image name. DeleteImages: Used to delete a list of images and their files. To call the DeleteImages method, you need to pass 2 parameters. The first one is the <List<string>>list of image's name and the second one(optional) parameter is <bool>deleteFile, which, if set to true, will delete image's file too. AdvancedStatus?.Call("DeleteImages", list, true);//Calling DeleteImages, passing a list of image names. DeleteImage: Used for removing the image and the image file. To call the DeleteImage method, you need to pass 2 parameters. The first parameter is the <string>image's name and the second one(optional) parameter is <bool>deleteFile, which, if set to true, will delete image's file too. AdvancedStatus?.Call("DeleteImage", "ZoneStatus_NewZone", true);//Calling DeleteImage, passing the image name. BarExists: Used to check if the specified bar exists. To call the BarExists method, you need to pass 3 parameters. The first one is BasePlayer or <ulong>playerID. The second one is Id of your bar. And the third one is name of your plugin. (bool)AdvancedStatus?.Call("BarExists", player.userID.Get(), barID, Name);//Calling the BarExists method with the passing of BasePlayer/playerID, ID of the bar and name of your plugin. InBuildingPrivilege: Used to check if the player has authorized building privileges. To call the InBuildingPrivilege method, you need to pass BasePlayer or <ulong>playerID. (bool)AdvancedStatus?.Call("InBuildingPrivilege", player.userID.Get());//Checking if the player has Building Privilege.
    $1.99
  24. IIIaKa

    Wipe Status

    Version 0.1.10

    1,029 downloads

    The plugin displays the time until the next wipe in the status bar. Depends on AdvancedStatus plugin. The ability to display the remaining time until the wipe: If there are N days left. Configurable in the configuration file; If player is in a safe zone or building privilege zone; The option to choose between a server wipe and a manually specified wipe; The ability to automatically generate language files for different languages(filled in English); The ability to customize the status bar for each of wipes; The ability to specify the order of the bar; The ability to change the height of the bar; The abillity to customize the color and transparency of the background; The ability to set a material for the background; The ability to switch between CuiRawImageComponent and CuiImageComponent for the image; The ability to get images from the local folder(*SERVER*\oxide\data\AdvancedStatus\Images); The abillity to set own image and customize the color and transparency of the image; The abillity to set sprite instead of the image; The ability to customize the color, size, font and outline of the text. wipestatus.admin - Provides the ability to set custom date of wipe. { "Chat command": "wipe", "Is it worth enabling GameTips for messages?": true, "List of language keys for creating language files": [ "en" ], "Is it worth displaying the wipe timer only when players in the safe zone or building privilege?": false, "The number of days before the wipe when the status bar will start to display. A value of 0 enables constant display": 0, "Bar settings key for a vanilla wipe": "_default", "Custom wipe dates list. Format: yyyy-MM-dd HH:mm. Example: 2025-12-25 13:30": {}, "List of status bar settings. Leave empty or null to recreate the default list": { "_default": { "Progress_Main_Color(Hex or RGBA)": "1 1 1 0.15", "Progress_Main_Transparency": 0.15, "BarType(TimeProgressCounter or TimeCounter)": "TimeCounter", "Order": 10, "Height": 26, "Main_Color(Hex or RGBA)": "#0370A4", "Main_Transparency": 0.7, "Main_Material(empty to disable)": "", "Image_Url": "https://i.imgur.com/FKrFYN5.png", "Image_Local(Leave empty to use Image_Url)": "WipeStatus_Default", "Image_Sprite(Leave empty to use Image_Local or Image_Url)": "", "Image_IsRawImage": false, "Image_Color(Hex or RGBA)": "#0370A4", "Image_Transparency": 1.0, "Is it worth enabling an outline for the image?": false, "Image_Outline_Color(Hex or RGBA)": "0.1 0.3 0.8 0.9", "Image_Outline_Transparency": 1.0, "Image_Outline_Distance": "0.75 0.75", "TextKey": "Bar_default", "Text_Size": 12, "Text_Color(Hex or RGBA)": "#FFFFFF", "Text_Font(https://umod.org/guides/rust/basic-concepts-of-gui#fonts)": "RobotoCondensed-Bold.ttf", "Text_Offset_Horizontal": 0, "Is it worth enabling an outline for the text?": false, "Text_Outline_Color(Hex or RGBA)": "#000000", "Text_Outline_Transparency": 1.0, "Text_Outline_Distance": "0.75 0.75", "SubText_Size": 12, "SubText_Color(Hex or RGBA)": "#FFFFFF", "SubText_Font": "RobotoCondensed-Bold.ttf", "Is it worth enabling an outline for the sub text?": false, "SubText_Outline_Color(Hex or RGBA)": "0.5 0.6 0.7 0.5", "SubText_Outline_Transparency": 1.0, "SubText_Outline_Distance": "0.75 0.75", "Progress_Reverse": false, "Progress_Color(Hex or RGBA)": "#0370A4", "Progress_Transparency": 0.7, "Progress_OffsetMin": "0 0", "Progress_OffsetMax": "0 0" } }, "Version": { "Major": 0, "Minor": 1, "Patch": 10 } } EN: { "CmdMainAdmin": "Available admin commands:\n\n<color=#D1CBCB>/wipe</color> <color=#D1AB9A>bar</color> <color=#D1CBCB>*booleanValue*(optional)</color> - Toggle the wipe bar display\n<color=#D1CBCB>/wipe</color> <color=#D1AB9A>time</color> - Current time based on server's timezone\n<color=#D1CBCB>/wipe</color> <color=#D1AB9A>add</color> <color=#D1CBCB>*wipeDate* *barId*(optional) *numericValue*(optional) *numericValue*(optional)</color> - Add a custom wipe date. Optionally, you can specify the style of the status bar, interval/spacing between wipes, and the number of intervals. Date format: yyyy-MM-dd HH:mm\n<color=#D1CBCB>/wipe</color> <color=#D1AB9A>add bar</color> <color=#D1CBCB>*wipeDate* *barID*(optional) *newBarId*(optional) *targetBarId*(optional)</color> - Add new status bar settings. Optionally, specify the ID of an existing bar to copy from\n<color=#D1CBCB>/wipe</color> <color=#D1AB9A>update</color> <color=#D1CBCB>*wipeDate* *newBarId*</color> - Update the status bar settings key for the specified custom wipe date. Use 'vanilla' instead of a wipe date to select the vanilla wipe\n<color=#D1CBCB>/wipe</color> <color=#D1AB9A>clear</color> - Clear all custom wipe dates\n\n--------------------------------------------------", "CmdMain": "Available commands:\n\n<color=#D1CBCB>/wipe</color> <color=#D1AB9A>bar</color> <color=#D1CBCB>*booleanValue*</color>(optional) - Toggle the wipe bar display\n\n--------------------------------------------------", "CmdServerTime": "Current real server time: '{0}'", "CmdNewDateAdded": "The new date '{0}' has been successfully added!", "CmdNewDateRangeAdded": "The list of dates was successfully added!", "CmdNewDateAddFailed": "Invalid format or the date is earlier than the current one. Example: '{0}'", "CmdUpdateFailed": "Failed to add/update status bar settings for '{0}'!", "CmdClearDates": "Custom dates list has been successfully cleared!", "CmdBarEnabled": "Displaying the wipe bar is enabled!", "CmdBarDisabled": "Displaying the wipe bar is disabled!", "Bar_default": "WIPE IN" } RU: { "CmdMainAdmin": "Доступные админ команды:\n\n<color=#D1CBCB>/wipe</color> <color=#D1AB9A>bar</color> <color=#D1CBCB>*булевоеЗначение*(опционально)</color> - Переключение отображения вайп бара\n<color=#D1CBCB>/wipe</color> <color=#D1AB9A>time</color> - Текущее время по часовому поясу сервера\n<color=#D1CBCB>/wipe</color> <color=#D1AB9A>add</color> <color=#D1CBCB>*датаВайпа* *айдиБара*(опционально) *числовоеЗначение*(опционально) *числовоеЗначение*(опционально)</color> - Добавление кастомной даты вайпа. Опционально можно указать стиль статус бара, интервал/отступ между вайпами и кол-во интервалов. Формат даты: yyyy-MM-dd HH:mm\n<color=#D1CBCB>/wipe</color> <color=#D1AB9A>add bar</color> <color=#D1CBCB>*айдиНовогоБара* *айдиЦелевогоБара*(опционально)</color> - Добавление новых настроек статус бара. Опционально можно указать айди исходного статус бара для копирования\n<color=#D1CBCB>/wipe</color> <color=#D1AB9A>update</color> <color=#D1CBCB>*датаВайпа* *новоеАйдиБара*</color> - Обновление ключа настроек статус бара для указанной даты вайпа. Используйте 'vanilla' вместо даты вайпа для выбора ванильного вайпа\n<color=#D1CBCB>/wipe</color> <color=#D1AB9A>clear</color> - Очистка всех кастомных дат вайпа\n\n--------------------------------------------------", "CmdMain": "Доступные команды:\n\n<color=#D1CBCB>/wipe</color> <color=#D1AB9A>bar</color> <color=#D1CBCB>*булевоеЗначение*</color>(опционально) - Переключение отображения вайп бара\n\n--------------------------------------------------", "CmdServerTime": "Текущее реальное серверное время: '{0}'", "CmdNewDateAdded": "Новая дата '{0}' успешно добавлена!", "CmdNewDateRangeAdded": "Список дат был успешно добавлен!", "CmdNewDateAddFailed": "Не верный формат или дата меньше текущей. Пример: '{0}'", "CmdUpdateFailed": "Не удалось добавить/обновить настройки статус бара для '{0}'!", "CmdClearDates": "Список дат был успешно очищен!", "CmdBarEnabled": "Отображение вайп бара включено!", "CmdBarDisabled": "Отображение вайп бара выключено!", "Bar_default": "ВАЙП ЧЕРЕЗ" } bar *booleanValue*(optional) - Toggle wipe bar visibility; time - Current time based on server's timezone. Permission "wipestatus.admin" required; add *wipeDate* *barID*(optional) *numberValue*(optional) *numberValue*(optional) - Add a custom wipe date. Optionally, you can specify the style of the status bar, interval/spacing between wipes, and the number of intervals. Date format: yyyy-MM-dd HH:mm. Permission "wipestatus.admin" required; add bar *wipeDate* *barID*(optional) *newBarId*(optional) *targetBarId*(optional) - Add new status bar settings. Optionally, specify the ID of an existing bar to copy from. Permission "wipestatus.admin" required; update *wipeDate* *newBarId* - Update the status bar settings key for the specified custom wipe date. Use 'vanilla' instead of a wipe date to select the vanilla wipe. Permission "wipestatus.admin" required; clear - Clear all custom wipe dates. Permission "wipestatus.admin" required. Example: /wipe add "2023-12-28 15:16" /wipe add bar "test" "_default" /wipe add "2024-07-16 19:00" "test" 7 20 - Starting from the date 2024-07-16 19:00, 7 days will be added 20 times, with "test" status bar style. /wipe update "vanilla" "test" /wipe update "2025-12-25 13:30" "test"
    $3.99
  25. Version 2.2.2

    328 downloads

    Auto Ban / Report Ban – Premium Edition AutoBan Enhanced is the ultimate plugin for Rust server administrators who want to keep their community safe, fair, and fun. This premium edition builds on the original AutoBan system with new advanced moderation tools, smarter automation, and seamless integrations with Discord. Key Features Automatic Weighted Banning Players are automatically banned once they reach a configurable number of weighted reports. Trusted players, moderators, or admins can have higher report weights for faster action. Playtime Requirement (NEW) Players must have a minimum amount of playtime (configurable, default 2h) before submitting reports, preventing abuse from fresh accounts. Mass Reporting Protection Includes cooldowns, per-hour limits, and unique report tracking to prevent abuse of the reporting system. Full F7 Integration Captures and processes in-game reports (F7), with optional keyword scanning for valid reasons. Player-Friendly Reporting System Players can submit reports via chat commands or a guided reason menu for consistency. Customizable Ban Durations Supports human-readable ban times like 30m, 4h, 7d, or permanent. Ban History & Report Logs New commands to view report history and a structured audit log of admin actions. Progressive Punishments (optional) Configure warnings, mutes, or bans at different thresholds. Discord Integration with Embeds Sends clean, embedded messages for reports and bans, including player info, reasons, timestamps, and expiration. Ignored Players & Permissions Protect admins and whitelisted users from automated bans. Export & Data Storage Export reports to JSON for external review or backups. Granular Permissions Fine-grained control over who can report, view, ban, unban, reset, or audit. Usage: Chat Commands /report <username> – start a report (shows menu if no reason given). /report <username> <reason> – report with reason directly. /reportreason <number> – pick a reason from the menu. /AB.viewreports – view all current reports (requires permission). /AB.history <userid> – view detailed history of a player’s reports. /AB.auditlog [N] – view last N admin/audit actions. /AB.showbans – view all bans. /AB.unban <userid> – unban a player. /AB.resetreports <userid> – reset reports for a player. /AB.exportreports – export reports to a JSON datastore. 🛠 Console Commands AB.getreports – list all reports in console. AB.getbans – list all bans in console. AB.resetreportsConsole <userid> – reset reports via console. AB.ban <userid> <reason> – manually ban a player. AB.unban <userid> – manually unban a player. Oxide / Carbon Permissions AutoBan.report – allow reporting via F7. AutoBan.chatreport – allow reporting via chat. AutoBan.viewreports – view all reports. AutoBan.ignore – player immune to auto-bans. AutoBan.ban – manually ban players. AutoBan.unban – manually unban players. AutoBan.viewbans – view all bans. AutoBan.resetreports – reset player reports. AutoBan.trusted – weighted reporter (e.g., counts x2). AutoBan.mod – stronger weighted reporter (e.g., counts x3). Example Config { "Max reports till user gets banned (weighted)": 5, "Reason given to banned user": "You have been reported too many times and have been banned for precautionary measures. An admin will review this suspension soon.", "Valid reasons": ["cheating", "aimbot", "hacking", "esp", "teaming", "racism", "griefing", "walling", "doorcamping", "spawn killing"], "Valid report types": ["cheat", "abusive", "name", "spam"], "Scan type of F7 reports": true, "Broadcast ban to chat": true, "Ignored Players": { "76561198000000000": "Admin" }, "Timer for broadcasting bans to admins and console": 820, "Send bans to users with the AutoBan.viewbans permission": false, "Send reports to URL": false, "URL to send reports to": "http://example.com", "Send reports to Discord": true, "Send bans to Discord": true, "Discord Reports Webhook URL": "http://example.com/reports", "Discord Bans Webhook URL": "http://example.com/bans", "Ban Duration": "72h", "Max reports a player can submit per hour": 3, "Max reports a player can receive per hour": 5, "Cooldown between reports from the same player in minutes": 10, "Weighted report permissions": { "AutoBan.trusted": 2,"AutoBan.mod": 3 }, "Use Discord embeds for webhooks": true, "Max lines per chat response to avoid spam": 8, "Minimum playtime (in minutes) required to file a report": 120 } With AutoBan Enhanced, you get automated moderation, better transparency, and flexible punishment systems, freeing up admins to focus on building community instead of fighting cheaters.
    $25.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.