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

FREE PlayerChatcontrol : 2.0.0 2.0.0

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

namespace Oxide.Plugins
{
    [Info("Player Chatcontrol", "LaserHydra", "2.0.0", ResourceId = 866)]
    [Description("Write as another player")]
    class PlayerChatcontrol : RustPlugin
    {
        [ChatCommand("talk")]
        void cmdTalk(BasePlayer player, string cmd, string[] args)
        {
            if (player.net.connection.authLevel != 2)
            {
                SendChatMessage(player, "CHATCONTROL", "You have no permission to use this command");
                return;
            }

            if (args.Length < 2)
            {
                SendChatMessage(player, "CHATCONTROL", "Syntax: /talk [player] [message]");
                return;
            }

            string msg = "";
            foreach (string arg in args)
            {
                if (arg == args[0])
                {
                    continue;
                }

                if (msg == "")
                {
                    msg = msg + arg;
                    continue;
                }

                msg = msg + " " + arg;
            }

            string[] target;
            target = GetPlayer(args[0]);
            if (target.Length == 0)
            {
                SendChatMessage(player, "CHATCONTROL", "No matching players found!");
            }

            if (target.Length > 1)
            {
                SendChatMessage(player, "CHATCONTROL", "Multiple players found:");
                string multipleUsers = "";
                foreach (string matchingplayer in target)
                {
                    if (multipleUsers == "")
                    {
                        multipleUsers = "<color=yellow>" + matchingplayer + "</color>";
                        continue;
                    }

                    if (multipleUsers != "")
                    {
                        multipleUsers = multipleUsers + ", " + "<color=yellow>" + matchingplayer + "</color>";
                    }

                }

                SendChatMessage(player, "CHATCONTROL", multipleUsers);
            }

            if (target.Length == 1)
            {
                BasePlayer targetPlayer = BasePlayer.Find(target[0]);
                ForcePlayerChat(targetPlayer, msg);
            }
        }

        void ForcePlayerChat(BasePlayer target, string message)
        {
            target.SendConsoleCommand("chat.say " + "\"" + message + "\"");
        }


        //--------------------------->   Player finding   <---------------------------//

        string[] GetPlayer(string searchedPlayer)
        {
            List<string> foundPlayers = new List<string>();
            string searchedLower = searchedPlayer.ToLower();
            foreach (BasePlayer player in BasePlayer.activePlayerList)
            {
                string display = player.displayName;
                string displayLower = display.ToLower();

                if (!displayLower.Contains(searchedLower))
                {
                    continue;
                }
                if (displayLower.Contains(searchedLower))
                {
                    foundPlayers.Add(display);
                }
            }
            var matchingPlayers = foundPlayers.ToArray();
            return matchingPlayers;
        }

        //---------------------------->   Chat Sending   <----------------------------//

        void BroadcastChat(string prefix, string msg)
        {
            PrintToChat("<color=orange>" + prefix + "</color>: " + msg);
        }

        void SendChatMessage(BasePlayer player, string prefix, string msg)
        {
            SendReply(player, "<color=orange>" + prefix + "</color>: " + msg);
        }

        //---------------------------------------------------------------------------//
    }
}

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