C#:
// Все права принадлежат дискорд сообществу https://discord.gg/VgNHPpNrz6
using UnityEngine;
using System;
using Oxide.Game.Rust.Cui;
using System.Collections.Generic;
using Oxide.Core;
using Oxide.Core.Plugins;
using Newtonsoft.Json;
using System.Linq;
using Newtonsoft.Json.Linq;
using Rust;
using System.Text;
using System.Globalization;
using System.Collections;
using UnityEngine.Networking;
using Oxide.Core.Libraries;
using System.Text.RegularExpressions;
namespace Oxide.Plugins {
[Info("XDStatistics", "anfunny", "2.0")]
class XDStatistics : RustPlugin {
[PluginReference]
Plugin ImageLibrary, Friends, Clans, Battles, Duel, Economics, IQEconomic, ServerRewards, GameStoresRUST, RustStore;
private bool EUZRIAXIWDUOKLVDAJKBNXVNJXIULYDJKIJEHJOCZNEGO(ulong userID, ulong targetID) {
if (Friends) return (bool)Friends?.Call("HasFriend", userID, targetID);
else if (RelationshipManager.ServerInstance.playerToTeam.ContainsKey(userID) && RelationshipManager.ServerInstance.playerToTeam[userID].members.Contains(targetID)) return true;
else return false;
}
private bool XOFXRZDZZGYMIKRDWYZLEBBRWQVIBASPYPAUPNGEGKJCFUB(string userID, string targetID) {
if (Clans) {
String CPGNVKYODRJIVZNXGGKHYDGXPGWFAHULSFYJOSTFSCRJFFAI = (String)Clans?.Call("GetClanOf", userID);
String XTTKFYZIIYOOTOVXYQQADIONEPWLXSKGNIDOABMGZAFUERYN = (String)Clans?.Call("GetClanOf", targetID);
if (CPGNVKYODRJIVZNXGGKHYDGXPGWFAHULSFYJOSTFSCRJFFAI == null && XTTKFYZIIYOOTOVXYQQADIONEPWLXSKGNIDOABMGZAFUERYN == null) return false;
return (bool)(CPGNVKYODRJIVZNXGGKHYDGXPGWFAHULSFYJOSTFSCRJFFAI == XTTKFYZIIYOOTOVXYQQADIONEPWLXSKGNIDOABMGZAFUERYN);
}
else return false;
}
private bool KWQGGDPVMNBADUYZNJOSKXNJRVETSYLBPRXEKMIUZ(ulong userID) {
if (Battles) return (bool)Battles?.Call("IsPlayerOnBattle", userID);
else if (Duel) return (bool)Duel?.Call("IsPlayerOnActiveDuel", BasePlayer.FindByID(userID));
else return false;
}
private static XDStatistics _;
private readonly string LHOKHTOFGFQBNKQOIAKLGWWEJBCCTINQIPLLVWGOOJUVVFMQ = "XDStatistics.admin";
private readonly string FWQNCPPKKAGQLLXSASYYFSMTVWXBAIEPMNNMWCGAWALVA = "XDStatistics.reset";
private readonly string DYXDVMORKNKXRGRNJBWQDYXKVXMXCEHQTXSZEXNRBVDACZKZI = "XDStatistics.availability";
private enum CatType {
score, killer, time, AMQVXWCFVFLOWGEAMZMHNHBHOOZCYSGQGOLOTCZZIO, JTILMZKPGITSSLIHIWAGDYUHHUPHKAMZZIROGDMDOCAIMVSDL, killerNPC, MSBHJQTMRJOWNMERQWGOXKCCZNEVFPDIDDZDKTCFWVSIDPT
}
private Dictionary<string, ItemDisplayName> _itemName = new Dictionary<string, ItemDisplayName>();
private List<items> ItemList = new List<items>();
public static StringBuilder QKZJUFBMHXZQPFFTDUNSJMNEPIUWIWNMPTOXRJCNYSP;
private Dictionary<uint, string> _prefabID2Item = new Dictionary<uint, string>();
private Dictionary<string, string> _prefabNameItem = new Dictionary<string, string>() {
["40mm_grenade_he"]
= "multiplegrenadelauncher", ["grenade.beancan.deployed"] = "grenade.beancan", ["grenade.f1.deployed"] = "grenade.f1", ["explosive.satchel.deployed"] = "explosive.satchel", ["explosive.timed.deployed"] = "explosive.timed", ["rocket_basic"] = "ammo.rocket.basic", ["rocket_hv"] = "ammo.rocket.hv", ["rocket_fire"] = "ammo.rocket.fire", ["survey_charge.deployed"] = "surveycharge"
}
;
private List<int> SLFXUIVPMPZEWUUMKEDLJMAVRICURZUQXXMECXBZBXAATJ = new List<int>() {
1548091822, 1771755747, 1112162468, 1367190888, 858486327, -1962971928, -2086926071, -567909622, 1272194103, 854447607, 1660145984, 1783512007, -858312878
}
;
public List<String> WPQDTOEGFKJGMGBXMUIGZHQJMDEKMMZCHIFEBWBC = new List<String> {
"BarrelImage", "AnimalImage", "NpcImage", "CrateImage", "HeliImage", "BradleyImage",
}
;
protected override void LoadDefaultMessages() {
lang.RegisterMessages(new Dictionary<string, string> {
["STAT_TOP_FIVE_KILL"]
= "Top 5 <color=#4286f4>Killers</color>\n{0}</size>", ["STAT_TOP_FIVE_KILL_NPC"] = "Top 5 <color=#4286f4>NPC killers</color>\n{0}</size>", ["STAT_TOP_FIVE_FARM"] = "Top 5 <color=#4286f4>Farmers</color>\n{0}</size>", ["STAT_TOP_FIVE_EXPLOSION"] = "Top 5 <color=#4286f4>Explosions</color>\n{0}</size>", ["STAT_TOP_FIVE_TIMEPLAYED"] = "Top 5 <color=#4286f4>Most Time Played</color>\n{0}</size>", ["STAT_TOP_FIVE_BUILDINGS"] = "Top 5 <color=#4286f4>Builders</color>\n{0}</size>", ["STAT_TOP_FIVE_SCORE"] = "Top 5 <color=#4286f4>Most points</color>\n{0}</size>", ["STAT_TOP_FIVE_FERMER"] = "Top 5 <color=#4286f4>Farmers</color>\n{0}</size>", ["STAT_USER_TOTAL_GATHERED"] = "Total Gathered:", ["STAT_USER_TOTAL_EXPLODED"] = "Total Explosions:", ["STAT_USER_TOTAL_GROWED"] = "Total Farmed:", ["STAT_UI_MY_STAT"] = "STATS", ["STAT_UI_TOP_TEN"] = "TOP-10", ["STAT_UI_SEARCH"] = "SEARCH", ["STAT_UI_INFO"] = "Player Information {0}", ["STAT_UI_ACTIVITY"] = "Activity", ["STAT_UI_ACTIVITY_TODAY"] = "Today: {0}", ["STAT_UI_ACTIVITY_TOTAL"] = "All Time: {0}", ["STAT_UI_SETTINGS"] = "Settings", ["STAT_UI_PLACE_TOP"] = "Place On Top: {0}", ["STAT_UI_SCORE"] = "Score: {0}", ["STAT_UI_PVP"] = "PvP Statistics", ["STAT_UI_FAVORITE_WEAPON"] = "Favorite Weapon", ["STAT_UI_PVP_KILLS"] = "Kills", ["STAT_UI_PVP_KILLS_NPC"] = "Kills NPC", ["STAT_UI_PVP_DEATH"] = "Deaths", ["STAT_UI_PVP_KDR"] = "K/D", ["STAT_UI_FAVORITE_WEAPON_KILLS"] = "Kills: {0}\nHits: {1}", ["STAT_UI_FAVORITE_WEAPON_NOT_DATA"] = "Data is still being calculated..", ["STAT_UI_OTHER_STAT"] = "Other Statistics", ["STAT_UI_HIDE_STAT"] = "Public Profile", ["STAT_UI_CONFIRM"] = "Are You Sure?", ["STAT_UI_CONFIRM_YES"] = "Yes", ["STAT_UI_CONFIRM_NO"] = "No", ["STAT_UI_RESET_STAT"] = "Reset Statistics", ["STAT_UI_CRATE_OPEN"] = "Crates Opened: {0}", ["STAT_UI_BARREL_KILL"] = "Barrels Destroyed: {0}", ["STAT_UI_ANIMAL_KILL"] = "Animal Kills: {0}", ["STAT_UI_HELI_KILL"] = "Helicopter Kills: {0}", ["STAT_UI_BRADLEY_KILL"] = "Bradley Kills: {0}", ["STAT_UI_NPC_KILL"] = "NPC Kills: {0}", ["STAT_UI_BTN_MORE"] = "Show More", ["STAT_UI_CATEGORY_GATHER"] = "Gather", ["STAT_UI_CATEGORY_EXPLOSED"] = "Explosions", ["STAT_UI_CATEGORY_PLANT"] = "Farming", ["STAT_UI_CATEGORY_TOP_KILLER"] = "Top 10 Killers", ["STAT_UI_CATEGORY_TOP_KILLER_ANIMALS"] = "Top 10 Animal Killers", ["STAT_UI_CATEGORY_TOP_NPCKILLER"] = "Top 10 NPC Killers", ["STAT_UI_CATEGORY_TOP_TIME"] = "Top 10 Most Time Played", ["STAT_UI_CATEGORY_TOP_GATHER"] = "Top 10 Gatherers", ["STAT_UI_CATEGORY_TOP_SCORE"] = "Top 10 Most Score", ["STAT_UI_CATEGORY_TOP_EXPLOSED"] = "Top 10 Explosions", ["STAT_PRINT_WIPE"] = "Wipe Detected.Data was successfully cleared!", ["STAT_CMD_1"] = "No Permission!!", ["STAT_CMD_2"] = "Usage: stat.ignore <add/remove> <Steam ID|Name>", ["STAT_CMD_3"] = "The specified playername could not be found.Please use their SteamID.", ["STAT_CMD_4"] = "Found several players with similar names: {0}", ["STAT_CMD_5"] = "Player not found!", ["STAT_CMD_6"] = "Player {0} is already ignored", ["STAT_CMD_7"] = "You have successfully added a player {0} to the ignore list", ["STAT_CMD_8"] = "The player {0} is not in the ignore list", ["STAT_CMD_9"] = "You have successfully removed the player {0} from the ignore list", ["STAT_CMD_10"] = "Player {0} successfully credited {1} score", ["STAT_CMD_11"] = "Player {0} successfully removed {1} score", ["STAT_ADMIN_HIDE_STAT"] = "You've been added to the ignore list.You will not have access to the statistics.If this is an error, Please contact the Administrator!", ["STAT_TOP_PLAYER_WIPE_SCORE"] = "Congratulations!\nYou successfully held the {0} position in the previous wipe in the category <color=#4286f4>HIGHEST SCORE</color>\nYou received a well deserved Reward!", ["STAT_TOP_PLAYER_WIPE_TIME"] = "Congratulations!\nYou successfully held the {0} position in the previous wipe in the category <color=#4286f4>MOST TIME PLAYED</color>\nYou received a well deserved Reward!", ["STAT_TOP_PLAYER_WIPE_EXP"] = "Congratulations!\nYou successfully held the {0} position in the previous wipe in the category <color=#4286f4>MOST EXPLOSIONS</color>\nYou received a well deserved Reward!", ["STAT_TOP_PLAYER_WIPE_FARM"] = "Congratulations!\nYou successfully held the {0} position in the previous wipe in the category <color=#4286f4>MOST CROPS FARMED</color>\nYou received a well deserved Reward!", ["STAT_TOP_PLAYER_WIPE_KILL"] = "Congratulations!\nYou successfully held the {0} position in the previous wipe in the category <color=#4286f4>MOST KILLS</color>\nYou received a well deserved Reward!", ["STAT_TOP_PLAYER_WIPE_KILL_NPC"] = "Congratulations!\nYou successfully held the {0} position in the previous wipe in the category <color=#4286f4>NPC Killer</color>\nYou received a well deserved Reward!", ["STAT_TOP_PLAYER_WIPE_KILL_ANIMAL"] = "Congratulations!\nYou successfully held the {0} position in the previous wipe in the category <color=#4286f4>ANIMAL Killer</color>\nYou received a well deserved Reward!", ["STAT_TOP_VK_SCORE"] = "Топ {0} игрока по очкам\n {1}", ["STAT_TOP_VK_KILLER"] = "Топ {0} игрока по убийствам\n {1}", ["STAT_TOP_VK_TIME"] = "Топ {0} игрока по онлайну\n {1}", ["STAT_TOP_VK_FARM"] = "Топ {0} игрока по фарму\n {1}", ["STAT_TOP_VK_RAID"] = "Топ {0} игрока по рейдам\n {1}", ["STAT_TOP_VK_KILLER_NPC"] = "Топ {0} игрока по убийствам NPC\n {1}", ["STAT_TOP_VK_KILLER_ANIMAL"] = "Топ {0} игрока по убийствам животных\n {1}",
}
, this);
lang.RegisterMessages(new Dictionary<string, string> {
["STAT_TOP_FIVE_KILL"]
= "Топ 5 <color=#4286f4>киллеры</color>\n{0}</size>", ["STAT_TOP_FIVE_KILL_NPC"] = "Топ 5 <color=#4286f4>убийцы NPC</color>\n{0}</size>", ["STAT_TOP_FIVE_FARM"] = "Топ 5 <color=#4286f4>фармеры</color>\n{0}</size>", ["STAT_TOP_FIVE_EXPLOSION"] = "Топ 5 <color=#4286f4>рейдеры</color>\n{0}</size>", ["STAT_TOP_FIVE_TIMEPLAYED"] = "Топ 5 <color=#4286f4>долгожителей</color>\n{0}</size>", ["STAT_TOP_FIVE_BUILDINGS"] = "Топ 5 <color=#4286f4>строители</color>\n{0}</size>", ["STAT_TOP_FIVE_SCORE"] = "Топ 5 по <color=#4286f4>очкам</color>\n{0}</size>", ["STAT_TOP_FIVE_FERMER"] = "Топ 5 <color=#4286f4>фермеров</color>\n{0}</size>", ["STAT_USER_TOTAL_GATHERED"] = "Всего добыто:", ["STAT_USER_TOTAL_EXPLODED"] = "Всего взорвано:", ["STAT_USER_TOTAL_GROWED"] = "Всего выращено:", ["STAT_UI_MY_STAT"] = "СТАТИСТИКА", ["STAT_UI_TOP_TEN"] = "ТОП-10", ["STAT_UI_SEARCH"] = "ПОИСК", ["STAT_UI_INFO"] = "Информация о профиле {0}", ["STAT_UI_ACTIVITY"] = "Активность", ["STAT_UI_ACTIVITY_TODAY"] = "Сегодня: {0}", ["STAT_UI_ACTIVITY_TOTAL"] = "За все время: {0}", ["STAT_UI_SETTINGS"] = "Настройки", ["STAT_UI_PLACE_TOP"] = "Место в топе: {0}", ["STAT_UI_SCORE"] = "SCORE: {0}", ["STAT_UI_PVP"] = "PVP статистика", ["STAT_UI_FAVORITE_WEAPON"] = "Фаворитное оружие", ["STAT_UI_PVP_KILLS"] = "Убийств", ["STAT_UI_PVP_KILLS_NPC"] = "Убийств NPC", ["STAT_UI_PVP_DEATH"] = "Смертей", ["STAT_UI_PVP_KDR"] = "K/D", ["STAT_UI_FAVORITE_WEAPON_KILLS"] = "Убийств: {0}\nПопаданий: {1}", ["STAT_UI_FAVORITE_WEAPON_NOT_DATA"] = "Данные еще собираются...", ["STAT_UI_OTHER_STAT"] = "Другая статистика", ["STAT_UI_HIDE_STAT"] = "Общедоступный профиль", ["STAT_UI_CONFIRM"] = "Вы уверены ?", ["STAT_UI_CONFIRM_YES"] = "Да", ["STAT_UI_CONFIRM_NO"] = "Нет", ["STAT_UI_RESET_STAT"] = "Обнулить статистику", ["STAT_UI_CRATE_OPEN"] = "Открыто ящиков: {0}", ["STAT_UI_BARREL_KILL"] = "Разбито бочек: {0}", ["STAT_UI_ANIMAL_KILL"] = "Убито животных: {0}", ["STAT_UI_HELI_KILL"] = "Сбито вертолетов: {0}", ["STAT_UI_BRADLEY_KILL"] = "Танков уничтожено: {0}", ["STAT_UI_NPC_KILL"] = "Убито NPC: {0}", ["STAT_UI_BTN_MORE"] = "Показать еще", ["STAT_UI_CATEGORY_GATHER"] = "Добыча", ["STAT_UI_CATEGORY_EXPLOSED"] = "Взрывчатка", ["STAT_UI_CATEGORY_PLANT"] = "Фермерство", ["STAT_UI_CATEGORY_TOP_KILLER"] = "Топ 10 киллеров", ["STAT_UI_CATEGORY_TOP_KILLER_ANIMALS"] = "Топ 10 убийц животных", ["STAT_UI_CATEGORY_TOP_NPCKILLER"] = "Топ 10 убийц npc", ["STAT_UI_CATEGORY_TOP_TIME"] = "Топ 10 по онлайну", ["STAT_UI_CATEGORY_TOP_GATHER"] = "Топ 10 фармил", ["STAT_UI_CATEGORY_TOP_SCORE"] = "Топ 10 по очкам", ["STAT_UI_CATEGORY_TOP_EXPLOSED"] = "Топ 10 рейдеров", ["STAT_PRINT_WIPE"] = "Произошел вайп.Данные успешно удалены!", ["STAT_CMD_1"] = "Недостаточно прав!", ["STAT_CMD_2"] = "Используйте: stat.ignore <add/remove> <Steam ID|Имя>", ["STAT_CMD_3"] = "Указанный игрок не найден.Для более точного поиска укажите его SteamID.", ["STAT_CMD_4"] = "Найдено несколько игроков с похожим именем: {0}", ["STAT_CMD_5"] = "Игрок не найден!", ["STAT_CMD_6"] = "Игрок {0} уже игнорируется", ["STAT_CMD_7"] = "Вы успешно добавили игрока {0} в игнор лист", ["STAT_CMD_8"] = "Игрока {0} нет в списке игнорируемых", ["STAT_CMD_9"] = "Вы успешно убрали игрока {0} из игнор листа", ["STAT_CMD_10"] = "Игроку {0} успешно зачислено {1} очков", ["STAT_CMD_11"] = "Игроку {0} успешно снято {1} очков", ["STAT_ADMIN_HIDE_STAT"] = "Вы добавлены в игнор лист.У вас нет доступа к статистики, если это ошибка, свяжитесь с администратором!", ["STAT_TOP_PLAYER_WIPE_SCORE"] = "Поздравляю!\nВ прошлом вайпе вы успешно удерживали {0} позицию в категории <color=#4286f4>SCORE</color>\nВы заслужено получаете награду!", ["STAT_TOP_PLAYER_WIPE_TIME"] = "Поздравляю!\nВ прошлом вайпе вы успешно удерживали {0} позицию в категории <color=#4286f4>Долгожитель</color>\nВы заслужено получаете награду!", ["STAT_TOP_PLAYER_WIPE_EXP"] = "Поздравляю!\nВ прошлом вайпе вы успешно удерживали {0} позицию в категории <color=#4286f4>Рейдер</color>\nВы заслужено получаете награду!", ["STAT_TOP_PLAYER_WIPE_FARM"] = "Поздравляю!\nВ прошлом вайпе вы успешно удерживали {0} позицию в категории <color=#4286f4>Добытчик</color>\nВы заслужено получаете награду!", ["STAT_TOP_PLAYER_WIPE_KILL"] = "Поздравляю!\nВ прошлом вайпе вы успешно удерживали {0} позицию в категории <color=#4286f4>Киллер</color>\nВы заслужено получаете награду!", ["STAT_TOP_PLAYER_WIPE_KILL_NPC"] = "Поздравляю!\nВ прошлом вайпе вы успешно удерживали {0} позицию в категории <color=#4286f4>Убийца нпс</color>\nВы заслужено получаете награду!", ["STAT_TOP_PLAYER_WIPE_KILL_ANIMAL"] = "Поздравляю!\nВ прошлом вайпе вы успешно удерживали {0} позицию в категории <color=#4286f4>Убийца животных</color>\nВы заслужено получаете награду!", ["STAT_TOP_VK_SCORE"] = "Топ {0} игрока по очкам\n {1}", ["STAT_TOP_VK_KILLER"] = "Топ {0} игрока по убийствам\n {1}", ["STAT_TOP_VK_TIME"] = "Топ {0} игрока по онлайну\n {1}", ["STAT_TOP_VK_FARM"] = "Топ {0} игрока по фарму\n {1}", ["STAT_TOP_VK_RAID"] = "Топ {0} игрока по рейдам\n {1}", ["STAT_TOP_VK_KILLER_NPC"] = "Топ {0} игрока по убийствам NPC\n {1}", ["STAT_TOP_VK_KILLER_ANIMAL"] = "Топ {0} игрока по убийствам животных\n {1}",
}
, this, "ru");
}
private Configuration QHTTRPSZZOGKDBPZHQPJTUSLHYDBWWQSFNIAWPVOLKMYTRE;
private class Configuration {
public class SettingsInterface {
[JsonProperty("Цвет плашки заднего фона в топ 10 за 1 место | Background color in the top 10 for 1st place")]
public string PFTGLTZWOHLSLQDCXNEPTOCRUBXJHUSQUXLQCKGMOL = "1 0.95 0 1";
[JsonProperty("Цвет плашки заднего фона в топ 10 за 2 место | Background color in the top 10 for 2st place")]
public string OECCVHKAFMPNBDCLJVQPUPVYOENZNGRAHDNNRZCCXUMD = "0 0 1 1";
[JsonProperty("Цвет плашки заднего фона в топ 10 за 3 место | Background color in the top 10 for 3st place")]
public string KKMAYXRYWRZJEOQTKMYUOFYQOTKSNRACRUDUAZPJA = "0.90 0.59 0.19 1";
}
public class DiscordMessage {
[JsonProperty("Отправлять в дискорд топ 5 лучших игроков в разных категориях ? | Send the top 5 best players in different categories to discord ?")]
public bool LLOENKMINHOIPEMWLFMZKERWRKKVTLXPUMUMBKGA = false;
[JsonProperty("Раз в сколько секунд будет отправлятся сообщение ? | Once in how many seconds will a message be sent ?")]
public int FESOJEZHDNKXARGURMDZQOBKZODKZUAYMUFZYHIFLN = 600;
[JsonProperty("ВебХук дискорда | Discord WebHook")]
public string XNRUVNSKXCAOQDIPUBPIIMLKFLHWJEXODYEXHTHWHKCWLF = string.Empty;
[JsonProperty("Цвет линии в сообщения или несколько | The color of the line in the message or several", ObjectCreationHandling = ObjectCreationHandling.Replace)]
public int[] WPSNEWFHLBHOJGVATFMLSYLIBTSAYJPZZXKGRRSSXQSVA = new int[] {
53380, 9359868, 11253955
}
;
[JsonProperty("Дополнительный текст к сообщению | Additional text to the message")]
public string message = string.Empty;
}
public class Settings {
[JsonProperty("Отправлять в чат сообщения с топ 5 игроками в разных категориях | Send chat messages with top 5 players in different categories")]
public bool BNBGFHPSGQISQLUWAIEFGTROCPPAQVCOIJKINDVFEV = true;
[JsonProperty("Раз в сколько секунд будет отправлятся сообщение ? | Once in how many seconds will a message be sent ?")]
public int PHQFKISOQUUYHVNDQROBLOTJHALIWNYALYBGMJFRYGLUNKDN = 600;
[JsonProperty("Включить возможность сбросить свою статистику ? (требуется XDStatistics.reset) | Enable the ability to reset your stats ? (requires XDStatistics.reset)")]
public bool ZENQTJBNGYJXJRDVTNJUGRGMWDFCZVWXYIXILKRP = false;
[JsonProperty("Включить возможность скрыть свою статистику от пользователей ? (требуется XDStatistics.availability) | Enable the ability to hide your statistics from users ? (requires XDStatistics.availability)")]
public bool SGLWUOPHZUWTTTHYATQEZOKBLZBUVKJWUUOLVQCOQUABZDEOP = true;
[JsonProperty("очищать данные при вайпе | Clear data when wiped")]
public bool KQALAEVJKVNVLOKAZYFWCKRCOENIBHUMELZSWJTJPLG = true;
[JsonProperty("Раз во сколько минут будут сохранятся данные | Once in a rowman, the data will be saved.")]
public int AUILQZEFJSHZYYXWQNHCAAQAOREQFVHREKBTVCSCDO = 30;
[JsonProperty("Учитывать убийство npc для фаворитного оружия ? | Consider killing an NPC for a favorite weapon ?")]
public bool LEAUXMXTCDDGAEIWYVNANLPVOWDAOVFZMXFVOXGEH = false;
[JsonProperty("У вас PVE сервер ? | You have a PVE server?")]
public bool FNAEBONFTHPOQZOEFBIXFHYEUDYNHBOJSKGCVKVPM = false;
[JsonProperty("Список игроков, которые не будут включены в статистику (SteamID) | List of players who will not be included in the statistics (SteamID)", ObjectCreationHandling = ObjectCreationHandling.Replace)]
public List<ulong> BYJXGFGKSFWKXXPVJXQAYRSFVFTMJVFTKXFZVWWTGXI = new List<ulong>();
}
public class SettingsScore {
[JsonProperty("Очки за крафт | Points for crafting")]
public float NHNINZAXZMKJFDCBMTBXZCAASPANBWTBJJSNSKZJUIU = 1;
[JsonProperty("Очки за бочки | Points for barrels")]
public float MVTRUUHMVLKKHMQXYNWCTJAWLOJBURCQICNXVITGPGFXYHGFU = 1;
[JsonProperty("Очки за установку строительных блоков | Points for installing building blocks")]
public float KGMREDUXGFLFSEJTCEZTBPUPNNDDXEIDHRGWEQYJ = 1;
[JsonProperty("Очки за использования взрывчатых предметов | Points for using explosive items")]
public Dictionary<string, float> YCNUJNBOFFBGAAUMWERARZCWIXAXMOLGPQCNGUDZ = new Dictionary<string, float>();
[JsonProperty("Очки за добычу ресурсов | Points for resource extraction")]
public Dictionary<string, float> PSYHXGQMJIMHJLZARMLMEBQUVQJYHFBBRXBGDOKR = new Dictionary<string, float>();
[JsonProperty("Очки за найденные скрап | Points for found scraps")]
public float LDGYYGFCMPIRMYNBEMHWSEEGLQLJTXCCUCTYKVWJEWV = 0.5f;
[JsonProperty("Очки за сбор урожая (с плантации) | Points for harvesting (from the plantation)")]
public float TJEZOFYCDURGYZNIUVJOMGWJFPQIPXSWIONBLLVOYAZALM = 0.2f;
[JsonProperty("Очки за убийство животных | Points for killing animals")]
public float LIOOJMGENMVUYOQNFCVYKMLWJAVQMHWYTPFAAIJJBJAPQRWZI = 1;
[JsonProperty("Очки за сбитие вертолета | Points for shooting down a helicopter")]
public float TYQOPZXRFIRQRFPWBIIPNXSLWALVGSDVHZNYIEAGDICA = 5;
[JsonProperty("Очки за взрыв танка | Points for tank explosion")]
public float LRUZTPOQSZWFESONBKNFVISSROWICMEUSTKIRWNCPEPZRS = 5;
[JsonProperty("Очки за убийство нпс | Points for killing NPCs")]
public float MLTCXPUWCZCHFSFOGVBMLHGWEXLQQTSAZLJXJKGFY = 5;
[JsonProperty("Очки за убийство игроков | Points for killing players")]
public float IJOOIJJQJEPFRFFWXAEDFJHBITJIEVOWOOZXHPPBGAKNLTTE = 10;
[JsonProperty("Очки за время (За кажду.минуту игры на сервере) | Points for time (for every minute of the game on the server)")]
public float MMGBURZCNGOABLNQSQDGIPHKCWFYTPOAEQSJHVUWAUTJAA = 0.2f;
[JsonProperty("Сколько отнять очков за суицид ? | How many points to take away for suicide ?")]
public float OWXTDPXJWEWYXMAIYSNVKTEIWVHGNWYJCRQCWWKLGH = 2;
[JsonProperty("Сколько отнять очков за смерть ? | How many points to take away for death ?")]
public float ELXXJZMVQNEVVSOWHHRWAGMVGVYMBHCODXAXZYXGBAHWXWVK = 1;
[JsonProperty("Черный список ресусов и взрывчатых предметов | Blacklist of resources and explosive items", ObjectCreationHandling = ObjectCreationHandling.Replace)]
public List<string> ADDPLVXZBRNBZUJKPRYRRWJKLUZYPYKANEBDZZSBCYY = new List<string> {
"ammo.rifle.explosive"
}
;
}
public class SettingsPrize {
[JsonProperty("Использовать выдачу награды после вайпа ? | Use the award issue after the wipe ?")]
public bool JEBGYMHEXSQDUTEQWZJCHNNVSFLQYXPTYBAGTSZDQF = false;
[JsonProperty("Награда в категории SCORE | Award in the SCORE category")]
public List<Prize> VNXJFVCECOVZWQGNTARFZCXFSTYXEZFMBJSHVVFVW = new List<Prize>();
[JsonProperty("Награда в категории Киллер | Award in the Killer category")]
public List<Prize> MECBDPMEGDZZDSQRQMWEADJJYMYZRXVWJHQTCQPIKZSCMCG = new List<Prize>();
[JsonProperty("Награда в категории Фармила | Award in the gathering category")]
public List<Prize> QEESYRSJVTDQQMMJHDQWCXOAXOTBKGWVGZINSCYROGXIMYSYM = new List<Prize>();
[JsonProperty("Награда в категории рейдер | Reward in the Raider category")]
public List<Prize> UJLJWTPEVKXRZOXHKRDZQFFZHVZFNYVVOAMMKWDPXNH = new List<Prize>();
[JsonProperty("Награда в категории Большой онлайн | Award in the Big Online category")]
public List<Prize> TXHJLEOBUNSPEMBATJRWOBCYCLXNNOBDXRFKNQUIKUBBI = new List<Prize>();
[JsonProperty("Награда в категории Убийца НПС | Reward in the NPC Killer category")]
public List<Prize> HYUCVOWKZRVJHZHANFLPRNGRMDOILTABQFEZTLSNGMROOEIV = new List<Prize>();
[JsonProperty("Награда в категории убица животных | Award in the Animal killer category")]
public List<Prize> KHVPSETSCPRZNYGQUTBVHHBNYIFWRCIVTHBLELXA = new List<Prize>();
[JsonProperty("[RU][GameStores] ID магазина")]
public string HQVBNTNKXUKHZTDFIQJZXAAHWFGXUMIWAKAQFLLPRLUH = "";
[JsonProperty("[RU][GameStores] ID сервера")]
public string NUNYGWVNBNGQOEIMQQLMOGOTMAWFUILGSJILSYOPNIZXTAQHC = "";
[JsonProperty("[RU][GameStores] Секретный ключ")]
public string AUIVIHFUMFZPTSBAYEVWUSCVZGGRZLJPCRHQXWBBG = "";
internal class Prize {
[JsonProperty("Использовать комманды в виде приза ? | Use command as a prize ?")]
public bool LIQXPGVTCMLGIISNWCBOVBWKNBLLCBDUQWGTFCQZVGIXDWJZY = true;
[JsonProperty("За какое место давать эту награду ? (от 1 до 3) если не нужно награждать эту категорию.удалите все награды | For which place to give this award ? (from 1 to 3) if you do not need to award this category.remove all rewards")]
public int top = 1;
[JsonProperty("[RU]Использовать магазин GameStore для выдачи награды")]
public bool AZARCKLGKNVKQBIRPLCYIULBSOSZGRSMNSAEUYTVHYSC = false;
[JsonProperty("[RU]Использовать магазин MoscowOVH для выдачи награды")]
public bool LQHOMGXWZCGNYZORMZTVJXXAEXRRGQJCIXHYLKUKU = false;
[JsonProperty("Использовать [IQEconomic или Economics или ServerRewards] для выдачи награды | Use [IQEconomic or Economics or Server Rewards] to issue a reward")]
public bool NPUQVZFEVZZHUNSGKPPFQITEFBRPFCFIAUJHFNBRMCVJD = false;
[JsonProperty("Команды для приза | Command for the prize")]
public List<string> DTGEAEUPZEWQLUHQYTTQGZDKBWNYTNNJBEXXJABA = new List<string>();
[JsonProperty("[RU][GameStores] Сообщения для истории в магазине")]
public string LUFLPCHJVDCPMUDPVDDRWWLRNOGWKGXRTCVFYZLTGOXJL = "За топ 1!!!";
[JsonProperty("[RU][GameStores или MoscowOVH] Сколько начислять денег на баланс")]
public int OJTINXXIRPIOXAWKZPGKWJZYRWSJLIYCFTZWDCSATKLFWKB = 30;
[JsonProperty("[IQEconomic или Economics или ServerRewards] Сколько начислять денег на баланс | [IQEconomic or Economics or ServerRewards] How much money to add to the balance")]
public int XVPHDAXEKVRRENXIQGIDBZHXWGQLYTCGUHMPSQYEWVMI = 100;
public void HBMGALMKOWFITNJHOLZWDNBZKMXTPBAUSFPMXLUTG(string player) {
if (LIQXPGVTCMLGIISNWCBOVBWKNBLLCBDUQWGTFCQZVGIXDWJZY) {
foreach (string cmd in DTGEAEUPZEWQLUHQYTTQGZDKBWNYTNNJBEXXJABA) _.Server.Command(cmd.Replace("%STEAMID%", player));
}
if (AZARCKLGKNVKQBIRPLCYIULBSOSZGRSMNSAEUYTVHYSC && _?.GameStoresRUST) {
string AVGMCPPBYJYORLWKLGQTKXXBIPZHDGFNYMVKKYVEMEWY = $"https://gamestores.ru/api?shop_id={_.QHTTRPSZZOGKDBPZHQPJTUSLHYDBWWQSFNIAWPVOLKMYTRE.DQNXNGBROMPWKTCRJIIFBSQBEBNGVHVGBFSLBYYMECIMEWS.HQVBNTNKXUKHZTDFIQJZXAAHWFGXUMIWAKAQFLLPRLUH}&secret={_.QHTTRPSZZOGKDBPZHQPJTUSLHYDBWWQSFNIAWPVOLKMYTRE.DQNXNGBROMPWKTCRJIIFBSQBEBNGVHVGBFSLBYYMECIMEWS.AUIVIHFUMFZPTSBAYEVWUSCVZGGRZLJPCRHQXWBBG}&server={_.QHTTRPSZZOGKDBPZHQPJTUSLHYDBWWQSFNIAWPVOLKMYTRE.DQNXNGBROMPWKTCRJIIFBSQBEBNGVHVGBFSLBYYMECIMEWS.NUNYGWVNBNGQOEIMQQLMOGOTMAWFUILGSJILSYOPNIZXTAQHC}&action=moneys&type=plus&steam_id={player}&amount={OJTINXXIRPIOXAWKZPGKWJZYRWSJLIYCFTZWDCSATKLFWKB}&mess={LUFLPCHJVDCPMUDPVDDRWWLRNOGWKGXRTCVFYZLTGOXJL}";
_.webrequest.Enqueue(AVGMCPPBYJYORLWKLGQTKXXBIPZHDGFNYMVKKYVEMEWY , "", (code, response) => {
switch (code) {
case 0 : {
_.PrintError("Api does not responded to a request");
break;
}
case 200 : {
break;
}
case 404 : {
_.PrintError($"Please check your configuration! {code}");
break;
}
}
}
, _);
}
if (LQHOMGXWZCGNYZORMZTVJXXAEXRRGQJCIXHYLKUKU) {
if (_?.RustStore) {
_.RustStore.CallHook("APIChangeUserBalance", ulong.Parse(player), OJTINXXIRPIOXAWKZPGKWJZYRWSJLIYCFTZWDCSATKLFWKB, new Action<string>(LTSDRIVPUBVZZWYROYITBUGZMKHLQNILYBPJLJOZQLZHRBF => {
if (LTSDRIVPUBVZZWYROYITBUGZMKHLQNILYBPJLJOZQLZHRBF == "SUCCESS") return;
Interface.Oxide.LogDebug($"Баланс игрока {ulong.Parse(player)} не был изменен, ошибка: {LTSDRIVPUBVZZWYROYITBUGZMKHLQNILYBPJLJOZQLZHRBF}");
}
));
}
}
if (NPUQVZFEVZZHUNSGKPPFQITEFBRPFCFIAUJHFNBRMCVJD) {
if (_?.Economics) {
_.Economics.Call("Deposit", ulong.Parse(player), (double)XVPHDAXEKVRRENXIQGIDBZHXWGQLYTCGUHMPSQYEWVMI);
}
else if (_?.IQEconomic) {
_.IQEconomic.Call("API_SET_BALANCE", ulong.Parse(player), XVPHDAXEKVRRENXIQGIDBZHXWGQLYTCGUHMPSQYEWVMI);
}
else if (_?.ServerRewards) {
_.ServerRewards.Call("AddPoints", ulong.Parse(player), XVPHDAXEKVRRENXIQGIDBZHXWGQLYTCGUHMPSQYEWVMI);
}
}
}
}
}
[JsonProperty("Основные настройки плагина | Basic plugin settings")]
public Settings settings = new Settings();
[JsonProperty("Настройка выдачи очков | Setting up the issuance of points")]
public SettingsScore GTIOEGFUCLVQPVYDKIUDZRXYVBPVMTFTXZTTCWBZVEKW = new SettingsScore();
[JsonProperty("Настройка награды топ игрокам в каждой категории | Customize rewards for top 1 players in each category")]
public SettingsPrize DQNXNGBROMPWKTCRJIIFBSQBEBNGVHVGBFSLBYYMECIMEWS = new SettingsPrize();
[JsonProperty("Настройки интерфейса | Interface Settings")]
public SettingsInterface ZILVBRRKAMSMTVVHRIVFBRQLJVAZKDXIIJHNVZEKO = new SettingsInterface();
[JsonProperty("Настройки дискорд | Discord Settings")]
public DiscordMessage LPFLTJGBVVBMCHSAMFQRAWOKDKNILSDLRTFAFXCRSI = new DiscordMessage();
}
protected override void LoadConfig() {
base.LoadConfig();
try {
QHTTRPSZZOGKDBPZHQPJTUSLHYDBWWQSFNIAWPVOLKMYTRE = Config.ReadObject<Configuration>();
if (QHTTRPSZZOGKDBPZHQPJTUSLHYDBWWQSFNIAWPVOLKMYTRE == null) LoadDefaultConfig();
KPVHYJVDYXVDBUZMVONSVNVLQNYWJCQFPUDMDDONYLD();
SaveConfig();
}
catch (JsonException ex) {
Debug.LogException(ex);
LoadDefaultConfig();
}
}
private void KPVHYJVDYXVDBUZMVONSVNVLQNYWJCQFPUDMDDONYLD() {
if (QHTTRPSZZOGKDBPZHQPJTUSLHYDBWWQSFNIAWPVOLKMYTRE.GTIOEGFUCLVQPVYDKIUDZRXYVBPVMTFTXZTTCWBZVEKW.PSYHXGQMJIMHJLZARMLMEBQUVQJYHFBBRXBGDOKR.Count == 0) {
QHTTRPSZZOGKDBPZHQPJTUSLHYDBWWQSFNIAWPVOLKMYTRE.GTIOEGFUCLVQPVYDKIUDZRXYVBPVMTFTXZTTCWBZVEKW.PSYHXGQMJIMHJLZARMLMEBQUVQJYHFBBRXBGDOKR = new Dictionary<string, float> {
["wood"]
= 0.3f, ["stones"] = 0.6f, ["metal.ore"] = 1, ["sulfur.ore"] = 1.5f, ["hq.metal.ore"] = 2,
}
;
}
if (QHTTRPSZZOGKDBPZHQPJTUSLHYDBWWQSFNIAWPVOLKMYTRE.GTIOEGFUCLVQPVYDKIUDZRXYVBPVMTFTXZTTCWBZVEKW.YCNUJNBOFFBGAAUMWERARZCWIXAXMOLGPQCNGUDZ.Count == 0) {
QHTTRPSZZOGKDBPZHQPJTUSLHYDBWWQSFNIAWPVOLKMYTRE.GTIOEGFUCLVQPVYDKIUDZRXYVBPVMTFTXZTTCWBZVEKW.YCNUJNBOFFBGAAUMWERARZCWIXAXMOLGPQCNGUDZ = new Dictionary<string, float> {
["explosive.timed"]
= 2, ["explosive.satchel"] = 0.7f, ["grenade.beancan"] = 0.3f, ["grenade.f1"] = 0.1f, ["ammo.rocket.basic"] = 1, ["ammo.rocket.hv"] = 0.5f, ["ammo.rocket.fire"] = 0.7f, ["ammo.rifle.explosive"] = 0.02f,
}
;
}
if (!QHTTRPSZZOGKDBPZHQPJTUSLHYDBWWQSFNIAWPVOLKMYTRE.GTIOEGFUCLVQPVYDKIUDZRXYVBPVMTFTXZTTCWBZVEKW.YCNUJNBOFFBGAAUMWERARZCWIXAXMOLGPQCNGUDZ.ContainsKey("ammo.rifle.explosive")) {
QHTTRPSZZOGKDBPZHQPJTUSLHYDBWWQSFNIAWPVOLKMYTRE.GTIOEGFUCLVQPVYDKIUDZRXYVBPVMTFTXZTTCWBZVEKW.YCNUJNBOFFBGAAUMWERARZCWIXAXMOLGPQCNGUDZ.Add("ammo.rifle.explosive", 0.02f);
}
if (QHTTRPSZZOGKDBPZHQPJTUSLHYDBWWQSFNIAWPVOLKMYTRE.DQNXNGBROMPWKTCRJIIFBSQBEBNGVHVGBFSLBYYMECIMEWS.QEESYRSJVTDQQMMJHDQWCXOAXOTBKGWVGZINSCYROGXIMYSYM.Count == 0) {
QHTTRPSZZOGKDBPZHQPJTUSLHYDBWWQSFNIAWPVOLKMYTRE.DQNXNGBROMPWKTCRJIIFBSQBEBNGVHVGBFSLBYYMECIMEWS.QEESYRSJVTDQQMMJHDQWCXOAXOTBKGWVGZINSCYROGXIMYSYM = new List<Configuration.SettingsPrize.Prize> {
new Configuration.SettingsPrize.Prize {
DTGEAEUPZEWQLUHQYTTQGZDKBWNYTNNJBEXXJABA = new List<string> {
"say %STEAMID%"
}
, LUFLPCHJVDCPMUDPVDDRWWLRNOGWKGXRTCVFYZLTGOXJL = "За топ 1 в категории фармер"
}
, new Configuration.SettingsPrize.Prize {
top = 2, DTGEAEUPZEWQLUHQYTTQGZDKBWNYTNNJBEXXJABA = new List<string> {
"say %STEAMID%"
}
, LUFLPCHJVDCPMUDPVDDRWWLRNOGWKGXRTCVFYZLTGOXJL = "За топ 2 в категории фармер"
}
,
}
;
}
if (QHTTRPSZZOGKDBPZHQPJTUSLHYDBWWQSFNIAWPVOLKMYTRE.DQNXNGBROMPWKTCRJIIFBSQBEBNGVHVGBFSLBYYMECIMEWS.MECBDPMEGDZZDSQRQMWEADJJYMYZRXVWJHQTCQPIKZSCMCG.Count == 0) {
QHTTRPSZZOGKDBPZHQPJTUSLHYDBWWQSFNIAWPVOLKMYTRE.DQNXNGBROMPWKTCRJIIFBSQBEBNGVHVGBFSLBYYMECIMEWS.MECBDPMEGDZZDSQRQMWEADJJYMYZRXVWJHQTCQPIKZSCMCG = new List<Configuration.SettingsPrize.Prize> {
new Configuration.SettingsPrize.Prize {
DTGEAEUPZEWQLUHQYTTQGZDKBWNYTNNJBEXXJABA = new List<string> {
"say %STEAMID%"
}
, LUFLPCHJVDCPMUDPVDDRWWLRNOGWKGXRTCVFYZLTGOXJL = "За топ 1 в категории киллер"
}
, new Configuration.SettingsPrize.Prize {
top = 2, DTGEAEUPZEWQLUHQYTTQGZDKBWNYTNNJBEXXJABA = new List<string> {
"say %STEAMID%"
}
, LUFLPCHJVDCPMUDPVDDRWWLRNOGWKGXRTCVFYZLTGOXJL = "За топ 2 в категории киллер"
}
,
}
;
}
if (QHTTRPSZZOGKDBPZHQPJTUSLHYDBWWQSFNIAWPVOLKMYTRE.DQNXNGBROMPWKTCRJIIFBSQBEBNGVHVGBFSLBYYMECIMEWS.UJLJWTPEVKXRZOXHKRDZQFFZHVZFNYVVOAMMKWDPXNH.Count == 0) {
QHTTRPSZZOGKDBPZHQPJTUSLHYDBWWQSFNIAWPVOLKMYTRE.DQNXNGBROMPWKTCRJIIFBSQBEBNGVHVGBFSLBYYMECIMEWS.UJLJWTPEVKXRZOXHKRDZQFFZHVZFNYVVOAMMKWDPXNH = new List<Configuration.SettingsPrize.Prize> {
new Configuration.SettingsPrize.Prize {
DTGEAEUPZEWQLUHQYTTQGZDKBWNYTNNJBEXXJABA = new List<string> {
"say %STEAMID%"
}
, LUFLPCHJVDCPMUDPVDDRWWLRNOGWKGXRTCVFYZLTGOXJL = "За топ 1 в категории рейдер"
}
, new Configuration.SettingsPrize.Prize {
top = 2, DTGEAEUPZEWQLUHQYTTQGZDKBWNYTNNJBEXXJABA = new List<string> {
"say %STEAMID%"
}
, LUFLPCHJVDCPMUDPVDDRWWLRNOGWKGXRTCVFYZLTGOXJL = "За топ 2 в категории рейдер"
}
,
}
;
}
if (QHTTRPSZZOGKDBPZHQPJTUSLHYDBWWQSFNIAWPVOLKMYTRE.DQNXNGBROMPWKTCRJIIFBSQBEBNGVHVGBFSLBYYMECIMEWS.VNXJFVCECOVZWQGNTARFZCXFSTYXEZFMBJSHVVFVW.Count == 0) {
QHTTRPSZZOGKDBPZHQPJTUSLHYDBWWQSFNIAWPVOLKMYTRE.DQNXNGBROMPWKTCRJIIFBSQBEBNGVHVGBFSLBYYMECIMEWS.VNXJFVCECOVZWQGNTARFZCXFSTYXEZFMBJSHVVFVW = new List<Configuration.SettingsPrize.Prize> {
new Configuration.SettingsPrize.Prize {
DTGEAEUPZEWQLUHQYTTQGZDKBWNYTNNJBEXXJABA = new List<string> {
"say %STEAMID%"
}
, LUFLPCHJVDCPMUDPVDDRWWLRNOGWKGXRTCVFYZLTGOXJL = "За топ 1 в категории больше всего очков"
}
, new Configuration.SettingsPrize.Prize {
top = 2, DTGEAEUPZEWQLUHQYTTQGZDKBWNYTNNJBEXXJABA = new List<string> {
"say %STEAMID%"
}
, LUFLPCHJVDCPMUDPVDDRWWLRNOGWKGXRTCVFYZLTGOXJL = "За топ 2 в категории больше всего очков"
}
,
}
;
}
if (QHTTRPSZZOGKDBPZHQPJTUSLHYDBWWQSFNIAWPVOLKMYTRE.DQNXNGBROMPWKTCRJIIFBSQBEBNGVHVGBFSLBYYMECIMEWS.TXHJLEOBUNSPEMBATJRWOBCYCLXNNOBDXRFKNQUIKUBBI.Count == 0) {
QHTTRPSZZOGKDBPZHQPJTUSLHYDBWWQSFNIAWPVOLKMYTRE.DQNXNGBROMPWKTCRJIIFBSQBEBNGVHVGBFSLBYYMECIMEWS.TXHJLEOBUNSPEMBATJRWOBCYCLXNNOBDXRFKNQUIKUBBI = new List<Configuration.SettingsPrize.Prize> {
new Configuration.SettingsPrize.Prize {
DTGEAEUPZEWQLUHQYTTQGZDKBWNYTNNJBEXXJABA = new List<string> {
"say %STEAMID%"
}
, LUFLPCHJVDCPMUDPVDDRWWLRNOGWKGXRTCVFYZLTGOXJL = "За топ 1 в категории большой онлайн"
}
, new Configuration.SettingsPrize.Prize {
top = 2, DTGEAEUPZEWQLUHQYTTQGZDKBWNYTNNJBEXXJABA = new List<string> {
"say %STEAMID%"
}
, LUFLPCHJVDCPMUDPVDDRWWLRNOGWKGXRTCVFYZLTGOXJL = "За топ 2 в категории большой онлайн"
}
,
}
;
}
if (QHTTRPSZZOGKDBPZHQPJTUSLHYDBWWQSFNIAWPVOLKMYTRE.DQNXNGBROMPWKTCRJIIFBSQBEBNGVHVGBFSLBYYMECIMEWS.HYUCVOWKZRVJHZHANFLPRNGRMDOILTABQFEZTLSNGMROOEIV.Count == 0) {
QHTTRPSZZOGKDBPZHQPJTUSLHYDBWWQSFNIAWPVOLKMYTRE.DQNXNGBROMPWKTCRJIIFBSQBEBNGVHVGBFSLBYYMECIMEWS.HYUCVOWKZRVJHZHANFLPRNGRMDOILTABQFEZTLSNGMROOEIV = new List<Configuration.SettingsPrize.Prize> {
new Configuration.SettingsPrize.Prize {
DTGEAEUPZEWQLUHQYTTQGZDKBWNYTNNJBEXXJABA = new List<string> {
"say %STEAMID%"
}
, LUFLPCHJVDCPMUDPVDDRWWLRNOGWKGXRTCVFYZLTGOXJL = "За топ 1 в категории убийца NPC"
}
, new Configuration.SettingsPrize.Prize {
top = 2, DTGEAEUPZEWQLUHQYTTQGZDKBWNYTNNJBEXXJABA = new List<string> {
"say %STEAMID%"
}
, LUFLPCHJVDCPMUDPVDDRWWLRNOGWKGXRTCVFYZLTGOXJL = "За топ 2 в категории убийца NPC"
}
,
}
;
}
if (QHTTRPSZZOGKDBPZHQPJTUSLHYDBWWQSFNIAWPVOLKMYTRE.DQNXNGBROMPWKTCRJIIFBSQBEBNGVHVGBFSLBYYMECIMEWS.KHVPSETSCPRZNYGQUTBVHHBNYIFWRCIVTHBLELXA.Count == 0) {
QHTTRPSZZOGKDBPZHQPJTUSLHYDBWWQSFNIAWPVOLKMYTRE.DQNXNGBROMPWKTCRJIIFBSQBEBNGVHVGBFSLBYYMECIMEWS.KHVPSETSCPRZNYGQUTBVHHBNYIFWRCIVTHBLELXA = new List<Configuration.SettingsPrize.Prize> {
new Configuration.SettingsPrize.Prize {
DTGEAEUPZEWQLUHQYTTQGZDKBWNYTNNJBEXXJABA = new List<string> {
"say %STEAMID%"
}
, LUFLPCHJVDCPMUDPVDDRWWLRNOGWKGXRTCVFYZLTGOXJL = "За топ 1 в категории убийца NPC"
}
, new Configuration.SettingsPrize.Prize {
top = 2, DTGEAEUPZEWQLUHQYTTQGZDKBWNYTNNJBEXXJABA = new List<string> {
"say %STEAMID%"
}
, LUFLPCHJVDCPMUDPVDDRWWLRNOGWKGXRTCVFYZLTGOXJL = "За топ 2 в категории убийца NPC"
}
,
}
;
}
}
protected override void SaveConfig() {
Config.WriteObject(QHTTRPSZZOGKDBPZHQPJTUSLHYDBWWQSFNIAWPVOLKMYTRE);
}
protected override void LoadDefaultConfig() {
QHTTRPSZZOGKDBPZHQPJTUSLHYDBWWQSFNIAWPVOLKMYTRE = new Configuration();
}
private static Dictionary<ulong, PlayerInfo> Players = new Dictionary<ulong, PlayerInfo>();
private static Dictionary<ulong, PlayerInfo> BGVGZVVNZTWGOAVIIVYQCRQVICRUODYZRONEHDNNPEE = new Dictionary<ulong, PlayerInfo>();
private static Dictionary<ulong, List<PrizePlayer>> UNRAKPTVUSFJPAYXEAZWUXPAMRAFHKAYNZBVLQKYJDEZJD = new Dictionary<ulong, List<PrizePlayer>>();
private class PrizePlayer {
public string Name = string.Empty;
public CatType HFQJOFIWXYQNTOOOJSGWPYCMNQAMRSQQJCSARBLTECEXU;
public int QJVPVGCHZICDVYEVEEIAERVNWHGNRMUFSLZQRCWJ;
public int top;
}
private class PlayerInfo {
public string Name = string.Empty;
public bool CDJXNFNOIYZPTYZOHSNAOPMOXLKYOECIYLCOLQICTZJOV = false;
internal string GetPlayerName(ulong steamId) => string.IsNullOrWhiteSpace(Name) ? _.covalence.Players.FindPlayerById(steamId.ToString())?.Name ?? "UNKNOWN" : Name;
public float Score = 0;
public Harvesting harvesting = new Harvesting();
public OtherStat YNACKJIIZMQVACVOZEVRQHVLCRJLHOGXTHMXYMTSZQMPXQ = new OtherStat();
public Explosion explosion = new Explosion();
public Gather GGEAETEZQROATAWBKGSCSPXQNKDRAVFNLBDFCOBEPIVGJL = new Gather();
public Weapon weapon = new Weapon();
public PVP EMVOBHOCIAUJXIUKPGEQALWRHLJFXNBPRQNKVKTXZKCTXXDBQ = new PVP();
public PlayedTime WNRTXSPEHQXJFVZESHVKOFMHQPJDTJHHOSROYYTUU = new PlayedTime();
internal class PlayedTime {
public string CDZQFGUSFWGFQRBKCHJMKXJPUMEKGTNBPXCJHAKCJBEKBI = DateTime.Now.ToShortDateString();
public int ZMNVMKIGETKVSCJMLJEQSPSCCWGCJTYOLKEXSYBQ = 0;
public int QXPXERAAPSBWSJKULTPEFXLVVJIYLTNHOKBRDFXFGC = 0;
}
internal class Harvesting {
public Dictionary<string, int> BWRTATDHEMMATMTBUIBOVFUIIHTRFWJXDCKYEQIEIMIUBJI = new Dictionary<string, int>();
public int JDCWENYVCJLSALBICOXRCVXEAXGJWZGYZOIBTMSQD = 0;
}
internal class OtherStat {
public int VUEPDWKZSMMQCOGXWHGPZDCMSMDZPQVGNOZCZKTJZWHTL = 0;
public int MTVVPLJOPSRSXRTKKBRFDNPDYMNWPCWJAJAJETAKXYZ = 0;
public int KHNCQOMFCGFYERXDXMYMWIRNRKFQBGHEOITQZLGBQQ = 0;
public int UECFNWWMLZMKBQZLGIVDVYAJVYGEMGXWFCWIPFSUEU = 0;
public int EBYRAZAASVMKWESJOQSZECQEZTRWAQBZBBVHXGFEMGFASRAD = 0;
}
internal class Explosion {
public Dictionary<string, int> VDDMUSCLTRGHDZCUNJUJLMILNNYXPLITNZFMXMHJSWDPYXIG = new Dictionary<string, int>() {
["explosive.timed"]
= 0, ["explosive.satchel"] = 0, ["grenade.beancan"] = 0, ["grenade.f1"] = 0, ["ammo.rocket.basic"] = 0, ["ammo.rocket.hv"] = 0, ["ammo.rocket.fire"] = 0, ["ammo.rifle.explosive"] = 0
}
;
public int GFHFUKJVSZHTFVIINTDTPWBCLQPJSMQERTIGBNTOV = 0;
}
internal class Gather {
public Dictionary<string, int> FNZPNAUHLDEMNKDEUDVZDGJCBLMBGAAPYZROCVDOOLBMAF = new Dictionary<string, int>() {
["wood"]
= 0, ["stones"] = 0, ["metal.ore"] = 0, ["sulfur.ore"] = 0, ["hq.metal.ore"] = 0, ["scrap"] = 0,
}
;
public int YCWTQTWNZDXOBNTALDPONTPCYZGLSEWCWFOYKGJVBM = 0;
}
internal class Weapon {
public Dictionary<string, WeaponInfo> KFHCBVKQJKQSFNUUQMKUUHVSVZUPETTMBAFXRXFPHONRFM = new Dictionary<string, WeaponInfo>();
internal class WeaponInfo {
public int Kills = 0;
public int LQLTIQRXDJPGBBULPQDQEHWDSHVMFTDMJQIZSALVJDC = 0;
public int BRDOMCYBCWEDTHABVESJGDXLSVSOFHGBFJCBEHACVBKNM = 0;
}
}
internal class PVP {
public int Kills = 0;
public int GLZJAFKSGYTRVRKJWUPCYKFYWOEPOESKYNOHOVHBQ = 0;
public int CDHMLISLFPYJGWFBMMAVEBFJSHDCUANNMLHBRKCWXCZD = 0;
public int PHSBNIVBVHAXXTDEPREBKWUOEJCJDYCCCXDAKAGRSLRE = 0;
public int BRDOMCYBCWEDTHABVESJGDXLSVSOFHGBFJCBEHACVBKNM = 0;
public int LQLTIQRXDJPGBBULPQDQEHWDSHVMFTDMJQIZSALVJDC = 0;
public int ETRZRHLUBBSMDXEGLXXFYVAQDUPKNJYFQIAQLJMQQI = 0;
public int WKNHDCLGOUYHITAWXSAHSCNWVXNVCLGOQVDFPNLH = 0;
}
public static void ACHHRTMDCZSHVJBXFZCZGFTELCXPBJOUJXOLZJVPEWX(ulong id) {
var player = Players.ContainsKey(id) ? Players[id] : null;
if (player == null) return;
player.WNRTXSPEHQXJFVZESHVKOFMHQPJDTJHHOSROYYTUU.QXPXERAAPSBWSJKULTPEFXLVVJIYLTNHOKBRDFXFGC++;
player.WNRTXSPEHQXJFVZESHVKOFMHQPJDTJHHOSROYYTUU.ZMNVMKIGETKVSCJMLJEQSPSCCWGCJTYOLKEXSYBQ++;
player.Score += _.QHTTRPSZZOGKDBPZHQPJTUSLHYDBWWQSFNIAWPVOLKMYTRE.GTIOEGFUCLVQPVYDKIUDZRXYVBPVMTFTXZTTCWBZVEKW.MMGBURZCNGOABLNQSQDGIPHKCWFYTPOAEQSJHVUWAUTJAA;
if (player.WNRTXSPEHQXJFVZESHVKOFMHQPJDTJHHOSROYYTUU.CDZQFGUSFWGFQRBKCHJMKXJPUMEKGTNBPXCJHAKCJBEKBI != DateTime.Now.ToShortDateString()) {
player.WNRTXSPEHQXJFVZESHVKOFMHQPJDTJHHOSROYYTUU.QXPXERAAPSBWSJKULTPEFXLVVJIYLTNHOKBRDFXFGC = 0;
player.WNRTXSPEHQXJFVZESHVKOFMHQPJDTJHHOSROYYTUU.CDZQFGUSFWGFQRBKCHJMKXJPUMEKGTNBPXCJHAKCJBEKBI = DateTime.Now.ToShortDateString();
}
}
public static void QDWDZLXLWMDVJCVPWXCSLXXYUQYVDMVKHXNIFUQPLDYXUTCW(ulong id) {
BasePlayer player = BasePlayer.FindByID(id);
Players[id] = new PlayerInfo();
Players[id].Name = player.displayName;
}
public static vo
// ... [Code preview truncated due to length. Full source in attached file] ...