Exemple #1
0
        internal void QueueBroadcaseMessage(ServerMessage message, string requirements)
        {
            FusedPacket packet = new FusedPacket(message, requirements);

            lock (authorizedPacketSending.SyncRoot)
            {
                authorizedPacketSending.Enqueue(packet);
            }
        }
        private void BroadcastPacketsWithRankRequirement()
        {
            try
            {
                DateTime startTaskTime;
                TimeSpan spentTime;
                startTaskTime = DateTime.Now;
                if (authorizedPacketSending.Count > 0)
                {
                    lock (authorizedPacketSending.SyncRoot)
                    {
                        while (authorizedPacketSending.Count > 0)
                        {
                            FusedPacket packet = (FusedPacket)authorizedPacketSending.Dequeue();
                            foreach (GameClient client in clients.Values)
                            {
                                try
                                {
                                    if (client.GetHabbo() != null && client.GetHabbo().HasFuse(packet.requirements))
                                    {
                                        client.SendMessage(packet.content);
                                    }
                                }
                                catch { }
                            }
                        }
                    }
                }
                spentTime = DateTime.Now - startTaskTime;

                if (spentTime.TotalSeconds > 3)
                {
                    Logging.WriteLine("GameClientManager.BroadcastPacketsWithRankRequirement spent: " + spentTime.TotalSeconds + " seconds in working.");
                }
            }
            catch (Exception e) { Logging.LogThreadException(e.ToString(), "GameClientManager.BroadcastPacketsWithRankRequirement Exception --> Not inclusive"); }
        }
Exemple #3
0
 private void BroadcastPacketsWithRankRequirement()
 {
     if (authorizedPacketSending.Count > 0)
     {
         lock (authorizedPacketSending.SyncRoot)
         {
             while (authorizedPacketSending.Count > 0)
             {
                 FusedPacket packet = (FusedPacket)authorizedPacketSending.Dequeue();
                 foreach (GameClient client in clients.Values)
                 {
                     try
                     {
                         if (client.GetHabbo() != null && client.GetHabbo().HasFuse(packet.requirements))
                         {
                             client.SendMessage(packet.content);
                         }
                     }
                     catch { }
                 }
             }
         }
     }
 }
Exemple #4
0
        private void BroadcastPacketsWithRankRequirement()
        {
            if (authorizedPacketSending.Count > 0)
            {
                lock (authorizedPacketSending.SyncRoot)
                {
                    while (authorizedPacketSending.Count > 0)
                    {
                        FusedPacket packet = (FusedPacket)authorizedPacketSending.Dequeue();
                        foreach (var client in clients.Values)
                        {
                            if (packet.requirements.Contains("ingroup"))
                            {
                                var       reqSplit = packet.requirements.Split('_');
                                GroupItem Group    = OtanixEnvironment.GetGame().GetGroup().LoadGroup(Convert.ToUInt32(reqSplit[1]));
                                if (!Group.IsMember(client.GetHabbo().Id) || client.GetHabbo().Id == packet.userId)
                                {
                                    continue;
                                }

                                client.SendMessage(packet.content);
                            }
                            else
                            {
                                if (client == null || client.GetHabbo() == null || !client.GetHabbo().HasFuse(packet.requirements) || client.GetHabbo().Id == packet.userId)
                                {
                                    continue;
                                }

                                client.SendMessage(packet.content);
                            }
                        }
                    }
                }
            }
        }