public void Handle(RoomUser user, Item TriggerItem) { if (this.NomBot == "" || this.message == "") { return; } Room room = handler.GetRoom(); RoomUser Bot = room.GetRoomUserManager().GetBotOrPetByName(this.NomBot); if (Bot == null) { return; } string TextMessage = this.message; if (user != null) { TextMessage = TextMessage.Replace("#username#", user.GetUsername()); TextMessage = TextMessage.Replace("#point#", user.WiredPoints.ToString()); TextMessage = TextMessage.Replace("#roomname#", this.handler.GetRoom().RoomData.Name.ToString()); } Bot.OnChat(TextMessage, (Bot.IsPet) ? 0 : 2, this.IsCrier); }
public void Execute(GameClient Session, Room Room, string[] Params) { int.TryParse(Params[1], out int Rand1); int.TryParse(Params[2], out int Rand2); Random Rand = new Random(); RoomUser User = Room.GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id); User.OnChat(8, "He pedido un número aleatorio entre el " + Rand1 + " y el " + Rand2 + " y he obtenido " + Rand.Next(Rand1, Rand2) + ".", false); }
public void Execute(GameClient Session, Room Room, RoomUser UserRoom, string[] Params) { if (Params.Length < 3) { return; } string username = Params[1]; string Message = CommandManager.MergeParams(Params, 2); RoomUser roomUserByHabbo = Session.GetHabbo().CurrentRoom.GetRoomUserManager().GetRoomUserByHabbo(username); if (roomUserByHabbo == null) { return; } roomUserByHabbo.OnChat(Message, 0, false); }
private void ReloadGunCycle(RoomUser Bot) { if (this.GunLoadTimer > 0) { this.GunLoadTimer--; if (this.GunLoadTimer == 0) { this.GunCharger = 6; } } else { if (this.GunCharger == 0) { this.GunLoadTimer = 6; Bot.OnChat("*Recharge mon arme*"); } } }
public void Execute(GameClient Session, Room Room, RoomUser UserRoom, string[] Params) { if (Params.Length < 3) { return; } string username = Params[1]; RoomUser Bot = Room.GetRoomUserManager().GetBotOrPetByName(username); if (Bot == null) { return; } string Message = CommandManager.MergeParams(Params, 2); if (string.IsNullOrEmpty(Message)) { return; } Bot.OnChat(Message, (Bot.IsPet) ? 0 : 2, false); }
public void Parse(GameClient Session, ClientPacket Packet) { if (Session == null || Session.GetHabbo() == null || !Session.GetHabbo().InRoom) { return; } Room Room = Session.GetHabbo().CurrentRoom; if (Room == null) { return; } RoomUser User = Room.GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id); if (User == null) { return; } if (Session.LoggingOut) { return; } string Message = StringCharFilter.Escape(Packet.PopString(), false, Session); if (Message.Length > 150) { Message = Message.Substring(0, 150); } int Colour = Packet.PopInt(); if (Colour != 0 && !User.GetClient().GetHabbo().GetPermissions().HasRight("use_any_bubble")) { Colour = 0; } ChatStyle Style = null; if (!PlusEnvironment.GetGame().GetChatManager().GetChatStyles().TryGetStyle(Colour, out Style) || (Style.RequiredRight.Length > 0 && !Session.GetHabbo().GetPermissions().HasRight(Style.RequiredRight))) { Colour = 0; } User.LastBubble = Session.GetHabbo().CustomBubbleId == 0 ? Colour : Session.GetHabbo().CustomBubbleId; if (PlusEnvironment.GetUnixTimestamp() < Session.GetHabbo().FloodTime&& Session.GetHabbo().FloodTime != 0) { return; } if (Session.GetHabbo().TimeMuted > 0) { Session.SendMessage(new MutedComposer(Session.GetHabbo().TimeMuted)); return; } if (!Session.GetHabbo().GetPermissions().HasRight("room_ignore_mute") && Room.CheckMute(Session)) { Session.SendWhisper("Opa, atualmente você está mudo.", 1); return; } if (!Session.GetHabbo().GetPermissions().HasRight("mod_tool")) { int MuteTime; if (Message.StartsWith(":", StringComparison.CurrentCulture) && PlusEnvironment.GetGame().GetChatManager().GetCommands().Parse(Session, Message)) { return; } else if (User.IncrementAndCheckFlood(out MuteTime)) { Session.SendMessage(new FloodControlComposer(MuteTime)); return; } } if (Message.Equals("x")) { if (Session.GetRoleplay().LastCommand != "") { Message = Session.GetRoleplay().LastCommand.ToString(); } } if (Message.StartsWith(":", StringComparison.CurrentCulture) && PlusEnvironment.GetGame().GetChatManager().GetCommands().Parse(Session, Message)) { return; } PlusEnvironment.GetGame().GetChatManager().GetLogs().StoreChatlog(new Plus.HabboHotel.Rooms.Chat.Logs.ChatlogEntry(Session.GetHabbo().Id, Room.Id, Message, UnixTimestamp.GetNow(), Session.GetHabbo(), Room)); if (!Session.GetHabbo().GetPermissions().HasRight("advertisement_filter_override")) { string Phrase = ""; if (PlusEnvironment.GetGame().GetChatManager().GetFilter().CheckBannedWords(Message, out Phrase)) { Session.GetHabbo().AdvertisingStrikes++; if (Session.GetHabbo().AdvertisingStrikes < 2) { Session.SendMessage(new RoomNotificationComposer("Atenção!", "Por favor, evite de anunciar outros sites que não são permitidos, afiliados ou oferecidos pelo HabboRPG. Você ficará mudo se você fizer isso de novo!<br><br>Frase da lista Negra: '" + Phrase + "'", "frank10", "ok", "event:")); return; } if (Session.GetHabbo().AdvertisingStrikes >= 2) { Session.GetHabbo().TimeMuted = 3600; using (var dbClient = PlusEnvironment.GetDatabaseManager().GetQueryReactor()) { dbClient.RunQuery("UPDATE `users` SET `time_muted` = '3600' WHERE `id` = '" + Session.GetHabbo().Id + "' LIMIT 1"); } Session.SendMessage(new RoomNotificationComposer("Você foi mutado!", "Desculpe, mas você foi automaticamente mutadod por divulgar '" + Phrase + "'.<br><br>A equipe de moderação foi notificada e ações serão tomadas dentro de sua conta", "frank10", "ok", "event:")); List <string> Messages = new List <string>(); Messages.Add(Message); PlusEnvironment.GetGame().GetModerationTool().SendNewTicket(Session, 9, Session.GetHabbo().Id, "[Servidor] O civil já recebeu uma advertência " + Phrase + ".", Messages); return; } return; } } if (!Session.GetHabbo().GetPermissions().HasRight("word_filter_override")) { Message = PlusEnvironment.GetGame().GetChatManager().GetFilter().CheckMessage(Message); } if (Message.ToLower().Equals("o/")) { Room.SendMessage(new ActionComposer(User.VirtualId, 1)); return; } if (Message.ToLower().Equals("_b")) { Room.SendMessage(new ActionComposer(User.VirtualId, 7)); return; } User.UnIdle(); if (Session.GetRoleplay() != null) { if (Session.GetRoleplay().IsWorking&& HabboHotel.Groups.GroupManager.HasJobCommand(Session, "guide")) { User.OnChat(37, Message, true); } else if (Session.GetRoleplay().StaffOnDuty&& Session.GetHabbo().GetPermissions().HasRight("mod_tool")) { User.OnChat(23, Message, true); } else if (Session.GetRoleplay().AmbassadorOnDuty&& Session.GetHabbo().GetPermissions().HasRight("ambassador")) { User.OnChat(37, Message, true); } // Roleplay else if (Session.GetRoleplay().CurHealth > 25 && Session.GetRoleplay().CurHealth <= 40 && !Session.GetRoleplay().IsDead) { User.OnChat(5, Message, true); } else if (Session.GetRoleplay().CurHealth <= 25 && !Session.GetRoleplay().IsDead) { User.OnChat(3, Message, true); } else if (Session.GetRoleplay().IsDead) { User.OnChat(3, "[ " + Message + " ]", true); } else { User.OnChat(User.LastBubble, Message, true); } } else { User.OnChat(User.LastBubble, Message, true); } }
public void Parse(GameClient Session, ClientPacket Packet) { if (!Session.GetHabbo().InRoom) { return; } Room Room; if (!ButterflyEnvironment.GetGame().GetRoomManager().TryGetRoom(Session.GetHabbo().CurrentRoomId, out Room)) { return; } RoomUser User = Room.GetRoomUserManager().GetRoomUserByHabboId(Session.GetHabbo().Id); if (User == null) { return; } int PetId = Packet.PopInt(); bool Type = Packet.PopBoolean(); RoomUser Pet = null; if (!Room.GetRoomUserManager().TryGetPet(PetId, out Pet)) { return; } if (Pet.PetData == null || Pet.PetData.Type != 13) { return; } if (!Pet.PetData.AnyoneCanRide && Pet.PetData.OwnerId != User.UserId) { return; } if (Math.Abs(User.X - Pet.X) >= 2 || Math.Abs(User.Y - Pet.Y) >= 2) { User.MoveTo(Pet.X, Pet.Y); return; } if (Type && !User.RidingHorse) { if (Pet.RidingHorse) { string Speechtxt = ButterflyEnvironment.GetLanguageManager().TryGetValue("pet.alreadymounted", Session.Langue); Pet.OnChat(Speechtxt, 0, false); } else if (User.RidingHorse) { return; } else { if (Pet._statusses.Count > 0) { Pet._statusses.Clear(); } int NewX2 = Pet.X; int NewY2 = Pet.Y; Room.SendPacket(Room.GetRoomItemHandler().UpdateUserOnRoller(User, new Point(NewX2, NewY2), 0, Room.GetGameMap().SqAbsoluteHeight(NewX2, NewY2) + 1)); Room.SendPacket(Room.GetRoomItemHandler().UpdateUserOnRoller(Pet, new Point(NewX2, NewY2), 0, Room.GetGameMap().SqAbsoluteHeight(NewX2, NewY2))); User.MoveTo(NewX2, NewY2); User.RidingHorse = true; Pet.RidingHorse = true; Pet.HorseID = User.VirtualId; User.HorseID = Pet.VirtualId; if (Pet.PetData.Saddle == 9) { User.ApplyEffect(77); } else { User.ApplyEffect(103); } User.RotBody = Pet.RotBody; User.RotHead = Pet.RotHead; User.UpdateNeeded = true; Pet.UpdateNeeded = true; } } else { if (User.VirtualId == Pet.HorseID) { Pet._statusses.Remove("sit"); Pet._statusses.Remove("lay"); Pet._statusses.Remove("snf"); Pet._statusses.Remove("eat"); Pet._statusses.Remove("ded"); Pet._statusses.Remove("jmp"); User.RidingHorse = false; User.HorseID = 0; Pet.RidingHorse = false; Pet.HorseID = 0; User.MoveTo(new Point(User.X + 1, User.Y + 1)); User.ApplyEffect(-1); User.UpdateNeeded = true; Pet.UpdateNeeded = true; } } Room.SendPacket(new PetHorseFigureInformationComposer(Pet)); }
public void Execute(GameClient Session, Room Room, RoomUser UserRoom, string[] Params) { Room room = Session.GetHabbo().CurrentRoom; if (room == null) { return; } RoomUser roomuser = room.GetRoomUserManager().GetRoomUserByHabboId(Session.GetHabbo().Id); if (roomuser == null) { return; } if (Params.Length != 2) { return; } RoomUser TargetUser = room.GetRoomUserManager().GetRoomUserByHabbo(Params[1]); if (TargetUser == null) { return; } if (TargetUser.GetClient().GetHabbo().Id == Session.GetHabbo().Id) { return; } if (TargetUser.GetClient().GetHabbo().PremiumProtect&& !Session.GetHabbo().HasFuse("fuse_mod")) { roomuser.SendWhisperChat(ButterflyEnvironment.GetLanguageManager().TryGetValue("premium.notallowed", Session.Langue)); return; } roomuser.OnChat("*Tire " + Params[1] + "*", 0, false); if (roomuser.RotBody % 2 != 0) { roomuser.RotBody--; } if (roomuser.RotBody == 0) { TargetUser.MoveTo(roomuser.X, roomuser.Y - 1); } else if (roomuser.RotBody == 2) { TargetUser.MoveTo(roomuser.X + 1, roomuser.Y); } else if (roomuser.RotBody == 4) { TargetUser.MoveTo(roomuser.X, roomuser.Y + 1); } else if (roomuser.RotBody == 6) { TargetUser.MoveTo(roomuser.X - 1, roomuser.Y); } }
public override void OnUserSay(RoomUser User, string Message) { RoomUser roomUser = this.GetRoomUser(); if (roomUser.PetData.DBState != DatabaseUpdateState.NeedsInsert) { roomUser.PetData.DBState = DatabaseUpdateState.NeedsUpdate; } if (roomUser.PetData.OwnerId != User.GetClient().GetHabbo().Id) { return; } if (!Message.ToLower().StartsWith(roomUser.PetData.Name.ToLower() + " ")) { return; } if (Message.ToLower().Equals(roomUser.PetData.Name.ToLower())) { roomUser.SetRot(Rotation.Calculate(roomUser.X, roomUser.Y, User.X, User.Y), false); } else { string input = Message.Substring(roomUser.PetData.Name.ToLower().Length + 1); int randomNumber = ButterflyEnvironment.GetRandomNumber(1, 8); if (roomUser.PetData.Energy > 10 && randomNumber < 6) { this.RemovePetStatus(); switch (ButterflyEnvironment.GetGame().GetChatManager().GetPetCommands().TryInvoke(input)) { case 0: //Libre this.RemovePetStatus(); Point randomWalkableSquare = this.GetRoom().GetGameMap().getRandomWalkableSquare(this.GetBotData().X, this.GetBotData().Y); roomUser.MoveTo(randomWalkableSquare.X, randomWalkableSquare.Y); roomUser.PetData.AddExpirience(10); break; case 1: //Assis this.RemovePetStatus(); roomUser.PetData.AddExpirience(10); roomUser.SetStatus("sit", TextHandling.GetString(roomUser.Z)); roomUser.IsSit = true; roomUser.UpdateNeeded = true; this.ActionTimer = 25; this.EnergyTimer = 10; break; case 2: //Couché this.RemovePetStatus(); roomUser.SetStatus("lay", TextHandling.GetString(roomUser.Z)); roomUser.IsLay = true; roomUser.UpdateNeeded = true; roomUser.PetData.AddExpirience(10); this.ActionTimer = 30; this.EnergyTimer = 5; break; case 3: this.RemovePetStatus(); int pX = User.X; int pY = User.Y; this.ActionTimer = 30; if (User.RotBody == 4) { pY = User.Y + 1; } else if (User.RotBody == 0) { pY = User.Y - 1; } else if (User.RotBody == 6) { pX = User.X - 1; } else if (User.RotBody == 2) { pX = User.X + 1; } else if (User.RotBody == 3) { pX = User.X + 1; pY = User.Y + 1; } else if (User.RotBody == 1) { pX = User.X + 1; pY = User.Y - 1; } else if (User.RotBody == 7) { pX = User.X - 1; pY = User.Y - 1; } else if (User.RotBody == 5) { pX = User.X - 1; pY = User.Y + 1; } roomUser.PetData.AddExpirience(10); roomUser.MoveTo(pX, pY); break; case 4: //demande this.RemovePetStatus(); roomUser.PetData.AddExpirience(10); roomUser.SetRot(Rotation.Calculate(roomUser.X, roomUser.Y, User.X, User.Y), false); roomUser.SetStatus("beg", TextHandling.GetString(roomUser.Z)); roomUser.UpdateNeeded = true; this.ActionTimer = 25; this.EnergyTimer = 10; break; case 5: this.RemovePetStatus(); roomUser.SetStatus("ded", TextHandling.GetString(roomUser.Z)); roomUser.UpdateNeeded = true; roomUser.PetData.AddExpirience(10); this.SpeechTimer = 45; this.ActionTimer = 30; break; case 6: break; case 7: break; case 8: break; case 9: this.RemovePetStatus(); roomUser.SetStatus("jmp", TextHandling.GetString(roomUser.Z)); roomUser.UpdateNeeded = true; roomUser.PetData.AddExpirience(10); this.EnergyTimer = 5; this.SpeechTimer = 10; this.ActionTimer = 5; break; case 10: break; case 11: break; case 12: break; case 13: //Panier ? this.RemovePetStatus(); roomUser.OnChat("ZzzZZZzzzzZzz", 0, false); roomUser.SetStatus("lay", TextHandling.GetString(roomUser.Z)); roomUser.IsLay = true; roomUser.UpdateNeeded = true; roomUser.PetData.AddExpirience(10); this.EnergyTimer = 5; this.SpeechTimer = 30; this.ActionTimer = 45; break; case 14: break; case 15: break; case 16: break; case 17: break; case 18: break; case 19: break; case 20: break; default: string[] strArray = ButterflyEnvironment.GetLanguageManager().TryGetValue("pet.unknowncommand", roomUser.mRoom.RoomData.Langue).Split(new char[1] { ',' }); Random random = new Random(); roomUser.OnChat(strArray[random.Next(0, strArray.Length - 1)], 0, false); break; } roomUser.PetData.PetEnergy(false); roomUser.PetData.PetEnergy(false); } else { this.RemovePetStatus(); if (!roomUser.mRoom.RoomMutePets) { if (roomUser.PetData.Energy < 10) { string[] strArray = ButterflyEnvironment.GetLanguageManager().TryGetValue("pet.tired", roomUser.mRoom.RoomData.Langue).Split(new char[1] { ',' }); Random random = new Random(); roomUser.OnChat(strArray[random.Next(0, strArray.Length - 1)], 0, false); roomUser.SetStatus("lay", TextHandling.GetString(roomUser.Z)); roomUser.IsLay = true; this.SpeechTimer = 50; this.ActionTimer = 45; this.EnergyTimer = 5; } else { string[] strArray = ButterflyEnvironment.GetLanguageManager().TryGetValue("pet.lazy", roomUser.mRoom.RoomData.Langue).Split(new char[1] { ',' }); Random random = new Random(); roomUser.OnChat(strArray[random.Next(0, strArray.Length - 1)], 0, false); roomUser.PetData.PetEnergy(false); } } } } }
public void Parse(GameClient Session, ClientPacket Packet) { if (Session == null || Session.GetHabbo() == null || !Session.GetHabbo().InRoom) { return; } Room Room = Session.GetHabbo().CurrentRoom; if (Room == null) { return; } RoomUser User = Room.GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id); if (User == null) { return; } string Message = StringCharFilter.Escape(Packet.PopString()); if (Message.Length > 100) { Message = Message.Substring(0, 100); } int Colour = Packet.PopInt(); if (!BiosEmuThiago.GetGame().GetChatManager().GetChatStyles().TryGetStyle(Colour, out ChatStyle Style) || (Style.RequiredRight.Length > 0 && !Session.GetHabbo().GetPermissions().HasRight(Style.RequiredRight))) { Colour = 0; } User.UnIdle(); if (BiosEmuThiago.GetUnixTimestamp() < Session.GetHabbo().FloodTime&& Session.GetHabbo().FloodTime != 0) { return; } if (Session.GetHabbo().TimeMuted > 0) { Session.SendMessage(new MutedComposer(Session.GetHabbo().TimeMuted)); return; } if (!Session.GetHabbo().GetPermissions().HasRight("room_ignore_mute") && Room.CheckMute(Session)) { Session.SendWhisper("Ops, você está mutado!"); return; } User.LastBubble = Session.GetHabbo().CustomBubbleId == 0 ? Colour : Session.GetHabbo().CustomBubbleId; if (!Session.GetHabbo().GetPermissions().HasRight("mod_tool")) { if (User.IncrementAndCheckFlood(out int MuteTime)) { Session.SendMessage(new FloodControlComposer(MuteTime)); return; } } if (Message.StartsWith(":", StringComparison.CurrentCulture) && BiosEmuThiago.GetGame().GetChatManager().GetCommands().Parse(Session, Message)) { return; } BiosEmuThiago.GetGame().GetChatManager().GetLogs().StoreChatlog(new ChatlogEntry(Session.GetHabbo().Id, Room.Id, Message, UnixTimestamp.GetNow(), Session.GetHabbo(), Room)); if (Session.GetHabbo().Rank < Convert.ToInt32(BiosEmuThiago.GetConfig().data["MineRankStaff"])) { if (!Session.GetHabbo().GetPermissions().HasRight("word_filter_override") && BiosEmuThiago.GetGame().GetChatManager().GetFilter().IsUnnaceptableWord(Message, out string word)) { // Comando editaveu abaixo mais cuidado pra não faze merda Session.GetHabbo().BannedPhraseCount++; if (Session.GetHabbo().BannedPhraseCount >= 1) { User.MoveTo(Room.GetGameMap().Model.DoorX, Room.GetGameMap().Model.DoorY); Session.GetHabbo().TimeMuted = 10; Session.SendNotification("Você foi silenciado, um moderador vai rever o seu caso, aparentemente, você nomeou um hotel! Não continue divulgando ser for um hotel pois temos ante divulgação - Aviso<font size =\"11\" color=\"#fc0a3a\"> <b>" + Session.GetHabbo().BannedPhraseCount + "/5</b></font> Ser chega ao numero 5/5 você sera banido automaticamente"); BiosEmuThiago.GetGame().GetClientManager().StaffAlert(new RoomNotificationComposer("Alerta publicitário:", "Atenção colaboradores do " + BiosEmuThiago.HotelName + ", o usuário <b>" + Session.GetHabbo().Username + "</b> divulgor um link de um site ou hotel na frase, você poderia investigar? so click no botão abaixo *Ir ao Quarto*. <i> a palavra dita:<font size =\"11\" color=\"#f40909\"> <b> " + Message + "</b></font></i> dentro de um das salas do jogo\r\n" + "- Nome do usuário: <font size =\"11\" color=\"#0b82c6\"> <b>" + Session.GetHabbo().Username + "</b>", "", "Ir ao Quarto", "event:navigator/goto/" + Session.GetHabbo().CurrentRoomId)); } if (Session.GetHabbo().BannedPhraseCount >= 5) { BiosEmuThiago.GetGame().GetModerationManager().BanUser("BiosEmulador ante divulgação", HabboHotel.Moderation.ModerationBanType.USERNAME, Session.GetHabbo().Username, "Banido por spam com a frase (" + Message + ")", (BiosEmuThiago.GetUnixTimestamp() + 78892200)); Session.Disconnect(); return; } Session.SendMessage(new RoomNotificationComposer("furni_placement_error", "message", "Mensagem inapropiada no " + BiosEmuThiago.HotelName + ". Estamos investigando o que você falou" + " " + Session.GetHabbo().Username + " " + "na sala!")); return; } } if (!Session.GetHabbo().GetPermissions().HasRight("room_ignore_mute") && Room.CheckMute(Session)) { Session.SendWhisper("Ops, você está no momento silenciado."); return; } BiosEmuThiago.GetGame().GetQuestManager().ProgressUserQuest(Session, QuestType.SOCIAL_CHAT); User.OnChat(User.LastBubble, Message, false); }
public void Execute(GameClient Session, Room Room, RoomUser UserRoom, string[] Params) { if (UserRoom.team != Team.none || UserRoom.InGame) { return; } if (!Room.PushPullAllowed) { return; } if (Params.Length != 2) { return; } RoomUser TargetUser = Room.GetRoomUserManager().GetRoomUserByHabbo(Convert.ToString(Params[1])); if (TargetUser == null || TargetUser.GetClient() == null || TargetUser.GetClient().GetHabbo() == null) { return; } if (TargetUser.GetClient().GetHabbo().Id == Session.GetHabbo().Id) { return; } if (TargetUser.GetClient().GetHabbo().PremiumProtect&& !Session.GetHabbo().HasFuse("fuse_mod")) { UserRoom.SendWhisperChat(ButterflyEnvironment.GetLanguageManager().TryGetValue("premium.notallowed", Session.Langue)); return; } if (Math.Abs(UserRoom.X - TargetUser.X) < 3 && Math.Abs(UserRoom.Y - TargetUser.Y) < 3) { UserRoom.OnChat("*Tire " + Params[1] + "*", 0, false); if (UserRoom.RotBody % 2 != 0) { UserRoom.RotBody--; } if (UserRoom.RotBody == 0) { TargetUser.MoveTo(UserRoom.X, UserRoom.Y - 1); } else if (UserRoom.RotBody == 2) { TargetUser.MoveTo(UserRoom.X + 1, UserRoom.Y); } else if (UserRoom.RotBody == 4) { TargetUser.MoveTo(UserRoom.X, UserRoom.Y + 1); } else if (UserRoom.RotBody == 6) { TargetUser.MoveTo(UserRoom.X - 1, UserRoom.Y); } } else { UserRoom.SendWhisperChat(Params[1] + " est trop loin de vous."); return; } }
public void Execute(GameClient Session, Room Room, RoomUser UserRoom, string[] Params) { if (Params.Length != 3) { return; } if (!Room.RpRoom) { return; } RolePlayer Rp = UserRoom.Roleplayer; if (Rp == null) { return; } if (Rp.Dead || Rp.SendPrison) { return; } RoomUser TargetRoomUser = Room.GetRoomUserManager().GetRoomUserByHabbo(Params[1].ToString()); if (TargetRoomUser == null || TargetRoomUser.GetClient() == null || TargetRoomUser.GetClient().GetHabbo() == null) { return; } int NumberMoney = 0; if (!int.TryParse(Params[2].ToString(), out NumberMoney)) { return; } if (NumberMoney <= 0) { return; } RolePlayer RpTwo = TargetRoomUser.Roleplayer; if (RpTwo == null) { return; } if (TargetRoomUser.GetClient().GetHabbo().Id == Session.GetHabbo().Id) { return; } if (RpTwo.Dead || RpTwo.SendPrison) { return; } if (Rp.Money < NumberMoney) { return; } if (!((Math.Abs((TargetRoomUser.X - UserRoom.X)) >= 2) || (Math.Abs((TargetRoomUser.Y - UserRoom.Y)) >= 2))) { Rp.Money -= NumberMoney; RpTwo.Money += NumberMoney; Rp.SendUpdate(); RpTwo.SendUpdate(); TargetRoomUser.SendWhisperChat(string.Format(ButterflyEnvironment.GetLanguageManager().TryGetValue("rp.givemoney.receive", TargetRoomUser.GetClient().Langue), NumberMoney, UserRoom.GetUsername())); UserRoom.SendWhisperChat(string.Format(ButterflyEnvironment.GetLanguageManager().TryGetValue("rp.givemoney.send", Session.Langue), NumberMoney, TargetRoomUser.GetUsername())); UserRoom.OnChat(string.Format(ButterflyEnvironment.GetLanguageManager().TryGetValue("rp.givemoney.send.chat", Session.Langue), TargetRoomUser.GetUsername()), 0, true); } }
public void Hit(RoomUser Bot, int Dmg, Room Room, int pAggroVId, int pTeamId) { if (this.Dead) { return; } if (this.Health <= Dmg) { RoomUser User = Room.GetRoomUserManager().GetRoomUserByVirtualId(this.AggroVirtuelId); if (User != null && !User.IsBot) { RolePlayer Rp = User.Roleplayer; if (Rp != null) { Rp.AddExp(this.Config.Health); } } this.Health = 0; this.Dead = true; this.DeadTimer = this.Config.DeadTimer; this.AggroVirtuelId = 0; this.AggroTimer = 0; this.ResetBot = false; this.ResetBotTimer = 0; this.HitCount = 0; this.Dodge = false; this.DodgeTimer = 0; Bot.SetStatus("lay", (Bot.IsPet) ? "" : "0.7"); Bot.Freeze = true; Bot.FreezeEndCounter = 0; Bot.IsLay = true; Bot.UpdateNeeded = true; if (this.Config.MoneyDrop > 0) { Room.GetRoomItemHandler().AddTempItem(Bot.VirtualId, this.Config.DropScriptId, Bot.SetX, Bot.SetY, Bot.Z, "1", this.Config.MoneyDrop, InteractionTypeTemp.MONEY); } if (this.Config.LootItemId > 0) { RPItem Item = ButterflyEnvironment.GetGame().GetRoleplayManager().GetItemManager().GetItem(this.Config.LootItemId); if (Item != null) { Room.GetRoomItemHandler().AddTempItem(Bot.VirtualId, 3996, Bot.SetX, Bot.SetY, Bot.Z, Item.Name, this.Config.LootItemId, InteractionTypeTemp.RPITEM); } } Bot.OnChat("A été mis K.O. ! [" + this.Health + "/" + this.Config.Health + "]", (Bot.IsPet) ? 0 : 2, true); } else { this.Health -= Dmg; this.SlowTimer = 6; this.ResetBot = false; this.ResetBotTimer = 60; this.AggroTimer = 0; if (pTeamId == -1 || pTeamId != this.Config.TeamId) { this.AggroVirtuelId = pAggroVId; } if (!this.Dodge) { this.HitCount += 1; if (this.HitCount % this.DodgeStartCount == 0) { this.Dodge = true; this.DodgeTimer = 3; this.DodgeStartCount = ButterflyEnvironment.GetRandomNumber(2, 4); } } Bot.OnChat(string.Format(ButterflyEnvironment.GetLanguageManager().TryGetValue("rp.hit", Room.RoomData.Langue), this.Health, this.Config.Health, Dmg), (Bot.IsPet) ? 0 : 2, true); } }
public void Hit(RoomUser User, int Dmg, Room Room, bool Ralentie = false, bool Murmur = false, bool Aggro = true) { if (this.Dead || this.SendPrison) { return; } if (this.Health <= Dmg) { this.Health = 0; this.Dead = true; this.DeadTimer = 30; User.SetStatus("lay", "0.7"); User.Freeze = true; User.FreezeEndCounter = 0; User.IsLay = true; User.UpdateNeeded = true; if (User.GetClient() != null) { User.SendWhisperChat(ButterflyEnvironment.GetLanguageManager().TryGetValue("rp.userdead", User.GetClient().Langue)); } int monaiePerdu = 0; if (this.Money > 10) { monaiePerdu = (int)Math.Floor((double)(this.Money / 100) * 20); this.Money -= monaiePerdu; } Room.GetRoomItemHandler().AddTempItem(User.VirtualId, 5461, User.SetX, User.SetY, User.Z, "1", monaiePerdu + 10, InteractionTypeTemp.MONEY); User.OnChat("A été mis K.O. ! [" + this.Health + "/" + this.HealthMax + "]", 0, true); } else { this.Health -= Dmg; if (Ralentie) { if (this.SlowTimer == 0) { if (User.GetClient() != null) { User.SendWhisperChat(ButterflyEnvironment.GetLanguageManager().TryGetValue("rp.hitslow", User.GetClient().Langue)); } } this.SlowTimer = 6; } if (Aggro) { this.AggroTimer = 30; } if (User.GetClient() != null) { if (Murmur) { User.SendWhisperChat(string.Format(ButterflyEnvironment.GetLanguageManager().TryGetValue("rp.hit", User.GetClient().Langue), this.Health, this.HealthMax, Dmg), false); } else { User.OnChat(string.Format(ButterflyEnvironment.GetLanguageManager().TryGetValue("rp.hit", User.GetClient().Langue), this.Health, this.HealthMax, Dmg), 0, true); } } } this.SendUpdate(); }
public void Parse(GameClient Session, ClientPacket Packet) { if (Session == null || Session.GetHabbo() == null || !Session.GetHabbo().InRoom) { return; } Room Room = Session.GetHabbo().CurrentRoom; if (Room == null) { return; } RoomUser User = Room.GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id); if (User == null) { return; } string Message = StringCharFilter.Escape(Packet.PopString()); if (Message.Length > 100) { Message = Message.Substring(0, 100); } int Colour = Packet.PopInt(); ChatStyle Style = null; if (!RocketEmulador.GetGame().GetChatManager().GetChatStyles().TryGetStyle(Colour, out Style) || (Style.RequiredRight.Length > 0 && !Session.GetHabbo().GetPermissions().HasRight(Style.RequiredRight))) { Colour = 0; } User.UnIdle(); if (RocketEmulador.GetUnixTimestamp() < Session.GetHabbo().FloodTime&& Session.GetHabbo().FloodTime != 0) { return; } if (Session.GetHabbo().TimeMuted > 0) { Session.SendMessage(new MutedComposer(Session.GetHabbo().TimeMuted)); return; } if (RocketEmulador.GetGame().GetChatManager().GetFilter().IsFiltered(Message)) { RocketEmulador.GetGame().GetClientManager().StaffAlert(new RoomNotificationComposer("Alerta de divulgação !", "O Usuário: <b>" + Session.GetHabbo().Username + "<br>" + "<br></b> Está divulgando uma palavra que foi bloqueada" + "<br>" + "<br><b>A palavra usada foi:</b><br>" + "<br>" + "<b>" + "<font color =\"#FF0000\">" + Message + "</font>" + "</b><br>" + "<br>Para ir a la sala, clique em \"Ir a Sala \"</b>", "filter", "Ir a Sala", "event:navigator/goto/" + Session.GetHabbo().CurrentRoomId)); Session.GetHabbo().GetClient().SendMessage(new WhisperComposer(User.VirtualId, "A seguinte palavra foi bloqueada em nosso hotel:" + " " + Message, 0, 34)); Message = null; } if (!Session.GetHabbo().GetPermissions().HasRight("room_ignore_mute") && Room.CheckMute(Session)) { Session.SendWhisper("Opa, você atualmente está silenciado.", 34); return; } User.LastBubble = Session.GetHabbo().CustomBubbleId == 0 ? Colour : Session.GetHabbo().CustomBubbleId; if (!Session.GetHabbo().GetPermissions().HasRight("mod_tool")) { int MuteTime; if (User.IncrementAndCheckFlood(out MuteTime)) { Session.SendMessage(new FloodControlComposer(MuteTime)); return; } } if (Message.StartsWith(":", StringComparison.CurrentCulture) && RocketEmulador.GetGame().GetChatManager().GetCommands().Parse(Session, Message)) { return; } RocketEmulador.GetGame().GetChatManager().GetLogs().StoreChatlog(new ChatlogEntry(Session.GetHabbo().Id, Room.Id, Message, UnixTimestamp.GetNow(), Session.GetHabbo(), Room)); if (RocketEmulador.GetGame().GetChatManager().GetFilter().CheckBannedWords(Message)) { Session.GetHabbo().BannedPhraseCount++; if (Session.GetHabbo().BannedPhraseCount >= RocketGame.BannedPhrasesAmount) { RocketEmulador.GetGame().GetModerationManager().BanUser("RocketEmulador", HabboHotel.Moderation.ModerationBanType.USERNAME, Session.GetHabbo().Username, "Spamming banned phrases (" + Message + ")", (RocketEmulador.GetUnixTimestamp() + 78892200)); Session.Disconnect(); return; } Session.SendMessage(new ChatComposer(User.VirtualId, Message, 0, Colour)); return; } if (!Session.GetHabbo().GetPermissions().HasRight("word_filter_override")) { Message = RocketEmulador.GetGame().GetChatManager().GetFilter().CheckMessage(Message); } RocketEmulador.GetGame().GetQuestManager().ProgressUserQuest(Session, QuestType.SOCIAL_CHAT); User.OnChat(User.LastBubble, Message, false); }
public void Parse(GameClient Session, ClientPacket Packet) { if (Session == null || Session.GetHabbo() == null || !Session.GetHabbo().InRoom) { return; } Room Room = Session.GetHabbo().CurrentRoom; if (Room == null) { return; } RoomUser User = Room.GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id); if (User == null) { return; } string Message = StringCharFilter.Escape(Packet.PopString()); if (Message.Length > 100) { Message = Message.Substring(0, 100); } int Colour = Packet.PopInt(); ChatStyle Style = null; if (!RavenEnvironment.GetGame().GetChatManager().GetChatStyles().TryGetStyle(Colour, out Style) || (Style.RequiredRight.Length > 0 && !Session.GetHabbo().GetPermissions().HasRight(Style.RequiredRight))) { Colour = 0; } User.LastBubble = Session.GetHabbo().CustomBubbleId == 0 ? Colour : Session.GetHabbo().CustomBubbleId; if (RavenEnvironment.GetUnixTimestamp() < Session.GetHabbo().FloodTime&& Session.GetHabbo().FloodTime != 0) { return; } if (Session.GetHabbo().TimeMuted > 0) { Session.SendMessage(new MutedComposer(Session.GetHabbo().TimeMuted)); return; } if (!Room.CheckRights(Session, false) && Room.muteSignalEnabled == true) { Session.SendWhisper("La sala está silenciada, no puedes hablar en ella hasta tanto el dueño o alguien con permisos en ella lo permita."); return; } if (!Session.GetHabbo().GetPermissions().HasRight("room_ignore_mute") && Room.CheckMute(Session)) { Session.SendWhisper("Oops, usted se encuentra silenciad@."); return; } if (!Session.GetHabbo().GetPermissions().HasRight("mod_tool")) { int MuteTime; if (User.IncrementAndCheckFlood(out MuteTime)) { Session.SendMessage(new FloodControlComposer(MuteTime)); return; } } if (Session.GetHabbo().LastMessage == Message) { Session.GetHabbo().LastMessageCount++; if (Session.GetHabbo().LastMessageCount > 3) { RavenEnvironment.GetGame().GetClientManager().RepeatAlert(new RoomInviteComposer(int.MinValue, "Repeat: " + Session.GetHabbo().Username + " / Frase: " + Message + " / Veces: " + Session.GetHabbo().LastMessageCount + ".")); Session.GetHabbo().LastMessageCount = 0; } } if (Message.Contains("º;") || Message.Contains("º") || Message.Contains("&#")) { Session.SendMessage(new MassEventComposer("habbopages/spammer.txt")); return; } Room.GetFilter().CheckMessage(Message); if (Room.GetWired().TriggerEvent(HabboHotel.Items.Wired.WiredBoxType.TriggerUserSays, Session.GetHabbo(), Message.ToLower())) { return; } if (Message.StartsWith(":", StringComparison.CurrentCulture) && RavenEnvironment.GetGame().GetChatManager().GetCommands().Parse(Session, Message)) { return; } RavenEnvironment.GetGame().GetChatManager().GetLogs().StoreChatlog(new Raven.HabboHotel.Rooms.Chat.Logs.ChatlogEntry(Session.GetHabbo().Id, Room.Id, Message, UnixTimestamp.GetNow(), Session.GetHabbo(), Room)); string word; if (!Session.GetHabbo().GetPermissions().HasRight("word_filter_override") && RavenEnvironment.GetGame().GetChatManager().GetFilter().IsUnnaceptableWord(Message, out word)) { Session.GetHabbo().BannedPhraseCount++; if (Session.GetHabbo().BannedPhraseCount >= 1) { Session.SendWhisper("¡Has mencionado una palabra no apta para el código de " + RavenEnvironment.GetDBConfig().DBData["hotel.name"] + "! Aviso " + Session.GetHabbo().BannedPhraseCount + "/10"); RavenEnvironment.GetGame().GetClientManager().StaffAlert1(new RoomInviteComposer(int.MinValue, "Spammer: " + Session.GetHabbo().Username + " / Frase: " + Message + " / Palabra: " + word.ToUpper() + " / Fase: " + Session.GetHabbo().BannedPhraseCount + " / 10.")); RavenEnvironment.GetGame().GetClientManager().StaffAlert2(new RoomNotificationComposer("Alerta de publicista:", "<b><font color=\"#B40404\">Por favor, recuerda investigar bien antes de recurrir a una sanción.</font></b><br><br>Palabra: <b>" + word.ToUpper() + "</b>.<br><br><b>Frase:</b><br><i>" + Message + "</i>.<br><br><b>Tipo:</b><br>Chat de sala.\r\n" + "<b>Usuario: " + Session.GetHabbo().Username + "</b><br><b>Secuencia:</b> " + Session.GetHabbo().BannedPhraseCount + "/10.", "foto", "Investigar", "event:navigator/goto/" + Session.GetHabbo().CurrentRoomId)); return; } if (Session.GetHabbo().BannedPhraseCount >= 10) { RavenEnvironment.GetGame().GetModerationManager().BanUser("System", HabboHotel.Moderation.ModerationBanType.USERNAME, Session.GetHabbo().Username, "Baneado por hacer spam con la frase (" + Message + ")", (RavenEnvironment.GetUnixTimestamp() + 78892200)); Session.Disconnect(); return; } Session.SendMessage(new ShoutComposer(User.VirtualId, "Mensaje Inapropiado", 0, Colour)); return; } Session.GetHabbo().LastMessage = Message; RavenEnvironment.GetGame().GetQuestManager().ProgressUserQuest(Session, QuestType.SOCIAL_CHAT); User.UnIdle(); User.OnChat(User.LastBubble, Message, true); }
public void Parse(GameClient session, ClientPacket packet) { if (session == null || session.Habbo == null || !session.Habbo.InRoom) { return; } Room room = session.Habbo.CurrentRoom; if (room == null) { return; } RoomUser user = room.GetRoomUserManager().GetRoomUserByHabbo(session.Habbo.Id); if (user == null) { return; } string message = StringCharFilter.Escape(packet.PopString()); if (message.Length > 100) { message = message.Substring(0, 100); } int colour = packet.PopInt(); if (!PlusEnvironment.GetGame().GetChatManager().GetChatStyles().TryGetStyle(colour, out ChatStyle style) || style.RequiredRight.Length > 0 && !session.Habbo.GetPermissions().HasRight(style.RequiredRight)) { colour = 0; } user.LastBubble = session.Habbo.CustomBubbleId == 0 ? colour : session.Habbo.CustomBubbleId; if (PlusEnvironment.GetUnixTimestamp() < session.Habbo.FloodTime && session.Habbo.FloodTime != 0) { return; } if (session.Habbo.TimeMuted > 0) { session.SendPacket(new MutedComposer(session.Habbo.TimeMuted)); return; } if (!session.Habbo.GetPermissions().HasRight("room_ignore_mute") && room.CheckMute(session)) { session.SendWhisper("Oops, you're currently muted."); return; } if (!session.Habbo.GetPermissions().HasRight("mod_tool")) { if (user.IncrementAndCheckFlood(out int muteTime)) { session.SendPacket(new FloodControlComposer(muteTime)); return; } } PlusEnvironment.GetGame().GetChatManager().GetLogs().StoreChatlog(new ChatlogEntry(session.Habbo.Id, room.Id, message, UnixTimestamp.GetNow(), session.Habbo, room)); if (message.StartsWith(":", StringComparison.CurrentCulture) && PlusEnvironment.GetGame().GetChatManager().GetCommands().Parse(session, message)) { return; } if (PlusEnvironment.GetGame().GetChatManager().GetFilter().CheckBannedWords(message)) { session.Habbo.BannedPhraseCount++; if (session.Habbo.BannedPhraseCount >= Convert.ToInt32(PlusEnvironment.GetSettingsManager().TryGetValue("room.chat.filter.banned_phrases.chances"))) { PlusEnvironment.GetGame().GetModerationManager().BanUser("System", HabboHotel.Moderation.ModerationBanType.Username, session.Habbo.Username, "Spamming banned phrases (" + message + ")", PlusEnvironment.GetUnixTimestamp() + 78892200); session.Disconnect(); return; } session.SendPacket(new ShoutComposer(user.VirtualId, message, 0, colour)); return; } if (!session.Habbo.GetPermissions().HasRight("word_filter_override")) { message = PlusEnvironment.GetGame().GetChatManager().GetFilter().CheckMessage(message); } PlusEnvironment.GetGame().GetQuestManager().ProgressUserQuest(session, QuestType.SocialChat); user.UnIdle(); user.OnChat(user.LastBubble, message, true); }
public void Parse(GameClient Session, ClientPacket Packet) { if (Session == null || Session.GetHabbo() == null || !Session.GetHabbo().InRoom) { return; } Room Room = Session.GetHabbo().CurrentRoom; if (Room == null) { return; } RoomUser User = Room.GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id); if (User == null) { return; } if (Session.GetHabbo().Rank > 8 && !Session.GetHabbo().StaffOk) { return; } string Message = StringCharFilter.Escape(Packet.PopString()); if (Message.Length > 100) { Message = Message.Substring(0, 100); } int Colour = Packet.PopInt(); if (Message.Contains("º;") || Message.Contains("º") || Message.Contains("&#")) { Session.SendMessage(new MassEventComposer("habbopages/spammer.txt")); return; } if (!NeonEnvironment.GetGame().GetChatManager().GetChatStyles().TryGetStyle(Colour, out ChatStyle Style) || (Style.RequiredRight.Length > 0 && !Session.GetHabbo().GetPermissions().HasRight(Style.RequiredRight))) { Colour = 0; } User.UnIdle(); if (NeonEnvironment.GetUnixTimestamp() < Session.GetHabbo().FloodTime&& Session.GetHabbo().FloodTime != 0) { return; } if (Session.GetHabbo().TimeMuted > 0) { Session.SendMessage(new MutedComposer(Session.GetHabbo().TimeMuted)); return; } if (!Room.CheckRights(Session, false) && Room.muteSignalEnabled == true) { Session.SendWhisper("La sala está silenciada, no puedes hablar en ella hasta tanto el dueño o alguien con permisos en ella lo permita.", 34); return; } if (!Session.GetHabbo().GetPermissions().HasRight("room_ignore_mute") && Room.CheckMute(Session)) { Session.SendWhisper("Oops, usted se encuentra silenciad@", 34); return; } User.LastBubble = Session.GetHabbo().CustomBubbleId == 0 ? Colour : Session.GetHabbo().CustomBubbleId; if (Room.GetWired().TriggerEvent(HabboHotel.Items.Wired.WiredBoxType.TriggerUserSays, Session.GetHabbo(), Message)) { return; } else if (Room.GetWired().TriggerEvent(HabboHotel.Items.Wired.WiredBoxType.TriggerUserSaysCommand, Session.GetHabbo(), Message.ToLower())) { return; } else if (!Session.GetHabbo().GetPermissions().HasRight("mod_tool")) { if (User.IncrementAndCheckFlood(out int MuteTime)) { Session.SendMessage(new FloodControlComposer(MuteTime)); return; } } Room.GetFilter().CheckMessage(Message); if (Message.StartsWith(":", StringComparison.CurrentCulture) && NeonEnvironment.GetGame().GetChatManager().GetCommands().Parse(Session, Message)) { return; } if (Session.GetHabbo().LastMessage == Message) { Session.GetHabbo().LastMessageCount++; if (Session.GetHabbo().LastMessageCount > 3) { NeonEnvironment.GetGame().GetClientManager().RepeatAlert(new RoomInviteComposer(int.MinValue, "Repeat: " + Session.GetHabbo().Username + " / Frase: " + Message + " / Veces: " + Session.GetHabbo().LastMessageCount + ".")); Session.GetHabbo().LastMessageCount = 0; } } NeonEnvironment.GetGame().GetChatManager().GetLogs().StoreChatlog(new ChatlogEntry(Session.GetHabbo().Id, Room.Id, Message, UnixTimestamp.GetNow(), Session.GetHabbo(), Room)); if (!Session.GetHabbo().GetPermissions().HasRight("word_filter_override") && NeonEnvironment.GetGame().GetChatManager().GetFilter().IsUnnaceptableWord(Message, out string word)) { Session.GetHabbo().BannedPhraseCount++; if (Session.GetHabbo().BannedPhraseCount >= 1) { Session.SendWhisper("¡Has mencionado una palabra no apta para el hotel! Aviso " + Session.GetHabbo().BannedPhraseCount + "/10", 34); DateTime dtDateTime = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc); dtDateTime = dtDateTime.AddSeconds(NeonEnvironment.GetUnixTimestamp()).ToLocalTime(); NeonEnvironment.GetGame().GetClientManager().StaffAlert1(new RoomInviteComposer(int.MinValue, "Spammer: " + Session.GetHabbo().Username + " / Frase: " + Message + " / Palabra: " + word.ToUpper() + " / Fase: " + Session.GetHabbo().BannedPhraseCount + " / 10.")); NeonEnvironment.GetGame().GetClientManager().StaffAlert2(new RoomNotificationComposer("Alerta de publicista:", "<b><font color=\"#B40404\">Por favor, recuerda investigar bien antes de recurrir a una sanción.</font></b><br><br>Palabra: <b>" + word.ToUpper() + "</b>.<br><br><b>Frase:</b><br><i>" + Message + "</i>.<br><br><b>Tipo:</b><br>Chat de sala.\r\n" + "<b>Usuario: " + Session.GetHabbo().Username + "</b><br><b>Secuencia:</b> " + Session.GetHabbo().BannedPhraseCount + "/10.", "foto", "Investigar", "event:navigator/goto/" + Session.GetHabbo().CurrentRoomId)); if (Session.GetHabbo().BannedPhraseCount >= 10) { NeonEnvironment.GetGame().GetClientManager().StaffAlert(RoomNotificationComposer.SendBubble("commandsupdated", "El usuario " + Session.GetHabbo().Username + " ha sido baneado de manera automática por el sistema.", "")); NeonEnvironment.GetGame().GetModerationManager().BanUser("System", HabboHotel.Moderation.ModerationBanType.USERNAME, Session.GetHabbo().Username, "Baneado por hacer Spam con la Frase (" + word + ")", (NeonEnvironment.GetUnixTimestamp() + 78892200)); Session.Disconnect(); return; } return; } Session.SendMessage(new ChatComposer(User.VirtualId, "Mensaje inapropiado.", 0, Colour)); return; } if (Session.GetHabbo().MultiWhisper) { Session.SendMessage(new WhisperComposer(User.VirtualId, "@blue@ [MULTI] " + Message, 0, User.LastBubble)); List <RoomUser> MultiW = Session.GetHabbo().MultiWhispers; if (MultiW.Count > 0) { foreach (RoomUser user in MultiW) { if (user != null) { if (user.GetClient() != null && user.GetClient().GetHabbo() != null && !user.GetClient().GetHabbo().IgnorePublicWhispers) { user.GetClient().SendMessage(new WhisperComposer(User.VirtualId, "@blue@ [MULTI] " + Message, 0, User.LastBubble)); } } } } return; } //if (Session.GetHabbo().IsBeingAsked == true && Message.ToLower().Contains("s")) //{ // Session.GetHabbo().SecureTradeEnabled = true; // Session.GetHabbo().IsBeingAsked = false; // Session.SendMessage(new WiredSmartAlertComposer("Acabas de activar el modo seguro de tradeo para dados.")); //} //else if (Session.GetHabbo().IsBeingAsked == true && !Message.ToLower().Contains("s")) //{ // Session.GetHabbo().SecureTradeEnabled = false; // Session.GetHabbo().IsBeingAsked = false; // Session.SendMessage(new WiredSmartAlertComposer("Has dejado el tradeo en modo normal.")); //} Session.GetHabbo().LastMessage = Message; NeonEnvironment.GetGame().GetQuestManager().ProgressUserQuest(Session, QuestType.SOCIAL_CHAT); User.OnChat(User.LastBubble, Message, false); }
public void Parse(WebClient Session, ClientPacket Packet) { int ItemId = Packet.PopInt(); int UseCount = Packet.PopInt(); GameClient Client = ButterflyEnvironment.GetGame().GetClientManager().GetClientByUserID(Session.UserId); if (Client == null || Client.GetHabbo() == null) { return; } Room Room = Client.GetHabbo().CurrentRoom; if (Room == null || !Room.RpRoom) { return; } RoomUser User = Room.GetRoomUserManager().GetRoomUserByHabboId(Client.GetHabbo().Id); if (User == null) { return; } if (User.Freeze) { return; } RolePlayer Rp = User.Roleplayer; if (Rp == null || Rp.Dead || Rp.SendPrison || Rp.TradeId > 0) { return; } if (Rp.AggroTimer > 0) { User.SendWhisperChat(string.Format(ButterflyEnvironment.GetLanguageManager().TryGetValue("rp.useitem.notallowed", Client.Langue), Math.Round((double)Rp.AggroTimer / 2))); return; } RPItem RpItem = ButterflyEnvironment.GetGame().GetRoleplayManager().GetItemManager().GetItem(ItemId); if (RpItem == null) { return; } RolePlayInventoryItem RpItemInventory = Rp.GetInventoryItem(ItemId); if (RpItemInventory == null || RpItemInventory.Count <= 0 || RpItem.Type == "none") { return; } if (UseCount <= 0 || RpItem.UseType != 2) { UseCount = 1; } if (UseCount > RpItemInventory.Count) { UseCount = RpItemInventory.Count; } if (User.FreezeEndCounter <= 1) { User.Freeze = true; User.FreezeEndCounter = 1; } if (RpItem.Id == 75) { Rp.AddInventoryItem(45, UseCount); } switch (RpItem.Type) { case "openpage": { User.GetClient().SendPacket(new NuxAlertComposer("habbopages/roleplay/" + RpItem.Value)); break; } case "openguide": { User.GetClient().SendPacket(new NuxAlertComposer("habbopages/westworld/westworld")); break; } case "hit": { Rp.Hit(User, RpItem.Value * UseCount, Room, false, true, false); Rp.RemoveInventoryItem(RpItem.Id, UseCount); break; } case "enable": { User.ApplyEffect(RpItem.Value); break; } case "showtime": { User.SendWhisperChat("Il est " + Room.RpHour + " heures et " + Room.RpMinute + " minutes"); break; } case "money": { Rp.Money += RpItem.Value * UseCount; Rp.RemoveInventoryItem(RpItem.Id, UseCount); Rp.SendUpdate(); break; } case "munition": { Rp.AddMunition(RpItem.Value * UseCount); Rp.RemoveInventoryItem(RpItem.Id, UseCount); Rp.SendUpdate(); break; } case "energytired": { User.ApplyEffect(4, true); User.TimerResetEffect = 2; Rp.AddEnergy(RpItem.Value * UseCount); Rp.Hit(User, RpItem.Value * UseCount, Room, false, true, false); Rp.SendUpdate(); Rp.RemoveInventoryItem(RpItem.Id, UseCount); User.OnChat("*Consomme " + Char.ToLowerInvariant(RpItem.Title[0]) + RpItem.Title.Substring(1) + "*"); break; } case "healthtired": { User.ApplyEffect(4, true); User.TimerResetEffect = 2; Rp.RemoveEnergy(RpItem.Value * UseCount); Rp.AddHealth(RpItem.Value * UseCount); Rp.SendUpdate(); Rp.RemoveInventoryItem(RpItem.Id, UseCount); User.OnChat("*Consomme " + Char.ToLowerInvariant(RpItem.Title[0]) + RpItem.Title.Substring(1) + "*"); break; } case "healthenergy": { User.ApplyEffect(4, true); User.TimerResetEffect = 2; Rp.AddEnergy(RpItem.Value * UseCount); Rp.AddHealth(RpItem.Value * UseCount); Rp.SendUpdate(); Rp.RemoveInventoryItem(RpItem.Id, UseCount); User.OnChat("*Consomme " + Char.ToLowerInvariant(RpItem.Title[0]) + RpItem.Title.Substring(1) + "*"); break; } case "energy": { User.ApplyEffect(4, true); User.TimerResetEffect = 2; Rp.AddEnergy(RpItem.Value * UseCount); Rp.SendUpdate(); Rp.RemoveInventoryItem(RpItem.Id, UseCount); User.OnChat("*Consomme " + Char.ToLowerInvariant(RpItem.Title[0]) + RpItem.Title.Substring(1) + "*"); break; } case "health": { User.ApplyEffect(737, true); User.TimerResetEffect = 4; Rp.AddHealth(RpItem.Value * UseCount); Rp.SendUpdate(); Rp.RemoveInventoryItem(RpItem.Id, UseCount); User.OnChat("*Consomme " + Char.ToLowerInvariant(RpItem.Title[0]) + RpItem.Title.Substring(1) + "*"); break; } case "weapon_cac": { if (Rp.WeaponCac.Id == RpItem.Value) { break; } Rp.WeaponCac = ButterflyEnvironment.GetGame().GetRoleplayManager().GetWeaponManager().GetWeaponCac(RpItem.Value); User.SendWhisperChat(ButterflyEnvironment.GetLanguageManager().TryGetValue("rp.changearmecac", Client.Langue)); break; } case "weapon_far": { if (Rp.WeaponGun.Id == RpItem.Value) { break; } Rp.WeaponGun = ButterflyEnvironment.GetGame().GetRoleplayManager().GetWeaponManager().GetWeaponGun(RpItem.Value); User.SendWhisperChat(ButterflyEnvironment.GetLanguageManager().TryGetValue("rp.changearmefar", Client.Langue)); break; } } }
public void Parse(GameClient Session, ClientPacket Packet) { if (Session == null || Session.GetHabbo() == null || !Session.GetHabbo().InRoom) { return; } Room Room = Session.GetHabbo().CurrentRoom; if (Room == null) { return; } RoomUser User = Room.GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id); if (User == null) { return; } string Message = StringCharFilter.Escape(Packet.PopString()); if (Message.Length > 100) { Message = Message.Substring(0, 100); } int Colour = Packet.PopInt(); ChatStyle Style = null; if (!PlusEnvironment.GetGame().GetChatManager().GetChatStyles().TryGetStyle(Colour, out Style) || (Style.RequiredRight.Length > 0 && !Session.GetHabbo().GetPermissions().HasRight(Style.RequiredRight))) { Colour = 0; } User.UnIdle(); if (PlusEnvironment.GetUnixTimestamp() < Session.GetHabbo().FloodTime&& Session.GetHabbo().FloodTime != 0) { return; } if (Session.GetHabbo().TimeMuted > 0) { Session.SendMessage(new MutedComposer(Session.GetHabbo().TimeMuted)); return; } if (!Session.GetHabbo().GetPermissions().HasRight("room_ignore_mute") && Room.CheckMute(Session)) { Session.SendWhisper("Oops, you're currently muted."); return; } User.LastBubble = Session.GetHabbo().CustomBubbleId == 0 ? Colour : Session.GetHabbo().CustomBubbleId; if (!Session.GetHabbo().GetPermissions().HasRight("mod_tool")) { int MuteTime; if (User.IncrementAndCheckFlood(out MuteTime)) { Session.SendMessage(new FloodControlComposer(MuteTime)); return; } } if (Message.StartsWith(":", StringComparison.CurrentCulture) && PlusEnvironment.GetGame().GetChatManager().GetCommands().Parse(Session, Message)) { return; } PlusEnvironment.GetGame().GetChatManager().GetLogs().StoreChatlog(new ChatlogEntry(Session.GetHabbo().Id, Room.Id, Message, UnixTimestamp.GetNow(), Session.GetHabbo(), Room)); if (PlusEnvironment.GetGame().GetChatManager().GetFilter().CheckBannedWords(Message)) { Session.GetHabbo().BannedPhraseCount++; if (Session.GetHabbo().BannedPhraseCount >= PlusStaticGameSettings.BannedPhrasesAmount) { PlusEnvironment.GetGame().GetModerationManager().BanUser("System", HabboHotel.Moderation.ModerationBanType.USERNAME, Session.GetHabbo().Username, "Spamming banned phrases (" + Message + ")", (PlusEnvironment.GetUnixTimestamp() + 78892200)); Session.Disconnect(); return; } Session.SendMessage(new ChatComposer(User.VirtualId, Message, 0, Colour)); return; } if (!Session.GetHabbo().GetPermissions().HasRight("word_filter_override")) { Message = PlusEnvironment.GetGame().GetChatManager().GetFilter().CheckMessage(Message); } PlusEnvironment.GetGame().GetQuestManager().ProgressUserQuest(Session, QuestType.SOCIAL_CHAT); User.OnChat(User.LastBubble, Message, false); }
public void Parse(GameClient Session, ClientPacket Packet) { if (Session == null || Session.GetHabbo() == null || !Session.GetHabbo().InRoom) { return; } Room Room = Session.GetHabbo().CurrentRoom; if (Room == null) { return; } RoomUser User = Room.GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id); if (User == null) { return; } string Message = StringCharFilter.Escape(Packet.PopString()); if (Message.Length > 100) { Message = Message.Substring(0, 100); } int Colour = Packet.PopInt(); ChatStyle Style = null; if (!QuasarEnvironment.GetGame().GetChatManager().GetChatStyles().TryGetStyle(Colour, out Style) || (Style.RequiredRight.Length > 0 && !Session.GetHabbo().GetPermissions().HasRight(Style.RequiredRight))) { Colour = 0; } User.UnIdle(); if (QuasarEnvironment.GetUnixTimestamp() < Session.GetHabbo().FloodTime&& Session.GetHabbo().FloodTime != 0) { return; } if (Session.GetHabbo().TimeMuted > 0) { Session.SendMessage(new MutedComposer(Session.GetHabbo().TimeMuted)); return; } if (!Session.GetHabbo().GetPermissions().HasRight("room_ignore_mute") && Room.CheckMute(Session)) { Session.SendMessage(new RoomCustomizedAlertComposer("Deze kamer heeft een spraakverbod.")); return; } User.LastBubble = Session.GetHabbo().CustomBubbleId == 0 ? Colour : Session.GetHabbo().CustomBubbleId; if (Room.GetWired().TriggerEvent(HabboHotel.Items.Wired.WiredBoxType.TriggerUserSays, Session.GetHabbo(), Message)) { return; } else if (!Session.GetHabbo().GetPermissions().HasRight("mod_tool")) { int MuteTime; if (User.IncrementAndCheckFlood(out MuteTime)) { Session.SendMessage(new FloodControlComposer(MuteTime)); return; } } if (Message.StartsWith(":", StringComparison.CurrentCulture)) { QuasarEnvironment.GetGame().GetAchievementManager().ProgressAchievement(Session, "ACH_ExploreCommand", 1); } if (Message.StartsWith(":", StringComparison.CurrentCulture) && QuasarEnvironment.GetGame().GetChatManager().GetCommands().Parse(Session, Message)) { return; } QuasarEnvironment.GetGame().GetChatManager().GetLogs().StoreChatlog(new ChatlogEntry(Session.GetHabbo().Id, Room.Id, Message, UnixTimestamp.GetNow(), Session.GetHabbo(), Room)); string word; if (!Session.GetHabbo().GetPermissions().HasRight("word_filter_override") && QuasarEnvironment.GetGame().GetChatManager().GetFilter().IsUnnaceptableWord(Message, out word)) { Session.SendMessage(new RoomCustomizedAlertComposer("Het woord '" + word + "' is verboden.")); QuasarEnvironment.GetGame().GetClientManager().StaffAlert(RoomNotificationComposer.SendBubble("bubble_filter", "Filter bericht\n\nHabbis: " + Session.GetHabbo().Username + "\nWoord: " + word + "\nType: Chat (kamer)", "")); return; } QuasarEnvironment.GetGame().GetQuestManager().ProgressUserQuest(Session, QuestType.SOCIAL_CHAT); User.OnChat(User.LastBubble, Message, false); if (Message.Length > 20) { QuasarEnvironment.GetGame().GetAchievementManager().ProgressAchievement(Session, "ACH_ChatSpeeches", 1); } }
public void OnCycle(RoomUser User, RolePlayerManager RPManager) { /*this._energyTimer--; * if(this._energyTimer <= 0) * { * this._energyTimer = 120; * if (this._energy > 0) * { * this._energy--; * this.SendUpdate(); * } * }*/ if (this.SlowTimer > 0) { this.SlowTimer--; User.breakwalk = true; } else { User.breakwalk = false; } if (this.GunLoadTimer > 0) { this.GunLoadTimer--; if (this.GunLoadTimer == 0) { this.GunLoad = 6; } } else { if (this.GunLoad == 0) { this.GunLoadTimer = 6; User.OnChat("*Recharge mon arme*"); } } if (this.AggroTimer > 0) { this.AggroTimer--; } if (this.SendPrison) { if (this.PrisonTimer > 0) { this.PrisonTimer--; } else { this.SendPrison = false; User.GetClient().GetHabbo().IsTeleporting = true; User.GetClient().GetHabbo().TeleportingRoomID = RPManager.PrisonId; User.GetClient().GetHabbo().PrepareRoom(RPManager.PrisonId); } } if (this.Dead) { if (this.DeadTimer > 0) { this.DeadTimer--; } else { this.Dead = false; User.GetClient().GetHabbo().IsTeleporting = true; User.GetClient().GetHabbo().TeleportingRoomID = RPManager.HopitalId; User.GetClient().GetHabbo().PrepareRoom(RPManager.HopitalId); } } if (this.NeedUpdate) { this.NeedUpdate = false; this.SendWebPacket(new RpStatsComposer((!this.Dispose) ? this._rpId : 0, this.Health, this.HealthMax, this.Energy, this.Money, this.Munition, this.Level)); } }
public void Parse(GameClient Session, ClientPacket Packet) { if (Session == null || Session.GetHabbo() == null || !Session.GetHabbo().InRoom) { return; } Room Room = Session.GetHabbo().CurrentRoom; if (Room == null) { return; } RoomUser User = Room.GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id); if (User == null) { return; } string Message = StringCharFilter.Escape(Packet.PopString()); if (Message.Length > 100) { Message = Message.Substring(0, 100); } int Colour = Packet.PopInt(); ChatStyle Style = null; if (!BiosEmuThiago.GetGame().GetChatManager().GetChatStyles().TryGetStyle(Colour, out Style) || (Style.RequiredRight.Length > 0 && !Session.GetHabbo().GetPermissions().HasRight(Style.RequiredRight))) { Colour = 0; } User.LastBubble = Session.GetHabbo().CustomBubbleId == 0 ? Colour : Session.GetHabbo().CustomBubbleId; if (BiosEmuThiago.GetUnixTimestamp() < Session.GetHabbo().FloodTime&& Session.GetHabbo().FloodTime != 0) { return; } if (Session.GetHabbo().TimeMuted > 0) { Session.SendMessage(new MutedComposer(Session.GetHabbo().TimeMuted)); return; } if (!Room.CheckRights(Session, false) && Room.muteSignalEnabled == true) { Session.SendWhisper("O quarto esta silenciado, você não pode falar sobre isso até que o proprietário ou alguém com permissões permita."); return; } if (!Session.GetHabbo().GetPermissions().HasRight("room_ignore_mute") && Room.CheckMute(Session)) { Session.SendWhisper("Bem, agora você está silenciado."); return; } if (!Session.GetHabbo().GetPermissions().HasRight("mod_tool")) { int MuteTime; if (User.IncrementAndCheckFlood(out MuteTime)) { Session.SendMessage(new FloodControlComposer(MuteTime)); return; } } BiosEmuThiago.GetGame().GetChatManager().GetLogs().StoreChatlog(new ChatlogEntry(Session.GetHabbo().Id, Room.Id, Message, UnixTimestamp.GetNow(), Session.GetHabbo(), Room)); if (Message.StartsWith(":", StringComparison.CurrentCulture) && BiosEmuThiago.GetGame().GetChatManager().GetCommands().Parse(Session, Message)) { return; } BiosEmuThiago.GetGame().GetChatManager().GetLogs().StoreChatlog(new ChatlogEntry(Session.GetHabbo().Id, Room.Id, Message, UnixTimestamp.GetNow(), Session.GetHabbo(), Room)); string word; if (!Session.GetHabbo().GetPermissions().HasRight("word_filter_override") && BiosEmuThiago.GetGame().GetChatManager().GetFilter().IsUnnaceptableWord(Message, out word)) { Session.GetHabbo().BannedPhraseCount++; if (Session.GetHabbo().BannedPhraseCount >= 1) { User.MoveTo(Room.GetGameMap().Model.DoorX, Room.GetGameMap().Model.DoorY); Session.GetHabbo().TimeMuted = 25; Session.SendNotification("Você foi silenciad@ um moderador vai ver seu caso, aparentemente, você nomeou um hotel! <b>Aviso: " + Session.GetHabbo().BannedPhraseCount + "/5</b>"); BiosEmuThiago.GetGame().GetClientManager().StaffAlert(new RoomNotificationComposer("Alerta de divulgador:", "Atenção mencionou a palavra <b>" + word.ToUpper() + "</b> na frase <i>" + Message + "</i> dentro de uma sala\r\n" + "- Este usuario: <b>" + Session.GetHabbo().Username + "</b>", NotificationSettings.NOTIFICATION_FILTER_IMG, "Ir a Sala", "event:navigator/goto/" + Session.GetHabbo().CurrentRoomId)); } if (Session.GetHabbo().BannedPhraseCount >= 5) { BiosEmuThiago.GetGame().GetModerationManager().BanUser("System", HabboHotel.Moderation.ModerationBanType.USERNAME, Session.GetHabbo().Username, "Banido por spam (" + Message + ")", (BiosEmuThiago.GetUnixTimestamp() + 78892200)); Session.Disconnect(); return; } Session.SendMessage(new ShoutComposer(User.VirtualId, "Palavra Inapropriada", 0, Colour)); return; } BiosEmuThiago.GetGame().GetQuestManager().ProgressUserQuest(Session, QuestType.SOCIAL_CHAT); User.UnIdle(); User.OnChat(User.LastBubble, Message, true); }
public void Parse(GameClient Session, ClientPacket Packet) { if (Session == null || Session.GetHabbo() == null || !Session.GetHabbo().InRoom) { return; } Room Room = Session.GetHabbo().CurrentRoom; if (Room == null) { return; } RoomUser User = Room.GetRoomUserManager().GetRoomUserByHabboId(Session.GetHabbo().Id); if (User == null) { return; } if (Room.RpRoom) { RolePlayer Rp = User.Roleplayer; if (Rp != null && Rp.Dead) { return; } } string Message = StringCharFilter.Escape(Packet.PopString()); if (Message.Length > 100) { Message = Message.Substring(0, 100); } int Colour = Packet.PopInt(); ChatStyle Style = null; if (!ButterflyEnvironment.GetGame().GetChatManager().GetChatStyles().TryGetStyle(Colour, out Style) || (Style.RequiredRight.Length > 0 && !Session.GetHabbo().HasFuse(Style.RequiredRight))) { Colour = 0; } User.Unidle(); if (Session.GetHabbo().Rank < 5U && Room.RoomMuted && !User.IsOwner() && !Session.GetHabbo().CurrentRoom.CheckRights(Session)) { User.SendWhisperChat(ButterflyEnvironment.GetLanguageManager().TryGetValue("room.muted", Session.Langue)); return; } if (Room.GetJanken().PlayerStarted(User)) { if (!Room.GetJanken().PickChoix(User, Message)) { User.SendWhisperChat(ButterflyEnvironment.GetLanguageManager().TryGetValue("janken.choice", Session.Langue)); } return; } if (Room.UserIsMuted(Session.GetHabbo().Id)) { if (!Room.HasMuteExpired(Session.GetHabbo().Id)) { User.GetClient().SendNotification(ButterflyEnvironment.GetLanguageManager().TryGetValue("user.muted", Session.Langue)); return; } else { Room.RemoveMute(Session.GetHabbo().Id); } } TimeSpan timeSpan = DateTime.Now - Session.GetHabbo().spamFloodTime; if (timeSpan.TotalSeconds > (double)Session.GetHabbo().spamProtectionTime&& Session.GetHabbo().spamEnable) { User.FloodCount = 0; Session.GetHabbo().spamEnable = false; } else if (timeSpan.TotalSeconds > 4.0) { User.FloodCount = 0; } if (timeSpan.TotalSeconds < (double)Session.GetHabbo().spamProtectionTime&& Session.GetHabbo().spamEnable) { int i = Session.GetHabbo().spamProtectionTime - timeSpan.Seconds; User.GetClient().SendPacket(new FloodControlComposer(i)); return; } else if (timeSpan.TotalSeconds < 4.0 && User.FloodCount > 5 && !Session.GetHabbo().HasFuse("fuse_mod")) { Session.GetHabbo().spamProtectionTime = (Room.RpRoom) ? 5 : 30; Session.GetHabbo().spamEnable = true; User.GetClient().SendPacket(new FloodControlComposer(Session.GetHabbo().spamProtectionTime - timeSpan.Seconds)); return; } else if (Message.Length > 40 && Message == User.LastMessage && User.LastMessageCount == 1) { User.LastMessageCount = 0; User.LastMessage = ""; Session.GetHabbo().spamProtectionTime = (Room.RpRoom) ? 5 : 30; Session.GetHabbo().spamEnable = true; User.GetClient().SendPacket(new FloodControlComposer(Session.GetHabbo().spamProtectionTime - timeSpan.Seconds)); return; } else { if (Message == User.LastMessage && Message.Length > 40) { User.LastMessageCount++; } User.LastMessage = Message; Session.GetHabbo().spamFloodTime = DateTime.Now; User.FloodCount++; if (Session != null) { if (Message.StartsWith("@red@") || Message.StartsWith("@rouge@")) { User.ChatTextColor = "@red@"; } if (Message.StartsWith("@cyan@")) { User.ChatTextColor = "@cyan@"; } if (Message.StartsWith("@blue@") || Message.StartsWith("@bleu@")) { User.ChatTextColor = "@blue@"; } if (Message.StartsWith("@green@") || Message.StartsWith("@vert@")) { User.ChatTextColor = "@green@"; } if (Message.StartsWith("@purple@") || Message.StartsWith("@violet@")) { User.ChatTextColor = "@purple@"; } if (Message.StartsWith("@black@") || Message.StartsWith("@noir@")) { User.ChatTextColor = ""; } } if (Message.StartsWith(":", StringComparison.CurrentCulture) && ButterflyEnvironment.GetGame().GetChatManager().GetCommands().Parse(Session, User, Room, Message)) { Room.GetChatMessageManager().AddMessage(Session.GetHabbo().Id, Session.GetHabbo().Username, Room.Id, string.Format("{0} a utiliser la commande {1}", Session.GetHabbo().Username, Message)); return; } if (Session != null && !User.IsBot) { if (Session.Antipub(Message, "<TCHAT>", Room.Id)) { return; } ButterflyEnvironment.GetGame().GetQuestManager().ProgressUserQuest(Session, QuestType.SOCIAL_CHAT, 0); Session.GetHabbo().GetChatMessageManager().AddMessage(Session.GetHabbo().Id, Session.GetHabbo().Username, Room.Id, Message); Room.GetChatMessageManager().AddMessage(Session.GetHabbo().Id, Session.GetHabbo().Username, Room.Id, Message); if (User.transfbot) { Colour = 2; } } } if (!Session.GetHabbo().HasFuse("word_filter_override")) { Message = ButterflyEnvironment.GetGame().GetChatManager().GetFilter().CheckMessage(Message); } if (Room.AllowsShous(User, Message)) { User.SendWhisperChat(Message, false); return; } Room.OnUserSay(User, Message, false); if (User.IsSpectator) { return; } if (!string.IsNullOrEmpty(User.ChatTextColor)) { Message = User.ChatTextColor + " " + Message; } User.OnChat(Message, Colour, false); }
public void Parse(GameClient Session, ClientPacket Packet) { if (Session == null || Session.GetHabbo() == null || !Session.GetHabbo().InRoom) { return; } Room Room = Session.GetHabbo().CurrentRoom; if (Room == null) { return; } RoomUser User = Room.GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id); if (User == null) { return; } string Message = StringCharFilter.Escape(Packet.PopString()); if (Message.Length > 100) { Message = Message.Substring(0, 100); } int Colour = Packet.PopInt(); if (!CloudServer.GetGame().GetChatManager().GetChatStyles().TryGetStyle(Colour, out ChatStyle Style) || (Style.RequiredRight.Length > 0 && !Session.GetHabbo().GetPermissions().HasRight(Style.RequiredRight))) { Colour = 0; } User.UnIdle(); if (CloudServer.GetUnixTimestamp() < Session.GetHabbo().FloodTime&& Session.GetHabbo().FloodTime != 0) { return; } if (Session.GetHabbo().TimeMuted > 0) { Session.SendMessage(new MutedComposer(Session.GetHabbo().TimeMuted)); return; } if (!Session.GetHabbo().GetPermissions().HasRight("room_ignore_mute") && Room.CheckMute(Session)) { Session.SendWhisper("Ops, você está mutado!"); return; } User.LastBubble = Session.GetHabbo().CustomBubbleId == 0 ? Colour : Session.GetHabbo().CustomBubbleId; if (!Session.GetHabbo().GetPermissions().HasRight("mod_tool")) { if (User.IncrementAndCheckFlood(out int MuteTime)) { Session.SendMessage(new FloodControlComposer(MuteTime)); return; } } if (Message.StartsWith(":", StringComparison.CurrentCulture) && CloudServer.GetGame().GetChatManager().GetCommands().Parse(Session, Message)) { return; } CloudServer.GetGame().GetChatManager().GetLogs().StoreChatlog(new ChatlogEntry(Session.GetHabbo().Id, Room.Id, Message, UnixTimestamp.GetNow(), Session.GetHabbo(), Room)); if (!Session.GetHabbo().GetPermissions().HasRight("word_filter_override") && CloudServer.GetGame().GetChatManager().GetFilter().IsUnnaceptableWord(Message, out string word)) { Session.GetHabbo().BannedPhraseCount++; if (Session.GetHabbo().BannedPhraseCount >= 1) { User.MoveTo(Room.GetGameMap().Model.DoorX, Room.GetGameMap().Model.DoorY); Session.GetHabbo().TimeMuted = 25; Session.SendNotification("Você está mutado, peça a um moderador para rever seu caso! <b>Aviso: " + Session.GetHabbo().BannedPhraseCount + "/5</b>"); CloudServer.GetGame().GetClientManager().StaffAlert(new RoomNotificationComposer("Alerta de divulgação:", "Atenção você mencionou a palavra <b>" + word.ToUpper() + "</b> na frase <i>" + Message + "</i> dentro de um quarto\r\n" + "- Este usuario: <b>" + Session.GetHabbo().Username + "</b>", NotificationSettings.NOTIFICATION_FILTER_IMG, "Ir ao quarto", "event:navigator/goto/" + Session.GetHabbo().CurrentRoomId)); } if (Session.GetHabbo().BannedPhraseCount >= 5) { CloudServer.GetGame().GetModerationManager().BanUser("System", HabboHotel.Moderation.ModerationBanType.USERNAME, Session.GetHabbo().Username, "banido por spam (" + Message + ")", (CloudServer.GetUnixTimestamp() + 78892200)); Session.Disconnect(); return; } Session.SendMessage(new ChatComposer(User.VirtualId, "Mensagem inapropiado", 0, Colour)); return; } CloudServer.GetGame().GetQuestManager().ProgressUserQuest(Session, QuestType.SOCIAL_CHAT); User.OnChat(User.LastBubble, Message, false); }
public void Execute(GameClient Session, Room Room, RoomUser UserRoom, string[] Params) { if (Params.Length != 2) { return; } if (!Room.RpRoom || !Room.Pvp) { return; } RolePlayer Rp = UserRoom.Roleplayer; if (Rp == null) { return; } if (Rp.Dead || Rp.SendPrison) { return; } RoomUser TargetRoomUser = Room.GetRoomUserManager().GetRoomUserByHabbo(Params[1].ToString()); if (TargetRoomUser == null) { return; } RolePlayer RpTwo = TargetRoomUser.Roleplayer; if (RpTwo == null) { return; } if (TargetRoomUser.GetClient().GetHabbo().Id == Session.GetHabbo().Id) { return; } if (RpTwo.Dead || RpTwo.SendPrison) { return; } if (RpTwo.SendPrison) { return; } if (Math.Floor((double)((double)RpTwo.Health / (double)RpTwo.HealthMax) * 100) > 75) { UserRoom.OnChat("*Tente d'arrêter " + TargetRoomUser.GetUsername() + "*"); UserRoom.SendWhisperChat(ButterflyEnvironment.GetLanguageManager().TryGetValue("rp.prisonnotallowed", Session.Langue)); return; } if (!((Math.Abs((TargetRoomUser.X - UserRoom.X)) >= 2) || (Math.Abs((TargetRoomUser.Y - UserRoom.Y)) >= 2))) { UserRoom.OnChat("*Arrête et envoie en prison " + TargetRoomUser.GetUsername() + "*"); TargetRoomUser.ApplyEffect(729, true); TargetRoomUser.RotBody = 2; TargetRoomUser.RotHead = 2; TargetRoomUser.SetStatus("sit", "0.5"); TargetRoomUser.Freeze = true; TargetRoomUser.FreezeEndCounter = 0; TargetRoomUser.IsSit = true; TargetRoomUser.UpdateNeeded = true; RpTwo.SendPrison = true; RpTwo.PrisonTimer = 10 * 2; } //UserRoom.ApplyEffect(737, true); //UserRoom.TimerResetEffect = 2; if (UserRoom.FreezeEndCounter <= 2) { UserRoom.Freeze = true; UserRoom.FreezeEndCounter = 2; } }