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

FREE StaffChat : 1.0.2 1.0.2

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

namespace Oxide.Plugins
{
    [Info("Staff Chat", "Twisted", "1.0.2", ResourceId = 2485)]
    [Description("Private chat for staff members and other VIP players")]
    public class StaffChat : CovalencePlugin
    {
        Dictionary<string, DateTime> cooldowns = new Dictionary<string, DateTime>();
        private void Init()
        {
            AddCovalenceCommand(new[] { "admin", "mod", "vip" }, "ChatCommand");
            permission.RegisterPermission("staffchat.admin", this);
            permission.RegisterPermission("staffchat.mod", this);
            permission.RegisterPermission("staffchat.vip", this);
        }

        private void LoadDefaultMessages()
        {
            lang.RegisterMessages(new Dictionary<string, string>
            {
                ["NotAllowed"] = "You are not allowed to use the '{0}' command",
                ["PrefixADMIN"] = "[#aaff55][Admin Chat][/#]",
                ["PrefixMOD"] = "[#ffaa55][Mod Chat][/#]",
                ["PrefixVIP"] = "[#aa55ff][VIP Chat][/#]",
                ["Cooldown"] = "Try again in {0} seconds"
            }, this);
        }

        private void ChatCommand(IPlayer player, string command, string[] args)
        {
            if (!player.HasPermission($"staffchat.{command}"))
            {
                player.Reply(lang.GetMessage("NotAllowed", this, player.Id), command);
                return;
            }
            if (cooldowns.ContainsKey(player.Id) && cooldowns[player.Id].AddSeconds(3f) > DateTime.Now)
            {
                player.Reply(lang.GetMessage("Cooldown", this, player.Id), Math.Floor((cooldowns[player.Id].AddSeconds(3f) - DateTime.Now).TotalSeconds));
                return;
            }
            else if (cooldowns.ContainsKey(player.Id) && cooldowns[player.Id].AddSeconds(3f) < DateTime.Now)
                cooldowns.Remove(player.Id);
            GroupMessage(player, string.Join(" ", args), command);
            if(!cooldowns.ContainsKey(player.Id))
                cooldowns.Add(player.Id, DateTime.Now);
        }

        private void GroupMessage(IPlayer sender, string message, string command)
        {
            foreach (var target in players.Connected.Where(t => t.IsConnected && t.HasPermission($"staffchat.{command}")))
                target.Message($"{covalence.FormatText(lang.GetMessage($"Prefix{command.ToUpper()}", this, target.Id))} <color=#A6ACAF>{sender.Name}</color>: {message}");
        }
    }
}

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