public void Execute(GameClients.GameClient Session, Rooms.Room Room, string[] Params) { if (Params.Length == 1) { Session.SendWhisper("Please enter the username of the user you wish to mimic."); return; } GameClient TargetClient = PlusEnvironment.GetGame().GetClientManager().GetClientByUsername(Params[1]); if (TargetClient == null) { Session.SendWhisper("An error occoured whilst finding that user, maybe they're not online."); return; } if (!TargetClient.GetHabbo().AllowMimic) { Session.SendWhisper("Oops, you cannot mimic this user - sorry!"); return; } RoomUser TargetUser = Session.GetHabbo().CurrentRoom.GetRoomUserManager().GetRoomUserByHabbo(TargetClient.GetHabbo().Id); if (TargetUser == null) { Session.SendWhisper("An error occoured whilst finding that user, maybe they're not online or in this room."); return; } Session.GetHabbo().Gender = TargetUser.GetClient().GetHabbo().Gender; Session.GetHabbo().Look = TargetUser.GetClient().GetHabbo().Look; using (IQueryAdapter dbClient = PlusEnvironment.GetDatabaseManager().GetQueryReactor()) { dbClient.SetQuery("UPDATE `users` SET `gender` = @gender, `look` = @look WHERE `id` = @id LIMIT 1"); dbClient.AddParameter("gender", Session.GetHabbo().Gender); dbClient.AddParameter("look", Session.GetHabbo().Look); dbClient.AddParameter("id", Session.GetHabbo().Id); dbClient.RunQuery(); } RoomUser User = Room.GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id); if (User != null) { Session.SendPacket(new AvatarAspectUpdateComposer(Session.GetHabbo().Look, Session.GetHabbo().Gender)); Session.SendPacket(new UserChangeComposer(User, true)); Room.SendPacket(new UserChangeComposer(User, false)); } }
public void Execute(GameClients.GameClient Session, Rooms.Room Room, string[] Params) { RoomUser ThisUser = Room.GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id); if (ThisUser == null) { return; } if (Params.Length == 1) { Session.SendWhisper("You must enter a username and the message you wish to force them to say."); } else { string Message = CommandManager.MergeParams(Params, 2); RoomUser TargetUser = Session.GetHabbo().CurrentRoom.GetRoomUserManager().GetRoomUserByHabbo(Params[1]); if (TargetUser != null) { if (TargetUser.GetClient() != null && TargetUser.GetClient().GetHabbo() != null) { if (!TargetUser.GetClient().GetHabbo().GetPermissions().HasRight("mod_make_say_any")) { Room.SendPacket(new ChatComposer(TargetUser.VirtualId, Message, 0, TargetUser.LastBubble)); } else { Session.SendWhisper("You cannot use makesay on this user."); } } } else { Session.SendWhisper("This user could not be found in the room"); } } }
public void Execute(GameClients.GameClient Session, Rooms.Room Room, string[] Params) { if (Params.Length == 1) { Session.SendWhisper("Please enter a dance ID. (1-4)"); return; } int DanceId = Convert.ToInt32(Params[1]); if (DanceId < 0 || DanceId > 4) { Session.SendWhisper("Please enter a dance ID. (1-4)"); return; } List <RoomUser> Users = Room.GetRoomUserManager().GetRoomUsers(); if (Users.Count > 0) { foreach (RoomUser U in Users.ToList()) { if (U == null) { continue; } if (U.CarryItemID > 0) { U.CarryItemID = 0; } U.DanceId = DanceId; Room.SendPacket(new DanceComposer(U, DanceId)); } } }
public void Execute(GameClients.GameClient Session, Rooms.Room Room, string[] Params) { if (Params.Length == 1) { Session.SendWhisper("Oops, you must choose a room option to disable."); return; } if (!Room.CheckRights(Session, true)) { Session.SendWhisper("Oops, only the room owner or staff can use this command."); return; } string Option = Params[1]; switch (Option) { case "list": { StringBuilder List = new StringBuilder(""); List.AppendLine("Room Command List"); List.AppendLine("-------------------------"); List.AppendLine("Pet Morphs: " + (Room.PetMorphsAllowed == true ? "enabled" : "disabled")); List.AppendLine("Pull: " + (Room.PullEnabled == true ? "enabled" : "disabled")); List.AppendLine("Push: " + (Room.PushEnabled == true ? "enabled" : "disabled")); List.AppendLine("Super Pull: " + (Room.SPullEnabled == true ? "enabled" : "disabled")); List.AppendLine("Super Push: " + (Room.SPushEnabled == true ? "enabled" : "disabled")); List.AppendLine("Respect: " + (Room.RespectNotificationsEnabled == true ? "enabled" : "disabled")); List.AppendLine("Enables: " + (Room.EnablesEnabled == true ? "enabled" : "disabled")); Session.SendNotification(List.ToString()); break; } case "push": { Room.PushEnabled = !Room.PushEnabled; using (IQueryAdapter dbClient = PlusEnvironment.GetDatabaseManager().GetQueryReactor()) { dbClient.SetQuery("UPDATE `rooms` SET `push_enabled` = @PushEnabled WHERE `id` = '" + Room.Id + "' LIMIT 1"); dbClient.AddParameter("PushEnabled", PlusEnvironment.BoolToEnum(Room.PushEnabled)); dbClient.RunQuery(); } Session.SendWhisper("Push mode is now " + (Room.PushEnabled == true ? "enabled!" : "disabled!")); break; } case "spush": { Room.SPushEnabled = !Room.SPushEnabled; using (IQueryAdapter dbClient = PlusEnvironment.GetDatabaseManager().GetQueryReactor()) { dbClient.SetQuery("UPDATE `rooms` SET `spush_enabled` = @PushEnabled WHERE `id` = '" + Room.Id + "' LIMIT 1"); dbClient.AddParameter("PushEnabled", PlusEnvironment.BoolToEnum(Room.SPushEnabled)); dbClient.RunQuery(); } Session.SendWhisper("Super Push mode is now " + (Room.SPushEnabled == true ? "enabled!" : "disabled!")); break; } case "spull": { Room.SPullEnabled = !Room.SPullEnabled; using (IQueryAdapter dbClient = PlusEnvironment.GetDatabaseManager().GetQueryReactor()) { dbClient.SetQuery("UPDATE `rooms` SET `spull_enabled` = @PullEnabled WHERE `id` = '" + Room.Id + "' LIMIT 1"); dbClient.AddParameter("PullEnabled", PlusEnvironment.BoolToEnum(Room.SPullEnabled)); dbClient.RunQuery(); } Session.SendWhisper("Super Pull mode is now " + (Room.SPullEnabled == true ? "enabled!" : "disabled!")); break; } case "pull": { Room.PullEnabled = !Room.PullEnabled; using (IQueryAdapter dbClient = PlusEnvironment.GetDatabaseManager().GetQueryReactor()) { dbClient.SetQuery("UPDATE `rooms` SET `pull_enabled` = @PullEnabled WHERE `id` = '" + Room.Id + "' LIMIT 1"); dbClient.AddParameter("PullEnabled", PlusEnvironment.BoolToEnum(Room.PullEnabled)); dbClient.RunQuery(); } Session.SendWhisper("Pull mode is now " + (Room.PullEnabled == true ? "enabled!" : "disabled!")); break; } case "enable": case "enables": { Room.EnablesEnabled = !Room.EnablesEnabled; using (IQueryAdapter dbClient = PlusEnvironment.GetDatabaseManager().GetQueryReactor()) { dbClient.SetQuery("UPDATE `rooms` SET `enables_enabled` = @EnablesEnabled WHERE `id` = '" + Room.Id + "' LIMIT 1"); dbClient.AddParameter("EnablesEnabled", PlusEnvironment.BoolToEnum(Room.EnablesEnabled)); dbClient.RunQuery(); } Session.SendWhisper("Enables mode set to " + (Room.EnablesEnabled == true ? "enabled!" : "disabled!")); break; } case "respect": { Room.RespectNotificationsEnabled = !Room.RespectNotificationsEnabled; using (IQueryAdapter dbClient = PlusEnvironment.GetDatabaseManager().GetQueryReactor()) { dbClient.SetQuery("UPDATE `rooms` SET `respect_notifications_enabled` = @RespectNotificationsEnabled WHERE `id` = '" + Room.Id + "' LIMIT 1"); dbClient.AddParameter("RespectNotificationsEnabled", PlusEnvironment.BoolToEnum(Room.RespectNotificationsEnabled)); dbClient.RunQuery(); } Session.SendWhisper("Respect notifications mode set to " + (Room.RespectNotificationsEnabled == true ? "enabled!" : "disabled!")); break; } case "pets": case "morphs": { Room.PetMorphsAllowed = !Room.PetMorphsAllowed; using (IQueryAdapter dbClient = PlusEnvironment.GetDatabaseManager().GetQueryReactor()) { dbClient.SetQuery("UPDATE `rooms` SET `pet_morphs_allowed` = @PetMorphsAllowed WHERE `id` = '" + Room.Id + "' LIMIT 1"); dbClient.AddParameter("PetMorphsAllowed", PlusEnvironment.BoolToEnum(Room.PetMorphsAllowed)); dbClient.RunQuery(); } Session.SendWhisper("Human pet morphs notifications mode set to " + (Room.PetMorphsAllowed == true ? "enabled!" : "disabled!")); if (!Room.PetMorphsAllowed) { foreach (RoomUser User in Room.GetRoomUserManager().GetRoomUsers()) { if (User == null || User.GetClient() == null || User.GetClient().GetHabbo() == null) { continue; } User.GetClient().SendWhisper("The room owner has disabled the ability to use a pet morph in this room."); if (User.GetClient().GetHabbo().PetId > 0) { //Tell the user what is going on. User.GetClient().SendWhisper("Oops, the room owner has just disabled pet-morphs, un-morphing you."); //Change the users Pet Id. User.GetClient().GetHabbo().PetId = 0; //Quickly remove the old user instance. Room.SendPacket(new UserRemoveComposer(User.VirtualId)); //Add the new one, they won't even notice a thing!!11 8-) Room.SendPacket(new UsersComposer(User)); } } } break; } } }
public void Execute(GameClients.GameClient Session, Rooms.Room Room, string[] Params) { if (Params.Length == 1) { Session.SendWhisper("Please enter the username of the user you wish to push."); return; } if (!Room.SPushEnabled && !Room.CheckRights(Session, true) && !Session.GetHabbo().GetPermissions().HasRight("room_override_custom_config")) { Session.SendWhisper("Oops, it appears that the room owner has disabled the ability to use the push command in here."); return; } GameClient TargetClient = PlusEnvironment.GetGame().GetClientManager().GetClientByUsername(Params[1]); if (TargetClient == null) { Session.SendWhisper("An error occoured whilst finding that user, maybe they're not online."); return; } RoomUser TargetUser = Room.GetRoomUserManager().GetRoomUserByHabbo(TargetClient.GetHabbo().Id); if (TargetUser == null) { Session.SendWhisper("An error occoured whilst finding that user, maybe they're not online or in this room."); return; } if (TargetClient.GetHabbo().Username == Session.GetHabbo().Username) { Session.SendWhisper("Come on, surely you don't want to push yourself!"); return; } if (TargetUser.TeleportEnabled) { Session.SendWhisper("Oops, you cannot push a user whilst they have their teleport mode enabled."); return; } RoomUser ThisUser = Room.GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id); if (ThisUser == null) { return; } if (!((Math.Abs(TargetUser.X - ThisUser.X) >= 2) || (Math.Abs(TargetUser.Y - ThisUser.Y) >= 2))) { if (TargetUser.SetX - 1 == Room.GetGameMap().Model.DoorX || TargetUser.SetY - 1 == Room.GetGameMap().Model.DoorY) { Session.SendWhisper("Please don't push that user out of the room :(!"); return; } if (TargetUser.SetX - 2 == Room.GetGameMap().Model.DoorX || TargetUser.SetY - 2 == Room.GetGameMap().Model.DoorY) { Session.SendWhisper("Please don't push that user out of the room :(!"); return; } if (TargetUser.SetX - 3 == Room.GetGameMap().Model.DoorX || TargetUser.SetY - 3 == Room.GetGameMap().Model.DoorY) { Session.SendWhisper("Please don't push that user out of the room :(!"); return; } if (TargetUser.RotBody == 4) { TargetUser.MoveTo(TargetUser.X, TargetUser.Y + 3); } if (ThisUser.RotBody == 0) { TargetUser.MoveTo(TargetUser.X, TargetUser.Y - 3); } if (ThisUser.RotBody == 6) { TargetUser.MoveTo(TargetUser.X - 3, TargetUser.Y); } if (ThisUser.RotBody == 2) { TargetUser.MoveTo(TargetUser.X + 3, TargetUser.Y); } if (ThisUser.RotBody == 3) { TargetUser.MoveTo(TargetUser.X + 3, TargetUser.Y); TargetUser.MoveTo(TargetUser.X, TargetUser.Y + 3); } if (ThisUser.RotBody == 1) { TargetUser.MoveTo(TargetUser.X + 3, TargetUser.Y); TargetUser.MoveTo(TargetUser.X, TargetUser.Y - 3); } if (ThisUser.RotBody == 7) { TargetUser.MoveTo(TargetUser.X - 3, TargetUser.Y); TargetUser.MoveTo(TargetUser.X, TargetUser.Y - 3); } if (ThisUser.RotBody == 5) { TargetUser.MoveTo(TargetUser.X - 3, TargetUser.Y); TargetUser.MoveTo(TargetUser.X, TargetUser.Y + 3); } Room.SendPacket(new ChatComposer(ThisUser.VirtualId, "*super pushes " + Params[1] + "*", 0, ThisUser.LastBubble)); } else { Session.SendWhisper("Oops, " + Params[1] + " is not close enough!"); } }
public void Execute(GameClients.GameClient Session, Rooms.Room Room, string[] Params) { if (Params.Length == 1) { Session.SendWhisper("Please enter the username of the user you wish to pull."); return; } if (!Room.PullEnabled && !Session.GetHabbo().GetPermissions().HasRight("room_override_custom_config")) { Session.SendWhisper("Oops, it appears that the room owner has disabled the ability to use the pull command in here."); return; } GameClient TargetClient = PlusEnvironment.GetGame().GetClientManager().GetClientByUsername(Params[1]); if (TargetClient == null) { Session.SendWhisper("An error occoured whilst finding that user, maybe they're not online."); return; } RoomUser TargetUser = Room.GetRoomUserManager().GetRoomUserByHabbo(TargetClient.GetHabbo().Id); if (TargetUser == null) { Session.SendWhisper("An error occoured whilst finding that user, maybe they're not online or in this room."); return; } if (TargetClient.GetHabbo().Username == Session.GetHabbo().Username) { Session.SendWhisper("Come on, surely you don't want to push yourself!"); return; } if (TargetUser.TeleportEnabled) { Session.SendWhisper("Oops, you cannot push a user whilst they have their teleport mode enabled."); return; } RoomUser ThisUser = Room.GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id); if (ThisUser == null) { return; } if (ThisUser.SetX - 1 == Room.GetGameMap().Model.DoorX) { Session.SendWhisper("Please don't pull that user out of the room :(!"); return; } string PushDirection = "down"; if (TargetClient.GetHabbo().CurrentRoomId == Session.GetHabbo().CurrentRoomId&& (Math.Abs(ThisUser.X - TargetUser.X) < 3 && Math.Abs(ThisUser.Y - TargetUser.Y) < 3)) { Room.SendPacket(new ChatComposer(ThisUser.VirtualId, "*pulls " + Params[1] + " to them*", 0, ThisUser.LastBubble)); if (ThisUser.RotBody == 0) { PushDirection = "up"; } if (ThisUser.RotBody == 2) { PushDirection = "right"; } if (ThisUser.RotBody == 4) { PushDirection = "down"; } if (ThisUser.RotBody == 6) { PushDirection = "left"; } if (PushDirection == "up") { TargetUser.MoveTo(ThisUser.X, ThisUser.Y - 1); } if (PushDirection == "right") { TargetUser.MoveTo(ThisUser.X + 1, ThisUser.Y); } if (PushDirection == "down") { TargetUser.MoveTo(ThisUser.X, ThisUser.Y + 1); } if (PushDirection == "left") { TargetUser.MoveTo(ThisUser.X - 1, ThisUser.Y); } return; } else { Session.SendWhisper("That user is not close enough to you to be pulled, try getting closer!"); return; } }