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

FREE Bearrels : 1.1.0 1.1.0

Нет прав для скачивания
C#:
// Все права принадлежат дискорд сообществу https://discord.gg/VgNHPpNrz6
using System;
using System.Text;
using UnityEngine;
using System.Linq;
using System.Collections.Generic;

namespace Oxide.Plugins
{
    [Info("Bearrels","ichaleynbin","1.1.0", ResourceId = 2380)]
    [Description("Random chance of bears spawning when a barrel breaks.")]
    
    class Bearrels : RustPlugin
    {
        private System.Random random = new System.Random();
        private ConfigDats configData;
        private string Bear = "assets/rust.ai/agents/bear/bear.prefab";
        private Dictionary<string, string> messages = new Dictionary<string,string>();
        
        class ConfigDats
        {
            public int ChanceOfBearrel {get; set;}
        }
        
        void SpawnBear(Vector3 pos)
        {
            
            BaseEntity bear = GameManager.server.CreateEntity(Bear, pos, new Quaternion(), true);            
            bear.Spawn();
        }
        
        void OnEntityDeath(BaseCombatEntity entity, HitInfo info)
        {
            if (entity.name.Contains("barrel") && (random.Next(1,100)<= configData.ChanceOfBearrel))
            {
                SpawnBear(entity.GetEstimatedWorldPosition());
                BasePlayer player = info.Initiator?.ToPlayer();
                if (player != null)
                    PrintToChat(player,lang.GetMessage("Bearrel", this, player.UserIDString));
            }
        }
        
        protected override void LoadDefaultConfig()
        {
            configData = new ConfigDats
            {
                ChanceOfBearrel = 2
            };
            Config.WriteObject(configData,true);
        }
        
        [ChatCommand("bearrels")]
        void SetBearrel(BasePlayer player, string command, string[] args)
        {
            if ((player.net.connection.authLevel >=1) && (args.Count() ==1) )
            {
                int chance;
                try
                {
                    chance = Convert.ToInt32(args[0]);
                }
                catch
                {
                    PrintToChat(player,lang.GetMessage("FailChange",this, player.UserIDString));
                    return;
                }
                if (chance >100)
                    chance = 100;
                else if (chance < 0)
                    chance = 0;
                configData.ChanceOfBearrel = chance;
                PrintToChat(string.Format(lang.GetMessage("Changing",this),chance));
            }
        }
        
        void Init()
        {
            try
            {
                configData = Config.ReadObject<ConfigDats>();
            }
            catch
            {
                LoadDefaultConfig();
            }
            messages["Changing"] = "Changing chance of Bearrels to {0}%";
            messages["FailChange"] = "Invalid integer chance format: chance unchanged.";
            messages["Bearrel"] = "That wasn't just a barrel- it was a Bearrel!";
            lang.RegisterMessages(messages,this);        }
        
        void OnServerSave()
        {
            Config.WriteObject(configData);
        }
        
    }
}

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