public override bool Execute(GameClient session, string[] pms) { var room = session.GetHabbo().CurrentRoom; if (!session.GetHabbo().CurrentRoom.RoomMuted) { session.SendWhisper("Room isn't muted."); return true; } session.GetHabbo().CurrentRoom.RoomMuted = false; /* var message = new ServerMessage(); message.Init(LibraryParser.OutgoingRequest("AlertNotificationMessageComposer")); message.AppendString("Room is now UnMuted."); message.AppendString(""); room.SendMessage(message);*/ room.SendMessage(GameClient.GetBytesNotif("Este quarto foi des-selenciado.")); Azure.GetGame() .GetModerationTool().LogStaffEntry(session.GetHabbo().UserName, string.Empty, "Room Unmute", "Room UnMuted"); return true; }
public override bool Execute(GameClient session, string[] pms) { var room = Azure.GetGame().GetRoomManager().GetRoom(session.GetHabbo().CurrentRoomId); room.GetRoomUserManager().GetRoomUserByHabbo(session.GetHabbo().Id); foreach (var user in room.GetRoomUserManager().GetRoomUsers()) user.ApplyEffect(108); return true; }
public override void OnTrigger(GameClient session, RoomItem item, int request, bool hasRights) { if (item.ExtraData == "1" || !item.GetBaseItem().VendingIds.Any() || item.InteractingUser != 0u || session == null) return; var roomUserByHabbo = item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(session.GetHabbo().Id); if (roomUserByHabbo == null) return; if (!Gamemap.TilesTouching(roomUserByHabbo.X, roomUserByHabbo.Y, item.X, item.Y)) { roomUserByHabbo.MoveTo(item.SquareInFront); return; } item.InteractingUser = session.GetHabbo().Id; roomUserByHabbo.CanWalk = false; roomUserByHabbo.ClearMovement(); roomUserByHabbo.SetRot(PathFinder.CalculateRotation(roomUserByHabbo.X, roomUserByHabbo.Y, item.X, item.Y)); item.ReqUpdate(2, true); item.ExtraData = "1"; item.UpdateState(false, true); }
public override bool Execute(GameClient session, string[] pms) { var user = Azure.GetGame().GetClientManager().GetClientByUserName(pms[0]); if (user == null) { session.SendWhisper(Azure.GetLanguage().GetVar("user_not_found")); return true; } if (user.GetHabbo().Rank >= session.GetHabbo().Rank) { session.SendWhisper(Azure.GetLanguage().GetVar("user_is_higher_rank")); return true; } try { Azure.GetGame() .GetBanManager() .BanUser(user, session.GetHabbo().UserName, 788922000.0, string.Join(" ", pms.Skip(2)), true, false); } catch { Writer.Writer.LogException("Error while banning"); } return true; }
public override bool Execute(GameClient session, string[] pms) { var user = Azure.GetGame().GetClientManager().GetClientByUserName(pms[0]); if (user == null || user.GetHabbo() == null) { session.SendWhisper(Azure.GetLanguage().GetVar("user_not_found")); return true; } if (user.GetHabbo().Rank >= session.GetHabbo().Rank) { session.SendWhisper(Azure.GetLanguage().GetVar("user_is_higher_rank")); return true; } try { user.GetConnection().Dispose(); Azure.GetGame() .GetModerationTool() .LogStaffEntry(session.GetHabbo().UserName, user.GetHabbo().UserName, "dc", string.Format("Disconnect User[{0}]", pms[1])); } catch { } return true; }
public override bool Execute(GameClient session, string[] pms) { var room = session.GetHabbo().CurrentRoom; if (room.RoomMuted) { session.SendWhisper("Room is already muted."); return true; } session.GetHabbo().CurrentRoom.RoomMuted = true; /* var message = new ServerMessage(LibraryParser.OutgoingRequest("AlertNotificationMessageComposer")); message.AppendString(string.Format("The room was muted due to:\r{0}", string.Join(" ", pms))); message.AppendString(string.Empty); room.SendMessage(message);*/ room.SendMessage(GameClient.GetBytesNotif( $"Este quarto foi silenciado pelo motivo:\r{string.Join(" ", pms)}")); Azure.GetGame() .GetModerationTool().LogStaffEntry(session.GetHabbo().UserName, string.Empty, "Room Mute", "Room muted"); return true; }
public override bool Execute(GameClient session, string[] pms) { if (pms[0].Length < 2) return true; var room = session.GetHabbo().CurrentRoom; foreach (var current in room.GetRoomUserManager().UserList.Values) { try { if (!current.IsBot && current.GetClient() != null && current.GetClient().GetHabbo() != null) { current.GetClient() .GetHabbo() .GetBadgeComponent() .GiveBadge(pms[0], true, current.GetClient()); } } catch { } } Azure.GetGame().GetModerationTool() .LogStaffEntry(session.GetHabbo().UserName, string.Empty, "Badge", string.Concat("Roombadge in room [", room.RoomId, "] with badge [", pms[0], "]")); return true; }
/// <summary> /// Composes the specified session. /// </summary> /// <param name="session">The session.</param> /// <param name="quest">The quest.</param> /// <returns>ServerMessage.</returns> internal static ServerMessage Compose(GameClient session, Quest quest) { var amountOfQuestsInCategory = Azure.GetGame().GetQuestManager().GetAmountOfQuestsInCategory(quest.Category); var i = (quest == null) ? amountOfQuestsInCategory : quest.Number; var i2 = (quest == null) ? 0 : session.GetHabbo().GetQuestProgress(quest.Id); var serverMessage = new ServerMessage(LibraryParser.OutgoingRequest("QuestCompletedMessageComposer")); serverMessage.AppendString(quest.Category); serverMessage.AppendInteger(i); serverMessage.AppendInteger(quest.Name.Contains("xmas2012") ? 1 : amountOfQuestsInCategory); serverMessage.AppendInteger((quest == null) ? 3 : quest.RewardType); serverMessage.AppendInteger((quest == null) ? 0u : quest.Id); serverMessage.AppendBool(quest != null && session.GetHabbo().CurrentQuestId == quest.Id); serverMessage.AppendString((quest == null) ? string.Empty : quest.ActionName); serverMessage.AppendString((quest == null) ? string.Empty : quest.DataBit); serverMessage.AppendInteger((quest == null) ? 0 : quest.Reward); serverMessage.AppendString((quest == null) ? string.Empty : quest.Name); serverMessage.AppendInteger(i2); serverMessage.AppendInteger((quest == null) ? 0u : quest.GoalData); serverMessage.AppendInteger((quest == null) ? 0 : quest.TimeUnlock); serverMessage.AppendString(""); serverMessage.AppendString(""); serverMessage.AppendBool(true); serverMessage.AppendBool(true); return serverMessage; }
public override bool Execute(GameClient session, string[] pms) { var user = Azure.GetHabboForName(pms[0]); if (user == null) { session.SendWhisper(Azure.GetLanguage().GetVar("user_not_found")); return true; } if (user.Rank >= session.GetHabbo().Rank) { session.SendWhisper(Azure.GetLanguage().GetVar("user_is_higher_rank")); return true; } using (var adapter = Azure.GetDatabaseManager().GetQueryReactor()) { adapter.SetQuery("DELETE FROM users_bans WHERE value = @name"); adapter.AddParameter("name", user.UserName); adapter.RunQuery(); Azure.GetGame() .GetModerationTool() .LogStaffEntry(session.GetHabbo().UserName, user.UserName, "Unban", string.Format("User has been Unbanned [{0}]", pms[0])); return true; } }
public override bool Execute(GameClient session, string[] pms) { var room = session.GetHabbo().CurrentRoom; var user = room.GetRoomUserManager().GetRoomUserByHabbo(session.GetHabbo().Id); if (user == null) return true; if (room.RoomData.DisablePull) { session.SendWhisper("Realizar Pull Foi Desativado pelo Dono do Quarto"); return true; } var client = Azure.GetGame().GetClientManager().GetClientByUserName(pms[0]); if (client == null) { session.SendWhisper(Azure.GetLanguage().GetVar("user_not_found")); return true; } if (client.GetHabbo().Id == session.GetHabbo().Id) { session.SendWhisper(Azure.GetLanguage().GetVar("command_pull_error_own")); return true; } var user2 = room.GetRoomUserManager().GetRoomUserByHabbo(client.GetHabbo().Id); if (user2 == null) return true; if (user2.TeleportEnabled) { session.SendWhisper(Azure.GetLanguage().GetVar("command_error_teleport_enable")); return true; } if (PathFinder.GetDistance(user.X, user.Y, user2.X, user2.Y) > 2) { session.SendWhisper(Azure.GetLanguage().GetVar("command_pull_error_far_away")); return true; } if ((user.RotBody % 2) != 0) user.RotBody--; switch (user.RotBody) { case 0: user2.MoveTo(user.X, user.Y - 1); break; case 2: user2.MoveTo(user.X + 1, user.Y); break; case 4: user2.MoveTo(user.X, user.Y + 1); break; case 6: user2.MoveTo(user.X - 1, user.Y); break; } return true; }
public override bool Execute(GameClient session, string[] pms) { var currentRoom = session.GetHabbo().CurrentRoom; var roomUserByHabbo = currentRoom.GetRoomUserManager().GetRoomUserByHabbo(session.GetHabbo().Id); if (roomUserByHabbo == null) return true; roomUserByHabbo.AllowOverride = !roomUserByHabbo.AllowOverride; return true; }
public override bool Execute(GameClient session, string[] pms) { var room = session.GetHabbo().CurrentRoom; var user = room.GetRoomUserManager().GetRoomUserByHabbo(session.GetHabbo().Id); session.GetHabbo() .GetAvatarEffectsInventoryComponent() .ActivateCustomEffect(user != null && user.CurrentEffect != 140 ? 140 : 0); return true; }
public override bool Execute(GameClient session, string[] pms) { var user = Azure.GetGame() .GetRoomManager() .GetRoom(session.GetHabbo().CurrentRoomId) .GetRoomUserManager() .GetRoomUserByHabbo(session.GetHabbo().Id); user.FastWalking = !user.FastWalking; return true; }
public override bool Execute(GameClient session, string[] pms) { ushort effectId; if (!ushort.TryParse(pms[0], out effectId)) return true; var room = Azure.GetGame().GetRoomManager().GetRoom(session.GetHabbo().CurrentRoomId); room.GetRoomUserManager().GetRoomUserByHabbo(session.GetHabbo().Id); foreach (var user in room.GetRoomUserManager().GetRoomUsers().Where(user => !user.RidingHorse)) user.ApplyEffect(effectId); return true; }
/// <summary> /// Composes the specified session. /// </summary> /// <param name="session">The session.</param> /// <param name="quests">The quests.</param> /// <param name="send">if set to <c>true</c> [send].</param> /// <returns>ServerMessage.</returns> internal static ServerMessage Compose(GameClient session, List<Quest> quests, bool send) { var dictionary = new Dictionary<string, int>(); var dictionary2 = new Dictionary<string, Quest>(); foreach (var current in quests) { if (!current.Category.Contains("xmas2012")) { if (!dictionary.ContainsKey(current.Category)) { dictionary.Add(current.Category, 1); dictionary2.Add(current.Category, null); } if (current.Number >= dictionary[current.Category]) { var questProgress = session.GetHabbo().GetQuestProgress(current.Id); if (session.GetHabbo().CurrentQuestId != current.Id && questProgress >= current.GoalData) { dictionary[current.Category] = (current.Number + 1); } } } } foreach (var current2 in quests) { foreach (var current3 in dictionary) { if (!current2.Category.Contains("xmas2012") && current2.Category == current3.Key && current2.Number == current3.Value) { dictionary2[current3.Key] = current2; break; } } } var serverMessage = new ServerMessage(LibraryParser.OutgoingRequest("QuestListMessageComposer")); serverMessage.AppendInteger(dictionary2.Count); foreach (var current4 in dictionary2) { if (current4.Value != null) { SerializeQuest(serverMessage, session, current4.Value, current4.Key); } } foreach (var current5 in dictionary2) { if (current5.Value == null) { SerializeQuest(serverMessage, session, current5.Value, current5.Key); } } serverMessage.AppendBool(send); return serverMessage; }
public override bool Execute(GameClient session, string[] pms) { var room = session.GetHabbo().CurrentRoom; if (room == null) return true; var user = room.GetRoomUserManager().GetRoomUserByHabbo(session.GetHabbo().Id); if (user == null) return true; user.IsMoonwalking = !user.IsMoonwalking; return true; }
public override void OnTrigger(GameClient session, RoomItem item, int request, bool hasRights) { if (!hasRights) return; RoomUser user = item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(session.GetHabbo().Id); if (user == null) return; Room room = session.GetHabbo().CurrentRoom; if (room == null) return; int effectId = Convert.ToInt32(item.GetBaseItem().Name.Replace("fxbox_fx", "")); try { while (PathFinder.GetDistance(user.X, user.Y, item.X, item.Y) > 1) { if (user.RotBody == 0) user.MoveTo(item.X, item.Y + 1); else if (user.RotBody == 2) user.MoveTo(item.X - 1, item.Y); else if (user.RotBody == 4) user.MoveTo(item.X, item.Y - 1); else if(user.RotBody == 6) user.MoveTo(item.X + 1, item.Y); else user.MoveTo(item.X, item.Y + 1); // Diagonal user... } } catch (Exception) { } finally { if (PathFinder.GetDistance(user.X, user.Y, item.X, item.Y) == 1) { session.GetHabbo().GetAvatarEffectsInventoryComponent().AddNewEffect(effectId, -1, 0); session.GetHabbo().GetAvatarEffectsInventoryComponent().ActivateCustomEffect(effectId); Thread.Sleep(500); //Wait 0.5 second until remove furniture. (Delay) room.GetRoomItemHandler().RemoveFurniture(session, item.Id, false); using (var queryReactor = Azure.GetDatabaseManager().GetQueryReactor()) queryReactor.RunFastQuery("DELETE FROM items_rooms WHERE id = " + item.Id); } } }
public override void OnTrigger(GameClient session, RoomItem item, int request, bool hasRights) { if (session == null || session.GetHabbo() == null || item.InteractingUser > 0U) return; var pName = session.GetHabbo().UserName; var roomUserByHabbo = item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(pName); roomUserByHabbo.GoalX = item.X; roomUserByHabbo.GoalY = item.Y; if (roomUserByHabbo.Team != Team.None) roomUserByHabbo.ThrowBallAtGoal = true; }
public override bool Execute(GameClient session, string[] pms) { var room = session.GetHabbo().CurrentRoom; var alert = string.Join(" ", pms); var kick = new RoomKick(alert, (int)session.GetHabbo().Rank); Azure.GetGame() .GetModerationTool().LogStaffEntry(session.GetHabbo().UserName, string.Empty, "Room kick", "Kicked the whole room"); room.QueueRoomKick(kick); return true; }
public override bool Execute(GameClient session, string[] pms) { var room = session.GetHabbo().CurrentRoom; var roomItemList = room.GetRoomItemHandler().RemoveAllFurniture(session); if (session.GetHabbo().GetInventoryComponent() == null) { return true; } // session.GetHabbo().GetInventoryComponent().AddItemArray(roomItemList); //session.GetHabbo().GetInventoryComponent().UpdateItems(false); room.GetRoomItemHandler().RemoveItemsByOwner(ref roomItemList, ref session); return true; }
public override bool Execute(GameClient session, string[] pms) { var room = session.GetHabbo().CurrentRoom; foreach ( var pet in room.GetRoomUserManager().GetPets().Where(pet => pet.OwnerId == session.GetHabbo().Id)) { session.GetHabbo().GetInventoryComponent().AddPet(pet); room.GetRoomUserManager().RemoveBot(pet.VirtualId, false); } session.SendMessage(session.GetHabbo().GetInventoryComponent().SerializePetInventory()); return true; }
public override bool Execute(GameClient session, string[] pms) { var room = session.GetHabbo().CurrentRoom; var user = room.GetRoomUserManager().GetRoomUserByHabbo(session.GetHabbo().Id); if (user == null) return true; if (!user.RidingHorse) { user.TeleportEnabled = !user.TeleportEnabled; room.GetGameMap().GenerateMaps(); return true; } session.SendWhisper(Azure.GetLanguage().GetVar("command_error_teleport_enable")); return true; }
/// <summary> /// Completes the user talent. /// </summary> /// <param name="session">The session.</param> /// <param name="talent">The talent.</param> internal void CompleteUserTalent(GameClient session, Talent talent) { if (session?.GetHabbo() == null || session.GetHabbo().CurrentTalentLevel < talent.Level || session.GetHabbo().Talents.ContainsKey(talent.Id)) return; if (!LevelIsCompleted(session, talent.Type, talent.Level)) return; if (!string.IsNullOrEmpty(talent.Prize) && talent.PrizeBaseItem > 0u) Azure.GetGame().GetCatalog().DeliverItems(session, Azure.GetGame().GetItemManager().GetItem(talent.PrizeBaseItem), 1, string.Empty, 0, 0, string.Empty); session.GetHabbo().Talents.Add(talent.Id, new UserTalent(talent.Id, 1)); using (var queryReactor = Azure.GetDatabaseManager().GetQueryReactor()) queryReactor.RunFastQuery($"REPLACE INTO users_talents VALUES ('{session.GetHabbo().Id}', '{talent.Id}', '1');"); var serverMessage = new ServerMessage(LibraryParser.OutgoingRequest("TalentLevelUpMessageComposer")); serverMessage.AppendString(talent.Type); serverMessage.AppendInteger(talent.Level); serverMessage.AppendInteger(0); if (talent.Type == "citizenship" && talent.Level == 4) { serverMessage.AppendInteger(2); serverMessage.AppendString("HABBO_CLUB_VIP_7_DAYS"); serverMessage.AppendInteger(7); serverMessage.AppendString(talent.Prize); serverMessage.AppendInteger(0); } else { serverMessage.AppendInteger(1); serverMessage.AppendString(talent.Prize); serverMessage.AppendInteger(0); } session.SendMessage(serverMessage); if (talent.Type == "citizenship" && talent.Level == 3) Azure.GetGame().GetAchievementManager().ProgressUserAchievement(session, "ACH_Citizenship", 1); else if (talent.Type == "citizenship" && talent.Level == 4) { session.GetHabbo().GetSubscriptionManager().AddSubscription(7); using (var queryReactor = Azure.GetDatabaseManager().GetQueryReactor()) queryReactor.RunFastQuery($"UPDATE users SET talent_status = 'helper' WHERE id = '{session.GetHabbo().Id}'"); } }
/// <summary> /// Adds the guide. /// </summary> /// <param name="guide">The guide.</param> public void AddGuide(GameClient guide) { switch (guide.GetHabbo().DutyLevel) { case 1: if (!GuidesOnDuty.Contains(guide)) GuidesOnDuty.Add(guide); break; case 2: if (!HelpersOnDuty.Contains(guide)) HelpersOnDuty.Add(guide); break; case 3: if (!GuardiansOnDuty.Contains(guide)) GuardiansOnDuty.Add(guide); break; default: if (!GuidesOnDuty.Contains(guide)) GuidesOnDuty.Add(guide); break; } }
public override void OnTrigger(GameClient session, RoomItem item, int request, bool hasRights) { RoomUser roomUser = null; if (session != null) roomUser = item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(session.GetHabbo().Id); if (roomUser == null) return; if (Gamemap.TilesTouching(item.X, item.Y, roomUser.X, roomUser.Y)) { var num = item.GetBaseItem().Modes - 1; int num2, num3; int.TryParse(item.ExtraData, out num2); if (num2 <= 0) num3 = 1; else { if (num2 >= num) num3 = 0; else num3 = num2 + 1; } item.ExtraData = num3.ToString(); item.UpdateState(); item.GetRoom().GetWiredHandler().ExecuteWired(Interaction.TriggerStateChanged, roomUser, item); return; } roomUser.MoveTo(item.SquareInFront); }
public override void OnTrigger(GameClient session, RoomItem item, int request, bool hasRights) { if (session == null) return; var user = item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(session.GetHabbo().Id); if (user == null) return; if (user.Coordinate != item.SquareInFront && user.CanWalk) { user.MoveTo(item.SquareInFront); return; } if (!item.GetRoom().GetGameMap().CanWalk(item.SquareBehind.X, item.SquareBehind.Y, user.AllowOverride)) return; if (item.InteractingUser == 0) { item.InteractingUser = user.HabboId; user.CanWalk = false; if (user.IsWalking && (user.GoalX != item.SquareInFront.X || user.GoalY != item.SquareInFront.Y)) user.ClearMovement(); user.AllowOverride = true; user.MoveTo(item.Coordinate); item.ReqUpdate(4, true); } }
public override bool Execute(GameClient session, string[] pms) { var client = Azure.GetGame().GetClientManager().GetClientByUserName(pms[0]); if (client == null) { session.SendWhisper(Azure.GetLanguage().GetVar("user_not_found")); return true; } if (client.GetHabbo().Rank >= session.GetHabbo().Rank) { session.SendWhisper(Azure.GetLanguage().GetVar("user_is_higher_rank")); return true; } int time; if (!int.TryParse(pms[1], out time)) { session.SendWhisper(Azure.GetLanguage().GetVar("enter_numbers")); return true; } client.GetHabbo().FloodTime = Azure.GetUnixTimeStamp() + Convert.ToInt32(pms[1]); var serverMessage = new ServerMessage(LibraryParser.OutgoingRequest("FloodFilterMessageComposer")); serverMessage.AppendInteger(Convert.ToInt32(pms[1])); client.SendMessage(serverMessage); return true; }
public override bool Execute(GameClient session, string[] pms) { var userName = pms[0]; var userSession = Azure.GetGame().GetClientManager().GetClientByUserName(userName); if (userSession == null) { session.SendWhisper(Azure.GetLanguage().GetVar("user_not_found")); return true; } if (session.GetHabbo().Rank <= userSession.GetHabbo().Rank) { session.SendNotif(Azure.GetLanguage().GetVar("user_is_higher_rank")); return true; } if (userSession.GetHabbo().CurrentRoomId < 1) { session.SendNotif(Azure.GetLanguage().GetVar("command_kick_user_not_in_room")); return true; } var room = Azure.GetGame().GetRoomManager().GetRoom(userSession.GetHabbo().CurrentRoomId); if (room == null) return true; room.GetRoomUserManager().RemoveUserFromRoom(userSession, true, false); userSession.CurrentRoomUserId = -1; if (pms.Length > 1) { userSession.SendNotif( string.Format(Azure.GetLanguage().GetVar("command_kick_user_mod_default") + "{0}.", string.Join(" ", pms.Skip(1)))); } else userSession.SendNotif(Azure.GetLanguage().GetVar("command_kick_user_mod_default")); return true; }
public override void OnTrigger(GameClient session, RoomItem item, int request, bool hasRights) { RoomUser roomUser = null; if (session != null) roomUser = item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(session.GetHabbo().Id); if (roomUser == null) return; if (Gamemap.TilesTouching(item.X, item.Y, roomUser.X, roomUser.Y)) { if (item.ExtraData == "-1") return; if (request == -1) { item.ExtraData = "0"; item.UpdateState(); return; } item.ExtraData = "-1"; item.UpdateState(false, true); item.ReqUpdate(4, true); return; } roomUser.MoveTo(item.SquareInFront); }
internal static void MatchingPollResults(GameClient client, Poll poll) { var room = client.GetHabbo().CurrentRoom; if (poll == null || poll.Type != PollType.Matching || room == null) return; var users = room.GetRoomUserManager().GetRoomUsers(); for (var i = 0; i < 10; i++) { Thread.Sleep(1000); foreach (var roomUser in users) { var user = Azure.GetHabboById(roomUser.UserId); if (user.AnsweredPool) { var result = new ServerMessage(LibraryParser.OutgoingRequest("MatchingPollResultMessageComposer")); result.AppendInteger(poll.Id); result.AppendInteger(2); result.AppendString("0"); result.AppendInteger(poll.AnswersNegative); result.AppendString("1"); result.AppendInteger(poll.AnswersPositive); client.SendMessage(result); } } } foreach (var roomUser in users) Azure.GetHabboById(roomUser.UserId).AnsweredPool = false; }