internal void ChangeMotto() { string Motto = PiciEnvironment.FilterInjectionChars(Request.PopFixedString()); if (Motto == Session.GetHabbo().Motto) // Prevents spam? { return; } //if (Motto.Length < 0) //{ // return; // trying to fk the client :D //} Congratulations. The string length can not hold calue < 0. Stupid -_-" Session.GetHabbo().Motto = Motto; using (IQueryAdapter dbClient = PiciEnvironment.GetDatabaseManager().getQueryreactor()) { dbClient.setQuery("UPDATE users SET motto = @motto WHERE id = '" + Session.GetHabbo().Id + "'"); dbClient.addParameter("motto", Motto); dbClient.runQuery(); } PiciEnvironment.GetGame().GetQuestManager().ProgressUserQuest(Session, HabboHotel.Quests.QuestType.PROFILE_CHANGE_MOTTO); if (Session.GetHabbo().InRoom) { Room Room = Session.GetHabbo().CurrentRoom; if (Room == null) { return; } RoomUser User = Room.GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id); if (User == null) { return; } ServerMessage RoomUpdate = new ServerMessage(266); RoomUpdate.Append(User.VirtualId); RoomUpdate.Append(Session.GetHabbo().Look); RoomUpdate.Append(Session.GetHabbo().Gender.ToLower()); RoomUpdate.Append(Session.GetHabbo().Motto); RoomUpdate.Append(Session.GetHabbo().AchievementPoints); Room.SendMessage(RoomUpdate); } PiciEnvironment.GetGame().GetAchievementManager().ProgressUserAchievement(Session, "ACH_Motto", 1); }
internal void deleteMission() { string TargetUser = Params[1]; GameClient TargetClient = null; Room TargetRoom = Session.GetHabbo().CurrentRoom; TargetClient = PiciEnvironment.GetGame().GetClientManager().GetClientByUsername(TargetUser); if (TargetClient == null) { Session.SendNotif(LanguageLocale.GetValue("input.usernotfound")); return; } if (Session.GetHabbo().Rank <= TargetClient.GetHabbo().Rank) { Session.SendNotif(LanguageLocale.GetValue("user.notpermitted")); return; } TargetClient.GetHabbo().Motto = LanguageLocale.GetValue("user.unacceptable_motto"); //TODO update motto PiciEnvironment.GetGame().GetModerationTool().LogStaffEntry(Session.GetHabbo().Username, TargetClient.GetHabbo().Username, "mission removal", "removed mission"); Room Room = TargetClient.GetHabbo().CurrentRoom; if (Room == null) { return; } RoomUser User = Room.GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id); if (User == null) { return; } ServerMessage RoomUpdate = new ServerMessage(266); RoomUpdate.Append(User.VirtualId); RoomUpdate.Append(Session.GetHabbo().Look); RoomUpdate.Append(Session.GetHabbo().Gender.ToLower()); RoomUpdate.Append(Session.GetHabbo().Motto); Room.SendMessage(RoomUpdate); }
internal void commands() { ServerMessage nMessage = new ServerMessage(); nMessage.Init(810); nMessage.Append(1); nMessage.Append(ChatCommandRegister.GenerateCommandList(Session)); Session.GetConnection().SendData(nMessage.GetBytes()); }
internal void roomalert() { Room TargetRoom = Session.GetHabbo().CurrentRoom; TargetRoom = PiciEnvironment.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId); if (TargetRoom == null) return; string Msg = MergeParams(Params, 1); ServerMessage nMessage = new ServerMessage(); nMessage.Init(161); nMessage.Append(Msg); PiciEnvironment.GetGame().GetModerationTool().LogStaffEntry(Session.GetHabbo().Username, string.Empty, "Alert", "Room alert with message [" + Msg + "]"); TargetRoom.QueueRoomMessage(nMessage); }
internal void processCommand(String data) { String header = data.Split(Convert.ToChar(1))[0]; String param = data.Split(Convert.ToChar(1))[1]; Logging.WriteLine("[MUSConnection.ProcessCommand]: " + data); GameClient Client = null; switch (header.ToLower()) { case "updatecredits": { if (param == "ALL") { // PiciEnvironment.GetGame().GetClientManager().GetClient() } else { Client = PiciEnvironment.GetGame().GetClientManager().GetClientByUserID(uint.Parse(param)); if (Client == null) { return; } DataRow newCredits; using (IQueryAdapter dbClient = PiciEnvironment.GetDatabaseManager().getQueryreactor()) { dbClient.setQuery("SELECT credits FROM users WHERE id = @userid"); dbClient.addParameter("userid", (int)Client.GetHabbo().Id); newCredits = dbClient.getRow(); } Client.GetHabbo().Credits = (int)newCredits["credits"]; Client.GetHabbo().UpdateCreditsBalance(); } break; } case "signout": { PiciEnvironment.GetGame().GetClientManager().GetClientByUserID(uint.Parse(param)).Disconnect(); break; } case "ha": { //String extradata = data.Split(Convert.ToChar(1))[2]; ServerMessage HotelAlert = new ServerMessage(810); HotelAlert.Append(1); HotelAlert.Append(LanguageLocale.GetValue("hotelallert.notice") + "\r\n" + param + "\r\n"); /*if (extradata.Contains("://")) { Console.WriteLine("TEST"); HotelAlert.Append(extradata); }*/ PiciEnvironment.GetGame().GetClientManager().QueueBroadcaseMessage(HotelAlert); break; } case "useralert": { String extradata = data.Split(Convert.ToChar(1))[2]; String url = extradata.Split(Convert.ToChar(1))[0]; GameClient TargetClient = null; TargetClient = PiciEnvironment.GetGame().GetClientManager().GetClientByUsername(param); if (TargetClient == null) { return; } if (url.Contains("://")) { extradata = extradata + Convert.ToChar(2) + url; } TargetClient.SendNotif(extradata); break; } default: { Logging.WriteLine("Unrecognized MUS packet: " + data); break; } } }
internal ServerMessage SerializeMusicDiscs() { ServerMessage Message = new ServerMessage(333); Message.Append(discs.Count); foreach (UserItem SongDisk in discs.Values) { uint SongId = 0; uint.TryParse(SongDisk.ExtraData, out SongId); Message.Append(SongDisk.Id); Message.Append(SongId); } return Message; }
internal void ChangeMotto() { string Motto = PiciEnvironment.FilterInjectionChars(Request.PopFixedString()); if (Motto == Session.GetHabbo().Motto) // Prevents spam? { return; } //if (Motto.Length < 0) //{ // return; // trying to fk the client :D //} Congratulations. The string length can not hold calue < 0. Stupid -_-" Session.GetHabbo().Motto = Motto; using (IQueryAdapter dbClient = PiciEnvironment.GetDatabaseManager().getQueryreactor()) { dbClient.setQuery("UPDATE users SET motto = @motto WHERE id = '" + Session.GetHabbo().Id + "'"); dbClient.addParameter("motto", Motto); dbClient.runQuery(); } PiciEnvironment.GetGame().GetQuestManager().ProgressUserQuest(Session, HabboHotel.Quests.QuestType.PROFILE_CHANGE_MOTTO); if (Session.GetHabbo().InRoom) { Room Room = Session.GetHabbo().CurrentRoom; if (Room == null) { return; } RoomUser User = Room.GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id); if (User == null) { return; } ServerMessage RoomUpdate = new ServerMessage(266); RoomUpdate.Append(User.VirtualId); RoomUpdate.Append(Session.GetHabbo().Look); RoomUpdate.Append(Session.GetHabbo().Gender.ToLower()); RoomUpdate.Append(Session.GetHabbo().Motto); RoomUpdate.Append(Session.GetHabbo().AchievementPoints); Room.SendMessage(RoomUpdate); } PiciEnvironment.GetGame().GetAchievementManager().ProgressUserAchievement(Session, "ACH_Motto", 1); }
public void Invoke(GameClient Session, ClientMessage Request) { ServerMessage InitCrypto = new ServerMessage(MessageComposerIds.InitCryptoMessageComposer); InitCrypto.Append(default(int)); }
internal void GiveRespect() { Room Room = PiciEnvironment.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId); if (Room == null || Session.GetHabbo().DailyRespectPoints <= 0) { return; } RoomUser User = Room.GetRoomUserManager().GetRoomUserByHabbo(Request.PopWiredUInt()); if (User == null || User.GetClient().GetHabbo().Id == Session.GetHabbo().Id || User.IsBot) { return; } PiciEnvironment.GetGame().GetQuestManager().ProgressUserQuest(Session, HabboHotel.Quests.QuestType.SOCIAL_RESPECT); PiciEnvironment.GetGame().GetAchievementManager().ProgressUserAchievement(Session, "ACH_RespectEarned", 1); PiciEnvironment.GetGame().GetAchievementManager().ProgressUserAchievement(User.GetClient(), "ACH_RespectGiven", 1); Session.GetHabbo().DailyRespectPoints--; User.GetClient().GetHabbo().Respect++; using (IQueryAdapter dbClient = PiciEnvironment.GetDatabaseManager().getQueryreactor()) { dbClient.runFastQuery("UPDATE users SET respect = respect + 1 WHERE id = " + User.GetClient().GetHabbo().Id); dbClient.runFastQuery("UPDATE users SET daily_respect_points = daily_respect_points - 1 WHERE id = " + Session.GetHabbo().Id); } // FxkqUzYP_ ServerMessage Message = new ServerMessage(440); Message.Append(User.GetClient().GetHabbo().Id); Message.Append(User.GetClient().GetHabbo().Respect); Room.SendMessage(Message); }
internal void Dance() { Room Room = PiciEnvironment.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId); if (Room == null) { return; } RoomUser User = Room.GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id); if (User == null) { return; } User.Unidle(); int DanceId = Request.PopWiredInt32(); DanceId = 0; if (DanceId > 0 && User.CarryItemID > 0) { User.CarryItem(0); } User.DanceId = DanceId; ServerMessage DanceMessage = new ServerMessage(480); DanceMessage.Append(User.VirtualId); DanceMessage.Append(DanceId); Room.SendMessage(DanceMessage); PiciEnvironment.GetGame().GetQuestManager().ProgressUserQuest(Session, HabboHotel.Quests.QuestType.SOCIAL_DANCE); }
internal void Whisper() { if (PiciEnvironment.SystemMute) return; if (Session == null || Session.GetHabbo() == null) return; Room Room = Session.GetHabbo().CurrentRoom; if (Room == null) { return; } if (Session.GetHabbo().Muted) { Session.SendNotif(LanguageLocale.GetValue("user.ismuted")); return; } if (Room.RoomMuted) return; string Params = PiciEnvironment.FilterInjectionChars(Request.PopFixedString()); string ToUser = Params.Split(' ')[0]; string Message = Params.Substring(ToUser.Length + 1); Message = LanguageLocale.FilterSwearwords(Message); RoomUser User = Room.GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id); RoomUser User2 = Room.GetRoomUserManager().GetRoomUserByHabbo(ToUser); ServerMessage TellMsg = new ServerMessage(); TellMsg.Init(25); TellMsg.Append(User.VirtualId); TellMsg.Append(Message); TellMsg.AppendBoolean(false); if (User != null && !User.IsBot) { User.GetClient().SendMessage(TellMsg); } User.Unidle(); if (User2 != null && !User2.IsBot) { if (!User2.GetClient().GetHabbo().MutedUsers.Contains(Session.GetHabbo().Id)) User2.GetClient().SendMessage(TellMsg); } TimeSpan SinceLastMessage = DateTime.Now - FloodTime; if (SinceLastMessage.Seconds > 4) FloodCount = 0; if (SinceLastMessage.Seconds < 4 && FloodCount > 5 && Session.GetHabbo().Rank < 5) { ServerMessage Packet = new ServerMessage(27); Packet.Append(30); //Blocked for 30sec User.GetClient().SendMessage(Packet); return; } FloodTime = DateTime.Now; FloodCount++; List<RoomUser> ToNotify = Room.GetRoomUserManager().GetRoomUserByRank(4); if (ToNotify.Count > 0) { ServerMessage NotifyMessage = new ServerMessage(); NotifyMessage.Init(25); NotifyMessage.Append(User.VirtualId); NotifyMessage.Append(LanguageLocale.GetValue("moderation.whisper") + ToUser + ": " + Message); NotifyMessage.AppendBoolean(false); foreach (RoomUser user in ToNotify) if (user != null) if (user.HabboId != User2.HabboId && user.HabboId != User.HabboId) if (user.GetClient() != null) user.GetClient().SendMessage(NotifyMessage); } }
internal void Wave() { Room Room = PiciEnvironment.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId); if (Room == null) { return; } RoomUser User = Room.GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id); if (User == null) { return; } User.Unidle(); User.DanceId = 0; ServerMessage Message = new ServerMessage(481); Message.Append(User.VirtualId); Room.SendMessage(Message); PiciEnvironment.GetGame().GetQuestManager().ProgressUserQuest(Session, HabboHotel.Quests.QuestType.SOCIAL_WAVE); }
internal void StopTyping() { Room Room = PiciEnvironment.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId); if (Room == null) { return; } RoomUser User = Room.GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id); if (User == null) { return; } ServerMessage Message = new ServerMessage(361); Message.Append(User.VirtualId); Message.AppendBoolean(false); Room.SendMessage(Message); }
internal void StopEvent() { Room Room = PiciEnvironment.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId); if (Room == null || !Room.CheckRights(Session, true) || Room.Event == null) { return; } //Room.Event = null; ServerMessage Message = new ServerMessage(370); Message.Append("-1"); Room.SendMessage(Message); PiciEnvironment.GetGame().GetRoomManager().GetEventManager().QueueRemoveEvent(Room.RoomData, Room.Event.Category); }
internal void MoveWallItem() { Room Room = PiciEnvironment.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId); if (Room == null || !Room.CheckRights(Session)) { return; } uint itemID = Request.PopWiredUInt(); string wallPositionData = Request.PopFixedString(); RoomItem Item = Room.GetRoomItemHandler().GetItem(itemID); if (Item == null) return; try { WallCoordinate coordinate = new WallCoordinate(":" + wallPositionData.Split(':')[1]); Item.wallCoord = coordinate; } catch { Response.Init(516); Response.Append(11); SendResponse(); return; } Room.GetRoomItemHandler().UpdateItem(Item); ServerMessage LeaveMessage = new ServerMessage(84); LeaveMessage.AppendRawUInt(Item.Id); LeaveMessage.Append(string.Empty); LeaveMessage.AppendBoolean(false); Room.SendMessage(LeaveMessage); ServerMessage Message = new ServerMessage(83); Item.Serialize(Message); Room.SendMessage(Message); }
internal void linkAlert() { Room TargetRoom = Session.GetHabbo().CurrentRoom; // Hotel Alert pluss link :hal <link> <message> string Link = Params[1]; string Message = MergeParams(Params, 2); ServerMessage nMessage = new ServerMessage(161); nMessage.Append(LanguageLocale.GetValue("hotelallert.notice") + "\r\n" + Message + "\r\n-" + Session.GetHabbo().Username); nMessage.Append(Link); PiciEnvironment.GetGame().GetClientManager().QueueBroadcaseMessage(nMessage); //PiciEnvironment.messagingBot.SendMassMessage(new PublicMessage(string.Format("[{0}] => [{1}] + [{2}]", Session.GetHabbo().Username, Link, Message)), true); }
internal static void SendMassMessage(string Message) { try { ServerMessage HotelAlert = new ServerMessage(808); HotelAlert.Append("Important Notice from Hotel Management"); HotelAlert.Append(Message); PiciEnvironment.GetGame().GetClientManager().QueueBroadcaseMessage(HotelAlert); } catch (Exception e) { Logging.HandleException(e, "PiciEnvironment.SendMassMessage"); } }
internal void ApplyRoomEffect() { Room Room = PiciEnvironment.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId); if (Room == null || !Room.CheckRights(Session, true)) { return; } UserItem Item = Session.GetHabbo().GetInventoryComponent().GetItem(Request.PopWiredUInt()); if (Item == null) { return; } string type = "floor"; if (Item.GetBaseItem().Name.ToLower().Contains("wallpaper")) { type = "wallpaper"; } else if (Item.GetBaseItem().Name.ToLower().Contains("landscape")) { type = "landscape"; } switch (type) { case "floor": Room.Floor = Item.ExtraData; Room.RoomData.Floor = Item.ExtraData; PiciEnvironment.GetGame().GetQuestManager().ProgressUserQuest(Session, HabboHotel.Quests.QuestType.FURNI_DECORATION_FLOOR); break; case "wallpaper": Room.Wallpaper = Item.ExtraData; Room.RoomData.Wallpaper = Item.ExtraData; PiciEnvironment.GetGame().GetQuestManager().ProgressUserQuest(Session, HabboHotel.Quests.QuestType.FURNI_DECORATION_WALL); break; case "landscape": Room.Landscape = Item.ExtraData; Room.RoomData.Landscape = Item.ExtraData; break; } using (IQueryAdapter dbClient = PiciEnvironment.GetDatabaseManager().getQueryreactor()) { dbClient.setQuery("UPDATE rooms SET " + type + " = @extradata WHERE id = " + Room.RoomId); dbClient.addParameter("extradata", Item.ExtraData); dbClient.runQuery(); } Session.GetHabbo().GetInventoryComponent().RemoveItem(Item.Id, false); ServerMessage Message = new ServerMessage(46); Message.Append(type); Message.Append(Item.ExtraData); Room.SendMessage(Message); }