public override void HandleMessage(Yupi.Model.Domain.Habbo session, Yupi.Protocol.Buffers.ClientMessage request, Yupi.Protocol.IRouter router) { /* * Yupi.Messages.Rooms room = Yupi.GetGame().GetRoomManager().GetRoom(session.GetHabbo().CurrentRoomId); * * if (room == null || (!room.RoomData.AllowPets && !room.CheckRights(session, true))) * return; * * uint petId = request.GetUInt32(); * * RoomUser pet = room.GetRoomUserManager().GetPet(petId); * * if (pet?.PetData == null || pet.PetData.OwnerId != session.GetHabbo().Id) * return; * * pet.PetData.HaveSaddle = false; * * using (IQueryAdapter queryReactor = Yupi.GetDatabaseManager().GetQueryReactor()) * { * queryReactor.RunFastQuery( * $"UPDATE pets_data SET have_saddle = '0' WHERE id = {pet.PetData.PetId}"); * * queryReactor.RunFastQuery( * $"INSERT INTO items_rooms (user_id, item_name) VALUES ({session.GetHabbo().Id}, 'horse_saddle1');"); * } * * session.GetHabbo().GetInventoryComponent().UpdateItems(true); * * router.GetComposer<SetRoomUserMessageComposer> ().Compose (room, pet); * router.GetComposer<SerializePetMessageComposer> ().Compose (room, pet); */ throw new NotImplementedException(); }
public override void HandleMessage(Yupi.Model.Domain.Habbo session, Yupi.Protocol.Buffers.ClientMessage request, Yupi.Protocol.IRouter router) { throw new NotImplementedException(); //int onlineFriends = session.GetHabbo().GetMessenger().Friends.Count(x => x.Value.IsOnline); //router.GetComposer<LandingCommunityChallengeMessageComposer> ().Compose (session, onlineFriends); }
public override void HandleMessage(Yupi.Model.Domain.Habbo session, Yupi.Protocol.Buffers.ClientMessage request, Yupi.Protocol.IRouter router) { /* * Yupi.Messages.Rooms room = Yupi.GetGame().GetRoomManager().GetRoom(session.GetHabbo().CurrentRoomId); * * if (room == null || !room.CheckRights(session, true)) * return; * * if (room.MoodlightData == null) * { * foreach ( * RoomItem current in * room.GetRoomItemHandler() * .WallItems.Values.Where( * current => current.GetBaseItem().InteractionType == Interaction.Dimmer)) * room.MoodlightData = new MoodlightData(current.Id); * } * * if (room.MoodlightData == null) * return; * * router.GetComposer<DimmerDataMessageComposer> ().Compose (session, room.MoodlightData); */ throw new NotImplementedException(); }
public override void HandleMessage(Yupi.Model.Domain.Habbo session, Yupi.Protocol.Buffers.ClientMessage request, Yupi.Protocol.IRouter router) { string username = request.GetString(); // TODO Implement //session.Router.GetComposer<HotelClosedMessageComposer> ().Compose (session, 8, 0, false); if (username != session.Info.Name) { // TODO Should we check this and disconnect on mismatch? } // TODO Welcome message //router.GetComposer<SuperNotificationMessageComposer>().Compose(session, T._("Welcome"), T._("This is a development build")); /* * YupiWriterManager.WriteLine(request.GetString() + " joined game. With IP " + session.RemoteAddress, "Yupi.User", ConsoleColor.DarkGreen); * * if (!ServerConfigurationSettings.Data.ContainsKey("welcome.message.enabled") || * ServerConfigurationSettings.Data["welcome.message.enabled"] != "true") * return; * * if (!ServerConfigurationSettings.Data.ContainsKey("welcome.message.image") || * string.IsNullOrEmpty(ServerConfigurationSettings.Data["welcome.message.image"])) * session.SendNotifWithScroll(ServerExtraSettings.WelcomeMessage.Replace("%username%", * session.GetHabbo().Name)); * else * session.SendNotif(ServerExtraSettings.WelcomeMessage.Replace("%username%", session.GetHabbo().Name), * ServerConfigurationSettings.Data.ContainsKey("welcome.message.title") * ? ServerConfigurationSettings.Data["welcome.message.title"] * : string.Empty, ServerConfigurationSettings.Data["welcome.message.image"]); */ }
public override void HandleMessage(Yupi.Model.Domain.Habbo session, Yupi.Protocol.Buffers.ClientMessage request, Yupi.Protocol.IRouter router) { /* * Room room = Yupi.GetGame().GetRoomManager().GetRoom(session.GetHabbo().CurrentRoomId); * * if (room == null || !room.CheckRights(session)) * return; * * string userName = request.GetString(); * bool anwser = request.GetBool(); * * GameClient clientByUserName = Yupi.GetGame().GetClientManager().GetClientByUserName(userName); * * if (clientByUserName == null) * return; * * if (anwser) * { * clientByUserName.GetHabbo().LoadingChecksPassed = true; * * router.GetComposer<DoorbellOpenedMessageComposer> ().Compose (clientByUserName); * } * else if (clientByUserName.GetHabbo().CurrentRoomId != session.GetHabbo().CurrentRoomId) * { * router.GetComposer<DoorbellNoOneMessageComposer> ().Compose (clientByUserName); * } */ throw new NotImplementedException(); }
public override void HandleMessage(Yupi.Model.Domain.Habbo session, Yupi.Protocol.Buffers.ClientMessage message, Yupi.Protocol.IRouter router) { string code = message.GetString(); router.GetComposer <HotelViewHallOfFameMessageComposer>().Compose(session, code); }
public override void HandleMessage(Yupi.Model.Domain.Habbo session, Yupi.Protocol.Buffers.ClientMessage message, Yupi.Protocol.IRouter router) { string whatever = message.GetString(); // TODO What does the string contain? router.GetComposer <CitizenshipStatusMessageComposer>().Compose(session, whatever); }
public override void HandleMessage(Yupi.Model.Domain.Habbo session, Yupi.Protocol.Buffers.ClientMessage request, Yupi.Protocol.IRouter router) { /* * Yupi.Messages.Rooms room = Yupi.GetGame().GetRoomManager().GetRoom(session.GetHabbo().CurrentRoomId); * * if (room == null || !room.CheckRights(session)) * return; * * uint id = request.GetUInt32(); * string locationData = request.GetString(); * * RoomItem item = room.GetRoomItemHandler().GetItem(id); * * if (item == null) * return; * * try * { * WallCoordinate wallCoord = new WallCoordinate(":" + locationData.Split(':')[1]); * item.WallCoord = wallCoord; * } * catch * { * // TODO Silent catch * return; * } * * room.GetRoomItemHandler().AddOrUpdateItem(id); * * router.GetComposer<UpdateRoomWallItemMessageComposer> ().Compose (room, item); */ throw new NotImplementedException(); }
public override void HandleMessage(Yupi.Model.Domain.Habbo session, Yupi.Protocol.Buffers.ClientMessage request, Yupi.Protocol.IRouter router) { if (session.Room == null || !session.Room.Data.HasRights(session.Info)) { return; } int id = request.GetInteger(); string locationData = request.GetString(); /* * UserItem item = session.GetHabbo ().GetInventoryComponent ().GetItem (id); * * if (item == null) * return; * * WallCoordinate wallCoord = new WallCoordinate (":" + locationData.Split (':') [1]); * * RoomItem item2 = new RoomItem (item.Id, room.RoomId, item.BaseItem.Name, item.ExtraData, wallCoord, room, * session.GetHabbo ().Id, item.GroupId, false); * * if (room.GetRoomItemHandler ().SetWallItem (session, item2)) * session.GetHabbo ().GetInventoryComponent ().RemoveItem (id, true); */ throw new NotImplementedException(); }
public override void HandleMessage(Yupi.Model.Domain.Habbo session, Yupi.Protocol.Buffers.ClientMessage request, Yupi.Protocol.IRouter router) { uint itemId = request.GetUInt32(); uint count = request.GetUInt32(); /* * if (session?.GetHabbo() == null) * return; * Room room = session.GetHabbo().CurrentRoom; * * if (room == null || !room.CheckRights(session, true)) * return; * * RoomItem item = room.GetRoomItemHandler().GetItem(itemId); * * if (item == null) * return; * * string extraData = "state"+Convert.ToChar(9)+"0"; * * for (uint i = 1; i <= count; i++) * extraData = extraData + Convert.ToChar(9) + request.GetString(); * * item.ExtraData = extraData; * * room.GetRoomItemHandler().SetFloorItem(session, item, item.X, item.Y, item.Rot, false, false, true); */ throw new NotImplementedException(); }
public override void HandleMessage(Yupi.Model.Domain.Habbo session, Yupi.Protocol.Buffers.ClientMessage request, Yupi.Protocol.IRouter router) { uint botId = request.GetUInt32(); /* * Yupi.Messages.Rooms room = Yupi.GetGame().GetRoomManager().GetRoom(session.GetHabbo().CurrentRoomId); * RoomUser bot = room.GetRoomUserManager().GetBot(botId); * * if (session?.GetHabbo() == null || session.GetHabbo().GetInventoryComponent() == null || bot == null || * !room.CheckRights(session, true)) * return; * * session.GetHabbo().GetInventoryComponent().AddBot(bot.BotData); * * using (IQueryAdapter queryreactor2 = Yupi.GetDatabaseManager().GetQueryReactor()) { * queryreactor2.SetQuery ("UPDATE bots_data SET room_id = '0' WHERE id = @id"); * queryreactor2.AddParameter ("id", botId); * queryreactor2.RunQuery (); * } * room.GetRoomUserManager().RemoveBot(bot.VirtualId, false); * bot.BotData.WasPicked = true; * * router.GetComposer<BotInventoryMessageComposer> ().Compose (session, session.GetHabbo ().GetInventoryComponent ()._inventoryBots); */ throw new NotImplementedException(); }
public override void HandleMessage(Yupi.Model.Domain.Habbo session, Yupi.Protocol.Buffers.ClientMessage message, Yupi.Protocol.IRouter router) { router.GetComposer <SubscriptionStatusMessageComposer>().Compose(session, session.Info.Subscription); // TODO Implement Ambassador router.GetComposer <UserClubRightsMessageComposer>().Compose(session, session.Info.Subscription.GetLevel(), session.Info.Rank, false); }
public override void HandleMessage(Yupi.Model.Domain.Habbo session, Yupi.Protocol.Buffers.ClientMessage request, Yupi.Protocol.IRouter router) { /* * Yupi.Messages.Rooms room = Yupi.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId); * * uint petId = request.GetUInt32(); * * RoomUser pet = room.GetRoomUserManager().GetPet(petId); * * if (pet.PetData.AnyoneCanRide == 1) * { * using (IQueryAdapter queryReactor = Yupi.GetDatabaseManager().GetQueryReactor()) * queryReactor.RunFastQuery($"UPDATE pets_data SET anyone_ride = '0' WHERE id={num} LIMIT 1"); * * pet.PetData.AnyoneCanRide = 0; * } * else * { * using (IQueryAdapter queryreactor2 = Yupi.GetDatabaseManager().GetQueryReactor()) * queryreactor2.RunFastQuery($"UPDATE pets_data SET anyone_ride = '1' WHERE id = {num} LIMIT 1"); * * pet.PetData.AnyoneCanRide = 1; * } * * router.GetComposer<PetInfoMessageComposer> ().Compose (room, pet.PetData); */ throw new NotImplementedException(); }
public override void HandleMessage(Yupi.Model.Domain.Habbo session, Yupi.Protocol.Buffers.ClientMessage request, Yupi.Protocol.IRouter router) { string type = request.GetString(); router.GetComposer <SellablePetBreedsMessageComposer>().Compose(session, type); }
public override void HandleMessage(Yupi.Model.Domain.Habbo session, Yupi.Protocol.Buffers.ClientMessage request, Yupi.Protocol.IRouter router) { /* * Room room = Yupi.GetGame().GetRoomManager().GetRoom(session.GetHabbo().CurrentRoomId); * * if (room == null) * return; * // TODO Use permissions * if (!room.CheckRights(session) && room.RoomData.WhoCanKick != 2 && * session.GetHabbo().Rank < Convert.ToUInt32(Yupi.GetDbConfig().DbData["ambassador.minrank"])) * return; * * uint userId = request.GetUInt32(); * * RoomUser roomUserByHabbo = room.GetRoomUserManager().GetRoomUserByHabbo(userId); * * if (roomUserByHabbo == null || roomUserByHabbo.IsBot) * return; * * if (room.CheckRights(roomUserByHabbo.GetClient(), true) || * roomUserByHabbo.GetClient().UserData.Info.HasPermission("fuse_mod") || * roomUserByHabbo.GetClient().UserData.Info.HasPermission("fuse_no_kick")) // TODO Shouldn't we tell the user about this? (Whisper?) * return; * * room.GetRoomUserManager().RemoveUserFromRoom(roomUserByHabbo.GetClient(), true, true); * roomUserByHabbo.GetClient().CurrentRoomUserId = -1; */ throw new NotImplementedException(); }
public override void HandleMessage(Yupi.Model.Domain.Habbo session, Yupi.Protocol.Buffers.ClientMessage message, Yupi.Protocol.IRouter router) { int windowId = message.GetInteger(); router.GetComposer <CatalogueClubPageMessageComposer>().Compose(session, windowId); }
public override void HandleMessage(Yupi.Model.Domain.Habbo session, Yupi.Protocol.Buffers.ClientMessage request, Yupi.Protocol.IRouter router) { string ssoTicket = request.GetString(); SSOManager.TryLogin(session, ssoTicket); }
public override void HandleMessage(Yupi.Model.Domain.Habbo session, Yupi.Protocol.Buffers.ClientMessage request, Yupi.Protocol.IRouter router) { /* * Yupi.Messages.Rooms room = Yupi.GetGame().GetRoomManager().GetRoom(session.GetHabbo().CurrentRoomId); * RoomItem item = room?.GetRoomItemHandler().GetItem(request.GetUInt32()); * * if (item == null || item.GetBaseItem().InteractionType != Interaction.PostIt) * return; * * string text = request.GetString(); * string text2 = request.GetString(); * * if (!room.CheckRights(session) && !text2.StartsWith(item.ExtraData)) * return; * * string a; * * if ((a = text) == null || (a != "FFFF33" && a != "FF9CFF" && a != "9CCEFF" && a != "9CFF9C")) * return; * * item.ExtraData = $"{text} {text2}"; * item.UpdateState(true, true); */ throw new NotImplementedException(); }
public override void HandleMessage(Yupi.Model.Domain.Habbo session, Yupi.Protocol.Buffers.ClientMessage request, Yupi.Protocol.IRouter router) { /* * Yupi.Messages.Rooms room = Yupi.GetGame().GetRoomManager().GetRoom(session.GetHabbo().CurrentRoomId); * * RoomUser roomUserByHabbo = room?.GetRoomUserManager().GetRoomUserByHabbo(session.GetHabbo().Id); * * if (roomUserByHabbo == null) * return; * * RoomUser roomUserByHabbo2 = room.GetRoomUserManager().GetRoomUserByHabbo(request.GetUInt32()); * * if (roomUserByHabbo2 == null) * return; * * // TODO Create method to calculate distance * if ((!( * Math.Abs(roomUserByHabbo.X - roomUserByHabbo2.X) < 3 && * Math.Abs(roomUserByHabbo.Y - roomUserByHabbo2.Y) < 3) && * roomUserByHabbo.GetClient().GetHabbo().Rank <= 4u) || roomUserByHabbo.CarryItemId <= 0 || * roomUserByHabbo.CarryTimer <= 0) * return; * * roomUserByHabbo2.CarryItem(roomUserByHabbo.CarryItemId); * roomUserByHabbo.CarryItem(0); * roomUserByHabbo2.DanceId = 0; */ throw new NotImplementedException(); }
public override void HandleMessage(Yupi.Model.Domain.Habbo session, Yupi.Protocol.Buffers.ClientMessage request, Yupi.Protocol.IRouter router) { /*Room currentLoadingRoom = CurrentLoadingRoom; * * if (currentLoadingRoom == null || !session.GetHabbo().LoadingChecksPassed) * return queuedServerMessageBuffer; * * if (session.GetHabbo().FavouriteGroup > 0u) * { * if (CurrentLoadingRoom.RoomData.Group != null && !CurrentLoadingRoom.LoadedGroups.ContainsKey(CurrentLoadingRoom.RoomData.Group.Id)) * CurrentLoadingRoom.LoadedGroups.Add(CurrentLoadingRoom.RoomData.Group.Id, CurrentLoadingRoom.RoomData.Group.Badge); * * if (!CurrentLoadingRoom.LoadedGroups.ContainsKey(Session.GetHabbo().FavouriteGroup) && Yupi.GetGame().GetGroupManager().GetGroup(Session.GetHabbo().FavouriteGroup) != null) * CurrentLoadingRoom.LoadedGroups.Add(Session.GetHabbo().FavouriteGroup, Yupi.GetGame().GetGroupManager().GetGroup(Session.GetHabbo().FavouriteGroup).Badge); * } * * router.GetComposer<RoomGroupMessageComposer> ().Compose (session); * router.GetComposer<InitialRoomInfoMessageComposer> ().Compose (session, currentLoadingRoom); * * if (session.GetHabbo().SpectatorMode) * { * router.GetComposer<SpectatorModeMessageComposer> ().Compose (session); * } * * if (currentLoadingRoom.RoomData.WallPaper != "0.0") * { * router.GetComposer<RoomSpacesMessageComposer> ().Compose (session, RoomSpacesMessageComposer.RoomSpacesType.WALLPAPER, currentLoadingRoom); * } * * if (currentLoadingRoom.RoomData.Floor != "0.0") * { * router.GetComposer<RoomSpacesMessageComposer> ().Compose (session, RoomSpacesMessageComposer.RoomSpacesType.FLOOR, currentLoadingRoom); * } * * router.GetComposer<RoomSpacesMessageComposer> ().Compose (session, RoomSpacesMessageComposer.RoomSpacesType.LANDSCAPE, currentLoadingRoom); * * if (currentLoadingRoom.CheckRights(session, true)) * { * // TODO Magic number * router.GetComposer<RoomRightsLevelMessageComposer> ().Compose (session, 4); * router.GetComposer<HasOwnerRightsMessageComposer> ().Compose (session); * } * else if (currentLoadingRoom.CheckRights(session, false, true)) * { * router.GetComposer<RoomRightsLevelMessageComposer> ().Compose (session, 1); * } * else * { * router.GetComposer<RoomRightsLevelMessageComposer> ().Compose (session, 0); * } * * router.GetComposer<RoomRatingMessageComposer> ().Compose (session, urrentLoadingRoom.RoomData.Score, * !session.GetHabbo ().RatedRooms.Contains (currentLoadingRoom.RoomId) && !currentLoadingRoom.CheckRights (session, true)); // TODO Refactor * * router.GetComposer<RoomUpdateMessageComposer> ().Compose (session, currentLoadingRoom.RoomId); */ throw new NotImplementedException(); }
public override void HandleMessage(Yupi.Model.Domain.Habbo session, Yupi.Protocol.Buffers.ClientMessage request, Yupi.Protocol.IRouter router) { int selectType = request.GetInteger(); int startIndex = request.GetInteger(); router.GetComposer <GroupForumListingsMessageComposer>().Compose(session, selectType, startIndex); }
public override void HandleMessage(Yupi.Model.Domain.Habbo session, Yupi.Protocol.Buffers.ClientMessage request, Yupi.Protocol.IRouter router) { // TODO Doesn't seem right here! Could easily be faked by wrong packets! //AchievementManager.ProgressUserAchievement(session, "ACH_AllTimeHotelPresence", 1); session.TimePingReceived = DateTime.Now; }
public override void HandleMessage(Yupi.Model.Domain.Habbo session, Yupi.Protocol.Buffers.ClientMessage message, Yupi.Protocol.IRouter router) { string badgeCode = message.GetString(); bool hasBadge = session.Info.Badges.HasBadge(badgeCode); router.GetComposer <SendCampaignBadgeMessageComposer>().Compose(session, badgeCode, hasBadge); }
public override void HandleMessage(Yupi.Model.Domain.Habbo session, Yupi.Protocol.Buffers.ClientMessage request, Yupi.Protocol.IRouter router) { if (session.Room != null) { router.GetComposer <LoadRoomRightsListMessageComposer>().Compose(session, session.Room.Data); } }
public override void HandleMessage(Yupi.Model.Domain.Habbo session, Yupi.Protocol.Buffers.ClientMessage request, Yupi.Protocol.IRouter router) { session.ReleaseName = request.GetString(); string unknown1 = request.GetString(); int unknown2 = request.GetInteger(); int unknown3 = request.GetInteger(); }
public override void HandleMessage(Yupi.Model.Domain.Habbo session, Yupi.Protocol.Buffers.ClientMessage request, Yupi.Protocol.IRouter router) { string tmp = request.GetString(); // TODO unused // TODO Store in DB? session.MachineId = request.GetString(); }
public override void HandleMessage(Yupi.Model.Domain.Habbo session, Yupi.Protocol.Buffers.ClientMessage request, Yupi.Protocol.IRouter router) { string message = request.GetString(); router.GetComposer <OnGuideSessionMsgMessageComposer>() .Compose(session.GuideOtherUser, message, session.Info.Id); router.GetComposer <OnGuideSessionMsgMessageComposer>().Compose(session, message, session.Info.Id); }
public override void HandleMessage(Yupi.Model.Domain.Habbo session, Yupi.Protocol.Buffers.ClientMessage request, Yupi.Protocol.IRouter router) { int petId = request.GetInteger(); // TODO Validate router.GetComposer <PetTrainerPanelMessageComposer>().Compose(session, petId); }
public override void HandleMessage(Yupi.Model.Domain.Habbo session, Yupi.Protocol.Buffers.ClientMessage request, Yupi.Protocol.IRouter router) { int roomId = request.GetInteger(); router.GetComposer <FavouriteRoomsUpdateMessageComposer>().Compose(session, roomId, true); throw new NotImplementedException(); //session.Info.FavoriteRooms.Add(roomId); }
public override void HandleMessage(Yupi.Model.Domain.Habbo session, Yupi.Protocol.Buffers.ClientMessage request, Yupi.Protocol.IRouter router) { /* * if (session?.GetHabbo() == null) * return; * * Yupi.Messages.Rooms room = Yupi.GetGame().GetRoomManager().GetRoom(session.GetHabbo().CurrentRoomId); * * if (room == null || !room.CheckRights(session, true)) * return; * * if (Yupi.GetDbConfig().DbData["exchange_enabled"] != "1") * { * session.SendNotif(Yupi.GetLanguage().GetVar("exchange_is_disabled")); * return; * } * * RoomItem item = room.GetRoomItemHandler().GetItem(request.GetUInt32()); * * if (item == null) * return; * * if (!item.GetBaseItem().Name.StartsWith("CF_") && !item.GetBaseItem().Name.StartsWith("CFC_")) * return; * * // TODO Refactor * string[] array = item.GetBaseItem().Name.Split('_'); * * uint amount; * * if (array[1] == "diamond") * { * uint.TryParse(array[2], out amount); * * session.GetHabbo().Diamonds += amount; * session.GetHabbo().UpdateSeasonalCurrencyBalance(); * } * else * { * uint.TryParse(array[1], out amount); * * session.GetHabbo().Credits += amount; * session.GetHabbo().UpdateCreditsBalance(); * } * * using (IQueryAdapter queryReactor = Yupi.GetDatabaseManager().GetQueryReactor()) * queryReactor.RunFastQuery($"DELETE FROM items_rooms WHERE id={item.Id} LIMIT 1;"); * * room.GetRoomItemHandler().RemoveFurniture(null, item.Id, false); * * session.GetHabbo().GetInventoryComponent().RemoveItem(item.Id, false); * * router.GetComposer<UpdateInventoryMessageComposer> ().Compose (session); */ throw new NotImplementedException(); }