示例#1
0
        public override CommandResult OnExecute(ICommandSource src, ICommandArgs args)
        {
            if (args.Length < 2)
            {
                return(CommandResult.ShowUsage());
            }

            var target = args[0].ToPlayer;

            if (target == null)
            {
                return(CommandResult.Lang("PLAYER_NOT_FOUND", args[0]));
            }

            var pmSettings = UEssentials.Config.PrivateMessage;
            var formatFrom = pmSettings.FormatFrom;
            var formatTo   = pmSettings.FormatTo;
            var formatSpy  = pmSettings.FormatSpy;

            var formatFromColor = ColorUtil.GetColorFromString(ref formatFrom);
            var formatToColor   = ColorUtil.GetColorFromString(ref formatTo);
            var formatSpyColor  = ColorUtil.GetColorFromString(ref formatSpy);

            var targetName = src.IsConsole ? pmSettings.ConsoleDisplayName : target.DisplayName;
            var srcName    = src.IsConsole ? pmSettings.ConsoleDisplayName : src.DisplayName;

            formatFrom = string.Format(formatFrom, srcName, args.Join(1));
            formatTo   = string.Format(formatTo, targetName, args.Join(1));
            formatSpy  = string.Format(formatSpy, srcName, targetName, args.Join(1));

            target.SendMessage(formatFrom, formatFromColor);
            src.SendMessage(formatTo, formatToColor);

            Spies.ForEach(p => {
                UPlayer.From(p).SendMessage(formatSpy, formatSpyColor);
            });

            if (src.IsConsole)
            {
                return(CommandResult.Success());
            }

            var srcPlayer = src.ToPlayer();
            var srcId     = srcPlayer.CSteamId.m_SteamID;

            if (Conversations.ContainsKey(srcId))
            {
                if (!Conversations[srcId].Equals(target.CSteamId.m_SteamID))
                {
                    Conversations[srcId] = target.CSteamId.m_SteamID;
                }
            }
            else
            {
                Conversations.Add(srcId, target.CSteamId.m_SteamID);
            }

            return(CommandResult.Success());
        }
示例#2
0
        public override CommandResult OnExecute(ICommandSource src, ICommandArgs args)
        {
            if (args.Length < 2)
            {
                return(CommandResult.ShowUsage());
            }

            var target = args[0].ToPlayer;

            if (target == null)
            {
                return(CommandResult.Lang("PLAYER_NOT_FOUND", args[0]));
            }

            var formatFrom      = UEssentials.Config.PMFormatFrom;
            var formatTo        = UEssentials.Config.PMFormatTo;
            var formatFromColor = ColorUtil.GetColorFromString(ref formatFrom);
            var formatToColor   = ColorUtil.GetColorFromString(ref formatTo);

            var message  = string.Format(formatFrom, src.DisplayName, args.Join(1));
            var message2 = string.Format(formatTo, target.DisplayName, args.Join(1));

            target.SendMessage(message, formatFromColor);
            src.SendMessage(message2, formatToColor);

            Spies.ForEach(p => {
                UPlayer.From(p).SendMessage($"Spy: ({src.DisplayName} -> " +
                                            $"{target.CharacterName}): {args.Join(1)}", Color.gray);
            });

            if (src.IsConsole)
            {
                return(CommandResult.Success());
            }

            var srcPlayer = src.ToPlayer();
            var srcId     = srcPlayer.CSteamId.m_SteamID;

            if (Conversations.ContainsKey(srcId))
            {
                if (!Conversations[srcId].Equals(target.CSteamId.m_SteamID))
                {
                    Conversations[srcId] = target.CSteamId.m_SteamID;
                }
            }
            else
            {
                Conversations.Add(srcId, target.CSteamId.m_SteamID);
            }

            return(CommandResult.Success());
        }
示例#3
0
        public override CommandResult OnExecute(ICommandSource src, ICommandArgs args)
        {
            if (args.Length < 2)
            {
                return(CommandResult.ShowUsage());
            }

            var target = args[0].ToPlayer;

            if (target == null)
            {
                return(CommandResult.Lang(EssLang.PLAYER_NOT_FOUND, args[0]));
            }

            var rawMsg1 = UEssentials.Config.PrivateMessageFormat;
            var rawMsg2 = UEssentials.Config.PrivateMessageFormat2;
            var color1  = ColorUtil.GetColorFromString(ref rawMsg1);
            var color2  = ColorUtil.GetColorFromString(ref rawMsg2);

            var message  = string.Format(rawMsg1, src.DisplayName, args.Join(1));
            var message2 = string.Format(rawMsg2, target.DisplayName, args.Join(1));

            target.SendMessage(message, color1);
            src.SendMessage(message2, color2);

            Spies.ForEach(p => {
                UPlayer.From(p).SendMessage($"Spy: ({src.DisplayName} -> " +
                                            $"{target.CharacterName}): {args.Join( 1 )}", Color.gray);
            });

            if (Conversations.ContainsKey(src.DisplayName))
            {
                if (!Conversations[src.DisplayName].Equals(target.DisplayName))
                {
                    Conversations[src.DisplayName] = target.CharacterName;
                }
            }
            else
            {
                Conversations.Add(src.DisplayName, target.DisplayName);
            }

            return(CommandResult.Success());
        }
示例#4
0
        public override CommandResult OnExecute(ICommandSource src, ICommandArgs args)
        {
            var target = args[0].ToPlayer;

            if (target == null)
            {
                return(CommandResult.LangError("PLAYER_NOT_FOUND", args[0]));
            }

            var pmSettings = UEssentials.Config.PrivateMessage;
            var formatFrom = pmSettings.FormatFrom;
            var formatTo   = pmSettings.FormatTo;
            var formatSpy  = pmSettings.FormatSpy;

            var formatFromColor = ColorUtil.GetColorFromString(ref formatFrom);
            var formatToColor   = ColorUtil.GetColorFromString(ref formatTo);
            var formatSpyColor  = ColorUtil.GetColorFromString(ref formatSpy);

            var targetName = target.DisplayName;
            var srcName    = src.IsConsole ? pmSettings.ConsoleDisplayName : src.DisplayName;

            formatFrom = string.Format(formatFrom, srcName, args.Join(1));
            formatTo   = string.Format(formatTo, targetName, args.Join(1));
            formatSpy  = string.Format(formatSpy, srcName, targetName, args.Join(1));

            target.SendMessage(formatFrom, formatFromColor);
            src.SendMessage(formatTo, formatToColor);

            Spies.ForEach(p => {
                UPlayer.From(p).SendMessage(formatSpy, formatSpyColor);
            });

            if (!src.IsConsole)
            {
                ReplyTo[target.CSteamId.m_SteamID] = src.ToPlayer().CSteamId.m_SteamID;
            }

            return(CommandResult.Success());
        }