public void parse(GameClient Session, ClientMessage Event)
		{
			Room class14_ = Session.GetHabbo().CurrentRoom;
			if (class14_ != null)
			{
				Event.PopWiredUInt();
				string string_ = Event.PopFixedString();
				RoomUser @class = class14_.GetRoomUserByHabbo(string_);
				if (@class != null && @class.GetClient().GetHabbo().Rank <= 2u)
				{
					uint uint_ = @class.GetClient().GetHabbo().Id;
					if (!Session.GetHabbo().MutedUsers.Contains(uint_))
					{
						Session.GetHabbo().MutedUsers.Add(uint_);
						using (DatabaseClient class2 = PhoenixEnvironment.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(419u);
						Message.AppendInt32(1);
						Session.SendMessage(Message);
					}
				}
			}
		}
		public void parse(GameClient Session, ClientMessage Event)
		{
			int num = Event.PopWiredInt32();
			ServerMessage Message = new ServerMessage(300);
			Message.AppendInt32(num);
			if (num > 0)
			{
				for (int i = 0; i < num; i++)
				{
					int num2 = Event.PopWiredInt32();
                    if (num2 > 0)
                    {
                        /*Soundtrack @class = GoldTree.GetGame().GetItemManager().method_4(num2);
                        Message.AppendInt32(@class.Id);
                        Message.AppendStringWithBreak(@class.Name);
                        Message.AppendStringWithBreak(@class.Track);
                        Message.AppendInt32(@class.Length);
                        Message.AppendStringWithBreak(@class.Author);*/

                        Message.AppendInt32(SongManager.GetSong(num2).Id);
                        Message.AppendStringWithBreak(SongManager.GetSong(num2).Name);
                        Message.AppendStringWithBreak(SongManager.GetSong(num2).Track);
                        Message.AppendInt32(SongManager.GetSong(num2).Length);
                        Message.AppendStringWithBreak(SongManager.GetSong(num2).Author);
                    }
				}
			}
			Session.SendMessage(Message);
		}
		public void parse(GameClient Session, ClientMessage Event)
		{
			ServerMessage Message = new ServerMessage(308);
			Message.AppendInt32(Session.GetHabbo().Volume);
			Message.AppendBoolean(false);
			Session.SendMessage(Message);
		}
		public override void OnTrigger(GameClient Session, RoomItem Item, int Request, bool UserHasRight)
		{
			if (UserHasRight && Session != null)
			{
				Item.method_10();
				ServerMessage Message = new ServerMessage(651);
				Message.AppendInt32(0);
				Message.AppendInt32(5);
				if (Item.Extra1.Length > 0)
				{
					Message.AppendString(Item.Extra1);
				}
				else
				{
					Message.AppendInt32(0);
				}
				Message.AppendInt32(Item.GetBaseItem().SpriteId);
				Message.AppendUInt(Item.Id);
				Message.AppendStringWithBreak("");
				Message.AppendInt32(0);
				Message.AppendInt32(0);
				Message.AppendInt32(0);
				Message.AppendInt32(0);
				Message.AppendInt32(0);
				Message.AppendStringWithBreak("");
				Session.SendMessage(Message);
			}
		}
		public void parse(GameClient Session, ClientMessage Event)
		{
			ServerMessage Message = new ServerMessage(611);
			Message.AppendBoolean(true);
			Message.AppendInt32(2);
			Session.SendMessage(Message);
		}
		public void parse(GameClient Session, ClientMessage Event)
		{
			if (Session.GetHabbo() == null)
			{
				Session.Login(Event.PopFixedString());
				if (Session.GetHabbo() != null && Session.GetHabbo().MutedUsers != null && Session.GetHabbo().MutedUsers.Count > 0)
				{
					using (DatabaseClient adapter = PhoenixEnvironment.GetDatabase().GetClient())
					{
						try
						{
							ServerMessage Message = new ServerMessage(420);
							Message.AppendInt32(Session.GetHabbo().MutedUsers.Count);
							foreach (uint Id in Session.GetHabbo().MutedUsers)
							{
								string string_ = adapter.ReadString("SELECT username FROM users WHERE Id = " + Id + " LIMIT 1;");
								Message.AppendStringWithBreak(string_);
							}
							Session.SendMessage(Message);
						}
						catch
						{
							Console.ForegroundColor = ConsoleColor.Red;
							Logging.WriteLine("Login error: User is ignoring a user that no longer exists");
							Console.ForegroundColor = ConsoleColor.Gray;
						}

					}
				}
			}
		}
		public void parse(GameClient Session, ClientMessage Event)
		{
			ServerMessage Message = new ServerMessage(443);
			Message.AppendInt32(Session.GetHabbo().AchievementScore);
			Message.AppendStringWithBreak("");
			Session.SendMessage(Message);
		}
		public void parse(GameClient Session, ClientMessage Event)
		{
			uint Id = Event.PopWiredUInt();
			Event.PopFixedString();
			Event.PopWiredInt32();
            RoomData Data = PhoenixEnvironment.GetGame().GetRoomManager().GenerateRoomData(Id);
			if (Data != null)
			{
				if (Data.Type == "private")
				{
					ServerMessage Message = new ServerMessage(286);
					Message.AppendBoolean(Data.IsPublicRoom);
					Message.AppendUInt(Id);
					Session.SendMessage(Message);
				}
				else
				{
					ServerMessage Message2 = new ServerMessage(453);
					Message2.AppendUInt(Data.Id);
					Message2.AppendStringWithBreak(Data.CCTs);
					Message2.AppendUInt(Data.Id);
					Session.SendMessage(Message2);
				}
			}
		}
Beispiel #9
0
		public Trade(uint mUserOneId, uint mUserTwoId, uint mRoomId)
		{
			this.oneId = mUserOneId;
			this.twoId = mUserTwoId;

			this.Users = new TradeUser[2];
			this.Users[0] = new TradeUser(mUserOneId, mRoomId);
			this.Users[1] = new TradeUser(mUserTwoId, mRoomId);
			this.TradeStage = 1;
			this.RoomId = mRoomId;

            foreach (TradeUser User in Users)
            {
                if (!User.GetRoomUser().Statusses.ContainsKey("trd"))
                {
                    User.GetRoomUser().AddStatus("trd", "");
                    User.GetRoomUser().UpdateNeeded = true;
                }
            }

			ServerMessage Message = new ServerMessage(104);
			Message.AppendUInt(mUserOneId);
			Message.AppendBoolean(true);
			Message.AppendUInt(mUserTwoId);
			Message.AppendBoolean(true);
			this.SendMessageToUsers(Message);
		}
		public void Destroy()
		{
			this.Session = null;
			this.RequestHandlers = null;
			this.Request = null;
			this.Response = null;
		}
		public void parse(GameClient Session, ClientMessage Event)
		{
			Room room = PhoenixEnvironment.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId);
			RoomUser roomUserByHabbo = room.GetRoomUserByHabbo(Session.GetHabbo().Id);
			roomUserByHabbo.Unidle();
			int i = Event.PopWiredInt32();
            
            if (i < 0 || i > 4 || (!Session.GetHabbo().GetSubscriptionManager().HasSubscription("habbo_club") && i > 1))
			{
				i = 0;
			}
			if (i > 0 && roomUserByHabbo.CarryItemID > 0)
			{
				roomUserByHabbo.CarryItem(0);
			}
			roomUserByHabbo.DanceId = i;
			ServerMessage Message = new ServerMessage(480);
			Message.AppendInt32(roomUserByHabbo.VirtualId);
			Message.AppendInt32(i);
			room.SendMessage(Message, null);
			
            if (Session.GetHabbo().CurrentQuestId == 6)
			{
				PhoenixEnvironment.GetGame().GetQuestManager().ProgressUserQuest(6, Session);
			}
		}
		public void parse(GameClient Session, ClientMessage Event)
		{
			if (Session != null && Session.GetHabbo() != null)
			{
				Room @class = PhoenixEnvironment.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId);
				if (@class != null)
				{
					RoomUser class2 = @class.GetRoomUserByHabbo(Event.PopWiredUInt());
					if (class2 != null && !class2.IsBot && class2.GetClient() != null)
					{
						ServerMessage Message = new ServerMessage(228u);
						Message.AppendUInt(class2.GetClient().GetHabbo().Id);
						Message.AppendInt32(class2.GetClient().GetHabbo().GetBadgeComponent().EquippedCount);
						using (TimedLock.Lock(class2.GetClient().GetHabbo().GetBadgeComponent().BadgeList))
						{
							foreach (Badge current in class2.GetClient().GetHabbo().GetBadgeComponent().BadgeList)
							{
								if (current.Slot > 0)
								{
									Message.AppendInt32(current.Slot);
									Message.AppendStringWithBreak(current.Code);
								}
							}
						}
						Session.SendMessage(Message);
					}
				}
			}
		}
		public void parse(GameClient Session, ClientMessage Event)
		{
			string text = Event.PopFixedString();
			ServerMessage Message = new ServerMessage(7u);
			Message.AppendStringWithBreak(text.ToLower());
			if (Session.GetHabbo().GetSubscriptionManager().HasSubscription("habbo_vip"))
			{
				double num = (double)Session.GetHabbo().GetSubscriptionManager().GetSubscription("habbo_vip").ExpireTime;
				double num2 = num - PhoenixEnvironment.GetUnixTimestamp();
				int num3 = (int)Math.Ceiling(num2 / 86400.0);
				int num4 = num3 / 31;
				if (num4 >= 1)
				{
					num4--;
				}
				Message.AppendInt32(num3 - num4 * 31);
				Message.AppendBoolean(true);
				Message.AppendInt32(num4);
				Message.AppendBoolean(true);
				Message.AppendBoolean(true);
				Message.AppendBoolean(Session.GetHabbo().Vip);
				Message.AppendInt32(0);
				Message.AppendInt32(0);
			}
			else
			{
				if (Session.GetHabbo().GetSubscriptionManager().HasSubscription(text))
				{
					double num = (double)Session.GetHabbo().GetSubscriptionManager().GetSubscription(text).ExpireTime;
					double num2 = num - PhoenixEnvironment.GetUnixTimestamp();
					int num3 = (int)Math.Ceiling(num2 / 86400.0);
					int num4 = num3 / 31;
					if (num4 >= 1)
					{
						num4--;
					}
					Message.AppendInt32(num3 - num4 * 31);
					Message.AppendBoolean(true);
					Message.AppendInt32(num4);
					if (Session.GetHabbo().Rank >= 2u)
					{
						Message.AppendInt32(1);
						Message.AppendInt32(1);
						Message.AppendInt32(2);
					}
					else
					{
						Message.AppendInt32(1);
					}
				}
				else
				{
					for (int i = 0; i < 3; i++)
					{
						Message.AppendInt32(0);
					}
				}
			}
			Session.SendMessage(Message);
		}
		public override void OnTrigger(GameClient Session, RoomItem Item, int Request, bool UserHasRight)
		{
			if (UserHasRight)
			{
				ServerMessage Message = new ServerMessage(650);
				Message.AppendInt32(0);
				Message.AppendInt32(5);
				Message.AppendInt32(0);
				Message.AppendInt32(Item.GetBaseItem().SpriteId);
				Message.AppendUInt(Item.Id);
				Message.AppendStringWithBreak("");
				Message.AppendString("I");
				if (Item.Extra2.Length > 0)
				{
					Message.AppendString(Item.Extra2);
				}
				else
				{
					Message.AppendString("RB");
				}
				Message.AppendStringWithBreak("HRAH");
				Session.SendMessage(Message);
				Item.ReqUpdate(1);
			}
		}
		public void parse(GameClient Session, ClientMessage Event)
		{
			try
			{
				Room @class = PhoenixEnvironment.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId);
				if (@class != null && @class.CheckRights(Session, true) && @class.MoodlightData != null)
				{
					ServerMessage Message = new ServerMessage(365u);
					Message.AppendInt32(@class.MoodlightData.Presets.Count);
					Message.AppendInt32(@class.MoodlightData.CurrentPreset);
					int num = 0;
					foreach (MoodlightPreset current in @class.MoodlightData.Presets)
					{
						num++;
						Message.AppendInt32(num);
						Message.AppendInt32(int.Parse(PhoenixEnvironment.BoolToEnum(current.BackgroundOnly)) + 1);
						Message.AppendStringWithBreak(current.ColorCode);
						Message.AppendInt32(current.ColorIntensity);
					}
					Session.SendMessage(Message);
				}
			}
			catch
			{
			}
		}
		public void parse(GameClient Session, ClientMessage Event)
		{
			Room @class = PhoenixEnvironment.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId);
			if (@class != null && @class.CheckRights(Session, true))
			{
				ServerMessage Message = new ServerMessage(465u);
				Message.AppendUInt(@class.RoomId);
				Message.AppendStringWithBreak(@class.Name);
				Message.AppendStringWithBreak(@class.Description);
				Message.AppendInt32(@class.State);
				Message.AppendInt32(@class.Category);
				Message.AppendInt32(@class.UsersMax);
				Message.AppendInt32(100);
				Message.AppendInt32(@class.Tags.Count);
				foreach (string current in @class.Tags)
				{
					Message.AppendStringWithBreak(current);
				}
				Message.AppendInt32(@class.UsersWithRights.Count);
				foreach (uint current2 in @class.UsersWithRights)
				{
					Message.AppendUInt(current2);
					Message.AppendStringWithBreak(PhoenixEnvironment.GetGame().GetClientManager().GetNameById(current2));
				}
				Message.AppendInt32(@class.UsersWithRights.Count);
				Message.AppendBoolean(@class.AllowPet);
				Message.AppendBoolean(@class.AllowPetsEating);
				Message.AppendBoolean(@class.AllowWalkthrough);
				Message.AppendBoolean(@class.Hidewall);
				Message.AppendInt32(@class.Wallthick);
				Message.AppendInt32(@class.Floorthick);
				Session.SendMessage(Message);
			}
		}
		public void parse(GameClient Session, ClientMessage Event)
		{
			DataTable dataTable_ = Session.GetHabbo().GroupMemberships;
			if (dataTable_ != null)
			{
				ServerMessage Message = new ServerMessage(915u);
				Message.AppendInt32(dataTable_.Rows.Count);
				foreach (DataRow dataRow in dataTable_.Rows)
				{
                    Group @class = GroupManager.GetGroup((int)dataRow["groupid"]);
					Message.AppendInt32(@class.Id);
					Message.AppendStringWithBreak(@class.Name);
					Message.AppendStringWithBreak(@class.Badge);
					if (Session.GetHabbo().GroupID == @class.Id) // is favorite group?
					{
						Message.AppendBoolean(true);
					}
					else
					{
						Message.AppendBoolean(false);
					}
				}
				Session.SendMessage(Message);
			}
		}
		public void parse(GameClient Session, ClientMessage Event)
		{
			uint num = Event.PopWiredUInt();
			string text = PhoenixEnvironment.FilterInjectionChars(Event.PopFixedString());
			if (Session.GetHabbo().GetMessenger() != null)
			{
				if (num == 0 && Session.GetHabbo().HasRole("cmd_sa"))
				{
					ServerMessage Message = new ServerMessage(134);
					Message.AppendUInt(0);
					Message.AppendString(Session.GetHabbo().Username + ": " + text);
					PhoenixEnvironment.GetGame().GetClientManager().SendStaffChat(Session, Message);
				}
				else
				{
					if (num == 0)
					{
						ServerMessage Message2 = new ServerMessage(261);
						Message2.AppendInt32(4);
						Message2.AppendUInt(0);
						Session.SendMessage(Message2);
					}
					else
					{
						Session.GetHabbo().GetMessenger().method_18(num, text);
					}
				}
			}
		}
		public void parse(GameClient Session, ClientMessage Event)
		{
			Room class14_ = Session.GetHabbo().CurrentRoom;
			if (class14_ != null)
			{
				Event.PopWiredUInt();
				string string_ = Event.PopFixedString();
				RoomUser @class = class14_.GetRoomUserByHabbo(string_);
				if (@class != null)
				{
					uint uint_ = @class.GetClient().GetHabbo().Id;
					if (Session.GetHabbo().MutedUsers.Contains(uint_))
					{
						Session.GetHabbo().MutedUsers.Remove(uint_);
						using (DatabaseClient class2 = PhoenixEnvironment.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(419u);
						Message.AppendInt32(3);
						Session.SendMessage(Message);
					}
				}
			}
		}
		public void parse(GameClient Session, ClientMessage Event)
		{
			uint num = Event.PopWiredUInt();
			Room room = PhoenixEnvironment.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId);
			RoomUser roomUserByHabbo = room.GetRoomUserByHabbo(num);
			if (room != null && room.CheckRights(Session, true) && roomUserByHabbo != null && !roomUserByHabbo.IsBot && !room.UsersWithRights.Contains(num))
			{
				room.UsersWithRights.Add(num);
				using (DatabaseClient adapter = PhoenixEnvironment.GetDatabase().GetClient())
				{
					adapter.ExecuteQuery(string.Concat(new object[]
					{
						"INSERT INTO room_rights (room_id,user_id) VALUES ('",
						room.RoomId,
						"','",
						num,
						"')"
					}));
				}
				ServerMessage Message = new ServerMessage(510);
				Message.AppendUInt(room.RoomId);
				Message.AppendUInt(num);
				Message.AppendStringWithBreak(roomUserByHabbo.GetClient().GetHabbo().Username);
				Session.SendMessage(Message);
				roomUserByHabbo.AddStatus("flatctrl", "");
				roomUserByHabbo.UpdateNeeded = true;
				roomUserByHabbo.GetClient().SendMessage(new ServerMessage(42));
			}
		}
		public void parse(GameClient Session, ClientMessage Event)
		{
			if (Session.GetHabbo().LoadingRoom > 0u)
			{
				ServerMessage Message = new ServerMessage(297u);
				Message.AppendInt32(0);
				Session.SendMessage(Message);
			}
		}
		public void parse(GameClient Session, ClientMessage Event)
		{
			if (PhoenixEnvironment.GetGame().GetModerationTool().UsersHasPendingTicket(Session.GetHabbo().Id))
			{
				PhoenixEnvironment.GetGame().GetModerationTool().DeletePendingTicketForUser(Session.GetHabbo().Id);
				ServerMessage Message = new ServerMessage(320);
				Session.SendMessage(Message);
			}
		}
		public void parse(GameClient Session, ClientMessage Event)
		{
			try
			{
				Room @class = PhoenixEnvironment.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId);
				if (@class != null)
				{
					if (@class.method_72("stickiepole") > 0 || @class.CheckRights(Session))
					{
						uint uint_ = Event.PopWiredUInt();
						string text = Event.PopFixedString();
						string[] array = text.Split(new char[]
						{
							' '
						});
						if (array[0].Contains("-"))
						{
							array[0] = array[0].Replace("-", "");
						}
						UserItem class2 = Session.GetHabbo().GetInventoryComponent().GetItem(uint_);
						if (class2 != null)
						{
							if (array[0].StartsWith(":"))
							{
								string text2 = @class.method_98(text);
								if (text2 == null)
								{
									ServerMessage Message = new ServerMessage(516u);
									Message.AppendInt32(11);
									Session.SendMessage(Message);
									return;
								}
								RoomItem RoomItem_ = new RoomItem(class2.Id, @class.RoomId, class2.BaseItem, class2.ExtraData, 0, 0, 0.0, 0, text2, @class);
								if (@class.method_82(Session, RoomItem_, true, null))
								{
									Session.GetHabbo().GetInventoryComponent().RemoveItem(uint_, 1u, false);
								}
							}
							using (DatabaseClient class3 = PhoenixEnvironment.GetDatabase().GetClient())
							{
								class3.ExecuteQuery(string.Concat(new object[]
								{
									"UPDATE items SET room_id = '",
									@class.RoomId,
									"' WHERE Id = '",
									class2.Id,
									"' LIMIT 1"
								}));
							}
						}
					}
				}
			}
			catch
			{
			}
		}
		public void parse(GameClient Session, ClientMessage Event)
		{
			Room Room = PhoenixEnvironment.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId);
			if (Room != null && Room.CheckRights(Session, true))
			{
				Event.PopWiredInt32();
				Dictionary<int, int> Items = new Dictionary<int, int>();
				int BackgroundImage = Event.PopWiredInt32();
				int ForegroundImage = Event.PopWiredInt32();
				int num3 = Event.PopWiredInt32();

				for (int i = 0; i < num3; i++)
				{
					int num4 = Event.PopWiredInt32();
					int num5 = Event.PopWiredInt32();
					if (num4 < 0 || num4 > 10 || (num5 < 1 || num5 > 27) || Items.ContainsKey(num4))
					{
						return;
					}
					Items.Add(num4, num5);
				}
				if (BackgroundImage >= 1 && BackgroundImage <= 24 && (ForegroundImage >= 0 && ForegroundImage <= 11))
				{
					StringBuilder stringBuilder = new StringBuilder();
					int num6 = 0;
					foreach (KeyValuePair<int, int> Item in Items)
					{
						if (num6 > 0)
						{
							stringBuilder.Append("|");
						}
						stringBuilder.Append(Item.Key + "," + Item.Value);
						num6++;
					}
					using (DatabaseClient adapter = PhoenixEnvironment.GetDatabase().GetClient())
					{
						adapter.ExecuteQuery("UPDATE rooms SET icon_bg = '" + BackgroundImage + "', icon_fg = '" + ForegroundImage + "', icon_items = '" + stringBuilder.ToString() + "' WHERE Id = '" + Room.RoomId + "' LIMIT 1");
					}
					Room.myIcon = new RoomIcon(BackgroundImage, ForegroundImage, Items);

					ServerMessage Message = new ServerMessage(457);
					Message.AppendUInt(Room.RoomId);
					Message.AppendBoolean(true);
					Session.SendMessage(Message);

					ServerMessage Message2 = new ServerMessage(456);
					Message2.AppendUInt(Room.RoomId);
					Session.SendMessage(Message2);
					RoomData Data = Room.RoomData;

					ServerMessage Message3 = new ServerMessage(454);
					Message3.AppendBoolean(false);
					Data.Serialize(Message3, false, false);
					Session.SendMessage(Message3);
				}
			}
		}
Beispiel #25
0
        public void GiveBadge(GameClient Session, string Badge, Boolean InDatabase)
		{
			this.GiveBadge(Badge, 0, InDatabase);
			ServerMessage Message = new ServerMessage(832);
			Message.AppendInt32(1);
			Message.AppendInt32(4);
			Message.AppendInt32(1);
			Message.AppendUInt(PhoenixEnvironment.GetGame().GetAchievementManager().BadgeID(Badge));
			Session.SendMessage(Message);
		}
		public void parse(GameClient Session, ClientMessage Event)
		{
			Session.GetHabbo().GetBadgeComponent().ResetSlots();
			using (DatabaseClient adapter = PhoenixEnvironment.GetDatabase().GetClient())
			{
				adapter.ExecuteQuery("UPDATE user_badges SET badge_slot = '0' WHERE user_id = '" + Session.GetHabbo().Id + "'");
				goto IL_131;
			}
			IL_52:
			int num = Event.PopWiredInt32();
			string text = Event.PopFixedString();
			if (text.Length != 0)
			{
				if (!Session.GetHabbo().GetBadgeComponent().HasBadge(text) || num < 1 || num > 5)
				{
					return;
				}
				if (Session.GetHabbo().CurrentQuestId == 16u)
				{
					PhoenixEnvironment.GetGame().GetQuestManager().ProgressUserQuest(16u, Session);
				}
				Session.GetHabbo().GetBadgeComponent().GetBadge(text).Slot = num;
				using (DatabaseClient @class = PhoenixEnvironment.GetDatabase().GetClient())
				{
					@class.AddParamWithValue("slotid", num);
					@class.AddParamWithValue("badge", text);
					@class.AddParamWithValue("userid", Session.GetHabbo().Id);
					@class.ExecuteQuery("UPDATE user_badges SET badge_slot = @slotid WHERE badge_id = @badge AND user_id = @userid LIMIT 1");
				}
			}
			IL_131:
			if (Event.RemainingLength > 0)
			{
				goto IL_52;
			}
			ServerMessage Message = new ServerMessage(228u);
			Message.AppendUInt(Session.GetHabbo().Id);
			Message.AppendInt32(Session.GetHabbo().GetBadgeComponent().EquippedCount);
			foreach (Badge current in Session.GetHabbo().GetBadgeComponent().BadgeList)
			{
				if (current.Slot > 0)
				{
					Message.AppendInt32(current.Slot);
					Message.AppendStringWithBreak(current.Code);
				}
			}
			if (Session.GetHabbo().InRoom && PhoenixEnvironment.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId) != null)
			{
				PhoenixEnvironment.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId).SendMessage(Message, null);
			}
			else
			{
				Session.SendMessage(Message);
			}
		}
Beispiel #27
0
		public void Serialize(ServerMessage Message)
		{
			Message.AppendInt32(BackgroundImage);
			Message.AppendInt32(ForegroundImage);
			Message.AppendInt32(Items.Count);
			foreach (KeyValuePair<int, int> Item in Items)
			{
				Message.AppendInt32(Item.Key);
				Message.AppendInt32(Item.Value);
			}
		}
		public void parse(GameClient Session, ClientMessage Event)
		{
			Room Room = PhoenixEnvironment.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId);
			if (Room != null && Room.CheckRights(Session, true) && Room.Event != null)
			{
				Room.Event = null;
				ServerMessage Message = new ServerMessage(370);
				Message.AppendStringWithBreak("-1");
				Room.SendMessage(Message, null);
			}
		}
 public static ServerMessage SerializeSongInventory(Hashtable songs)
 {
     ServerMessage message = new ServerMessage(258);
     message.AppendInt32(songs.Count);
     foreach (UserItem item in songs.Values)
     {
         int i = Convert.ToInt32(item.ExtraData);
         message.AppendInt32((int)item.Id);
         message.AppendInt32(i);
     }
     return message;
 }
		public void AddEffect(int EffectId, int Duration)
		{
			using (DatabaseClient adapter = PhoenixEnvironment.GetDatabase().GetClient())
			{
				adapter.ExecuteQuery("INSERT INTO user_effects (user_id,effect_id,total_duration,is_activated,activated_stamp) VALUES ('" + UserId + "','" + EffectId + "','" + Duration + "','0','0')");
			}
			this.Effects.Add(new AvatarEffect(EffectId, Duration, false, 0.0));
			ServerMessage Message = new ServerMessage(461);
			Message.AppendInt32(EffectId);
			Message.AppendInt32(Duration);
			this.GetClient().SendMessage(Message);
		}
Beispiel #31
0
        public void LoadRoomForUser()
        {
            Room room = PhoenixEnvironment.GetGame().GetRoomManager().GetRoom(this.Session.GetHabbo().LoadingRoom);

            if (room != null && this.Session.GetHabbo().LoadingChecksPassed)
            {
                ServerMessage Message = new ServerMessage(69);
                Message.AppendStringWithBreak(room.ModelName);
                Message.AppendUInt(room.RoomId);
                this.Session.SendMessage(Message);
                if (this.Session.GetHabbo().SpectatorMode)
                {
                    ServerMessage Message2 = new ServerMessage(254);
                    this.Session.SendMessage(Message2);
                }
                if (room.Type == "private")
                {
                    if (room.Wallpaper != "0.0")
                    {
                        ServerMessage Message3 = new ServerMessage(46);
                        Message3.AppendStringWithBreak("wallpaper");
                        Message3.AppendStringWithBreak(room.Wallpaper);
                        this.Session.SendMessage(Message3);
                    }
                    if (room.Floor != "0.0")
                    {
                        ServerMessage Logging = new ServerMessage(46);
                        Logging.AppendStringWithBreak("floor");
                        Logging.AppendStringWithBreak(room.Floor);
                        this.Session.SendMessage(Logging);
                    }
                    ServerMessage Message5 = new ServerMessage(46);
                    Message5.AppendStringWithBreak("landscape");
                    Message5.AppendStringWithBreak(room.Landscape);
                    this.Session.SendMessage(Message5);
                    if (room.CheckRights(this.Session, true))
                    {
                        ServerMessage Message6 = new ServerMessage(42);
                        this.Session.SendMessage(Message6);
                        ServerMessage Message7 = new ServerMessage(47);
                        this.Session.SendMessage(Message7);
                    }
                    else
                    {
                        if (room.CheckRights(this.Session))
                        {
                            ServerMessage Message6 = new ServerMessage(42);
                            this.Session.SendMessage(Message6);
                        }
                    }
                    ServerMessage Message8 = new ServerMessage(345);
                    if (this.Session.GetHabbo().RatedRooms.Contains(room.RoomId) || room.CheckRights(this.Session, true))
                    {
                        Message8.AppendInt32(room.Score);
                    }
                    else
                    {
                        Message8.AppendInt32(-1);
                    }
                    this.Session.SendMessage(Message8);
                    if (room.HasOngoingEvent)
                    {
                        this.Session.SendMessage(room.Event.Serialize(this.Session));
                    }
                    else
                    {
                        ServerMessage Message9 = new ServerMessage(370);
                        Message9.AppendStringWithBreak("-1");
                        this.Session.SendMessage(Message9);
                    }
                }
                this.GetAdvertisement();
            }
        }
Beispiel #32
0
 public GameClientMessageHandler(GameClient Session)
 {
     this.Session         = Session;
     this.RequestHandlers = new RequestHandler[HIGHEST_MESSAGE_ID];
     this.Response        = new ServerMessage(0);
 }
Beispiel #33
0
 public void PrepareRoomForUser(uint Id, string Password)
 {
     this.ClearRoomLoading();
     if (PhoenixEnvironment.GetGame().GetRoomManager().GenerateRoomData(Id) != null)
     {
         if (this.Session.GetHabbo().InRoom)
         {
             Room room = PhoenixEnvironment.GetGame().GetRoomManager().GetRoom(this.Session.GetHabbo().CurrentRoomId);
             if (room != null)
             {
                 room.RemoveUserFromRoom(this.Session, false, false);
             }
         }
         Room room2 = PhoenixEnvironment.GetGame().GetRoomManager().LoadRoom(Id);
         if (room2 != null)
         {
             this.Session.GetHabbo().LoadingRoom = Id;
             if (room2.UserIsBanned(this.Session.GetHabbo().Id))
             {
                 if (!room2.HasBanExpired(this.Session.GetHabbo().Id))
                 {
                     ServerMessage Message = new ServerMessage(224);
                     Message.AppendInt32(4);
                     this.Session.SendMessage(Message);
                     ServerMessage Message2 = new ServerMessage(18);
                     this.Session.SendMessage(Message2);
                     return;
                 }
                 room2.RemoveBan(this.Session.GetHabbo().Id);
             }
             if (room2.UsersNow >= room2.UsersMax && !PhoenixEnvironment.GetGame().GetRoleManager().RankHasRight(this.Session.GetHabbo().Rank, "acc_enter_fullrooms") && !this.Session.GetHabbo().Vip)
             {
                 ServerMessage Message = new ServerMessage(224);
                 Message.AppendInt32(1);
                 this.Session.SendMessage(Message);
                 ServerMessage Message2 = new ServerMessage(18u);
                 this.Session.SendMessage(Message2);
             }
             else
             {
                 if (room2.Type == "public")
                 {
                     if ((room2.State > 0) && !this.Session.GetHabbo().HasRole("acc_restrictedrooms"))
                     {
                         this.Session.SendNotif("This public room is accessible to Phoenix staff only.");
                         ServerMessage Message2 = new ServerMessage(18);
                         this.Session.SendMessage(Message2);
                         return;
                     }
                     ServerMessage Message3 = new ServerMessage(166);
                     Message3.AppendStringWithBreak("/client/public/" + room2.ModelName + "/0");
                     this.Session.SendMessage(Message3);
                 }
                 else if (room2.Type == "private")
                 {
                     ServerMessage Logging = new ServerMessage(19);
                     this.Session.SendMessage(Logging);
                     if (this.Session.GetHabbo().IsTeleporting&& (room2.GetItem(this.Session.GetHabbo().TeleporterId) == null))
                     {
                         this.Session.GetHabbo().IsTeleporting = false;
                         this.Session.GetHabbo().TeleporterId  = 0;
                         ServerMessage Message5 = new ServerMessage(131);
                         this.Session.SendMessage(Message5);
                         return;
                     }
                     if (!this.Session.GetHabbo().HasRole("acc_enter_anyroom") && !room2.CheckRights(this.Session, true) && !this.Session.GetHabbo().IsTeleporting)
                     {
                         if (room2.State == 1)
                         {
                             if (room2.UserCount == 0)
                             {
                                 ServerMessage Message5 = new ServerMessage(131);
                                 this.Session.SendMessage(Message5);
                                 return;
                             }
                             ServerMessage Message6 = new ServerMessage(91);
                             Message6.AppendStringWithBreak("");
                             this.Session.SendMessage(Message6);
                             this.Session.GetHabbo().Waitingfordoorbell = true;
                             ServerMessage Message7 = new ServerMessage(91);
                             Message7.AppendStringWithBreak(this.Session.GetHabbo().Username);
                             room2.method_61(Message7);
                             return;
                         }
                         if (room2.State == 2 && Password.ToLower() != room2.Password.ToLower())
                         {
                             ServerMessage Message8 = new ServerMessage(33);
                             Message8.AppendInt32(-100002);
                             this.Session.SendMessage(Message8);
                             ServerMessage Message2 = new ServerMessage(18);
                             this.Session.SendMessage(Message2);
                             return;
                         }
                     }
                     ServerMessage Message3 = new ServerMessage(166);
                     Message3.AppendStringWithBreak("/client/private/" + room2.RoomId + "/Id");
                     this.Session.SendMessage(Message3);
                 }
                 this.Session.GetHabbo().LoadingChecksPassed = true;
                 this.LoadRoomForUser();
             }
         }
     }
 }