예제 #1
0
        private static void Say(string sayText)
        {
            DarkLog.Normal("Broadcasting " + sayText);

            Messages.ServerClient_ChatMessageSend msg = new Messages.ServerClient_ChatMessageSend();
            msg.message = sayText;
            msg.name    = Settings.settingsStore.consoleIdentifier;
            msg.channel = "";
            msg.type    = (byte)ChatMessageType.CHANNEL_MESSAGE;

            WorldManager.Instance.Broadcast(msg);
        }
예제 #2
0
        public void PMCommand(string commandArgs)
        {
            ClientObject pmPlayer      = null;
            int          matchedLength = 0;

            m_clients.Iterate(x =>
            {
                //Only search authenticated players
                if (x.authenticated)
                {
                    //Try to match the longest player name
                    if (commandArgs.StartsWith(x.playerName) && x.playerName.Length > matchedLength)
                    {
                        //Double check there is a space after the player name
                        if ((commandArgs.Length > (x.playerName.Length + 1)) ? commandArgs[x.playerName.Length] == ' ' : false)
                        {
                            pmPlayer      = x;
                            matchedLength = x.playerName.Length;
                        }
                    }
                }
            });

            if (pmPlayer != null)
            {
                string messageText = commandArgs.Substring(pmPlayer.playerName.Length + 1);
                Messages.ServerClient_ChatMessageSend msg = new Messages.ServerClient_ChatMessageSend();
                msg.type    = (byte)ChatMessageType.PRIVATE_MESSAGE;
                msg.name    = Settings.settingsStore.consoleIdentifier;
                msg.channel = pmPlayer.playerName;
                msg.message = messageText;

                SendUnordered(pmPlayer, msg);
            }
            else
            {
                DarkLog.Normal("Player not found!");
            }
        }