Reputation Master

$4.99

Sold by: IIIaKa

Adds a reputation system, similar to the well-known Infestation Survivor Stories(The WarZ).

Categories: , ,
View cart

Description

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.

 

Reputation Master Reputation Master

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

 

Reputation Master Reputation Master

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

 

Reputation Master Reputation Master

{
  "Chat command": "rep",
  "Is it worth enabling GameTips for messages?": true,
  "Is it worth using the AdvancedStatus plugin?": true,
  "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",
  "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://i.imgur.com/HKqyHO8.png",
  "UI. Reputation Negative Value Image - URL": "https://i.imgur.com/mMdm55h.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": 4
  }
}

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.

 

Reputation Master Reputation Master

[
  {
    "Name": "Assassin",
    "Prefix": "⁎✧⁎ ",
    "MinValue": -3.40282347E+38,
    "MaxValue": -1000.0,
    "Reward": 20.0,
    "LawmanPenalty": 0.0,
    "AllowSafeZone": false,
    "BarSettings": {
      "Order": 20,
      "Height": 26,
      "Main_Color(Hex or RGBA)": "#FF341E",
      "Main_Transparency": 0.6,
      "Main_Material": "",
      "Image_Url": "https://i.imgur.com/CdDKpwv.png",
      "Image_Local(Leave empty to use Image_Url)": "",
      "Image_Sprite(Leave empty to use Image_Local or Image_Url)": "",
      "Image_IsRawImage": false,
      "Image_Color(Hex or RGBA)": "#FF341E",
      "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": 14,
      "Text_Color(Hex or RGBA)": "#FF341E",
      "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)": "#FF341E",
      "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"
    }
  },
  ...
  {
    "Name": "Civilian",
    "Prefix": "",
    "MinValue": -4.99,
    "MaxValue": 9.99,
    "Reward": 1.0,
    "LawmanPenalty": -1.0,
    "AllowSafeZone": true,
    "BarSettings": {
      "Order": 20,
      "Height": 26,
      "Main_Color(Hex or RGBA)": "#5EC0CA",
      "Main_Transparency": 0.6,
      "Main_Material": "",
      "Image_Url": "https://i.imgur.com/cgi9T1D.png",
      "Image_Local(Leave empty to use Image_Url)": "",
      "Image_Sprite(Leave empty to use Image_Local or Image_Url)": "",
      "Image_IsRawImage": false,
      "Image_Color(Hex or RGBA)": "#5EC0CA",
      "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": 14,
      "Text_Color(Hex or RGBA)": "#5EC0CA",
      "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)": "#5EC0CA",
      "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"
    }
  },
  ...
  {
    "Name": "Paragon",
    "Prefix": "⋆☆⋆ ",
    "MinValue": 1000.0,
    "MaxValue": 3.40282347E+38,
    "Reward": 20.0,
    "LawmanPenalty": -125.0,
    "AllowSafeZone": true,
    "BarSettings": {
      "Order": 20,
      "Height": 26,
      "Main_Color(Hex or RGBA)": "#0AFBFB",
      "Main_Transparency": 0.6,
      "Main_Material": "",
      "Image_Url": "https://i.imgur.com/6yzrXE0.png",
      "Image_Local(Leave empty to use Image_Url)": "",
      "Image_Sprite(Leave empty to use Image_Local or Image_Url)": "",
      "Image_IsRawImage": false,
      "Image_Color(Hex or RGBA)": "#0AFBFB",
      "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": 14,
      "Text_Color(Hex or RGBA)": "#0AFBFB",
      "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)": "#0AFBFB",
      "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"
    }
  }
]

  • 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*oxidedataReputationMasterReputationRanks.json

 

Reputation Master Reputation Master

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.",
  "CmdMultiplePlayers": "Multiple players found: {0}",
  "CmdAdmin": "Available admin commands:nn<color=#D1CBCB>/rep</color> <color=#D1AB9A>fake *floatValue* *nameOrId*(optional)</color> - Set a fake reputation for yourself or the specified playern<color=#D1CBCB>/rep</color> <color=#D1AB9A>set *floatValue* *nameOrId*(optional)</color> - Set a reputation value for yourself or the specified playern<color=#D1CBCB>/rep</color> <color=#D1AB9A>info *nameOrId*(optional)</color> - Get full information about your reputation or the reputation of the specified playern<color=#D1CBCB>/rep</color> <color=#D1AB9A>reset all/*nameOrId*</color> - Reset the reputation of all players or the specified playernn--------------------------------------------------",
  "CmdMain": "Available commands:nn<color=#D1CBCB>/rep</color> <color=#D1AB9A>fake *floatValue*</color> - Set a fake reputationnn--------------------------------------------------",
  "CmdFakePlayer": "Player '{0}' has been assigned a new fake reputation value: {1}({2})!",
  "CmdFakeNPC": "NPC '{0}' has been assigned a new fake reputation value: {1}({2})!",
  "CmdFakeSelf": "A new fake reputation value has been successfully set: {0}({1})!",
  "CmdSetPlayer": "Player '{0}' has been assigned a new reputation value: {1}({2})!",
  "CmdSetNPC": "NPC '{0}' has been assigned a new reputation value: {1}({2})!",
  "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}nn--------------------------------------------------",
  "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}nn--------------------------------------------------",
  "CmdResetAll": "{0} reputations have been successfully reset!",
  "CmdResetPlayer": "Player '{0}' reputation has 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 игрока.",
  "CmdMultiplePlayers": "Найдено несколько игроков: {0}",
  "CmdAdmin": "Доступные админ команды:nn<color=#D1CBCB>/rep</color> <color=#D1AB9A>fake *дробноеЗначение* *имяИлиАйди*(опционально)</color> - Установить ложную репутацию себе или указанному игрокуn<color=#D1CBCB>/rep</color> <color=#D1AB9A>set *дробноеЗначение* *имяИлиАйди*(опционально)</color> - Установить репутацию себе или указанному игрокуn<color=#D1CBCB>/rep</color> <color=#D1AB9A>info *имяИлиАйди*(опционально)</color> - Получить всю информацию о своей репутации или репутации указанного игрокаn<color=#D1CBCB>/rep</color> <color=#D1AB9A>reset all/*имяИлиАйди*</color> - Сбросить репутацию всем игрокам или указанному игрокуnn--------------------------------------------------",
  "CmdMain": "Доступные команды:nn<color=#D1CBCB>/rep</color> <color=#D1AB9A>fake *дробноеЗначение*</color> - Установить ложную репутациюnn--------------------------------------------------",
  "CmdFakePlayer": "Игроку '{0}' установлено новое ложное значение репутации: {1}({2})!",
  "CmdFakeNPC": "Боту '{0}' установлено новое ложное значение репутации: {1}({2})!",
  "CmdFakeSelf": "Новое значение ложной репутации успешно установлено: {0}({1})!",
  "CmdSetPlayer": "Игроку '{0}' установлено новое значение репутации: {1}({2})!",
  "CmdSetNPC": "Боту '{0}' установлено новое значение репутации: {1}({2})!",
  "CmdInfoPlayer": "Репутация игрока '{0}':n<color=#D1AB9A>Репутация</color> - {1}({2})n<color=#D1AB9A>Ложная репутация</color> - {3}({4})n<color=#D1AB9A>Последний помощник</color> - {5}nn--------------------------------------------------",
  "CmdInfoNPC": "Репутация бота '{0}':n<color=#D1AB9A>Репутация</color> - {1}({2})n<color=#D1AB9A>Ложная репутация</color> - {3}({4})n<color=#D1AB9A>Последний помощник</color> - {5}nn--------------------------------------------------",
  "CmdResetAll": "Успешно сброшено {0} репутаций!",
  "CmdResetPlayer": "Репутация игрока '{0}' успешно сброшена!",
  "MsgReputation": "Репутация",
  "MsgShowPlayerReputation": "Репутация игрока '{0}': {1}({2})",
  "MsgNewReputation": "Поздравляем! Вы получили репутацию '{0}'!",
  "MsgSelfDefense": "Вы первым атаковали мирного игрока '{0}'({1}). Если он вас убьет в течении {2} минут, то не получит штрафа",
  "MsgSelfDefenseNoPenalty": "Вы убили мирного игрока '{0}'({1}). Но так как он первым вас атаковал, вас не накажут",
  "MsgLawmanEnterBanditZone": "Вы пришли в Лагерь Бандитов! Будьте бдительны, здесь полно разных отморозков!",
  "MsgLawmanLeaveBanditZone": "Вы покинули Лагерь Бандитов! Советуем обходить это место!",
  "MsgBanditEnterBanditZone": "Добро пожаловать в Лагерь Бандитов! Мы рады вашему возвращению!",
  "MsgBanditLeaveBanditZone": "Вы покинули Лагерь Бандитов! Надеемся на скорое ваше возвращение!",
  "MsgBanditEnterSafeZone": "Вам здесь не рады! Если вы не покинете это место, то вас убьет через {0} секунд!",
  "MsgBanditLeaveSafeZone": "Больше сюда не возвращайтесь! Таким как вы место в Лагере Бандитов!"
}

 

Reputation Master Reputation Master

  • fake *floatValue* – Set a fake reputation for yourself or the specified player. Permission “reputationmaster.vip” or “reputationmaster.admin” required
  • fake *floatValue* *nameOrId*(optional) – Set a fake reputation for yourself or the specified player. Permission “reputationmaster.admin” required;
  • set *floatValue* *nameOrId*(optional) – Set a reputation value for yourself or the specified player. Permission “reputationmaster.admin” required;
  • info *nameOrId*(optional) – Get full information about your reputation or the reputation of the specified player. Permission “reputationmaster.admin” required;
  • reset all/*nameOrId* – Reset the reputation of all players or the specified player. Permission “reputationmaster.admin” required.

Example:

  • /rep fake 150
  • /rep fake -40 iiiaka
  • /rep set 23 iiiaka

 

Reputation Master Reputation Master

  • 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}");
}

 

 

Reputation Master Reputation Master

[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:

  1. userID as a ulong;
  2. 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:

  1. userID as a ulong;
  2. 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:

  1. Available options:
    • userID as a ulong or a string;
    • player as a BasePlayer.
  2. newValue as float;
  3. 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:

  1. Available options:
    • userID as a ulong or a string;
    • player as a BasePlayer.
  2. value as float;
  3. 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***

 

Reputation Master Reputation Master

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.

Reviews

There are no reviews yet.


Only logged in customers who have purchased this product may leave a review.

Version 0.1.4 | Updated February 17, 2025
  • Added Initial release

Discussions

There are no discussions yet.

Leave a reply

Your email address will not be published. Required fields are marked *

Plugin FAQ – How do I use this .zip/.7z file I just purchased on my server?

• First, you want to unzip the file. You can do so by just double-clicking it to open, then drag the contents to the desired location (you may need to install an external unzipping software if you don’t already have one such as 7zip or winrar)
• Next you will find either a structure of folders or just the .cs file itself (it’s the actual plugin file itself).
• After that just install the .cs (plugin file) into your …/oxide/plugins/ folder where you will install plugins you ever need to.

Additionally, here’s a great video that easily covers adding a plugin to your server if you need! https://youtu.be/yWC_p97FhQA

• Installation is not included with any products on the site, however, if needed we may assist if you reach out to our support.

Currently all products on Lone.Design will be contained within a zipped file which is the .7z or .zip that you see. I believe windows 10 and up can unzip on its own without 3rd party tools, but in that case, if you’re unfamiliar with zipped files here are 2 programs I recommend to easily unzip zipped files.

Video On How to Zip and Unzip: https://youtu.be/Ep-L3PjBPCk (TechInsider Youtube Channel)

Zipping/Unzipping Tools
Winrar https://www.rarlab.com (I used to use for years, but works great!)
7zip https://www.7-zip.org/a/7z2107-x64.exe (the one I use currently)

Product Enquiry

Please Login to make enquiry about this product