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

FREE HealthRegen : 1.0.2 1.0.2

Нет прав для скачивания
C#:
using System;
using System.Collections.Generic;
using System.Linq;
using Facepunch;
using Newtonsoft.Json;
using Oxide.Core;
using Oxide.Core.Plugins;
using Oxide.Game.Rust.Cui;
using UnityEngine;

namespace Oxide.Plugins
{
    [Info("HealthRegen", "Excellion", "1.0.2")]
    [Description("Regenerates health over time")]

    class HealthRegen : RustPlugin
    {
		
		
		private Configuration _config;
		private const string HealthRegenPermission = "healthregen.use";
		
		#region Config

        private class Configuration
        {
            [JsonProperty(PropertyName = "Сколько ХП будет регенерировать привелегия в секунду", ObjectCreationHandling = ObjectCreationHandling.Replace)]
            public readonly Dictionary<string, float> PermList = new Dictionary<string, float>
            {
                ["HealthRegen.default"] = 1.0f,
                ["HealthRegen.vip"] = 2.0f,
                ["HealthRegen.cezar"] = 3.0f, 
                ["HealthRegen.admin"] = 10.0f
            };
         
        }
		
		 protected override void LoadConfig()
        {
            base.LoadConfig();
            try
            {
                _config = Config.ReadObject<Configuration>();
                if (_config == null) throw new Exception();
                SaveConfig();
            }
            catch
            {
                PrintError("Your configuration file contains an error.Using default configuration values.");
                LoadDefaultConfig();
            }
        }
		
		protected override void SaveConfig()
        {
            
			Config.WriteObject(_config);
        }

        protected override void LoadDefaultConfig()
        {
            _config = new Configuration();
        }
		
		#endregion
		
		
		private float GetMaxPermissionValue(string userID)
        {
            float protect = 0;
            foreach (var check in _config.PermList)
                if (permission.UserHasPermission(userID, check.Key))
                    protect = Math.Max(protect, check.Value);
            return protect;
        }
			
		
		
		

		
		
		 private void OnServerInitialized()
		 {
            foreach (var check in _config.PermList) permission.RegisterPermission(check.Key, this);   
			permission.RegisterPermission(HealthRegenPermission, this); 
		 }
		 
		 private void OnPlayerConnected(BasePlayer player)
		 {
			timer.Repeat(1f, 0, () => RegenerateHealth(player));
		 }
      

        private void RegenerateHealth(BasePlayer player)
        {
            if (player.IsConnected &&  player.health < player.MaxHealth() && player.health > 0)
            {
                if (permission.UserHasPermission(player.UserIDString, HealthRegenPermission) && GetMaxPermissionValue(player.UserIDString) > 0)
				{
					player.Heal(GetMaxPermissionValue(player.UserIDString));
				}
				
            }
        }
    }
}

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