Exemple #1
0
        public override void Execute(GameClient session, string[] pms)
        {
            var room = session.GetHabbo().CurrentRoom;

            var user = room.GetRoomUserManager().GetRoomUserByHabbo(pms[0]);
            if (user == null)
            {
                session.SendWhisper(TextManager.GetText("user_not_found"));
            }

            var gender = user.GetClient().GetHabbo().Gender;
            var look = user.GetClient().GetHabbo().Look;
            session.GetHabbo().Gender = gender;
            session.GetHabbo().Look = look;
            using (var adapter = AzureEmulator.GetDatabaseManager().GetQueryReactor())
            {
                adapter.SetQuery(
                    "UPDATE users SET gender = @gender, look = @look WHERE id = " + session.GetHabbo().Id);
                adapter.AddParameter("gender", gender);
                adapter.AddParameter("look", look);
                adapter.RunQuery();
            }

            var myUser = room.GetRoomUserManager().GetRoomUserByHabbo(session.GetHabbo().UserName);
            if (myUser == null)
                return;

            var message = new ServerMessage(LibraryParser.OutgoingRequest("UpdateUserDataMessageComposer"));
            message.AppendInteger(myUser.VirtualId);
            message.AppendString(session.GetHabbo().Look);
            message.AppendString(session.GetHabbo().Gender.ToLower());
            message.AppendString(session.GetHabbo().Motto);
            message.AppendInteger(session.GetHabbo().AchievementPoints);
            room.SendMessage(message.GetReversedBytes());
        }
Exemple #2
0
        public override void Execute(GameClient session, string[] pms)
        {
            var roomId = session.GetHabbo().CurrentRoom.RoomId;
            var users = new List<RoomUser>(session.GetHabbo().CurrentRoom.GetRoomUserManager().UserList.Values);

            AzureEmulator.GetGame().GetRoomManager().UnloadRoom(session.GetHabbo().CurrentRoom, "Unload command");

            if (!_reEnter) return;
            AzureEmulator.GetGame().GetRoomManager().LoadRoom(roomId);

            var roomFwd = new ServerMessage(LibraryParser.OutgoingRequest("RoomForwardMessageComposer"));
            roomFwd.AppendInteger(roomId);

            var data = roomFwd.GetReversedBytes();

            foreach (var user in users.Where(user => user != null && user.GetClient() != null)) user.GetClient().SendMessage(data);
        }
Exemple #3
0
        public override bool Execute(GameClient session, string[] pms)
        {
            var room = session.GetHabbo().CurrentRoom;
            using (var queryReactor = Azure.GetDatabaseManager().GetQueryReactor())
                queryReactor.RunFastQuery(string.Format("UPDATE rooms_data SET roomtype = 'public' WHERE id = {0}",
                    room.RoomId));
            var roomId = session.GetHabbo().CurrentRoom.RoomId;
            var users = new List<RoomUser>(session.GetHabbo().CurrentRoom.GetRoomUserManager().UserList.Values);

            Azure.GetGame().GetRoomManager().UnloadRoom(session.GetHabbo().CurrentRoom, "Unload command");

            Azure.GetGame().GetRoomManager().LoadRoom(roomId);

            var roomFwd = new ServerMessage(LibraryParser.OutgoingRequest("RoomForwardMessageComposer"));
            roomFwd.AppendInteger(roomId);

            var data = roomFwd.GetReversedBytes();

            foreach (var user in users.Where(user => user != null && user.GetClient() != null))
                user.GetClient().SendMessage(data);

            return true;
        }
Exemple #4
0
 /// <summary>
 /// Appends the response.
 /// </summary>
 /// <param name="message">The message.</param>
 internal void AppendResponse(ServerMessage message)
 {
     AppendBytes(message.GetReversedBytes());
 }
Exemple #5
0
 /// <summary>
 /// Queues the broadcase message.
 /// </summary>
 /// <param name="message">The message.</param>
 internal void QueueBroadcaseMessage(ServerMessage message)
 {
     _broadcastQueue.Enqueue(message.GetReversedBytes());
 }
Exemple #6
0
 /// <summary>
 /// Mods the alert.
 /// </summary>
 /// <param name="message">The message.</param>
 internal void ModAlert(ServerMessage message)
 {
     var bytes = message.GetReversedBytes();
     foreach (
         var current in
             Clients.Values.Where(current => current != null && current.GetHabbo() != null))
     {
         if (current.GetHabbo().Rank != 4u && current.GetHabbo().Rank != 5u)
             if (current.GetHabbo().Rank != 6u)
                 continue;
         try
         {
             current.GetConnection().SendData(bytes);
         }
         catch
         {
         }
     }
 }
Exemple #7
0
        /// <summary>
        /// Loads this instance.
        /// </summary>
        public static void Load()
        {
            Cache.Clear();

            var message = new ServerMessage(LibraryParser.OutgoingRequest("SuperNotificationMessageComposer"));
            message.AppendString("furni_placement_error");
            message.AppendInteger(1);
            message.AppendString("message");
            message.AppendString("${room.error.cant_set_item}");
            Cache.Add(StaticMessage.ErrorCantSetItem, message.GetReversedBytes());

            message = new ServerMessage(LibraryParser.OutgoingRequest("SuperNotificationMessageComposer"));
            message.AppendString("furni_placement_error");
            message.AppendInteger(1);
            message.AppendString("message");
            message.AppendString("${room.error.cant_set_not_owner}");
            Cache.Add(StaticMessage.ErrorCantSetNotOwner, message.GetReversedBytes());

            message = new ServerMessage(LibraryParser.OutgoingRequest("SuperNotificationMessageComposer"));
            message.AppendString("game_promo_small");
            message.AppendInteger(4);
            message.AppendString("title");
            message.AppendString("${generic.notice}");
            message.AppendString("message");
            message.AppendString("Now, the commands page opens in a different way");
            message.AppendString("linkUrl");
            message.AppendString("event:habbopages/chat/newway");
            message.AppendString("linkTitle");
            message.AppendString("${mod.alert.link}");
            Cache.Add(StaticMessage.NewWayToOpenCommandsList, message.GetReversedBytes());

            message = new ServerMessage(LibraryParser.OutgoingRequest("SuperNotificationMessageComposer"));
            message.AppendString(string.Empty);
            message.AppendInteger(4);
            message.AppendString("title");
            message.AppendString("${generic.notice}");
            message.AppendString("message");
            message.AppendString("${catalog.gift_wrapping.receiver_not_found.title}");
            message.AppendString("linkUrl");
            message.AppendString("event:");
            message.AppendString("linkTitle");
            message.AppendString("ok");
            Cache.Add(StaticMessage.UserNotFound, message.GetReversedBytes());

            message = new ServerMessage(LibraryParser.OutgoingRequest("SuperNotificationMessageComposer"));
            message.AppendString(string.Empty);
            message.AppendInteger(4);
            message.AppendString("title");
            message.AppendString("${generic.notice}");
            message.AppendString("message");
            message.AppendString("Has superado el máximo de furnis en el inventario. Solo se te mostrarán 2800 furnis, si quieres ver los restantes, coloca algunos furnis en tus salas.");
            message.AppendString("linkUrl");
            message.AppendString("event:");
            message.AppendString("linkTitle");
            message.AppendString("ok");
            Cache.Add(StaticMessage.AdviceMaxItems, message.GetReversedBytes());

            message = new ServerMessage(LibraryParser.OutgoingRequest("SuperNotificationMessageComposer"));
            message.AppendString(string.Empty);
            message.AppendInteger(4);
            message.AppendString("title");
            message.AppendString("${generic.notice}");
            message.AppendString("message");
            message.AppendString("Has superado el máximo de furnis en el inventario. No puedes comprar más hasta que te desagas de algunos furnis.");
            message.AppendString("linkUrl");
            message.AppendString("event:");
            message.AppendString("linkTitle");
            message.AppendString("ok");
            Cache.Add(StaticMessage.AdvicePurchaseMaxItems, message.GetReversedBytes());

            message = new ServerMessage(LibraryParser.OutgoingRequest("CatalogueOfferConfigMessageComposer"));
            message.AppendInteger(100);// purchase_limit
            message.AppendInteger(6);// offer_multiplier
            message.AppendInteger(2);// free_objets_per_multiplier
            message.AppendInteger(1);// inversed_credit_reduction
            message.AppendInteger(2); // array count
            message.AppendInteger(40);
            message.AppendInteger(99);
            Cache.Add(StaticMessage.CatalogOffersConfiguration, message.GetReversedBytes());

            message = new ServerMessage(LibraryParser.OutgoingRequest("SuperNotificationMessageComposer"));
            message.AppendString(string.Empty);
            message.AppendInteger(4);
            message.AppendString("title");
            message.AppendString("${notification.figureset.redeemed.success.title}");
            message.AppendString("message");
            message.AppendString("${notification.figureset.redeemed.success.message}");
            message.AppendString("linkUrl");
            message.AppendString("event:avatareditor/open");
            message.AppendString("linkTitle");
            message.AppendString("${notification.figureset.redeemed.success.linkTitle}");
            Cache.Add(StaticMessage.FiguresetRedeemed, message.GetReversedBytes());

            message.Dispose();
        }
        /// <summary>
        ///     Mods the alert.
        /// </summary>
        /// <param name="message">The message.</param>
        internal void ModAlert(ServerMessage message)
        {
            var bytes = message.GetReversedBytes();

            foreach (var current in Clients.Values.Where(current => current?.GetHabbo() != null).Where(current => (current.GetHabbo().Rank == 4u || current.GetHabbo().Rank == 5u) || current.GetHabbo().Rank == 6u))
                current.GetConnection().SendData(bytes);
        }
Exemple #9
0
        /// <summary>
        ///     Sends the message.
        /// </summary>
        /// <param name="message">The message.</param>
        internal void SendMessage(ServerMessage message)
        {
            if (message == null)
                return;

            if (GetConnection() == null)
                return;

            var bytes = message.GetReversedBytes();

            GetConnection().SendData(bytes);
        }
Exemple #10
0
        /// <summary>
        ///     Gets the bytes notif.
        /// </summary>
        /// <param name="message">The message.</param>
        /// <param name="title">The title.</param>
        /// <param name="picture">The picture.</param>
        /// <returns>System.Byte[].</returns>
        public static byte[] GetBytesNotif(string message, string title = "Aviso", string picture = "")
        {
            using (var serverMessage = new ServerMessage(LibraryParser.OutgoingRequest("SuperNotificationMessageComposer")))
            {
                serverMessage.AppendString(picture);
                serverMessage.AppendInteger(4);
                serverMessage.AppendString("title");
                serverMessage.AppendString(title);
                serverMessage.AppendString("message");
                serverMessage.AppendString(message);
                serverMessage.AppendString("linkUrl");
                serverMessage.AppendString("event:");
                serverMessage.AppendString("linkTitle");
                serverMessage.AppendString("ok");

                return serverMessage.GetReversedBytes();
            }
        }
Exemple #11
0
        /// <summary>
        ///     Sends the message to users with rights.
        /// </summary>
        /// <param name="message">The message.</param>
        internal void SendMessageToUsersWithRights(ServerMessage message)
        {
            var messagebytes = message.GetReversedBytes();

            try
            {
                foreach (var unit in _roomUserManager.UserList.Values)
                {
                    var user = unit;
                    if (user == null)
                        continue;

                    if (user.IsBot)
                        continue;

                    var usersClient = user.GetClient();
                    if (usersClient == null || usersClient.GetConnection() == null)
                        continue;

                    if (!CheckRights(usersClient))
                        continue;

                    usersClient.GetConnection().SendData(messagebytes);
                }
            }
            catch (Exception e)
            {
                Logging.HandleException(e, "SendMessageToUsersWithRights");
            }
        }
Exemple #12
0
 /// <summary>
 ///     Sends the message.
 /// </summary>
 /// <param name="message">The message.</param>
 internal void SendMessage(ServerMessage message)
 {
     if (message != null)
         SendMessage(message.GetReversedBytes());
 }
Exemple #13
0
        /// <summary>
        ///     Broadcasts the chat message.
        /// </summary>
        /// <param name="chatMsg">The chat MSG.</param>
        /// <param name="roomUser">The room user.</param>
        /// <param name="p">The p.</param>
        internal void BroadcastChatMessage(ServerMessage chatMsg, RoomUser roomUser, uint p)
        {
            try
            {
                var packetData = chatMsg.GetReversedBytes();

                foreach (var user in _roomUserManager.UserList.Values)
                {
                    if (user.IsBot || user.IsPet)
                        continue;

                    var usersClient = user.GetClient();
                    if (usersClient == null || roomUser == null || usersClient.GetHabbo() == null)
                        continue;

                    try
                    {
                        if (user.OnCampingTent || !roomUser.OnCampingTent)
                        {
                            if (!usersClient.GetHabbo().MutedUsers.Contains(p))
                                usersClient.SendMessage(packetData);
                        }
                    }
                    catch (Exception e)
                    {
                        Logging.HandleException(e, "Room.SendMessageToUsersWithRights");
                    }
                }
            }
            catch (Exception e)
            {
                Logging.HandleException(e, "Room.SendMessageToUsersWithRights");
            }
        }