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)
		{
			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);
			}
		}
Beispiel #3
0
 public ServerMessage PollToServerMessage(ServerMessage Message)
 {
     Message.AppendStringWithBreak(Question);
     Message.AppendInt32(Answers.Count);
     foreach (PollAnswer Answer in Answers)
     {
         Message.AppendInt32(Answer.ID);
         Message.AppendStringWithBreak(Answer.AnswerText);
     }
     return Message;
 }
		public void Handle(GameClient Session, ClientMessage Event)
		{
            ServerMessage Message = new ServerMessage(Outgoing.SoundMachinePlaylist); // Updated
			Message.AppendUInt(Session.GetHabbo().CurrentRoomId);
			Message.AppendInt32(1);
			Message.AppendInt32(1);
			Message.AppendInt32(1);
			Message.AppendStringWithBreak("Meh");
			Message.AppendStringWithBreak("Idk");
			Message.AppendInt32(1);
			Session.SendMessage(Message);
		}
		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.WardrobeData); //Rootkit
     Message.AppendInt32(Session.GetHabbo().GetSubscriptionManager().HasSubscription("habbo_club") ? 1 : 0);
     if (Session.GetHabbo().GetSubscriptionManager().HasSubscription("habbo_club"))
     {
         using (DatabaseClient @class = Essential.GetDatabase().GetClient())
         {
             @class.AddParamWithValue("userid", Session.GetHabbo().Id);
             DataTable dataTable = @class.ReadDataTable("SELECT slot_id, look, gender FROM user_wardrobe WHERE user_id = @userid;");
             if (dataTable == null)
             {
                 Message.AppendInt32(0);
             }
             else
             {
                 Message.AppendInt32(dataTable.Rows.Count);
                 foreach (DataRow dataRow in dataTable.Rows)
                 {
                     Message.AppendUInt((uint)dataRow["slot_id"]);
                     Message.AppendStringWithBreak((string)dataRow["look"]);
                     Message.AppendStringWithBreak((string)dataRow["gender"]);
                 }
             }
         }
         Session.SendMessage(Message);
     }
     else
     {
         using (DatabaseClient @class = Essential.GetDatabase().GetClient())
         {
             @class.AddParamWithValue("userid", Session.GetHabbo().Id);
             DataTable dataTable = @class.ReadDataTable("SELECT slot_id, look, gender FROM user_wardrobe WHERE user_id = @userid;");
             if (dataTable == null)
             {
                 Message.AppendInt32(0);
             }
             else
             {
                 Message.AppendInt32(dataTable.Rows.Count);
                 foreach (DataRow dataRow in dataTable.Rows)
                 {
                     Message.AppendUInt((uint)dataRow["slot_id"]);
                     Message.AppendStringWithBreak((string)dataRow["look"]);
                     Message.AppendStringWithBreak((string)dataRow["gender"]);
                 }
             }
         }
         Session.SendMessage(Message);
     }
 }
		public void Handle(GameClient Session, ClientMessage Event)
		{
			Room @class = Essential.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId);
			if (@class != null)
			{
				RoomItem class2 = @class.method_28(Event.PopWiredUInt());
				if (class2 != null && !(class2.GetBaseItem().InteractionType.ToLower() != "postit"))
				{
                    ServerMessage Message = new ServerMessage(Outgoing.OpenPostIt); // Update
					Message.AppendStringWithBreak(class2.uint_0.ToString());
					Message.AppendStringWithBreak(class2.ExtraData);
					Session.SendMessage(Message);
				}
			}
		}
		public void Handle(GameClient Session, ClientMessage Event)
		{
			try
			{
				Room @class = Essential.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId);
                if (@class != null && @class.CheckRights(Session, true) && @class.MoodlightData != null)
				{
                    ServerMessage Message = new ServerMessage(Outgoing.DimmerData); // Updated
					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(Essential.BooleanToString(current.BackgroundOnly)) + 1);
						Message.AppendStringWithBreak(current.ColorCode);
						Message.AppendInt32(current.ColorIntensity);
					}
					Session.SendMessage(Message);
				}
			}
			catch
			{
			}
		}
        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);
                }
                    
                
            }
        }
		public void Handle(GameClient session, ClientMessage message)
		{
			if (session != null && session.GetHabbo() != null)
			{
				Room room = Essential.GetGame().GetRoomManager().GetRoom(session.GetHabbo().CurrentRoomId);

				if (room != null)
				{
					RoomUser targetUser = room.GetRoomUserByHabbo(message.PopWiredUInt());

					if (targetUser != null && !targetUser.IsBot && targetUser.GetClient() != null)
					{
                        ServerMessage Message = new ServerMessage(Outgoing.UpdateBadges); // Updated

						Message.AppendUInt(targetUser.GetClient().GetHabbo().Id);
						Message.AppendInt32(targetUser.GetClient().GetHabbo().GetBadgeComponent().VisibleBadges);

						using (TimedLock.Lock(targetUser.GetClient().GetHabbo().GetBadgeComponent().GetBadges()))
						{
							foreach (Badge current in targetUser.GetClient().GetHabbo().GetBadgeComponent().GetBadges())
							{
								if (current.Slot > 0)
								{
									Message.AppendInt32(current.Slot);
									Message.AppendStringWithBreak(current.Code);
								}
							}
						}

						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)
        {
            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)
		{
			int num = Event.PopWiredInt32();
			List<uint> list = new List<uint>();
			for (int i = 0; i < num; i++)
			{
				list.Add(Event.PopWiredUInt());
			}
			string text = Event.PopFixedString();
			
				text = Essential.DoFilter(text, true, false);
				text = ChatCommandHandler.ApplyFilter(text);
                ServerMessage Message = new ServerMessage(Outgoing.InstantInvite); // Update
				Message.AppendUInt(Session.GetHabbo().Id);
				Message.AppendStringWithBreak(text);
				foreach (uint current in list)
				{
					if (Session.GetHabbo().GetMessenger().method_9(Session.GetHabbo().Id, current))
					{
						GameClient @class = Essential.GetGame().GetClientManager().GetClient(current);
						if (@class == null)
						{
							break;
						}
						@class.SendMessage(Message);
					}
				}
		}
        public void Handle(GameClient Session, ClientMessage Event)
        {
            RoomData @class = Essential.GetGame().GetRoomManager().method_12(Session.GetHabbo().uint_2);

            ServerMessage Message = new ServerMessage(Outgoing.InitialRoomInformation); // P
            Message.AppendStringWithBreak(@class.ModelName);
            Message.AppendUInt(@class.Id);
            Session.SendMessage(Message);

        }
		public void Handle(GameClient Session, ClientMessage Event)
		{
			Session.GetHabbo().GetBadgeComponent().ResetBadgeSlots();
			using (DatabaseClient @class = Essential.GetDatabase().GetClient())
			{
				@class.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 > 0 && Essential.GetGame().GetQuestManager().GetQuestAction(Session.GetHabbo().CurrentQuestId) == "WEARBADGE")
				{
                    Essential.GetGame().GetQuestManager().ProgressUserQuest(Session.GetHabbo().CurrentQuestId, Session);
				}
				Session.GetHabbo().GetBadgeComponent().GetBadgeByCode(text).Slot = num;
				using (DatabaseClient @class = Essential.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(Outgoing.UpdateBadges); // Updated
			Message.AppendUInt(Session.GetHabbo().Id);
			Message.AppendInt32(Session.GetHabbo().GetBadgeComponent().VisibleBadges);
			foreach (Badge current in Session.GetHabbo().GetBadgeComponent().GetBadges())
			{
				if (current.Slot > 0)
				{
					Message.AppendInt32(current.Slot);
					Message.AppendStringWithBreak(current.Code);
				}
			}
            if (Session.GetHabbo().InRoom && Essential.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId) != null)
			{
				Essential.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId).SendMessage(Message, null);
			}
			else
			{
				Session.SendMessage(Message);
			}
		}
		public void Handle(GameClient Session, ClientMessage Event)
		{
			Room @class = Essential.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId);
            if (@class != null && @class.CheckRights(Session, true) && @class.Event != null)
			{
				@class.Event = null;
                ServerMessage Message = new ServerMessage(Outgoing.RoomEvent); // Updated
				Message.AppendStringWithBreak("-1");
				@class.SendMessage(Message, null);
			}
		}
		public void Handle(GameClient Session, ClientMessage Event)
		{
			string text = Essential.FilterString(Event.PopFixedString());
			if (text.Length <= 50 && !(text != ChatCommandHandler.ApplyFilter(text)) && !(text == Session.GetHabbo().Motto))
			{
				Session.GetHabbo().Motto = text;
				using (DatabaseClient @class = Essential.GetDatabase().GetClient())
				{
					@class.AddParamWithValue("motto", text);
					@class.ExecuteQuery("UPDATE users SET motto = @motto WHERE Id = '" + Session.GetHabbo().Id + "' LIMIT 1");
				}
                if (Session.GetHabbo().CurrentQuestId > 0 && Essential.GetGame().GetQuestManager().GetQuestAction(Session.GetHabbo().CurrentQuestId) == "CHANGEMOTTO")
				{
                    Essential.GetGame().GetQuestManager().ProgressUserQuest(Session.GetHabbo().CurrentQuestId, Session);
				}
                if (Session.GetHabbo().InRoom)
				{
					Room class14_ = Session.GetHabbo().CurrentRoom;
					if (class14_ == null)
					{
						return;
					}
					RoomUser class2 = class14_.GetRoomUserByHabbo(Session.GetHabbo().Id);
					if (class2 == null)
					{
						return;
					}
                    ServerMessage Message2 = new ServerMessage(Outgoing.UpdateUserInformation); //Rootkit
					Message2.AppendInt32(class2.VirtualId);
					Message2.AppendStringWithBreak(Session.GetHabbo().Figure);
					Message2.AppendStringWithBreak(Session.GetHabbo().Gender.ToLower()); 
					Message2.AppendStringWithBreak(Session.GetHabbo().Motto);
					Message2.AppendInt32(Session.GetHabbo().AchievementScore);
				//	Message2.AppendStringWithBreak("");
					class14_.SendMessage(Message2, null);
				}

                Session.GetHabbo().MottoAchievementsCompleted();
			}
		}
Beispiel #18
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;
            }
Beispiel #19
0
        public void ShowResults()
        {
            Thread.Sleep(30000);
            ServerMessage InfobusQuestion = new ServerMessage(Outgoing.InfobusPoll2); 
            InfobusQuestion.AppendStringWithBreak(Question);
            InfobusQuestion.AppendInt32(Answers.Count);
            foreach (PollAnswer Answer in Answers)
            {
                InfobusQuestion.AppendInt32(Answer.ID);
                InfobusQuestion.AppendStringWithBreak(Answer.AnswerText);

                foreach (int AnswerID in Votes)
                {
                    if (AnswerID == Answer.ID)
                    {
                        AnswerCount++;
                    }
                }
                InfobusQuestion.AppendInt32(AnswerCount);
                AnswerCount = 0;
            }
            InfobusQuestion.AppendInt32(Votes.Count);
            this.PollRoom.SendMessage(InfobusQuestion, null);
        }
		public void Handle(GameClient Session, ClientMessage Event)
		{
			if (Session.GetHabbo().OwnedRooms.Count <= ServerConfiguration.RoomUserLimit)
			{
				string Name = Essential.FilterString(Event.PopFixedString());
				string Model = Event.PopFixedString();
			//	Event.PopFixedString();
                RoomData NewRoom = Essential.GetGame().GetRoomManager().CreateRoom(Session, Name, Model);
                if (NewRoom != null)
				{
                    ServerMessage Message = new ServerMessage(Outgoing.OnCreateRoomInfo); // Update
                    Message.AppendUInt(NewRoom.Id);
                    Message.AppendStringWithBreak(NewRoom.Name);
					Session.SendMessage(Message);
				}
			}
		}
Beispiel #21
0
		public override void OnUserSay(RoomUser RoomUser_0, string string_0)
		{
            if (base.GetRoom().method_100(base.GetRoomUser().X, base.GetRoomUser().Y, RoomUser_0.X, RoomUser_0.Y) <= 8)
			{
                BotResponse @class = base.GetRoomBot().GetResponse(string_0);
				if (@class != null)
				{
                    string text = base.GetRoom().method_20(RoomUser_0, @class.Response);
					string text2 = @class.ResponseType.ToLower();
					if (text2 != null)
					{
						if (!(text2 == "say"))
						{
							if (!(text2 == "shout"))
							{
								if (text2 == "whisper")
								{
                                    ServerMessage Message = new ServerMessage(Outgoing.Whisp); // Updated
									Message.AppendInt32(base.GetRoomUser().VirtualId);
									Message.AppendStringWithBreak(text);
                                    Message.AppendInt32(0);
                                    Message.AppendInt32(0);
                                    Message.AppendInt32(-1);
									RoomUser_0.GetClient().SendMessage(Message);
								}
							}
							else
							{
								base.GetRoomUser().HandleSpeech(null, text, true);
							}
						}
						else
						{
							base.GetRoomUser().HandleSpeech(null, text, false);
						}
					}
					if (@class.ServeId >= 1)
					{
						RoomUser_0.CarryItem(@class.ServeId);
					}
				}
			}
		}
		public override void OnTrigger(GameClient Session, RoomItem RoomItem_0, int int_0, bool bool_0)
		{
			if (bool_0 && Session != null)
			{
				RoomItem_0.CheckExtraData3();
				ServerMessage Message = new ServerMessage(Outgoing.WiredEffect); // Update
                Message.AppendBoolean(false);
                if (Session.GetHabbo().HasFuse("wired_unlimitedselects"))
                {
                    Message.AppendInt32(1000000);
                }
                else
                {
                    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.AppendStringWithBreak("");
				Message.AppendInt32(0);
				Message.AppendInt32(8);
				Message.AppendInt32(0);
                double value = 0;
                if (RoomItem_0.string_2 != "" && double.TryParse(RoomItem_0.string_2, out value))
                    Message.AppendInt32(Convert.ToInt32(value * 2));
                else
                    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.WiredFurniTrigger); // Updated
                Message.AppendBoolean(false);
				Message.AppendInt32(0);
				Message.AppendInt32(0);
				Message.AppendInt32(RoomItem_0.GetBaseItem().Sprite);
				Message.AppendUInt(RoomItem_0.uint_0);
				Message.AppendStringWithBreak(RoomItem_0.string_2);
                Message.AppendInt32(0);
                Message.AppendInt32(0);
                Message.AppendInt32(7);
                Message.AppendInt32(0);
                Message.AppendInt32(0);
                Message.AppendInt32(0);
				Session.SendMessage(Message);
			}
		}
		public void Handle(GameClient Session, ClientMessage Event)
		{
			Room @class = Essential.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId);
			if (@class != null)
			{
				RoomUser class2 = @class.GetRoomUserByHabbo(Event.PopWiredUInt());
				if (class2 != null && class2.GetClient() != null && class2.GetClient().GetHabbo() != null && !class2.IsBot)
				{
                    ServerMessage Message = new ServerMessage(Outgoing.GetUserTags); // Updated
					Message.AppendUInt(class2.GetClient().GetHabbo().Id);
					Message.AppendInt32(class2.GetClient().GetHabbo().list_3.Count);
					using (TimedLock.Lock(class2.GetClient().GetHabbo().list_3))
					{
						foreach (string current in class2.GetClient().GetHabbo().list_3)
						{
							Message.AppendStringWithBreak(current);
						}
					}
					Session.SendMessage(Message);
				}
			}
		}
		public void Handle(GameClient Session, ClientMessage Event)
		{
			//uint num = Event.PopWiredUInt();

            RoomData @class = Essential.GetGame().GetRoomManager().method_12(13);
			if (@class != null)
			{
				if (@class.Type == "private")
				{
                    ServerMessage Message = new ServerMessage(Outgoing.RoomForward); // Updated
					Message.AppendBoolean(@class.IsPublicRoom);
					Message.AppendUInt(13);
					Session.SendMessage(Message);
				}
				else
				{
                    ServerMessage Message2 = new ServerMessage(Outgoing.RoomVisits); // Updated
                    Message2.AppendUInt(@class.Id);
                    Message2.AppendStringWithBreak(@class.CCTs);
                    Message2.AppendUInt(@class.Id);
                    Session.SendMessage(Message2);
				}
			}
		}
		public override void OnTrigger(GameClient Session, RoomItem Item, int Request, bool UserHasRights)
		{
			if (UserHasRights && Session != null)
			{
				Item.CheckExtraData4();
                ServerMessage Message = new ServerMessage(Outgoing.WiredEffect); // Updated
                Message.AppendBoolean(false);
                if (Session.GetHabbo().HasFuse("wired_unlimitedselects"))
                    Message.AppendInt32(1000000);
                else
                    Message.AppendInt32(5);
                if (Item.string_4 != "")
                {
                    Message.AppendInt32(Item.string_4.Split(',').Length);

                    foreach (string ItemId in Item.string_4.Split(','))
                    {
                        Message.AppendInt32(int.Parse(ItemId));
                    }
                }
                else
                {
                    Message.AppendInt32(0);
                }
				Message.AppendInt32(Item.GetBaseItem().Sprite);
				Message.AppendUInt(Item.uint_0);
				Message.AppendStringWithBreak("");
                Message.AppendInt32(0);
                Message.AppendInt32(0);
                Message.AppendInt32(0);
                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.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.AppendUInt(RoomItem_0.uint_0);
				Message.AppendStringWithBreak(RoomItem_0.string_1);
                Message.AppendInt32(1);
                Message.AppendInt32(1);
                Message.AppendInt32(1);
                Message.AppendInt32(3);
                Message.AppendInt32(0);
                Message.AppendInt32(0);
				Session.SendMessage(Message);
				RoomItem_0.ReqUpdate(1);
			}
		}
Beispiel #28
0
		public void method_9()
		{
            ServerMessage Message = new ServerMessage(Outgoing.TradeUpdate); // Updated
			using (TimedLock.Lock(this.class65_0))
			{
				for (int i = 0; i < this.class65_0.Length; i++)
				{
					TradeUser @class = this.class65_0[i];
					if (@class != null)
					{
						Message.AppendUInt(@class.UserId);
						Message.AppendInt32(@class.OfferedItems.Count);
						using (TimedLock.Lock(@class.OfferedItems))
						{
							foreach (UserItem current in @class.OfferedItems)
							{
								Message.AppendUInt(current.uint_0);
								Message.AppendStringWithBreak(current.GetBaseItem().Type.ToString().ToLower());
								Message.AppendUInt(current.uint_0);
								Message.AppendInt32(current.GetBaseItem().Sprite);
                                Message.AppendInt32(0); 
								Message.AppendBoolean(true);
                                Message.AppendInt32((current.GetBaseItem().InteractionType == "poster" ? 6 : 0));
                                Message.AppendStringWithBreak((current.GetBaseItem().InteractionType == "poster" ? current.string_0 : string.Empty));
                                Message.AppendInt32(0); // xmas 09 furni had a special furni tag here, with wired day (wat?)
                                Message.AppendInt32(0); // xmas 09 furni had a special furni tag here, wired month (wat?)
                                Message.AppendInt32(0); // xmas 09 furni had a special furni tag here, wired year (wat?)
								if (current.GetBaseItem().Type == 's')
								{
									Message.AppendInt32(0);
								}
							}
						}
					}
				}
			}
			this.method_13(Message);
		}
Beispiel #29
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 override void OnTrigger(GameClient Session, RoomItem Item, int Request, bool UserHasRights)
        {
            RoomUser User = Item.GetRoom().GetRoomUserByHabbo((uint)Session.GetHabbo().Id);

            if (User == null)
            {
                return;
            }

            if (Request == 0 && Item.FireWorkCount > 0 && Item.ExtraData == "1")
            {
                Item.ExtraData = "2";
                Item.UpdateState(false, true);

                if (Item.FireWorkCount > 0)
                {
                    Task T = null;
                    T = new Task(delegate() { Action(Item, T, "1"); });
                    T.Start();
                }
                else
                {
                    Task T = null;
                    T = new Task(delegate() { Action(Item, T, "0"); });
                    T.Start();
                }
            }
            else if (Request == 1 && Session.GetHabbo().ActivityPoints >= 20)
            {
              /*  ServerMessage PixelMessage = new ServerMessage(629);
                PixelMessage.AppendUInt(Item.uint_0);
                PixelMessage.AppendInt32(Item.FireWorkCount);
                PixelMessage.AppendBoolean(false);
                PixelMessage.AppendInt32(Pixels); // pixels :D
                PixelMessage.AppendBoolean(false);
                PixelMessage.AppendInt32(Fireworks); // 10 fireworks :D
                Session.SendMessage(PixelMessage);
                */
                Item.FireWorkCount += Fireworks;

                Session.GetHabbo().FireworkPixelLoadedCount += Pixels;
                Session.GetHabbo().ActivityPoints -= 20;
                Session.GetHabbo().UpdateActivityPoints(true);

                using (DatabaseClient dbClient = Essential.GetDatabase().GetClient())
                {
                    dbClient.AddParamWithValue("itemid", Item.uint_0);
                    dbClient.AddParamWithValue("sessionid", Session.GetHabbo().Id);
                    dbClient.ExecuteQuery("UPDATE items_firework SET fw_count = fw_count + '" + Fireworks + "' WHERE item_id = @itemid LIMIT 1");
                    dbClient.ExecuteQuery("UPDATE user_stats SET fireworks = fireworks + '" + Pixels + "' WHERE id = @sessionid LIMIT 1");
                }

                ServerMessage Message2 = new ServerMessage(Outgoing.Whisp);
						Message2.AppendInt32(Session.GetHabbo().CurrentRoom.GetRoomUserByHabbo(Session.GetHabbo().Id).VirtualId);
                        Message2.AppendStringWithBreak("Feuerwerk für 20 Pixel aufgeladen. Du hast "+ Session.GetHabbo().FireworkPixelLoadedCount + " Schüsse übrig.");
                        Message2.AppendInt32(0);
                        Message2.AppendInt32(0);
                        Message2.AppendInt32(-1);
						Session.SendMessage(Message2);

                if (Item.ExtraData == "0")
                {
                    Item.ExtraData = "1";
                    Item.UpdateState(true, true);
                }

                Session.GetHabbo().CheckFireworkAchievements();
            }
            else if (Request == 2)
            {
               
            }
        }