Иконка ресурса

FREE HardcoreDeath : 1.0.1 1.0.1

Нет прав для скачивания
C#:
// Все права принадлежат дискорд сообществу https://discord.gg/VgNHPpNrz6
using System;
using System.Collections.Generic;
using System.Linq;
namespace Oxide.Plugins
{
    [Info("HardcoreDeath", "Reynostrum", "1.0.1")]
    [Description("Unlearn a random blueprint on death.")]
    class HardcoreDeath : RustPlugin
    {
        #region Init/config
        bool ProtectAdmin => GetConfig("ProtectAdmin", false);
        string Prefix => GetConfig("Prefix", "<color=#fdde23>[HARDCORE DEATH]</color>");
        protected override void LoadDefaultConfig()
        {
            PrintWarning("Plugin is loading default configuration.");
            Config["ProtectAdmin"] = ProtectAdmin;
            Config["Prefix"] = Prefix;
            SaveConfig();
        }
        void Loaded()
        {
            lang.RegisterMessages(Messages, this);
            LoadDefaultConfig();
        }
        #endregion

        #region Oxide hooks
        void OnEntityDeath(BaseCombatEntity entity, HitInfo hitInfo)
        {
            if (entity == null || entity as BasePlayer == null) return;
            BasePlayer player = entity.ToPlayer();
            if (!player.IsConnected()) return;
            if (ProtectAdmin && player.IsAdmin()) return;
            var playerInfo = ServerMgr.Instance.persistance.GetPlayerInfo(player.userID);
            var blueprints = playerInfo.unlockedItems;
            if (blueprints.Count == 0) return;
            var blueprint = blueprints.ToList()[UnityEngine.Random.Range(0, blueprints.Count)];
            blueprints.Remove(blueprint);
            ServerMgr.Instance.persistance.SetPlayerInfo(player.userID, playerInfo);
            player.SendNetworkUpdate(BasePlayer.NetworkQueue.Update);
            ItemDefinition bp = ItemManager.FindItemDefinition(blueprint);
            timer.Once(3f, () =>
            {
                PrintToChat(player, Prefix + " " + Lang("BlueprintUnlearned", player.UserIDString, bp.displayName.translated));
            });
        }
        #endregion

        #region Helpers
        T GetConfig<T>(string name, T defaultValue) => Config[name] == null ? defaultValue : (T)Convert.ChangeType(Config[name], typeof(T));
        string Lang(string key, string id = null, params object[] args) => string.Format(lang.GetMessage(key, this, id), args);
        bool HasPermission(BasePlayer player, string perm) => permission.UserHasPermission(player.UserIDString, perm);
        Dictionary<string, string> Messages = new Dictionary<string, string>
        {
            {"BlueprintUnlearned", "You have unlearned {0} blueprint." },
        };
        #endregion
    }
}

Автор
15FPS
Скачиваний
0
Просмотры
1
Первый выпуск
Обновление
Оценка
0.00 звёзд 0 оценок
Сверху