public void OnPlace(GameClient Session, Item Item) { Item.ExtraData = "0"; if (Item.InteractingUser != 0) { RoomUser User = Item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(Item.InteractingUser); if (User != null) { User.ClearMovement(true); User.AllowOverride = false; User.CanWalk = true; } Item.InteractingUser = 0; } if (Item.InteractingUser2 != 0) { RoomUser User = Item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(Item.InteractingUser2); if (User != null) { User.ClearMovement(true); User.AllowOverride = false; User.CanWalk = true; } Item.InteractingUser2 = 0; } }
public void OnRemove(GameClient Session, Item Item) { Item.ExtraData = "0"; if (Item.InteractingUser != 0) { RoomUser User = Item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(Item.InteractingUser); if (User != null) { User.UnlockWalking(); } Item.InteractingUser = 0; } if (Item.InteractingUser2 != 0) { RoomUser User = Item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(Item.InteractingUser2); if (User != null) { User.UnlockWalking(); } Item.InteractingUser2 = 0; } }
public void OnTrigger(GameClient Session, Item Item, int Request, bool HasRights) { if (Item == null || Item.GetRoom() == null || Session == null || Session.GetHabbo() == null) return; RoomUser User = Item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id); if (User == null) return; User.LastInteraction = PlusEnvironment.GetUnixTimestamp(); // Alright. But is this user in the right position? if (User.Coordinate == Item.Coordinate || User.Coordinate == Item.SquareInFront) { // Fine. But is this tele even free? if (Item.InteractingUser != 0) { return; } if (!User.CanWalk || Session.GetHabbo().IsTeleporting || Session.GetHabbo().TeleporterId != 0 || (User.LastInteraction + 2) - PlusEnvironment.GetUnixTimestamp() < 0) return; User.TeleDelay = 2; Item.InteractingUser = User.GetClient().GetHabbo().Id; } else if (User.CanWalk) { User.MoveTo(Item.SquareInFront); } }
public GroupInfoComposer(Group Group, GameClient Session, bool NewWindow = false) : base(ServerPacketHeader.GroupInfoMessageComposer) { DateTime Origin = new DateTime(1970, 1, 1, 0, 0, 0, 0).AddSeconds(Group.CreateTime); base.WriteInteger(Group.Id); base.WriteBoolean(true); base.WriteInteger(Group.GroupType == GroupType.OPEN ? 0 : Group.GroupType == GroupType.LOCKED ? 1 : 2); base.WriteString(Group.Name); base.WriteString(Group.Description); base.WriteString(Group.Badge); base.WriteInteger(Group.RoomId); base.WriteString((PlusEnvironment.GetGame().GetRoomManager().GenerateRoomData(Group.RoomId) == null) ? "No room found.." : PlusEnvironment.GetGame().GetRoomManager().GenerateRoomData(Group.RoomId).Name); // room name base.WriteInteger(Group.CreatorId == Session.GetHabbo().Id ? 3 : Group.HasRequest(Session.GetHabbo().Id) ? 2 : Group.IsMember(Session.GetHabbo().Id) ? 1 : 0); base.WriteInteger(Group.MemberCount); // Members base.WriteBoolean(false);//?? CHANGED base.WriteString(Origin.Day + "-" + Origin.Month + "-" + Origin.Year); base.WriteBoolean(Group.CreatorId == Session.GetHabbo().Id); base.WriteBoolean(Group.IsAdmin(Session.GetHabbo().Id)); // admin base.WriteString(PlusEnvironment.GetUsernameById(Group.CreatorId)); base.WriteBoolean(NewWindow); // Show group info base.WriteBoolean(Group.AdminOnlyDeco == 0); // Any user can place furni in home room base.WriteInteger(Group.CreatorId == Session.GetHabbo().Id ? Group.RequestCount : Group.IsAdmin(Session.GetHabbo().Id) ? Group.RequestCount : Group.IsMember(Session.GetHabbo().Id) ? 0 : 0); // Pending users //base.WriteInteger(0);//what the f**k base.WriteBoolean(Group != null ? Group.ForumEnabled : true);//HabboTalk. }
public void Parse(GameClient Session, ClientPacket Packet) { string PetName = Packet.PopString(); if (PetName.Length < 2) { Session.SendMessage(new CheckPetNameComposer(2, "2")); return; } else if (PetName.Length > 15) { Session.SendMessage(new CheckPetNameComposer(1, "15")); return; } else if (!PlusEnvironment.IsValidAlphaNumeric(PetName)) { Session.SendMessage(new CheckPetNameComposer(3, "")); return; } else if (PlusEnvironment.GetGame().GetChatManager().GetFilter().IsFiltered(PetName)) { Session.SendMessage(new CheckPetNameComposer(4, "")); return; } Session.SendMessage(new CheckPetNameComposer(0, "")); }
public void OnTrigger(GameClient Session, Item Item, int Request, bool HasRights) { if (Session == null || Item == null) return; if (!HasRights) return; IWiredItem Box = null; if (!Item.GetRoom().GetWired().TryGet(Item.Id, out Box)) return; Item.ExtraData = "1"; Item.UpdateState(false, true); Item.RequestUpdate(2, true); if (Item.GetBaseItem().WiredType == WiredBoxType.AddonRandomEffect) return; if (Item.GetRoom().GetWired().IsTrigger(Item)) { List<int> BlockedItems = WiredBoxTypeUtility.ContainsBlockedEffect(Box, Item.GetRoom().GetWired().GetEffects(Box)); Session.SendMessage(new WiredTriggerConfigComposer(Box, BlockedItems)); } else if (Item.GetRoom().GetWired().IsEffect(Item)) { List<int> BlockedItems = WiredBoxTypeUtility.ContainsBlockedTrigger(Box, Item.GetRoom().GetWired().GetTriggers(Box)); Session.SendMessage(new WiredEffectConfigComposer(Box, BlockedItems)); } else if (Item.GetRoom().GetWired().IsCondition(Item)) Session.SendMessage(new WiredConditionConfigComposer(Box)); }
public QuestCompletedComposer(GameClient Session, Quest Quest) : base(ServerPacketHeader.QuestCompletedMessageComposer) { int AmountInCat = PlusEnvironment.GetGame().GetQuestManager().GetAmountOfQuestsInCategory(Quest.Category); int Number = Quest == null ? AmountInCat : Quest.Number; int UserProgress = Quest == null ? 0 : Session.GetHabbo().GetQuestProgress(Quest.Id); base.WriteString(Quest.Category); base.WriteInteger(Number); // Quest progress in this cat base.WriteInteger((Quest.Name.Contains("xmas2012")) ? 1 : AmountInCat); // Total quests in this cat base.WriteInteger(Quest == null ? 3 : Quest.RewardType); // Reward type (1 = Snowflakes, 2 = Love hearts, 3 = Pixels, 4 = Seashells, everything else is pixels base.WriteInteger(Quest == null ? 0 : Quest.Id); // Quest id base.WriteBoolean(Quest == null ? false : Session.GetHabbo().GetStats().QuestID == Quest.Id); // Quest started base.WriteString(Quest == null ? string.Empty : Quest.ActionName); base.WriteString(Quest == null ? string.Empty : Quest.DataBit); base.WriteInteger(Quest == null ? 0 : Quest.Reward); base.WriteString(Quest == null ? string.Empty : Quest.Name); base.WriteInteger(UserProgress); // Current progress base.WriteInteger(Quest == null ? 0 : Quest.GoalData); // Target progress base.WriteInteger(Quest == null ? 0 : Quest.TimeUnlock); // "Next quest available countdown" in seconds base.WriteString(""); base.WriteString(""); base.WriteBoolean(true); // ? base.WriteBoolean(true); // Activate next quest.. }
public RoomData CreateRoom(GameClient Session, string Name, string Description, string Model, int Category, int MaxVisitors, int TradeSettings) { if (!_roomModels.ContainsKey(Model)) { Session.SendNotification(PlusEnvironment.GetGame().GetLanguageLocale().TryGetValue("room_model_missing")); return null; } if (Name.Length < 3) { Session.SendNotification(PlusEnvironment.GetGame().GetLanguageLocale().TryGetValue("room_name_length_short")); return null; } int RoomId = 0; using (IQueryAdapter dbClient = PlusEnvironment.GetDatabaseManager().GetQueryReactor()) { dbClient.SetQuery("INSERT INTO `rooms` (`roomtype`,`caption`,`description`,`owner`,`model_name`,`category`,`users_max`,`trade_settings`) VALUES ('private',@caption,@description,@UserId,@model,@category,@usersmax,@tradesettings)"); dbClient.AddParameter("caption", Name); dbClient.AddParameter("description", Description); dbClient.AddParameter("UserId", Session.GetHabbo().Id); dbClient.AddParameter("model", Model); dbClient.AddParameter("category", Category); dbClient.AddParameter("usersmax", MaxVisitors); dbClient.AddParameter("tradesettings", TradeSettings); RoomId = Convert.ToInt32(dbClient.InsertQuery()); } RoomData newRoomData = GenerateRoomData(RoomId); Session.GetHabbo().UsersRooms.Add(newRoomData); return newRoomData; }
public FriendListUpdateComposer(GameClient Session, MessengerBuddy Buddy) : base(ServerPacketHeader.FriendListUpdateMessageComposer) { base.WriteInteger(0);//Category Count base.WriteInteger(1);//Updates Count base.WriteInteger(0);//Update Relationship Relationship = Session.GetHabbo().Relationships.FirstOrDefault(x => x.Value.UserId == Convert.ToInt32(Buddy.UserId)).Value; int y = Relationship == null ? 0 : Relationship.Type; base.WriteInteger(Buddy.UserId); base.WriteString(Buddy.mUsername); base.WriteInteger(1); if (!Buddy.mAppearOffline || Session.GetHabbo().GetPermissions().HasRight("mod_tool")) base.WriteBoolean(Buddy.IsOnline); else base.WriteBoolean(false); if (!Buddy.mHideInroom || Session.GetHabbo().GetPermissions().HasRight("mod_tool")) base.WriteBoolean(Buddy.InRoom); else base.WriteBoolean(false); base.WriteString("");//Habbo.IsOnline ? Habbo.Look : ""); base.WriteInteger(0); // categoryid base.WriteString(Buddy.mMotto); base.WriteString(string.Empty); // Facebook username base.WriteString(string.Empty); base.WriteBoolean(true); // Allows offline messaging base.WriteBoolean(false); // ? base.WriteBoolean(false); // Uses phone base.WriteShort(y); }
public GameAchievementListComposer(GameClient Session, ICollection<Achievement> Achievements, int GameId) : base(ServerPacketHeader.GameAchievementListMessageComposer) { base.WriteInteger(GameId); base.WriteInteger(Achievements.Count); foreach (Achievement Ach in Achievements.ToList()) { UserAchievement UserData = Session.GetHabbo().GetAchievementData(Ach.GroupName); int TargetLevel = (UserData != null ? UserData.Level + 1 : 1); AchievementLevel TargetLevelData = Ach.Levels[TargetLevel]; base.WriteInteger(Ach.Id); // ach id base.WriteInteger(TargetLevel); // target level base.WriteString(Ach.GroupName + TargetLevel); // badge base.WriteInteger(TargetLevelData.Requirement); // requirement base.WriteInteger(TargetLevelData.Requirement); // requirement base.WriteInteger(TargetLevelData.RewardPixels); // pixels base.WriteInteger(0); // ach score base.WriteInteger(UserData != null ? UserData.Progress : 0); // Current progress base.WriteBoolean(UserData != null ? (UserData.Level >= Ach.Levels.Count) : false); // Set 100% completed(??) base.WriteString(Ach.Category); base.WriteString("basejump"); base.WriteInteger(0); // total levels base.WriteInteger(0); } base.WriteString(""); }
public void OnTrigger(GameClient Session, Item Item, int Request, bool HasRights) { if (Item.ExtraData != "1" && Item.GetBaseItem().VendingIds.Count >= 1 && Item.InteractingUser == 0 && Session != null) { RoomUser User = Item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id); if (User == null) { return; } if (!Gamemap.TilesTouching(User.X, User.Y, Item.GetX, Item.GetY)) { User.MoveTo(Item.SquareInFront); return; } Item.InteractingUser = Session.GetHabbo().Id; User.CanWalk = false; User.ClearMovement(true); User.SetRot(Rotation.Calculate(User.X, User.Y, Item.GetX, Item.GetY), false); Item.RequestUpdate(2, true); Item.ExtraData = "1"; Item.UpdateState(false, true); } }
public void Parse(GameClient Session, ClientPacket Packet) { if (!Session.GetHabbo().InRoom) return; Room Room = null; if (!PlusEnvironment.GetGame().GetRoomManager().TryGetRoom(Session.GetHabbo().CurrentRoomId, out Room)) return; if (!Room.CheckRights(Session, false)) return; if (Room.UsersWithRights.Contains(Session.GetHabbo().Id)) { RoomUser User = Room.GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id); if (User != null && !User.IsBot) { User.RemoveStatus("flatctrl 1"); User.UpdateNeeded = true; User.GetClient().SendMessage(new YouAreNotControllerComposer()); } using (IQueryAdapter dbClient = PlusEnvironment.GetDatabaseManager().GetQueryReactor()) { dbClient.SetQuery("DELETE FROM `room_rights` WHERE `user_id` = @uid AND `room_id` = @rid LIMIT 1"); dbClient.AddParameter("uid", Session.GetHabbo().Id); dbClient.AddParameter("rid", Room.Id); dbClient.RunQuery(); } if (Room.UsersWithRights.Contains(Session.GetHabbo().Id)) Room.UsersWithRights.Remove(Session.GetHabbo().Id); } }
public AchievementsComposer(GameClient Session, List<Achievement> Achievements) : base(ServerPacketHeader.AchievementsMessageComposer) { base.WriteInteger(Achievements.Count); foreach (Achievement Achievement in Achievements) { UserAchievement UserData = Session.GetHabbo().GetAchievementData(Achievement.GroupName); int TargetLevel = (UserData != null ? UserData.Level + 1 : 1); int TotalLevels = Achievement.Levels.Count; TargetLevel = (TargetLevel > TotalLevels ? TotalLevels : TargetLevel); AchievementLevel TargetLevelData = Achievement.Levels[TargetLevel]; base.WriteInteger(Achievement.Id); // Unknown (ID?) base.WriteInteger(TargetLevel); // Target level base.WriteString(Achievement.GroupName + TargetLevel); // Target name/desc/badge base.WriteInteger(1); base.WriteInteger(TargetLevelData.Requirement); // Progress req/target base.WriteInteger(TargetLevelData.RewardPixels); base.WriteInteger(0); // Type of reward base.WriteInteger(UserData != null ? UserData.Progress : 0); // Current progress base.WriteBoolean(UserData != null ? (UserData.Level >= TotalLevels) : false);// Set 100% completed(??) base.WriteString(Achievement.Category); // Category base.WriteString(string.Empty); base.WriteInteger(TotalLevels); // Total amount of levels base.WriteInteger(0); } base.WriteString(""); }
public void Parse(GameClient Session, ClientPacket Packet) { if (Session == null || Session.RC4Client == null || Session.GetHabbo() != null) return; Session.TryAuthenticate(Packet.PopString()); }
public void Execute(GameClient Session, Room Room, string[] Params) { if (Session != null) { if (Room != null) { if (Params.Length != 1) { Session.SendWhisper("Invalid command! :eventalert", 0); } else if (!PlusEnvironment.Event) { PlusEnvironment.GetGame().GetClientManager().SendMessage(new BroadcastMessageAlertComposer(":follow " + Session.GetHabbo().Username + " for events! win prizes!\r\n- " + Session.GetHabbo().Username, ""), ""); PlusEnvironment.lastEvent = DateTime.Now; PlusEnvironment.Event = true; } else { TimeSpan timeSpan = DateTime.Now - PlusEnvironment.lastEvent; if (timeSpan.Hours >= 1) { PlusEnvironment.GetGame().GetClientManager().SendMessage(new BroadcastMessageAlertComposer(":follow " + Session.GetHabbo().Username + " for events! win prizes!\r\n- " + Session.GetHabbo().Username, ""), ""); PlusEnvironment.lastEvent = DateTime.Now; } else { int num = checked(60 - timeSpan.Minutes); Session.SendWhisper("Event Cooldown! " + num + " minutes left until another event can be hosted.", 0); } } } } }
public void OnTrigger(GameClient Session, Item Item, int Request, bool HasRights) { if (Item == null || Item.GetRoom() == null || Session == null || Session.GetHabbo() == null) return; RoomUser User = Item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id); if (User == null) { return; } // Alright. But is this user in the right position? if (User.Coordinate == Item.Coordinate || User.Coordinate == Item.SquareInFront) { // Fine. But is this tele even free? if (Item.InteractingUser != 0) { return; } User.TeleDelay = 2; Item.InteractingUser = User.GetClient().GetHabbo().Id; } else if (User.CanWalk) { User.MoveTo(Item.SquareInFront); } }
public void Parse(GameClient Session, ClientPacket Packet) { string Build = Packet.PopString(); if (PlusEnvironment.SWFRevision != Build) PlusEnvironment.SWFRevision = Build; }
public void OnPlace(GameClient Session, Item Item) { Item.GetRoom().GetRoomItemHandler().HopperCount++; using (IQueryAdapter dbClient = PlusEnvironment.GetDatabaseManager().GetQueryReactor()) { dbClient.SetQuery("INSERT INTO items_hopper (hopper_id, room_id) VALUES (@hopperid, @roomid);"); dbClient.AddParameter("hopperid", Item.Id); dbClient.AddParameter("roomid", Item.RoomId); dbClient.RunQuery(); } if (Item.InteractingUser != 0) { RoomUser User = Item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(Item.InteractingUser); if (User != null) { User.ClearMovement(true); User.AllowOverride = false; User.CanWalk = true; } Item.InteractingUser = 0; } }
public void OnTrigger(GameClient Session, Item Item, int Request, bool HasRights) { RoomUser User = null; if (Session != null) User = Item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id); if (User == null) return; if (Gamemap.TilesTouching(Item.GetX, Item.GetY, User.X, User.Y)) { if (Item.ExtraData != "-1") { if (Request == -1) { Item.ExtraData = "0"; Item.UpdateState(); } else { Item.ExtraData = "-1"; Item.UpdateState(false, true); Item.RequestUpdate(3, true); } } } else { User.MoveTo(Item.SquareInFront); } }
public void OnTrigger(GameClient Session, Item Item, int Request, bool HasRights) { if (!HasRights) { return; } int OldValue = 0; if (!int.TryParse(Item.ExtraData, out OldValue)) { } if (Request == 1) { OldValue++; } else if (Request == 2) { OldValue--; } else if (Request == 3) { OldValue = 0; } Item.ExtraData = OldValue.ToString(); Item.UpdateState(false, true); }
public ProfileInformationComposer(Habbo Data, GameClient Session, List<Group> Groups, int friendCount) : base(ServerPacketHeader.ProfileInformationMessageComposer) { DateTime origin = new DateTime(1970, 1, 1, 0, 0, 0, 0).AddSeconds(Data.AccountCreated); base.WriteInteger(Data.Id); base.WriteString(Data.Username); base.WriteString(Data.Look); base.WriteString(Data.Motto); base.WriteString(origin.ToString("dd/MM/yyyy")); base.WriteInteger(Data.GetStats().AchievementPoints); base.WriteInteger(friendCount); // Friend Count base.WriteBoolean(Data.Id != Session.GetHabbo().Id && Session.GetHabbo().GetMessenger().FriendshipExists(Data.Id)); // Is friend base.WriteBoolean(Data.Id != Session.GetHabbo().Id && !Session.GetHabbo().GetMessenger().FriendshipExists(Data.Id) && Session.GetHabbo().GetMessenger().RequestExists(Data.Id)); // Sent friend request base.WriteBoolean((PlusEnvironment.GetGame().GetClientManager().GetClientByUserID(Data.Id)) != null); base.WriteInteger(Groups.Count); foreach (Group Group in Groups) { base.WriteInteger(Group.Id); base.WriteString(Group.Name); base.WriteString(Group.Badge); base.WriteString(PlusEnvironment.GetGame().GetGroupManager().GetGroupColour(Group.Colour1, true)); base.WriteString(PlusEnvironment.GetGame().GetGroupManager().GetGroupColour(Group.Colour2, false)); base.WriteBoolean(Data.GetStats().FavouriteGroupId == Group.Id); // todo favs base.WriteInteger(0);//what the f**k base.WriteBoolean(Group != null ? Group.ForumEnabled : true);//HabboTalk } base.WriteInteger(Convert.ToInt32(PlusEnvironment.GetUnixTimestamp() - Data.LastOnline)); // Last online base.WriteBoolean(true); // Show the profile }
public void OnRemove(GameClient Session, Item Item) { if (Item.ExtraData == "-1") { Item.ExtraData = "0"; } }
private void SerializeQuest(ServerPacket Message, GameClient Session, Quest Quest, string Category) { if (Message == null || Session == null) return; int AmountInCat = PlusEnvironment.GetGame().GetQuestManager().GetAmountOfQuestsInCategory(Category); int Number = Quest == null ? AmountInCat : Quest.Number - 1; int UserProgress = Quest == null ? 0 : Session.GetHabbo().GetQuestProgress(Quest.Id); if (Quest != null && Quest.IsCompleted(UserProgress)) Number++; Message.WriteString(Category); Message.WriteInteger(Quest == null ? 0 : ((Quest.Category.Contains("xmas2012")) ? 0 : Number)); // Quest progress in this cat Message.WriteInteger(Quest == null ? 0 : (Quest.Category.Contains("xmas2012")) ? 0 : AmountInCat); // Total quests in this cat Message.WriteInteger(Quest == null ? 3 : Quest.RewardType);// Reward type (1 = Snowflakes, 2 = Love hearts, 3 = Pixels, 4 = Seashells, everything else is pixels Message.WriteInteger(Quest == null ? 0 : Quest.Id); // Quest id Message.WriteBoolean(Quest == null ? false : Session.GetHabbo().GetStats().QuestID == Quest.Id); // Quest started Message.WriteString(Quest == null ? string.Empty : Quest.ActionName); Message.WriteString(Quest == null ? string.Empty : Quest.DataBit); Message.WriteInteger(Quest == null ? 0 : Quest.Reward); Message.WriteString(Quest == null ? string.Empty : Quest.Name); Message.WriteInteger(UserProgress); // Current progress Message.WriteInteger(Quest == null ? 0 : Quest.GoalData); // Target progress Message.WriteInteger(Quest == null ? 0 : Quest.TimeUnlock); // "Next quest available countdown" in seconds Message.WriteString(""); Message.WriteString(""); Message.WriteBoolean(true); }
public QuestListComposer(GameClient Session, List<Quest> Quests, bool Send, Dictionary<string, int> UserQuestGoals, Dictionary<string, Quest> UserQuests) : base(ServerPacketHeader.QuestListMessageComposer) { base.WriteInteger(UserQuests.Count); // Active ones first foreach (var UserQuest in UserQuests) { if (UserQuest.Value == null) continue; SerializeQuest(this, Session, UserQuest.Value, UserQuest.Key); } // Dead ones last foreach (var UserQuest in UserQuests) { if (UserQuest.Value != null) continue; SerializeQuest(this, Session, UserQuest.Value, UserQuest.Key); } base.WriteBoolean(Send); }
public void OnTrigger(GameClient Session, Item Item, int Request, bool HasRights) { int Modes = Item.GetBaseItem().Modes - 1; if (Session == null || !HasRights || Modes <= 0) { return; } PlusEnvironment.GetGame().GetQuestManager().ProgressUserQuest(Session, QuestType.FURNI_SWITCH); int CurrentMode = 0; int NewMode = 0; if (!int.TryParse(Item.ExtraData, out CurrentMode)) { } if (CurrentMode <= 0) { NewMode = 1; } else if (CurrentMode >= Modes) { NewMode = 0; } else { NewMode = CurrentMode + 1; } Item.ExtraData = NewMode.ToString(); Item.UpdateState(); }
public void Parse(GameClient Session, ClientPacket Packet) { Room Room; if (!PlusEnvironment.GetGame().GetRoomManager().TryGetRoom(Session.GetHabbo().CurrentRoomId, out Room)) return; if (!Room.CheckRights(Session)) return; string Name = Packet.PopString(); bool Accepted = Packet.PopBoolean(); GameClient Client = PlusEnvironment.GetGame().GetClientManager().GetClientByUsername(Name); if (Client == null) return; if (Accepted) { Client.GetHabbo().RoomAuthOk = true; Client.SendMessage(new FlatAccessibleComposer("")); Room.SendMessage(new FlatAccessibleComposer(Client.GetHabbo().Username), true); } else { Client.SendMessage(new FlatAccessDeniedComposer("")); Room.SendMessage(new FlatAccessDeniedComposer(Client.GetHabbo().Username), true); } }
public void Parse(GameClient Session, ClientPacket Packet) { if (!Session.GetHabbo().InRoom) return; int Action = Packet.PopInt(); Room Room = null; if (!PlusEnvironment.GetGame().GetRoomManager().TryGetRoom(Session.GetHabbo().CurrentRoomId, out Room)) return; RoomUser User = Room.GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id); if (User == null) return; if (User.DanceId > 0) User.DanceId = 0; if (Session.GetHabbo().Effects().CurrentEffect > 0) Room.SendMessage(new AvatarEffectComposer(User.VirtualId, 0)); User.UnIdle(); Room.SendMessage(new ActionComposer(User.VirtualId, Action)); if (Action == 5) // idle { User.IsAsleep = true; Room.SendMessage(new SleepComposer(User, true)); } PlusEnvironment.GetGame().GetQuestManager().ProgressUserQuest(Session, QuestType.SOCIAL_WAVE); }
public void Parse(GameClient Session, ClientPacket Packet) { if (!Session.GetHabbo().InRoom) return; if (!Session.GetHabbo().EnterRoom(Session.GetHabbo().CurrentRoom)) Session.SendMessage(new CloseConnectionComposer()); }
public void OnPlace(GameClient Session, Item Item) { if (Item.ExtraData == "-1") { Item.ExtraData = "0"; Item.UpdateNeeded = true; } }
public void OnPlace(GameClient Session, Item Item) { if (Item.team == TEAM.NONE) return; Item.ExtraData = Item.GetRoom().GetGameManager().Points[Convert.ToInt32( Item.team)].ToString(); Item.UpdateState(false, true); }