Exemple #1
0
 internal void Serialize(ServerMessage Message)
 {
     try
     {
         Message.AppendInt32(this.Id);
         Message.AppendString((this.itemType != PublicItemType.PUBLIC_FLAT) ? this.Caption : string.Empty);
         Message.AppendString(this.Description);
         Message.AppendInt32(this.Type);
         Message.AppendString((this.itemType == PublicItemType.PUBLIC_FLAT) ? this.Caption : string.Empty);
         Message.AppendString(this.Image);
         Message.AppendInt32((this.ParentId > 0) ? this.ParentId : 0);
         Message.AppendInt32((this.RoomInfo != null) ? this.RoomInfo.UsersNow : 0);
         Message.AppendInt32((this.itemType == PublicItemType.NONE) ? 0 : ((this.itemType == PublicItemType.TAG) ? 1 : ((this.itemType == PublicItemType.FLAT) ? 2 : ((this.itemType == PublicItemType.PUBLIC_FLAT) ? 2 : ((this.itemType == PublicItemType.CATEGORY) ? 4 : 0)))));
         if (this.itemType == PublicItemType.TAG)
         {
             Message.AppendString(this.TagsToSearch);
         }
         else if (this.itemType == PublicItemType.CATEGORY)
         {
             Message.AppendBoolean(false);
         }
         else if (this.itemType == PublicItemType.FLAT)
         {
             this.RoomInfo.Serialize(Message, false, false);
         }
         else if (this.itemType == PublicItemType.PUBLIC_FLAT)
         {
             this.RoomInfo.Serialize(Message, false, false);
         }
     }
     catch (Exception exception)
     {
         Console.WriteLine("Exception on publicitems composing: " + exception.ToString());
     }
 }
		public void Handle(GameClient Session, ClientMessage Event)
		{
			int num = Event.PopWiredInt32();

            ServerMessage Message = new ServerMessage(Outgoing.SongInfo); // Updated
			Message.AppendInt32(num);
			if (num > 0)
			{
				for (int i = 0; i < num; i++)
				{
					int num2 = Event.PopWiredInt32();

                    
                    if (num2 > 0)
                    {
                        Message.AppendInt32(SongManager.GetSong(num2).Id);
                        Message.AppendString(SongManager.GetSong(num2).Name);
                        Message.AppendString(SongManager.GetSong(num2).Track);
                        Message.AppendInt32(SongManager.GetSong(num2).Length);
                        Message.AppendString(SongManager.GetSong(num2).Author);
                    }
                    else
                    {
                        // Ei lähetetä osittaista pakettia!!
                        return;
                    }
                }
            }
          
			Session.SendMessage(Message);
		}
		public void Handle(GameClient Session, ClientMessage Event)
		{
			uint num = Event.PopWiredUInt();
			string text = Essential.FilterString(Event.PopFixedString());
			if (Session != null && Session.GetHabbo() != null && Session.GetHabbo().GetMessenger() != null && Session.GetHabbo().PassedSafetyQuiz)
			{
                Session.GetHabbo().CheckForUnmute();
				if (num == 0u && Session.GetHabbo().HasFuse("cmd_sa"))
				{
                    ServerMessage Message = new ServerMessage(Outgoing.InstantChat);
					Message.AppendUInt(0u);
					Message.AppendString(Session.GetHabbo().Username + ": " + text);
                    Message.AppendString(Essential.GetUnixTimestamp() + string.Empty);
					Essential.GetGame().GetClientManager().SendToStaffs(Session, Message, false);
				}
				else
				{
					if (num == 0u)
					{
                       /* ServerMessage Message2 = new ServerMessage(1133);
						Message2.AppendInt32(4);
						Message2.AppendUInt(0u);
						Session.SendMessage(Message2);*/
					}
					else
					{
                        if (Session != null && Session.GetHabbo() != null)
                        {
                            Session.GetHabbo().GetMessenger().method_18(num, text);
                        }
					}
				}
			}
		}
		public override void OnTrigger(GameClient Session, RoomItem RoomItem_0, int int_0, bool bool_0)
		{
			if (bool_0)
			{
                ServerMessage message = new ServerMessage(Outgoing.WiredFurniTrigger);
                message.AppendBoolean(false);
                if (Session.GetHabbo().HasFuse("wired_unlimitedselects"))
                    message.AppendInt32(1000000);
                else
                    message.AppendInt32(5);
                message.AppendInt32(0);
                message.AppendInt32(RoomItem_0.GetBaseItem().Sprite);
                message.AppendInt32(RoomItem_0.uint_0);
                if (RoomItem_0.string_3.Length > 0)
                {
                    message.AppendString(RoomItem_0.string_3);
                }
                else
                {
                    message.AppendString("I");
                }
                message.AppendInt32(1);
                message.AppendInt32(1);
                message.AppendInt32(1);
                message.AppendInt32(3);
                message.AppendInt32(0);
                message.AppendInt32(0);
                Session.SendMessage(message);
			}
		}
        public void Handle(GameClient Session, ClientMessage Event)
        {
            int GameId = Event.PopWiredInt32();


            ServerMessage InitGame = new ServerMessage(Outgoing.GameID);
            InitGame.AppendInt32(GameId);
            InitGame.AppendInt32(0);
            Session.SendMessage(InitGame);


           ServerMessage Game2WeeklyLeaderboardEvent = new ServerMessage(Outgoing.Game2WeeklyLeaderboard);
            Game2WeeklyLeaderboardEvent.AppendInt32(DateTime.Now.Year);
            Game2WeeklyLeaderboardEvent.AppendInt32(1); // ??
            Game2WeeklyLeaderboardEvent.AppendInt32(0); // ??
            Game2WeeklyLeaderboardEvent.AppendInt32(0); // ??
            Game2WeeklyLeaderboardEvent.AppendInt32(5231); // ??
            Game2WeeklyLeaderboardEvent.AppendInt32(1); // count:
            // foreach...
            Game2WeeklyLeaderboardEvent.AppendUInt(Session.GetHabbo().Id); // user id
            Game2WeeklyLeaderboardEvent.AppendInt32(DateTime.Now.Year); // time of clasification
            Game2WeeklyLeaderboardEvent.AppendInt32(1); // position
            Game2WeeklyLeaderboardEvent.AppendString(Session.GetHabbo().Username); // username
            Game2WeeklyLeaderboardEvent.AppendString(Session.GetHabbo().Figure);
            Game2WeeklyLeaderboardEvent.AppendString(Session.GetHabbo().Gender.ToLower());

            Game2WeeklyLeaderboardEvent.AppendInt32(3);
            Game2WeeklyLeaderboardEvent.AppendInt32(GameId);
            Session.SendMessage(Game2WeeklyLeaderboardEvent);


            ServerMessage Game2AccountGameStatusMessageEvent = new ServerMessage(Outgoing.Game2AccountGameStatus); 
            Game2AccountGameStatusMessageEvent.AppendInt32(GameId);
            Game2AccountGameStatusMessageEvent.AppendInt32(-1);
            Game2AccountGameStatusMessageEvent.AppendInt32(132);
            Session.SendMessage(Game2AccountGameStatusMessageEvent);

            ServerMessage InitGame2 = new ServerMessage(Outgoing.InitGame);
            InitGame2.AppendInt32(GameId);
            InitGame2.AppendInt32(0);
            Session.SendMessage(InitGame2);


            ServerMessage GameCenterLayoutBestOfWeek = new ServerMessage(Outgoing.BestOfWeek);
            GameCenterLayoutBestOfWeek.AppendInt32(GameId);
            GameCenterLayoutBestOfWeek.AppendInt32(0); // enabled 0 : 1
            // if enabled
            GameCenterLayoutBestOfWeek.AppendString("s");
            GameCenterLayoutBestOfWeek.AppendInt32(4313);
            GameCenterLayoutBestOfWeek.AppendString("200");
            GameCenterLayoutBestOfWeek.AppendInt32(1);
            GameCenterLayoutBestOfWeek.AppendInt32(-1);
            GameCenterLayoutBestOfWeek.AppendBoolean(false);
            //
            GameCenterLayoutBestOfWeek.AppendInt32(5231); // minutos que quedan.
            GameCenterLayoutBestOfWeek.AppendBoolean(false); // enabled??
            Session.SendMessage(GameCenterLayoutBestOfWeek);

        }
 public void Serialize(ServerMessage Message)
 {
     Message.AppendInt32(CreatorId);
     Message.AppendString(CreatorName);
     Message.AppendString(CreatorLook);
     Message.AppendInt32(GuideId);
     Message.AppendString(GuideName);
     Message.AppendString(GuideLook);
 }
		public void Handle(GameClient Session, ClientMessage Event)
		{
			try
			{
				Room @class = Essential.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId);
                if (@class != null && @class.CheckRights(Session, true))
				{
					RoomItem class2 = @class.method_28(Event.PopWiredUInt());
					if (class2 != null)
					{
						DataRow dataRow = null;
						using (DatabaseClient class3 = Essential.GetDatabase().GetClient())
						{
							dataRow = class3.ReadDataRow("SELECT base_id,amount,extra_data FROM user_presents WHERE item_id = '" + class2.uint_0 + "' LIMIT 1");
						}
						if (dataRow != null)
						{
							Item class4 = Essential.GetGame().GetItemManager().GetItemById((uint)dataRow["base_id"]);
							if (class4 != null)
							{
								@class.method_29(Session, class2.uint_0, true, true);
                                ServerMessage Message = new ServerMessage(Outgoing.UpdateInventary);
								Message.AppendUInt(class2.uint_0);
								Session.SendMessage(Message);
                                /*ServerMessage Message2 = new ServerMessage(Outgoing.Item2);
								Message2.AppendStringWithBreak(class4.Type.ToString());
								Message2.AppendInt32(class4.Sprite);
								Message2.AppendStringWithBreak(class4.Name);
                                Message2.AppendInt32(class2.uint_0);
                                Message2.AppendString(class2.GetBaseItem().Type.ToString());
                                Message2.AppendBoolean(true);
                                Message2.AppendString(class2.ExtraData);
								Session.SendMessage(Message2);*/
                                ServerMessage Message3 = new ServerMessage(Outgoing.OpenGift);
                                Message3.AppendString(class4.Type.ToString());
                                Message3.AppendInt32(class4.Sprite);
                                Message3.AppendString(class4.Name);
                                Message3.AppendInt32(class2.uint_0);
                                Message3.AppendString(class2.GetBaseItem().Type.ToString());
                                Message3.AppendBoolean(true);
                                Message3.AppendString(class2.ExtraData);
                                Session.SendMessage(Message3);
								using (DatabaseClient class3 = Essential.GetDatabase().GetClient())
								{
									class3.ExecuteQuery("DELETE FROM user_presents WHERE item_id = '" + class2.uint_0 + "' LIMIT 1");
								}
								Essential.GetGame().GetCatalog().AddItemToInventory(Session, class4, (int)dataRow["amount"], (string)dataRow["extra_data"], true, 0u, 0, 0, "");
							}
						}
					}
				}
			}
			catch
			{
			}
		}
		public void Handle(GameClient Session, ClientMessage Event)
		{
			uint uint_ = Event.PopWiredUInt();
			bool bool_ = Event.PopWiredBoolean();
			bool flag = Event.PopWiredBoolean();

            if (uint_ == Session.GetHabbo().CurrentRoomId)
            {
                return;
            }
           
            RoomData @class = Essential.GetGame().GetRoomManager().method_12(uint_);
			if (@class != null)
			{
                ServerMessage Message = new ServerMessage(Outgoing.GetGuestRoomResult); // Updated
                Message.AppendBoolean(false);
                Message.AppendUInt(@class.Id);
                Message.AppendBoolean(false);
                Message.AppendString(@class.Name);
                Message.AppendBoolean(true);
                Message.AppendInt32(@class.OwnerId);
                Message.AppendStringWithBreak(@class.Owner);
                Message.AppendInt32(@class.State); // @class state
                Message.AppendInt32(@class.UsersNow);
                Message.AppendInt32(@class.UsersMax);
                Message.AppendStringWithBreak(@class.Description);
                Message.AppendInt32(0); // dunno!
                Message.AppendInt32((@class.Category == 9) ? 2 : 0); // can trade!
                Message.AppendInt32(@class.Score);
                Message.AppendInt32(@class.Category);
                Message.AppendInt32(0);
                Message.AppendInt32(0);
                Message.AppendStringWithBreak("");
                Message.AppendInt32(@class.TagCount);

                foreach (string Tag in @class.Tags)
                {
                    Message.AppendStringWithBreak(Tag);
                }
                Message.AppendInt32(0);
                Message.AppendInt32(0);
                Message.AppendInt32(0);
                Message.AppendBoolean(true);
                Message.AppendBoolean(false);
                Message.AppendBoolean(true);
                Message.AppendString("");
                Message.AppendBoolean(false);
				Session.SendMessage(Message);
          
                Session.GetClientMessageHandler().method_5(@class.Id, "");

			}
		}
        public void Handle(GameClient Session, ClientMessage Event)
        {

            ServerMessage SerializePowerUps = new ServerMessage(15);
            SerializePowerUps.AppendInt32(Essential.GetGame().GetGamesManager().PowerupPackages.Count);
            foreach (PowerupPackage PowPackage in Essential.GetGame().GetGamesManager().PowerupPackages.Values)
            {
                SerializePowerUps.AppendString(PowPackage.PackageName);
                SerializePowerUps.AppendString(PowPackage.PowerupType);
                SerializePowerUps.AppendInt32(PowPackage.Amount);
                SerializePowerUps.AppendInt32(PowPackage.CostCredits);
            }
            Session.SendMessage(SerializePowerUps);

        }
		public void Handle(GameClient Session, ClientMessage Event)
		{
			Room @class = Essential.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId);
			if (@class != null && @class.method_26(Session))
			{
				string string_ = Event.PopFixedString();
                bool canletin = Event.PopWiredBoolean();
				GameClient class2 = Essential.GetGame().GetClientManager().GetClientByHabbo(string_);
				if (class2 != null && class2.GetHabbo() != null && class2.GetHabbo().bool_6 && class2.GetHabbo().uint_2 == Session.GetHabbo().CurrentRoomId)
				{
					if (canletin)
					{
						class2.GetHabbo().bool_5 = true;
                        ServerMessage Message4 = new ServerMessage(Outgoing.FlatAccessible); // Updated
                        Message4.AppendString("");
                        class2.SendMessage(Message4);
					}
					else
					{
                        ServerMessage Message5 = new ServerMessage(Outgoing.DoorBellNoPerson); // Updated
                        Message5.AppendString("");
                        class2.SendMessage(Message5);
					}
				}
			}
		}
 public void Handle(GameClient Session, ClientMessage Event)
 {
     ServerMessage message = new ServerMessage(Outgoing.SendGuildParts); //Rootkit
     message.AppendInt32(10);
     message.AppendInt32((int)(Session.GetHabbo().OwnedRooms.Count - this.GetMyRoomsGuilds(Session)));
     foreach (RoomData data in Session.GetHabbo().OwnedRooms)
     {
         if (data.GuildId == 0)
         {
             message.AppendInt32(data.Id);
             message.AppendString(data.Name);
             message.AppendBoolean(false);
         }
     }
     message.AppendInt32(5);
     message.AppendInt32(10);
     message.AppendInt32(3);
     message.AppendInt32(4);
     message.AppendInt32(0x19);
     message.AppendInt32(0x11);
     message.AppendInt32(5);
     message.AppendInt32(0x19);
     message.AppendInt32(0x11);
     message.AppendInt32(3);
     message.AppendInt32(0x1d);
     message.AppendInt32(11);
     message.AppendInt32(4);
     message.AppendInt32(0);
     message.AppendInt32(0);
     message.AppendInt32(0);
     Session.SendMessage(message);
     Session.SendMessage(Essential.GetGame().GetCatalog().groupsDataMessage);
 }
 public override void OnTrigger(GameClient Session, RoomItem RoomItem_0, int int_0, bool bool_0)
 {
     if (Session.GetHabbo().CurrentRoom.CheckRights(Session, true))
     {
         ServerMessage message = new ServerMessage(Outgoing.WiredCondition);
         message.AppendBoolean(false);
         if (Session.GetHabbo().HasFuse("wired_unlimitedselects"))
             message.AppendInt32(1000000);
         else
             message.AppendInt32(5);
         message.AppendInt32(0);
         message.AppendInt32(RoomItem_0.GetBaseItem().Sprite);
         message.AppendInt32(RoomItem_0.uint_0);
         message.AppendString("");
         message.AppendInt32(2);
         if (!string.IsNullOrEmpty(RoomItem_0.string_3))
         {
             message.AppendInt32(int.Parse(RoomItem_0.string_3.Split(';')[0]));
             message.AppendInt32(int.Parse(RoomItem_0.string_3.Split(';')[1]));
         }
         else
         {
             message.AppendInt32(1);
             message.AppendInt32(50);
         }
         message.AppendBoolean(false);
         message.AppendInt32(0);
         message.AppendInt32(1290);
         Session.SendMessage(message);
     }
 }
		public void Handle(GameClient Session, ClientMessage Event)
		{
			Room Room = Session.GetHabbo().CurrentRoom;
            if (Room != null)
			{
				string string_ = Event.PopFixedString();
                RoomUser @class = Room.method_56(string_);
				if (@class != null)
				{
					uint uint_ = @class.GetClient().GetHabbo().Id;
					if (!Session.GetHabbo().list_2.Contains(uint_))
					{
						Session.GetHabbo().list_2.Add(uint_);
						using (DatabaseClient class2 = Essential.GetDatabase().GetClient())
						{
							class2.ExecuteQuery(string.Concat(new object[]
							{
								"INSERT INTO user_ignores(user_id, ignore_id) VALUES (",
								Session.GetHabbo().Id,
								", ",
								uint_,
								");"
							}));
						}
                        ServerMessage Message = new ServerMessage(Outgoing.UpdateIgnoreStatus); // Updated
                        Message.AppendInt32(1);
                        Message.AppendString(string_);
						Session.SendMessage(Message);
					}
				}
			}
		}
		public override void OnTrigger(GameClient Session, RoomItem RoomItem_0, int int_0, bool bool_0)
		{
            if (bool_0)
            {
                ServerMessage message = new ServerMessage(Outgoing.WiredEffect); // Updated
                message.AppendBoolean(false);
                if (Session.GetHabbo().HasFuse("wired_unlimitedselects"))
                    message.AppendInt32(1000000);
                else
                    message.AppendInt32(5);
                message.AppendInt32(0);
                message.AppendInt32(RoomItem_0.GetBaseItem().Sprite);
                message.AppendInt32(RoomItem_0.uint_0);
                message.AppendString("");
                message.AppendInt32(2);
                if (RoomItem_0.string_2 != "")
                    message.AppendInt32(int.Parse(RoomItem_0.string_2));
                else
                    message.AppendInt32(5);
                if (RoomItem_0.string_3 != "")
                    message.AppendInt32(int.Parse(RoomItem_0.string_3));
                else
                    message.AppendInt32(1);
                message.AppendInt32(0);
                message.AppendInt32(6);
                message.AppendInt32(0);
                message.AppendInt32(0);
                message.AppendInt32(0);
                Session.SendMessage(message);
            }
		}
        public void Handle(GameClient Session, ClientMessage Event)
        {
            Room Room = Essential.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId);
            if (Room != null && Room.CheckRights(Session, true))
            {

                        ServerMessage LoadUsersWithRights = new ServerMessage(Outgoing.FlatControllerAdded);
                        LoadUsersWithRights.AppendUInt(Room.Id);
                        LoadUsersWithRights.AppendInt32(Room.UsersWithRights.Count);
                        foreach (uint current2 in Room.UsersWithRights)
                        {

                            LoadUsersWithRights.AppendUInt(current2);
                            LoadUsersWithRights.AppendString(Essential.GetGame().GetClientManager().GetNameById(current2));
                        }
                        Session.SendMessage(LoadUsersWithRights);

                        foreach (uint current3 in Room.UsersWithRights)
                        {
                            ServerMessage serverMessage = new ServerMessage(Outgoing.GivePowers); // Updated
                            serverMessage.AppendUInt(Room.Id);
                            serverMessage.AppendUInt(current3);
                            serverMessage.AppendStringWithBreak(Essential.GetGame().GetClientManager().GetNameById(current3));
                            Session.SendMessage(serverMessage);
                        }
        
            }
        }
		public void Handle(GameClient Session, ClientMessage Event)
		{
			Room class14_ = Session.GetHabbo().CurrentRoom;
			if (class14_ != null)
			{
				string string_ = Event.PopFixedString();
				RoomUser @class = class14_.method_56(string_);
				if (@class != null)
				{
					uint uint_ = @class.GetClient().GetHabbo().Id;
					if (Session.GetHabbo().list_2.Contains(uint_))
					{
						Session.GetHabbo().list_2.Remove(uint_);
						using (DatabaseClient class2 = Essential.GetDatabase().GetClient())
						{
							class2.ExecuteQuery(string.Concat(new object[]
							{
								"DELETE FROM user_ignores WHERE user_id = ",
								Session.GetHabbo().Id,
								" AND ignore_id = ",
								uint_,
								" LIMIT 1;"
							}));
						}
                        ServerMessage Message = new ServerMessage(Outgoing.UpdateIgnoreStatus); // Updated
						Message.AppendInt32(3);
                        Message.AppendString(string_);
						Session.SendMessage(Message);
					}
				}
			}
		}
 public void Handle(HabboHotel.GameClients.GameClient Session, global::Essential.Messages.ClientMessage Event)
 {
     using(DatabaseClient dbClient = Essential.GetDatabase().GetClient())
     {
         string username = Event.PopFixedString();
         string password = Event.PopFixedString(); //TODO: Hash undso..
         dbClient.AddParamWithValue("username", username);
         
         string currentpassword = "";
         try
         {
             currentpassword = dbClient.ReadString("SELECT password FROM users WHERE username=@username");
         }
         catch { }
         if (currentpassword == "")
         { Session.SendMessage(new ServerMessage(Outgoing.InvalidUsername)); return; }
         if (currentpassword != password)
         { Session.SendMessage(new ServerMessage(Outgoing.InvalidPassword)); return; }
         ServerMessage asdf = new ServerMessage(12345);
         asdf.AppendBoolean(true);
         asdf.AppendString("Hi");
         asdf.AppendInt32(1337);
         asdf.AppendUInt(12345);
         Session.SendMessage(asdf);
         Session.tryLogin(dbClient.ReadString("SELECT auth_ticket FROM users WHERE username=@username"));
     }
 }
 public void Handle(GameClient Session, ClientMessage Event)
 {
     ServerMessage message = new ServerMessage(Outgoing.SendHtmlColors);
     message.AppendInt32(Session.GetHabbo().dataTable_0.Rows.Count);
     foreach (DataRow dr in Session.GetHabbo().dataTable_0.Rows)
     {
         int num = (int)dr["groupid"];
         GroupsManager guild = Groups.GetGroupById(num);
         message.AppendInt32(guild.Id);
         message.AppendString(guild.Name);
         message.AppendString(guild.Badge);
         message.AppendString(guild.ColorOne);
         message.AppendString(guild.ColorTwo);
         message.AppendBoolean(guild.Id == Session.GetHabbo().FavouriteGroup);
     }
     Session.SendMessage(message);
 }
 public void Handle(GameClient Session, ClientMessage Event)
 {
     GuideTicket gt = Essential.GetGame().GetGuideManager().GetTicket(Session.GetHabbo().Id);
     ServerMessage Message = new ServerMessage(Outgoing.GuideSessionInvitedToGuideRoom); //Rootkit
     Message.AppendInt32(Session.GetHabbo().CurrentRoomId);
     Message.AppendString(Session.GetHabbo().CurrentRoom.Name);
     gt.SendToTicket(Message);
 }
		public void Handle(GameClient Session, ClientMessage Event)
		{
            string PetName = Event.PopFixedString();
            ServerMessage Message = new ServerMessage(Outgoing.CheckPetName); // Updated
            Message.AppendInt32(Essential.GetGame().GetCatalog().ValidPetName(PetName) ? 0 : 2);
            Message.AppendString(PetName);
			Session.SendMessage(Message);
		}
        public override void OnTrigger(GameClient Session, RoomItem RoomItem_0, int int_0, bool bool_0)
        {
            if (RoomItem_0.ExtraData != "")
            {
                Session.GetHabbo().Figure = RoomItem_0.ExtraData + "." + GetHair(Session.GetHabbo().Figure);
                ServerMessage response = new ServerMessage(Outgoing.UpdateUserInformation);
                response.AppendInt32(-1);
                response.AppendString(Session.GetHabbo().Figure);
                response.AppendString(Session.GetHabbo().Gender.ToLower());
                response.AppendString(Session.GetHabbo().Motto);
                response.AppendInt32(Session.GetHabbo().AchievementScore);
                Session.SendMessage(response);
                if (Session.GetHabbo().InRoom)
                {
                    Room Room = Session.GetHabbo().CurrentRoom;


                    if (Room == null)
                    {
                        return;
                    }


                    RoomUser User = Room.GetRoomUserByHabbo(Session.GetHabbo().Id);


                    if (User == null)
                    {
                        return;
                    }

                    ServerMessage RoomUpdate = new ServerMessage(Outgoing.UpdateUserInformation);
                    RoomUpdate.AppendInt32(User.VirtualId);
                    RoomUpdate.AppendString(Session.GetHabbo().Figure);
                    RoomUpdate.AppendString(Session.GetHabbo().Gender.ToLower());
                    RoomUpdate.AppendString(Session.GetHabbo().Motto);
                    RoomUpdate.AppendInt32(Session.GetHabbo().AchievementScore);
                    Room.SendMessage(RoomUpdate, null);
                }
            }
            else
            {

            }
        }
 public void Handle(GameClient Session, ClientMessage Event)
 {
     string ReqTimer = Event.PopFixedString();
     int RemLeng = (int.Parse(ReqTimer) - (int)Essential.GetUnixTimestamp());
     ServerMessage ReceptionTimer = new ServerMessage(Outgoing.ReceptionTimer);
     ReceptionTimer.AppendString(ReqTimer);
     ReceptionTimer.AppendInt32((RemLeng > 0 ? RemLeng : 0));
     Session.SendMessage(ReceptionTimer);
 }
		public void Handle(GameClient Session, ClientMessage Event)
		{

            ServerMessage SendBannerMessageComposer = new ServerMessage(Outgoing.SendBannerMessageComposer);
            SendBannerMessageComposer.AppendString("12f449917de4f94a8c48dbadd92b6276");
            SendBannerMessageComposer.AppendBoolean(false);
            Session.SendMessage(SendBannerMessageComposer);

		}
        public void Handle(GameClient Session, ClientMessage Event)
        {
            string ReqBadge = Event.PopFixedString();

            ServerMessage BadgeStatus = new ServerMessage(Outgoing.PrepareCampaing);
            BadgeStatus.AppendString(ReqBadge);
            BadgeStatus.AppendBoolean(Session.GetHabbo().GetBadgeComponent().HasBadge(ReqBadge));
            Session.SendMessage(BadgeStatus);
        }
		public void Handle(GameClient Session, ClientMessage Event)
		{
                Room room = Essential.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId);
                
                if ((room != null) && room.CheckRights(Session, true))
                {
                    ServerMessage RoomDataEdit = new ServerMessage(Outgoing.RoomDataEdit);
                    RoomDataEdit.AppendInt32(room.Id);
                    RoomDataEdit.AppendString(room.Name);
                    RoomDataEdit.AppendString(room.Description);
                    RoomDataEdit.AppendInt32(room.State);
                    RoomDataEdit.AppendInt32(room.Category);
                    RoomDataEdit.AppendInt32(room.UsersMax);
                    RoomDataEdit.AppendInt32(100);
                    RoomDataEdit.AppendInt32(room.Tags.Count);
                    foreach (string str in room.Tags.ToArray())
                    {
                        RoomDataEdit.AppendString(str);
                    }
                    RoomDataEdit.AppendInt32(room.UsersWithRights.Count);
                    RoomDataEdit.AppendInt32(room.AllowPet ? 1 : 0);
                    RoomDataEdit.AppendInt32(room.AllowPetsEating ? 1 : 0);
                    RoomDataEdit.AppendInt32(room.AllowWalkthrough ? 1 : 0);
                    RoomDataEdit.AppendInt32(room.Hidewall ? 1 : 0);
                    RoomDataEdit.AppendInt32(room.Wallthick);
                    RoomDataEdit.AppendInt32(room.Floorthick);
                    RoomDataEdit.AppendInt32(0);//muto penso
                    RoomDataEdit.AppendInt32(0);//muto penso
                    RoomDataEdit.AppendInt32(0);//muto penso
                    Session.SendMessage(RoomDataEdit);
                    if (room.UsersWithRights.Count > 0)
                    {
                        ServerMessage msg = new ServerMessage(Outgoing.GetPowerList);
                        msg.AppendInt32(room.RoomData.Id);
                        msg.AppendInt32(room.UsersWithRights.Count);
                        foreach (uint num in room.UsersWithRights)
                        {
                            msg.AppendInt32(num);
                            msg.AppendString(Essential.GetGame().GetClientManager().GetNameById(num));
                        }
                        Session.SendMessage(msg);
                    }
                }
		}
		public void HandleVoucher(GameClient Session, string string_0)
		{
			if (!this.VoucherExists(string_0))
			{
                ServerMessage Message = new ServerMessage(Outgoing.VoucherRedeemError);
                Message.AppendString("1");
				Session.SendMessage(Message);
			}
			else
			{
				DataRow dataRow = null;
				using (DatabaseClient @class = Essential.GetDatabase().GetClient())
				{
					@class.AddParamWithValue("code", string_0);
					dataRow = @class.ReadDataRow("SELECT * FROM vouchers WHERE code = @code LIMIT 1");
				}
				int num = (int)dataRow["credits"];
				int num2 = (int)dataRow["pixels"];
				int num3 = (int)dataRow["vip_points"];

                this.LogVoucher(Session, string_0);
				this.DeleteVoucher(string_0);
				if (num > 0)
				{
					Session.GetHabbo().GiveCredits(num, "Reedem Voucher");
					Session.GetHabbo().UpdateCredits(true);
				}
				if (num2 > 0)
				{
					Session.GetHabbo().ActivityPoints += num2;
					Session.GetHabbo().UpdateActivityPoints(true);
				}
				if (num3 > 0)
				{
					Session.GetHabbo().VipPoints += num3;
					Session.GetHabbo().UpdateVipPoints(false, true);
				}
                ServerMessage Voucher = new ServerMessage(Outgoing.VoucherRedeemOk);
                Voucher.AppendString("");
                Voucher.AppendString("");
                Session.SendMessage(Voucher);
			}
		}
		public void Handle(GameClient Session, ClientMessage Event)
		{
            ServerMessage Response = new ServerMessage(Outgoing.ShopData1);
            Response.AppendBoolean(true);
            Response.AppendInt32(1);
            Response.AppendInt32(0);
            Response.AppendInt32(0);
            Response.AppendInt32(1);
            Response.AppendInt32(0x2710);
            Response.AppendInt32(0x30);
            Response.AppendInt32(7);
            Session.SendMessage(Response);

            Dictionary<uint, List<EcotronReward>> list = Essential.GetGame().GetCatalog().GetEcotronRewards();
            ServerMessage Message = new ServerMessage(Outgoing.RecyclePrizes); // Updated
            Message.AppendInt32(list.Count);
            foreach (var reward2 in list)
            {

                Message.AppendInt32(reward2.Key);

                if (reward2.Key == 1)
                    Message.AppendInt32(0);
                if (reward2.Key == 2)
                    Message.AppendInt32(4);
                if (reward2.Key == 3)
                    Message.AppendInt32(40);
                if (reward2.Key == 4)
                    Message.AppendInt32(200);
                if (reward2.Key == 5)
                    Message.AppendInt32(2000);
                Message.AppendInt32(reward2.Value.Count);
                foreach (EcotronReward reward in reward2.Value)
                {
                    Message.AppendString(reward.GetBaseItem().Name);
                    Message.AppendInt32(1);
                    Message.AppendString(reward.GetBaseItem().Type.ToString().ToLower());
                    Message.AppendInt32(reward.GetBaseItem().Sprite);
                }
            }
            Session.SendMessage(Message);
		}
        public void Handle(GameClient Session, ClientMessage Event)
        {

                  ServerMessage Localizations = new ServerMessage(13);
                  Localizations.AppendInt32(Essential.GetGame().GetGamesManager().GetLocales("fi").Count);
                  foreach (GameLocale Locale in Essential.GetGame().GetGamesManager().GetLocales("fi"))
                  {
                      Localizations.AppendString(Locale.LocaleKey);
                      Localizations.AppendString(Locale.LocaleValue);
                  }
                  Session.SendMessage(Localizations);

                  if (ServerConfiguration.BasejumpMaintenance)
                  {
                      ServerMessage MaintenanceMode = new ServerMessage(1);
                      MaintenanceMode.AppendBoolean(false);
                      MaintenanceMode.AppendBoolean(ServerConfiguration.BasejumpMaintenance);
                      Session.SendMessage(MaintenanceMode);
                  }
        }
Exemple #29
0
 public void Handle(GameClient Session, ClientMessage Event)
 {
     if (((Session != null) || (Session.GetHabbo() != null)) && (Session.GetHabbo().SnowWar != null))
     {
         SnowStorm snowWar = Session.GetHabbo().SnowWar;
         string s = Event.PopFixedString();
         ServerMessage talk = new ServerMessage(Outgoing.Game2GameChatFromPlayerMessageEvent);
         talk.AppendInt32(Session.GetHabbo().Id);
         talk.AppendString(s);
         snowWar.SendToStorm(talk, false, 0);
     }
 }
        public void Handle(GameClient Session, ClientMessage Event)
        {
            int botId = Event.PopWiredInt32();
            int skillType = Event.PopWiredInt32();
            switch (skillType)
            {
                case 2:
                    {
                        string truncatedText = "";
                        using (DatabaseClient dbClient = Essential.GetDatabase().GetClient())
                        {
                            DataTable dt;
                            DataRow speakingRow;
                            dt = dbClient.ReadDataTable("SELECT * FROM bots_speech WHERE bot_id = " + botId);
                            if (dt != null)
                            {
                                foreach (DataRow dr in dt.Rows)
                                {
                                    truncatedText += (dr["text"] + "\n");
                                }
                                speakingRow = dbClient.ReadDataRow("SELECT * FROM user_bots WHERE id = " + botId);
                                truncatedText += ";#;";
                                truncatedText += Convert.ToString(speakingRow["automatic_chat"]);
                                truncatedText += ";#;";
                                truncatedText += Convert.ToString(speakingRow["speaking_interval"]);
                            }
                        }
                        ServerMessage message = new ServerMessage(Outgoing.SerializeSpeechList);
                        message.AppendInt32(botId);
                        message.AppendInt32(skillType);
                        message.AppendString(truncatedText);
                        Session.SendMessage(message);
                        break;
                    }
                case 5:
                    {

                        ServerMessage message = new ServerMessage(Outgoing.SerializeSpeechList);
                        message.AppendInt32(botId);
                        message.AppendInt32(skillType);
                        using (DatabaseClient dbClient = Essential.GetDatabase().GetClient())
                        {
                            message.AppendString(dbClient.ReadString("SELECT name FROM user_bots WHERE id = " + botId));
                        }
                        Session.SendMessage(message);
                        break;
                    }
                default:
                    return;

            }
        }