public void Parse(HabboHotel.GameClients.GameClient Session, ClientPacket Packet) { int num = Packet.PopInt(); if (num == 500000) { if (!Session.GetRoomUser().CanWalk) { Session.GetRoomUser().CanWalk = true; } if (Session.GetRoleplay().ATMFailed) { Session.SendNotification("Erro... O ATM Machine não respondeu ao seu pedido."); } Session.GetRoleplay().ATMAccount = ""; Session.GetRoleplay().ATMAction = ""; Session.GetRoleplay().ATMFailed = false; return; } if (!Session.GetHabbo().AnsweredPolls.Contains(num)) { Session.GetHabbo().AnsweredPolls.Add(num); Session.SendNotification("Você recusou a enquete! Para poder respondê-lo mais tarde, recarregue o RP!"); } }
public void Parse(HabboHotel.GameClients.GameClient Session, ClientPacket Packet) { int ClothingRoom = Convert.ToInt32(RoleplayData.GetData("clothing", "roomid")); if (Session.GetRoomUser() == null || !Session.GetHabbo().InRoom) { Session.SendNotification("Você so pode mudar seu visual na Loja de Roupas! [Quarto ID: " + ClothingRoom + "]"); } if (Session.GetRoomUser().RoomId != ClothingRoom) { Session.SendNotification("Você so pode mudar seu visual na Loja de Roupas! [Quarto ID: " + ClothingRoom + "]"); } Session.SendMessage(new WardrobeComposer(Session)); }
public void Parse(HabboHotel.GameClients.GameClient Session, ClientPacket Packet) { if (Session == null || Session.GetHabbo() == null) { return; } string Gender = Packet.PopString().ToUpper(); string Look = PlusEnvironment.GetGame().GetAntiMutant().RunLook(Packet.PopString()); int ClothingRoom = Convert.ToInt32(RoleplayData.GetData("clothing", "roomid")); if (Session.GetRoomUser() == null || !Session.GetHabbo().InRoom) { return; } if (Session.GetRoomUser().RoomId != ClothingRoom) { Session.SendNotification("Você deve estar dentro da Loja de roupas para mudar suas roupas! [Quarto ID: " + ClothingRoom + "]"); return; } if (Session.GetRoleplay().IsWorking) { Session.SendNotification("Você não pode mudar sua roupa enquanto está trabalhando!"); return; } if (Look == Session.GetHabbo().Look) { Session.SendWhisper("Você já está vestido assim!", 1); return; } if ((DateTime.Now - Session.GetHabbo().LastClothingUpdateTime).TotalSeconds <= 2.0) { Session.GetHabbo().ClothingUpdateWarnings += 1; if (Session.GetHabbo().ClothingUpdateWarnings >= 25) { Session.GetHabbo().SessionClothingBlocked = true; } return; } if (Session.GetHabbo().SessionClothingBlocked) { return; } if (Session.GetRoleplay().PurchasingClothing) { Session.GetRoleplay().PurchasingClothing = false; return; } Session.GetHabbo().LastClothingUpdateTime = DateTime.Now; string[] AllowedGenders = { "M", "F" }; if (!AllowedGenders.Contains(Gender)) { Session.SendMessage(new BroadcastMessageAlertComposer("Desculpe, você escolheu um gênero inválido.")); return; } //PlusEnvironment.GetGame().GetQuestManager().ProgressUserQuest(Session, QuestType.PROFILE_CHANGE_LOOK); Session.GetHabbo().Look = PlusEnvironment.FilterFigure(Look); Session.GetHabbo().Gender = Gender.ToLower(); using (IQueryAdapter dbClient = PlusEnvironment.GetDatabaseManager().GetQueryReactor()) { dbClient.SetQuery("UPDATE users SET look = @look, gender = @gender WHERE `id` = '" + Session.GetHabbo().Id + "' LIMIT 1"); dbClient.AddParameter("look", Look); dbClient.AddParameter("gender", Gender); dbClient.RunQuery(); } Session.SendMessage(new AvatarAspectUpdateMessageComposer(Look, Gender)); //PlusEnvironment.GetGame().GetAchievementManager().ProgressAchievement(Session, "ACH_AvatarLooks", 1); //if (Session.GetHabbo().Look.Contains("ha-1006")) //PlusEnvironment.GetGame().GetQuestManager().ProgressUserQuest(Session, QuestType.WEAR_HAT); if (Session.GetHabbo().InRoom) { RoomUser RoomUser = Session.GetHabbo().CurrentRoom.GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id); if (RoomUser != null) { Session.SendMessage(new UserChangeComposer(RoomUser, true)); Session.GetHabbo().CurrentRoom.SendMessage(new UserChangeComposer(RoomUser, false)); } } if (Session.GetHabbo().GetMessenger() != null) { Session.GetHabbo().GetMessenger().OnStatusChanged(true); } Session.GetRoleplay().OriginalOutfit = Session.GetHabbo().Look; }
public void Parse(HabboHotel.GameClients.GameClient Session, ClientPacket Packet) { int roomID = Packet.PopInt(); bool IsVip = Session.GetHabbo().VIPRank < 1 ? false : true; int Cost = IsVip ? 0 : 3; int Time = IsVip ? (5 + DayNightManager.GetTaxiTime()) : (10 + DayNightManager.GetTaxiTime()); string TaxiText = IsVip ? " VIP" : ""; bool RoomLoaded = false; bool OnDuty = false; if (Session.GetHabbo().GetPermissions().HasRight("mod_tool") && Session.GetRoleplay().StaffOnDuty) { OnDuty = true; } if (Session.GetHabbo().VIPRank > 1) { OnDuty = true; } #region Conditions if (Session.GetRoleplay().IsJailed || Session.GetRoleplay().IsDead) { return; } if (Session.GetRoleplay().Cuffed) { Session.SendWhisper("Os taxistas não querem levar você, pois estão com medo de você algemado!", 1); return; } if (Session.GetRoomUser() != null) { if (Session.GetRoomUser().Frozen) { Session.SendWhisper("Você não pode pegar um taxi enquanto está atordoado!", 1); return; } } #endregion RoomData roomData = PlusEnvironment.GetGame().GetRoomManager().GenerateRoomData(roomID); if (roomData == null) { return; } if (RoomLoaded) { return; } if (roomData.TutorialEnabled && !OnDuty) { Session.SendWhisper("[RPG Taxi] Você não pode ir para uma sala de Tutorial!", 1); return; } if (Session.GetRoomUser() != null && Session.GetRoomUser().GetRoom() != null) { if (Session.GetRoomUser().GetRoom().TutorialEnabled&& !OnDuty) { Session.SendWhisper("[RPG Taxi] Você não pode usar taxi em uma sala de tutorial, termine ele primeiro!", 1); return; } if (!Session.GetRoomUser().GetRoom().TaxiFromEnabled&& !OnDuty) { Session.SendWhisper("[RPG Taxi] Desculpe, não podemos pegar você neste quarto!", 1); return; } } if (roomID != Session.GetHabbo().CurrentRoomId) { if (Session.GetRoleplay().Game != null) { Session.SendWhisper("Você não pode pegar um texi no evento!", 1); return; } bool PoliceCost = false; if (HabboHotel.Groups.GroupManager.HasJobCommand(Session, "guide") && Session.GetRoleplay().IsWorking) { PoliceCost = true; } if (Session.GetHabbo().Credits < Cost && Cost > 0 && !OnDuty && !PoliceCost) { Session.SendWhisper("[RPG Taxi] Você não tem dinheiro suficiente para dar uma volta!", 1); return; } if (Session.GetRoleplay().InsideTaxi) { Session.SendWhisper("[RPG Taxi] Já estou indo pegar você! Digite ':ptaxi' se mudar de ideia!", 1); return; } bool PoliceTool = false; if (Session.GetRoleplay().GuideOtherUser != null) { if (HabboHotel.Groups.GroupManager.HasJobCommand(Session, "guide")) { if (Session.GetRoleplay().GuideOtherUser.GetHabbo() != null && Session.GetRoleplay().GuideOtherUser.GetRoomUser() != null) { if (roomID == Session.GetRoleplay().GuideOtherUser.GetRoomUser().RoomId) { PoliceTool = true; } } } } if (!roomData.TaxiToEnabled && !OnDuty && !PoliceTool) { Session.SendWhisper("[RPG Taxi] Desculpe, não podemos buscar você neste quarto!", 1); return; } bool Event = false; if (roomData.RoleplayEvent != null) { if (!roomData.RoleplayEvent.HasGameStarted()) { Event = true; } } Session.GetRoleplay().InsideTaxi = true; bool PoliceTaxi = false; if (!OnDuty && !PoliceTool && Session.GetHabbo().CurrentRoomId > 0 && !Event) { if (HabboHotel.Groups.GroupManager.HasJobCommand(Session, "guide") && Session.GetRoleplay().IsWorking) { Cost = 0; Time = 5; if (Session.GetRoomUser() != null) { Session.GetRoomUser().ApplyEffect(EffectsList.PoliceTaxi); } Session.Shout("*Puxa o rádio da Polícia e vai rapidamente para " + roomData.Name + " [ID: " + roomID + "]*", 37); PoliceTaxi = true; } else { if (Session.GetRoomUser() != null) { Session.GetRoomUser().ApplyEffect(EffectsList.Taxi); } Session.Shout("*Chama um Taxi" + TaxiText + " por " + roomData.Name + " [ID: " + roomID + "]*", 4); } new Thread(() => { for (int i = 0; i < (Time + 1) * 10; i++) { if (Session.GetRoleplay() == null) { break; } if (Session.GetRoleplay().InsideTaxi) { Thread.Sleep(100); } else { break; } } if (Session.GetRoleplay() != null) { if (Session.GetRoleplay().InsideTaxi) { if (Cost > 0) { Session.GetHabbo().Credits -= Cost; Session.GetHabbo().UpdateCreditsBalance(); } if (PoliceTaxi) { if (Session.GetRoomUser() != null) { Session.GetRoomUser().ApplyEffect(EffectsList.CarPolice); } Session.Shout("*Entra no meu carro de polícia e vai para o local*", 37); } else { Session.Shout("*Pula dentro do meu Taxi" + TaxiText + " e vai rapidamente para o local*", 4); } RoleplayManager.SendUser(Session, roomData.Id); } } }).Start(); } else { if (PoliceTool) { if (Session.GetRoomUser() != null) { Session.GetRoomUser().ApplyEffect(EffectsList.CarPolice); } Session.Shout("*Entra no meu carro de polícia e dirige para ajudar um cidadão em necessidade*", 4); } else if (OnDuty) { Session.Shout("*Pula dentro do meu Carro Staff*", 23); } RoleplayManager.SendUser(Session, roomData.Id); } } else { Session.SendMessage(new GetGuestRoomResultComposer(Session, roomData, true, false)); } }
public void HandleATMQuestion(HabboHotel.GameClients.GameClient Session, int questionId, string amount) { if (Session.GetRoleplay().BankAccount <= 0) { if (Session.GetRoomUser() != null) { if (!Session.GetRoomUser().CanWalk) { Session.GetRoomUser().CanWalk = true; } } } if (questionId == 1) { if (!Session.GetRoleplay().ATMFailed) { if (amount == "1") { Session.GetRoleplay().ATMAccount = "Cheques"; } else if (amount == "2") { Session.GetRoleplay().ATMAccount = "Poupanca"; } else { Session.GetRoleplay().ATMFailed = true; } } } else if (questionId == 2) { if (!Session.GetRoleplay().ATMFailed) { if (amount == "1") { Session.GetRoleplay().ATMAction = "Retirar"; } else if (amount == "2") { Session.GetRoleplay().ATMAction = "Depositar"; } else { Session.GetRoleplay().ATMFailed = true; } } } else { int Amount; if (int.TryParse(amount, out Amount)) { if (Amount <= 0) { Session.GetRoleplay().ATMFailed = true; } if (!Session.GetRoleplay().ATMFailed) { if (Session.GetRoleplay().ATMAccount.ToLower() == "cheques") { if (Session.GetRoleplay().ATMAction.ToLower() == "retirar") { if (Session.GetRoleplay().BankChequings < Amount) { Session.GetRoleplay().ATMFailed = true; } else { Session.GetRoleplay().BankChequings -= Amount; Session.GetHabbo().Credits += Amount; Session.GetHabbo().UpdateCreditsBalance(); Session.Shout("*Usa o ATM para retirar R$" + Amount + " na minha conta de Cheques*", 5); } } else if (Session.GetRoleplay().ATMAction.ToLower() == "depositar") { if (Amount > Session.GetHabbo().Credits) { Session.GetRoleplay().ATMFailed = true; } else { Session.GetRoleplay().BankChequings += Amount; Session.GetHabbo().Credits -= Amount; Session.GetHabbo().UpdateCreditsBalance(); Session.Shout("*Usa o ATM para depositar R$" + Amount + " na mina conta de Cheques*", 5); } } else { Session.GetRoleplay().ATMFailed = true; } } else { if (Session.GetRoleplay().ATMAction.ToLower() == "retirar") { if (Amount > 20) { if (Session.GetRoleplay().BankSavings < Amount) { Session.GetRoleplay().ATMFailed = true; } else { int TaxAmount = Convert.ToInt32((double)Amount * 0.05); Session.GetHabbo().Credits += (Amount - TaxAmount); Session.GetHabbo().UpdateCreditsBalance(); Session.GetRoleplay().BankSavings -= Amount; Session.Shout("*Retira R$" + Amount + " da minha conta de Cheques e coloca no bolso*", 5); Session.SendWhisper("Você pagou uma taxa de R$" + TaxAmount + " por retirar " + Amount, 1); } } else { Session.GetRoleplay().ATMFailed = true; } } else if (Session.GetRoleplay().ATMAction.ToLower() == "depositar") { if (Amount > Session.GetHabbo().Credits) { Session.GetRoleplay().ATMFailed = true; } else { Session.GetRoleplay().BankSavings += Amount; Session.GetHabbo().Credits -= Amount; Session.GetHabbo().UpdateCreditsBalance(); Session.Shout("*Usa o ATM para depositar R$" + Amount + " na minha conta Poupança*", 5); } } else { Session.GetRoleplay().ATMFailed = true; } } } else { Session.GetRoleplay().ATMFailed = true; } if (Session.GetRoleplay().ATMFailed == true) { Session.SendWhisper("Error... ATM Falhou!", 1); } } else { Session.SendWhisper("Error... ATM Falhou!", 1); } Session.GetRoleplay().ATMAccount = ""; Session.GetRoleplay().ATMAction = ""; Session.GetRoleplay().ATMFailed = false; } }
public void Parse(HabboHotel.GameClients.GameClient Session, ClientPacket Packet) { if (Session == null || Session.GetHabbo() == null || Session.GetHabbo().GetMessenger() == null) { return; } if (!RoleplayManager.FollowFriends) { Session.SendWhisper("Opa, o gerenciamento do servidor desativou a capacidade de seguir seus amigos.", 1); return; } int BuddyId = Packet.PopInt(); bool IsVip = Session.GetHabbo().VIPRank < 1 ? false : true; int Cost = IsVip ? 0 : 3; int Time = IsVip ? (5 + DayNightManager.GetTaxiTime()) : (10 + DayNightManager.GetTaxiTime()); string TaxiText = IsVip ? " VIP" : ""; bool OnDuty = false; if (BuddyId == 0 || BuddyId == Session.GetHabbo().Id) { return; } GameClient Client = PlusEnvironment.GetGame().GetClientManager().GetClientByUserID(BuddyId); if (Client == null || Client.GetHabbo() == null) { return; } if (!Client.GetHabbo().InRoom) { Session.SendMessage(new FollowFriendFailedComposer(2)); Session.GetHabbo().GetMessenger().UpdateFriend(Client.GetHabbo().Id, Client, true); return; } else if (Session.GetHabbo().CurrentRoom != null && Client.GetHabbo().CurrentRoom != null) { if (Session.GetHabbo().CurrentRoom.RoomId == Client.GetHabbo().CurrentRoom.RoomId) { return; } } if (!Client.GetHabbo().AllowConsoleMessages) { if (Session.GetHabbo().InRoom) { Session.SendWhisper("Desculpe, mas esse cidadão desligou o telefone, então você não pode segui-lo.", 1); } else { Session.SendNotification("Desculpe, mas esse cidadão desligou o telefone, então você não pode segui-lo."); } return; } if (Session.GetRoleplay().IsDead) { Session.SendWhisper("Você não pode seguir seu amigo enquanto está morto!", 1); return; } if (Session.GetRoleplay().IsJailed) { Session.SendWhisper("Você não pode seguir seu amigo enquanto está preso!", 1); return; } if (Session.GetRoomUser() != null) { if (Session.GetRoomUser().Frozen) { Session.SendWhisper("Você não pode seguir seu amigo enquanto está congelado ou atordoado!", 1); return; } } if (Session.GetHabbo().GetPermissions().HasRight("mod_tool") && Session.GetRoleplay().StaffOnDuty) { OnDuty = true; } if (Session.GetHabbo().VIPRank > 1) { OnDuty = true; } if (Session.GetHabbo().CurrentRoom != null) { if (!Session.GetHabbo().CurrentRoom.TaxiFromEnabled&& !OnDuty) { Session.SendWhisper("[RPG Taxi] Desculpe, não podemos levá-lo para fora deste quarto!", 1); return; } } if (Session.GetRoleplay().Cuffed) { Session.SendWhisper("Os motoristas de taxi estão muito assustados para levá-lo com as algemas presas em você!", 1); return; } bool PoliceCost = false; if (HabboHotel.Groups.GroupManager.HasJobCommand(Session, "guide") && Session.GetRoleplay().IsWorking) { PoliceCost = true; } if (Session.GetHabbo().Credits < Cost && Cost > 0 && !OnDuty && !PoliceCost) { Session.SendWhisper("[RPG Taxi] Você não tem dinheiro suficiente para dar uma volta!", 1); return; } if (Session.GetRoleplay().InsideTaxi) { Session.SendWhisper("[RPG Taxi] Já estou indo te buscar! Digite ':ptaxi' se mudar de ideia!", 1); return; } RoomData roomData = PlusEnvironment.GetGame().GetRoomManager().GenerateRoomData(Client.GetHabbo().CurrentRoomId); if (roomData == null) { Session.SendWhisper("[RPG Taxi] Desculpe, não conseguimos encontrar esse quarto!", 1); return; } if (!roomData.TaxiToEnabled && !OnDuty) { Session.SendWhisper("[RPG Taxi] Desculpe, não podemos táxi você para este quarto!", 1); return; } if (roomData.TutorialEnabled && !OnDuty) { Session.SendWhisper("Você não pode ir para uma sala de tutorial, desculpe!", 1); return; } if (Session.GetHabbo().CurrentRoom != null) { if (Session.GetHabbo().CurrentRoom.TutorialEnabled&& !OnDuty) { Session.SendWhisper("Você não pode sair de uma sala de tutorial! Somente após concluir!", 1); return; } } if (Session.GetRoleplay().Game != null) { Session.SendWhisper("Você não pode pegar um taxi enquanto está dentro de um evento!", 1); return; } if (Session.GetRoleplay().TexasHoldEmPlayer > 0) { Session.SendWhisper("Você não pode pegar um taxi no meio de um jogo de Texas Hold!", 1); return; } Session.GetRoleplay().InsideTaxi = true; bool PoliceTaxi = false; if (!OnDuty) { if (HabboHotel.Groups.GroupManager.HasJobCommand(Session, "guide") && Session.GetRoleplay().IsWorking) { Cost = 0; Time = 5; if (Session.GetRoomUser() != null) { Session.GetRoomUser().ApplyEffect(597); } Session.Shout("*Puxa o rádio da Polícia e vai rapidamente para " + roomData.Name + " [ID: " + roomData.Id + "]*", 37); PoliceTaxi = true; } else { if (Session.GetRoomUser() != null) { Session.GetRoomUser().ApplyEffect(596); } Session.Shout("*Chama um Taxi" + TaxiText + " para " + roomData.Name + " [ID: " + roomData.Id + "]*", 4); } new Thread(() => { for (int i = 0; i < (Time + 1) * 10; i++) { if (Session.GetRoleplay() == null) { break; } if (Session.GetRoleplay().InsideTaxi) { Thread.Sleep(100); } else { break; } } if (Session.GetRoleplay() != null) { if (Session.GetRoleplay().InsideTaxi) { if (Cost > 0) { Session.GetHabbo().Credits -= Cost; Session.GetHabbo().UpdateCreditsBalance(); } if (PoliceTaxi) { if (Session.GetRoomUser() != null) { Session.GetRoomUser().ApplyEffect(EffectsList.CarPolice); } Session.Shout("*Pula dentro do carro da polícia do meu parceiro e vai para o local*", 37); } else { Session.Shout("*Pula no meu Taxi" + TaxiText + " e vai para o local*", 4); } RoleplayManager.SendUser(Session, roomData.Id); } } }).Start(); } else { Session.Shout("*Segue imediatamente " + Client.GetHabbo().Username + "*", 23); RoleplayManager.SendUser(Session, Client.GetHabbo().CurrentRoomId); PlusEnvironment.GetGame().GetChatManager().GetCommands().LogCommand(Session.GetHabbo().Id, "follow " + Client.GetHabbo().Username, Session.GetHabbo().MachineId, "staff"); } }