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)
		{
             ServerMessage Message = new ServerMessage(Outgoing.PetRace); //Rootkit
             string PetType = Event.PopFixedString();
             Message.AppendStringWithBreak(PetType);
             int petid = int.Parse(PetType.Substring(PetType.IndexOf('t'), PetType.Length - PetType.IndexOf('t')).Replace("t",""));
            if (PetRace.RaceGotRaces(petid))
            {
                List<PetRace> Races = PetRace.GetRacesForRaceId(petid);
                Message.AppendInt32(Races.Count);
                foreach (PetRace r in Races)
                {
                    Message.AppendInt32(petid);
                    Message.AppendInt32(r.Color1);
                    Message.AppendInt32(r.Color2);
                    Message.AppendBoolean(r.Has1Color);
                    Message.AppendBoolean(r.Has2Color); 
                }
            }
            else
            {
                Message.AppendInt32(0);
            }
				Session.SendMessage(Message);
			}
		public void Handle(GameClient Session, ClientMessage Event)
		{
			DataTable dataTable_ = Session.GetHabbo().dataTable_0;
			if (dataTable_ != null)
			{
                ServerMessage Message = new ServerMessage(Outgoing.UserGuilds);
				Message.AppendInt32(dataTable_.Rows.Count);
				foreach (DataRow dataRow in dataTable_.Rows)
				{
					GroupsManager @class = Groups.GetGroupById((int)dataRow["groupid"]);
					Message.AppendInt32(@class.Id);
                    Message.AppendStringWithBreak(@class.Name);
                    Message.AppendStringWithBreak(@class.Badge);
					if (Session.GetHabbo().FavouriteGroup == @class.Id) // is favorite group?
					{
						Message.AppendBoolean(true);
					}
					else
					{
						Message.AppendBoolean(false);
					}
				}
				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 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);
			}
		}
Beispiel #6
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 override void OnTrigger(GameClient Session, RoomItem RoomItem_0, int int_0, bool bool_0)
		{
			if (bool_0)
			{
                ServerMessage Message = new ServerMessage(Outgoing.WiredCondition); // Updated
                Message.AppendBoolean(false);
                Message.AppendInt32(5);
                if (RoomItem_0.string_3 != "")
                {
                    Message.AppendInt32(RoomItem_0.string_3.Split(',').Length);

                    foreach (string ItemId in RoomItem_0.string_3.Split(','))
                    {
                        Message.AppendInt32(int.Parse(ItemId));
                    }
                }
                else
                {
                    Message.AppendInt32(0);
                }
                Message.AppendInt32(RoomItem_0.GetBaseItem().Sprite);
                Message.AppendUInt(RoomItem_0.uint_0);
                Message.AppendInt32(0);
                Message.AppendInt32(0);
                Message.AppendInt32(0);
                Message.AppendInt32(1);
                Message.AppendInt32(0);
                Message.AppendInt32(0);
                Message.AppendInt32(0);
                Message.AppendInt32(0);
			}
		}
 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 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 override void OnTrigger(GameClient Session, RoomItem RoomItem_0, int int_0, bool bool_0)
 {
     if (bool_0)
     {
         ServerMessage Message = new ServerMessage(Outgoing.WiredCondition); // 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.AppendUInt(RoomItem_0.uint_0);
         Message.AppendInt32(0);
         Message.AppendInt32(0);
         Message.AppendInt32(0);
         Message.AppendInt32(0);
         Message.AppendInt32(0);
         Message.AppendInt32(0);
         Message.AppendInt32(0);
         Message.AppendInt32(0);
         Message.AppendInt32(0);
         Session.SendMessage(Message);
     }
 }
Beispiel #11
0
 internal void SerializeItem(ServerMessage Message)
 {
     Message.AppendString(this.Name);
     Message.AppendInt32(this.ItemId);
     Message.AppendInt32(this.X);
     Message.AppendInt32(this.Y);
     Message.AppendInt32(this.Rot);
     Message.AppendInt32(1);
     Message.AppendInt32(this.SpriteId);
     Message.AppendInt32(this.Name.Contains("background") ? 1 : 0);
     Message.AppendInt32(0);
     Message.AppendBoolean(true);
     if (this.Name.Contains("background"))
     {
         Message.AppendInt32(1);
         Message.AppendInt32(5);
         Message.AppendString("state");
         Message.AppendString("0");
         Message.AppendString("offsetZ");
         Message.AppendString("9920");
         Message.AppendString("offsetY");
         Message.AppendString("1520");
         Message.AppendString("imageUrl");
         Message.AppendString("http://localhost/r63B/c_images/DEV_tests/snst_bg_2_big.png");
         Message.AppendString("offsetX");
         Message.AppendString("-1070");
     }
     else
     {
         Message.AppendInt32(0);
         Message.AppendString(this.Extradata);
     }
 }
		public void Handle(GameClient Session, ClientMessage Event)
		{
			uint num = Event.PopWiredUInt();
            RoomData @class = Essential.GetGame().GetRoomManager().method_12(num);
			if (@class == null || Session.GetHabbo().list_1.Count >= 30 || Session.GetHabbo().list_1.Contains(num) || @class.Type == "public")
			{
			}
			else
			{
                ServerMessage Message2 = new ServerMessage(Outgoing.FavsUpdate); // Updated
				Message2.AppendUInt(num);
				Message2.AppendBoolean(true);
				Session.SendMessage(Message2);
				Session.GetHabbo().list_1.Add(num);
				using (DatabaseClient class2 = Essential.GetDatabase().GetClient())
				{
					class2.ExecuteQuery(string.Concat(new object[]
					{
						"INSERT INTO user_favorites (user_id,room_id) VALUES ('",
						Session.GetHabbo().Id,
						"','",
						num,
						"')"
					}));
				}
			}
		}
 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 void Handle(GameClient Session, ClientMessage Event)
        {
            if (!Session.GetHabbo().CurrentRoom.CCTs.Contains("park"))
            {
                return;
            }

            if (Session.GetHabbo().CurrentRoom.IsInfobusOpen == false)
            {
                ServerMessage InfobusClosed = new ServerMessage(Outgoing.InfobusMessage);
                InfobusClosed.AppendStringWithBreak("Ich bin zurzeit geschlossen! Komm später wieder.");
                Session.SendMessage(InfobusClosed);
            }
            else
            {
                Session.GetHabbo().CurrentRoom.GetRoomUserByHabbo(Session.GetHabbo().Id).MoveTo(28, 5);

                if (Session.GetHabbo().CurrentRoom.GetRoomUserByHabbo(Session.GetHabbo().Id).X == 28 && Session.GetHabbo().CurrentRoom.GetRoomUserByHabbo(Session.GetHabbo().Id).Y == 5)
                {
                    ServerMessage Message = new ServerMessage(Outgoing.RoomForward);
                    Message.AppendBoolean(true);
                    Message.AppendInt32(56);
                    Session.SendMessage(Message);
                }
                    
                
            }
        }
Beispiel #15
0
		public void Serialize(ServerMessage Message, GameClient Session, bool Single)
		{
			Message.AppendStringWithBreak(this.Type);
			if (Session.GetHabbo().CompletedQuests.Contains(this.Id))
			{
				Message.AppendInt32(this.Level);
			}
			else
			{
				Message.AppendInt32(this.Level - 1);
			}
			Message.AppendInt32(Essential.GetGame().GetQuestManager().GetHighestLevelForType(this.Type));
			if (Essential.GetGame().GetQuestManager().GetHighestLevelForType(this.Type) == this.Level && Session.GetHabbo().CompletedQuests.Contains(this.Id) && !Single)
			{
				Message.AppendInt32(0);
				Message.AppendInt32(0);
                Message.AppendBoolean(false);
				Message.AppendStringWithBreak("");
				Message.AppendStringWithBreak("");
				Message.AppendInt32(0);
				Message.AppendStringWithBreak("");
				Message.AppendInt32(0);
				Message.AppendInt32(0);
				Message.AppendInt32(0);
                Message.AppendStringWithBreak("");
                Message.AppendStringWithBreak("");
                Message.AppendBoolean(true);
			}
			else
			{
                Message.AppendInt32(-1);
                Message.AppendUInt(this.Id);
				//Message.AppendBoolean(false);
			//	Message.AppendUInt(this.Id);
				Message.AppendBoolean(Session.GetHabbo().CurrentQuestId == this.Id);
				Message.AppendStringWithBreak(this.Action.StartsWith("FIND") ? "FIND_STUFF" : this.Action);
				Message.AppendStringWithBreak("_2");
				Message.AppendInt32(this.PixelReward);
				Message.AppendStringWithBreak(this.Action.Replace("_", ""));
				Message.AppendInt32(Session.GetHabbo().CurrentQuestProgress);
				Message.AppendInt32(this.NeedForLevel);
				Message.AppendInt32(Essential.GetGame().GetQuestManager().GetIntValue(this.Type));
                Message.AppendStringWithBreak("set_kuurna");
                Message.AppendStringWithBreak("MAIN_CHAIN");
                Message.AppendBoolean(true);
			}
		}
        public ServerMessage SerializeTool()
		{
            ServerMessage Message = new ServerMessage(Outgoing.OpenModTools); // Updated
            Message.AppendInt32(0);
			Message.AppendInt32(this.UserMessagePresets.Count);
			using (TimedLock.Lock(this.UserMessagePresets))
			{
				foreach (string current in this.UserMessagePresets)
				{
					Message.AppendStringWithBreak(current);
				}
			}
            Message.AppendInt32(0);
            Message.AppendBoolean(true); // ticket_queue fuse
            Message.AppendBoolean(true); // chatlog fuse
            Message.AppendBoolean(true); // message / caution fuse
            Message.AppendBoolean(true); // kick fuse
            Message.AppendBoolean(true); // band fuse
            Message.AppendBoolean(true); // broadcastshit fuse
            Message.AppendBoolean(true); // other shit fuse
            Message.AppendInt32(0);
			Message.AppendInt32(this.RoomMessagePresets.Count);
			using (TimedLock.Lock(this.RoomMessagePresets))
			{
				foreach (string current in this.RoomMessagePresets)
				{
					Message.AppendStringWithBreak(current);
				}
			}
			return Message;
		}
		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)
		{
			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)
        {

                  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);
                  }
        }
 public void Handle(HabboHotel.GameClients.GameClient Session, global::Essential.Messages.ClientMessage Event)
 {
     if (!Session.GetHabbo().IsGuide)
         return;
     bool onDuty = Event.PopWiredBoolean();
     Essential.GetGame().GetGuideManager().ToggleState(onDuty, Session.GetHabbo().Id);
     ServerMessage GuideTool = new ServerMessage(Outgoing.SerializeGuideTool); //Rootkit
     GuideTool.AppendBoolean(Essential.GetGame().GetGuideManager().OnDuty(Session.GetHabbo().Id)); //Im dienst?
     GuideTool.AppendInt32(Essential.GetGame().GetGuideManager().GuidesOnDutyCount); //Helper im Dienst
     GuideTool.AppendInt32(0); //Guardians on Duty (WILL NEVER EXIST!!)
     Session.SendMessage(GuideTool);
 }
 public void Handle(HabboHotel.GameClients.GameClient Session, global::Essential.Messages.ClientMessage Event)
 {
     int num = Event.PopWiredInt32();
     int num2 = Event.PopWiredInt32();
     int num3 = Event.PopWiredInt32();
     if ((num2 == 1) && (num3 == 0))
     {
         Room room = Essential.GetGame().GetRoomManager().GetRoom((uint)num);
         if ((room != null) && (room.GetRoomUserByHabbo(Session.GetHabbo().Id) == null))
         {
         }
     }
     else if ((num2 != 0) || (num3 != 0))
     {
         RoomData data = Essential.GetGame().GetRoomManager().method_12((uint)num);
         if (data != null)
         {
             ServerMessage message = new ServerMessage(Outgoing.RoomData);
             message.AppendBoolean(false);
             data.Serialize(message, false, false);
             message.AppendBoolean(true);
             message.AppendBoolean(false);
             message.AppendBoolean(true);
             message.AppendBoolean(true);
             message.AppendInt32(0);
             message.AppendInt32(0);
             message.AppendInt32(0);
             message.AppendBoolean(true);
             Session.SendMessage(message);
             //Console.WriteLine("aa");
         }
     }
 }
		public void Handle(GameClient Session, ClientMessage Event)
		{
			Dictionary<Room, int> dictionary = Essential.GetGame().GetRoomManager().method_21();
			Room @class = null;
			IEnumerable<Room> arg_35_0 = dictionary.Keys;
			if (FindNewFriendsMessageEvent.func_0 == null)
			{
				FindNewFriendsMessageEvent.func_0 = new Func<Room, int>(FindNewFriendsMessageEvent.smethod_0);
			}
			IOrderedEnumerable<Room> orderedEnumerable = arg_35_0.OrderByDescending(FindNewFriendsMessageEvent.func_0);
			int num = 0;
			foreach (Room current in orderedEnumerable)
			{
				num++;
				string a = Essential.smethod_5(1, 5).ToString();
				if (a == "2")
				{
					goto IL_83;
				}
				if (num == orderedEnumerable.Count<Room>())
				{
					goto IL_83;
				}
				bool arg_A2_0 = true;
				IL_A2:
				if (arg_A2_0)
				{
					continue;
				}
				@class = current;
				break;
				IL_83:
				arg_A2_0 = (Session == null ||Session.GetHabbo() == null || Session.GetHabbo().CurrentRoom == null || Session.GetHabbo().CurrentRoom == current);
				goto IL_A2;
			}
			if (@class == null)
			{
                ServerMessage Message = new ServerMessage(Outgoing.SearchFriendsMessage); // Updated
				Message.AppendBoolean(false);
				Session.SendMessage(Message);
			}
			else
			{
                ServerMessage Message2 = new ServerMessage(Outgoing.RoomForward); // Updated
				Message2.AppendBoolean(@class.IsPublic);
				Message2.AppendUInt(@class.Id);
				Session.SendMessage(Message2);
                ServerMessage Message3 = new ServerMessage(Outgoing.SearchFriendsMessage);
				Message3.AppendBoolean(true);
				Session.SendMessage(Message3);
			}
		}
Beispiel #24
0
            public ServerMessage AppendEntryOnServerMessage(ServerMessage Message, List<StreamEntry> Entries)
            {
                foreach (StreamEntry Entry in Entries)
                {
                    Message.AppendInt32(Entry.VirtualID);
                    Message.AppendInt32(5);
                    Message.AppendStringWithBreak(Entry.UserID);
                    Message.AppendStringWithBreak(Entry.Username);
                    Message.AppendStringWithBreak(Entry.Gender);
                    Message.AppendStringWithBreak(Essential.HeadImagerURL + Entry.Look);
                    Message.AppendInt32(Entry.Time);
                    Message.AppendInt32(0);
                    Message.AppendInt32(Entry.Likes);
                    Message.AppendBoolean(Entry.Liked);
                    Message.AppendBoolean(Entry.Liked);
                    Message.AppendBoolean(Entry.Liked);
                    Message.AppendStringWithBreak(Entry.Text);

                    //Console.WriteLine(Entry.VirtualID + " " + Entry.UserID + " " + Entry.Username + " " + Entry.Gender + " " + Entry.Look + " " + Entry.Time + " " + Entry.Likes + " " + Entry.Liked + " " + Entry.Text);
                }
                return Message;
            }
 public void Handle(GameClient Session, ClientMessage Event)
 {
     try
     {
         /*if (Essential.GetGame().GetGuideManager().UserMadeTicket(Session.GetHabbo().Id))
         {
             Session.SendMessage(Essential.GetGame().GetGuideManager().ErrorMessage);
             return;
         }*/
         Event.PopWiredInt32();
         string msg = Event.PopFixedString();
         GameClient randomGuide = Essential.GetGame().GetClientManager().GetClientByHabbo(Essential.GetGame().GetClientManager().GetNameById(Essential.GetGame().GetGuideManager().GetRandomGuide().Id));
         ServerMessage Message = new ServerMessage(Outgoing.GuideSessionAttached); //Rootkit
         Message.AppendBoolean(true);
         Message.AppendInt32(Session.GetHabbo().Id);
         Message.AppendString(msg);
         Message.AppendInt32(Essential.GetGame().GetGuideManager().Timer);
         randomGuide.SendMessage(Message);
         Message = new ServerMessage(Outgoing.GuideSessionAttached); //Rootkit
         Message.AppendBoolean(false);
         Message.AppendInt32(Session.GetHabbo().Id);
         Message.AppendString(msg);
         Message.AppendInt32(Essential.GetGame().GetGuideManager().Timer);
         Session.SendMessage(Message);
         Essential.GetGame().GetGuideManager().CreateTicket(Session.GetHabbo(), randomGuide.GetHabbo());
         Action<object> a = delegate(object obj)
         {
             int i = Essential.GetGame().GetGuideManager().Timer;
             while (i != 0)
             {
                 Thread.Sleep(1000);
                 i--;
             }
             GuideTicket gt = Essential.GetGame().GetGuideManager().GetTicket(Session.GetHabbo().Id);
             if (gt == null || !gt.Answered)
             {
                 try
                 {
                     gt.SendToTicket(Essential.GetGame().GetGuideManager().DetachedMessage);
                     Essential.GetGame().GetGuideManager().RemoveTicket(Session.GetHabbo().Id);
                     Essential.GetGame().GetGuideManager().GetGuideById(gt.GuideId).IsInUse = false;
                 }
                 catch { }
             }
         };
         new Task(a,"break").Start();
     }catch
     {
         Session.SendMessage(Essential.GetGame().GetGuideManager().ErrorMessage);
     }
 }
		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 Message = new ServerMessage(Outgoing.SerializeClub); // Updated
            Message.AppendString("club_habbo");
            if (Session.GetHabbo().GetSubscriptionManager().HasSubscription("habbo_club"))
            {
                double expireTime = Session.GetHabbo().GetSubscriptionManager().GetSubscriptionByType("habbo_club").ExpirationTime;
                double num2 = expireTime - Essential.GetUnixTimestamp();
                int num3 = (int)Math.Ceiling((double)(num2 / 86400.0));
                int i = num3 / 0x1f;
                if (i >= 1)
                {
                    i--;
                }
                Message.AppendInt32((int)(num3 - (i * 0x1f)));
                Message.AppendInt32(2);//2
                Message.AppendInt32(i);
                Message.AppendInt32(1);
                Message.AppendBoolean(true);
                Message.AppendBoolean(true);
                Message.AppendInt32(0);
                Message.AppendInt32(0);
                Message.AppendInt32(0x1ef);
            }
            else
            {
                Message.AppendInt32(0);
                Message.AppendInt32(0);
                Message.AppendInt32(0);
                Message.AppendInt32(0);
                Message.AppendBoolean(false);
                Message.AppendBoolean(true);
                Message.AppendInt32(0);
                Message.AppendInt32(0);
                Message.AppendInt32(0);
            }
			Session.SendMessage(Message);
		}
		public void Handle(GameClient Session, ClientMessage Event)
		{
			DateTime now = DateTime.Now;
			TimeSpan timeSpan = now - Essential.ServerStarted;
            ServerMessage Message = new ServerMessage(Outgoing.ShopData1); // Updated
			Message.AppendBoolean(true);
            Message.AppendInt32(ServerConfiguration.MarketplaceTax);
			Message.AppendInt32(1);
			Message.AppendInt32(5);
			Message.AppendInt32(1);
			Message.AppendInt32(ServerConfiguration.MarketplacePriceLimit);
			Message.AppendInt32(48);
			Message.AppendInt32(timeSpan.Days);
			Session.SendMessage(Message);
		}
		public void Handle(GameClient Session, ClientMessage Event)
		{
			uint uint_ = Event.PopWiredUInt();
			GameClient @class = Essential.GetGame().GetClientManager().GetClient(uint_);
            if (@class != null && @class.GetHabbo() != null && @class.GetHabbo().InRoom)
			{
				Room room = Essential.GetGame().GetRoomManager().GetRoom(@class.GetHabbo().CurrentRoomId);
				if (room != null && Session != null && Session.GetHabbo() != null && room != Session.GetHabbo().CurrentRoom)
				{
                    ServerMessage FollowBuddy = new ServerMessage(Outgoing.RoomForward);
                    FollowBuddy.AppendBoolean(room.IsPublic);
                    FollowBuddy.AppendInt32(@class.GetHabbo().CurrentRoomId);
                    Session.SendMessage(FollowBuddy);
				}
			}
		}
 public void Handle(GameClient Session, ClientMessage Event)
 {
     ServerMessage Message = new ServerMessage(Outgoing.ShopData2); // Rootkit
     Message.AppendBoolean(true);
     Message.AppendInt32(1);
     Message.AppendInt32(4);
     int num;
     for (num = 187; num < 191; num++)
     {
         Message.AppendInt32(num);
     }
     Message.AppendInt32(7);
     Message.AppendInt32(0);
     Message.AppendInt32(1);
     Message.AppendInt32(2);
     Message.AppendInt32(3);
     Message.AppendInt32(4);
     Message.AppendInt32(5);
     Message.AppendInt32(6);
     Message.AppendInt32(11);
     Message.AppendInt32(0);
     Message.AppendInt32(1);
     Message.AppendInt32(2);
     Message.AppendInt32(3);
     Message.AppendInt32(4);
     Message.AppendInt32(5);
     Message.AppendInt32(6);
     Message.AppendInt32(7);
     Message.AppendInt32(8);
     Message.AppendInt32(9);
     Message.AppendInt32(10);
     Message.AppendInt32(4);
     for (num = 187; num < 191; num++)
     {
         Message.AppendInt32(num);
     }
     Session.SendMessage(Message);
     ServerMessage OfferConfiguration = new ServerMessage(Outgoing.Offer); // Rootkit
     OfferConfiguration.AppendInt32(100);
     OfferConfiguration.AppendInt32(6);
     OfferConfiguration.AppendInt32(1);
     OfferConfiguration.AppendInt32(1);
     OfferConfiguration.AppendInt32(2);
     OfferConfiguration.AppendInt32(40);
     OfferConfiguration.AppendInt32(99);
     Session.SendMessage(OfferConfiguration);
 }