public void OnChat(CM_CHAT p)
        {
            uint   chanID = p.ChannelID;
            string msg    = p.Message;
            ConcurrentDictionary <ulong, ChatSession> clients = null;

            if (chanID == ChannelID)
            {
                ChatClientManager.Instance.ClientsByChannel.TryGetValue(Channel, out clients);
            }
            else if (chanID == PartyChannelID)
            {
                ChatClientManager.Instance.ClientsByChannel.TryGetValue(PartyChannel, out clients);
            }
            if (clients != null)
            {
                foreach (KeyValuePair <ulong, ChatSession> i in clients)
                {
                    SM_CHAT p1 = new SM_CHAT()
                    {
                        ChannelID = chanID,
                        ActorID   = ActorID
                    };
                    p1.PutMessage(Name, msg);
                    i.Value.Network.SendPacket(p1);
                }
            }
        }
        public void SendChat(ChatArgument arg)
        {
            SM_CHAT p = new SM_CHAT();

            p.Recipient(arg.Recipient, arg.Sender.ActorID);
            p.PutMessage(arg.Sender.Name, (byte)arg.Type, arg.Message);
            Network.SendPacket(p);
        }