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; RoomUser 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) { Room room = Yupi.GetGame().GetRoomManager().GetRoom(session.GetHabbo().CurrentRoomId); room.GetRoomUserManager().GetRoomUserByHabbo(session.GetHabbo().Id); foreach (RoomUser user in room.GetRoomUserManager().GetRoomUsers()) user.ApplyEffect(108); return true; }
public override bool Execute(GameClient session, string[] pms) { Habbo user = Yupi.GetHabboForName(pms[0]); if (user == null) { session.SendWhisper(Yupi.GetLanguage().GetVar("user_not_found")); return true; } if (user.Rank >= session.GetHabbo().Rank) { session.SendWhisper(Yupi.GetLanguage().GetVar("user_is_higher_rank")); return true; } using (IQueryAdapter adapter = Yupi.GetDatabaseManager().GetQueryReactor()) { adapter.SetQuery("DELETE FROM users_bans WHERE value = @name"); adapter.AddParameter("name", user.UserName); adapter.RunQuery(); Yupi.GetGame() .GetModerationTool() .LogStaffEntry(session.GetHabbo().UserName, user.UserName, "Unban", $"User has been Unbanned [{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 = Yupi.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 ? 0 : 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) { Room room = session.GetHabbo().CurrentRoom; using (IQueryAdapter commitableQueryReactor = Yupi.GetDatabaseManager().GetQueryReactor()) commitableQueryReactor.RunFastQuery( $"UPDATE rooms_data SET roomtype = 'public' WHERE id = {room.RoomId}"); uint roomId = session.GetHabbo().CurrentRoom.RoomId; List<RoomUser> users = new List<RoomUser>(session.GetHabbo().CurrentRoom.GetRoomUserManager().UserList.Values); Yupi.GetGame().GetRoomManager().UnloadRoom(session.GetHabbo().CurrentRoom, "Unload command"); Yupi.GetGame().GetRoomManager().LoadRoom(roomId); ServerMessage roomFwd = new ServerMessage(LibraryParser.OutgoingRequest("RoomForwardMessageComposer")); roomFwd.AppendInteger(roomId); byte[] data = roomFwd.GetReversedBytes(); foreach (RoomUser user in users.Where(user => user != null && user.GetClient() != null)) user.GetClient().SendMessage(data); return true; }
public override bool Execute(GameClient session, string[] pms) { GameClient user = Yupi.GetGame().GetClientManager().GetClientByUserName(pms[0]); if (user == null || user.GetHabbo() == null) { session.SendWhisper(Yupi.GetLanguage().GetVar("user_not_found")); return true; } if (user.GetHabbo().Rank >= session.GetHabbo().Rank) { session.SendWhisper(Yupi.GetLanguage().GetVar("user_is_higher_rank")); return true; } try { user.GetConnection().Dispose(); Yupi.GetGame() .GetModerationTool() .LogStaffEntry(session.GetHabbo().UserName, user.GetHabbo().UserName, "dc", $"Disconnect User[{pms[1]}]"); } catch { } return true; }
public override bool Execute(GameClient session, string[] pms) { Room 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.Load(LibraryParser.OutgoingRequest("AlertNotificationMessageComposer")); message.AppendString("Room is now UnMuted."); message.AppendString(""); room.SendMessage(message);*/ room.SendMessage(GameClient.GetBytesNotif("Este quarto foi des-selenciado.")); Yupi.GetGame() .GetModerationTool().LogStaffEntry(session.GetHabbo().UserName, string.Empty, "Room Unmute", "Room UnMuted"); return true; }
public override bool Execute(GameClient session, string[] pms) { if (pms[0].Length < 2) return true; Room room = session.GetHabbo().CurrentRoom; foreach (RoomUser 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 { } } Yupi.GetGame().GetModerationTool() .LogStaffEntry(session.GetHabbo().UserName, string.Empty, "Badge", string.Concat("Roombadge in room [", room.RoomId, "] with badge [", pms[0], "]")); return true; }
public override bool Execute(GameClient session, string[] pms) { GameClient user = Yupi.GetGame().GetClientManager().GetClientByUserName(pms[0]); if (user == null) { session.SendWhisper(Yupi.GetLanguage().GetVar("user_not_found")); return true; } if (user.GetHabbo().Rank >= session.GetHabbo().Rank) { session.SendWhisper(Yupi.GetLanguage().GetVar("user_is_higher_rank")); return true; } try { Yupi.GetGame() .GetBanManager() .BanUser(user, session.GetHabbo().UserName, 788922000.0, string.Join(" ", pms.Skip(2)), true, false); } catch { ServerLogManager.LogException($"An error occurred when {session.GetHabbo().UserName} tried to ban {user.GetHabbo().UserName}"); } return true; }
public override bool Execute(GameClient session, string[] pms) { Room 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)}")); Yupi.GetGame() .GetModerationTool().LogStaffEntry(session.GetHabbo().UserName, string.Empty, "Room Mute", "Room muted"); return true; }
public override bool Execute(GameClient session, string[] pms) { Room room = session.GetHabbo().CurrentRoom; RoomUser 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; } GameClient client = Yupi.GetGame().GetClientManager().GetClientByUserName(pms[0]); if (client == null) { session.SendWhisper(Yupi.GetLanguage().GetVar("user_not_found")); return true; } if (client.GetHabbo().Id == session.GetHabbo().Id) { session.SendWhisper(Yupi.GetLanguage().GetVar("command_pull_error_own")); return true; } RoomUser user2 = room.GetRoomUserManager().GetRoomUserByHabbo(client.GetHabbo().Id); if (user2 == null) return true; if (user2.TeleportEnabled) { session.SendWhisper(Yupi.GetLanguage().GetVar("command_error_teleport_enable")); return true; } if (PathFinder.GetDistance(user.X, user.Y, user2.X, user2.Y) > 2) { session.SendWhisper(Yupi.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) { Room currentRoom = session.GetHabbo().CurrentRoom; RoomUser 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) { RoomUser user = Yupi.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) { Room room = session.GetHabbo().CurrentRoom; RoomUser user = room.GetRoomUserManager().GetRoomUserByHabbo(session.GetHabbo().Id); session.GetHabbo() .GetAvatarEffectsInventoryComponent() .ActivateCustomEffect(user != null && user.CurrentEffect != 140 ? 140 : 0); 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) { ushort effectId; if (!ushort.TryParse(pms[0], out effectId)) return true; Room room = Yupi.GetGame().GetRoomManager().GetRoom(session.GetHabbo().CurrentRoomId); room.GetRoomUserManager().GetRoomUserByHabbo(session.GetHabbo().Id); foreach (RoomUser user in room.GetRoomUserManager().GetRoomUsers().Where(user => !user.RidingHorse)) user.ApplyEffect(effectId); return true; }
public override bool Execute(GameClient session, string[] pms) { Room room = session.GetHabbo().CurrentRoom; if (room == null) return true; RoomUser 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 (IQueryAdapter queryReactor = Yupi.GetDatabaseManager().GetQueryReactor()) queryReactor.RunFastQuery("DELETE FROM items_rooms WHERE id = " + item.Id); } } }
public override bool Execute(GameClient session, string[] pms) { Room room = session.GetHabbo().CurrentRoom; string alert = string.Join(" ", pms); RoomKick kick = new RoomKick(alert, (int)session.GetHabbo().Rank); Yupi.GetGame() .GetModerationTool().LogStaffEntry(session.GetHabbo().UserName, string.Empty, "Room kick", "Kicked the whole room"); room.QueueRoomKick(kick); return true; }
public override void OnTrigger(GameClient session, RoomItem item, int request, bool hasRights) { if (session == null || session.GetHabbo() == null || item.InteractingUser > 0U) return; string pName = session.GetHabbo().UserName; RoomUser 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) { Room room = session.GetHabbo().CurrentRoom; List<RoomItem> 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) { Room room = session.GetHabbo().CurrentRoom; foreach ( Pet 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) { Room room = session.GetHabbo().CurrentRoom; RoomUser 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(Yupi.GetLanguage().GetVar("command_error_teleport_enable")); return true; }
public override bool Execute(GameClient session, string[] pms) { GameClient user = Yupi.GetGame().GetClientManager().GetClientByUserName(pms[0]); if (user == null) { session.SendWhisper(Yupi.GetLanguage().GetVar("user_not_found")); return true; } if (user.GetHabbo().Rank >= session.GetHabbo().Rank) { session.SendWhisper(Yupi.GetLanguage().GetVar("user_is_higher_rank")); return true; } string userName = pms[0]; string rank = pms[1]; using (IQueryAdapter adapter = Yupi.GetDatabaseManager().GetQueryReactor()) { adapter.SetQuery("UPDATE users SET rank=@rank WHERE username=@user LIMIT 1"); adapter.AddParameter("user", userName); adapter.AddParameter("rank", rank); adapter.RunQuery(); } session.SendWhisper(Yupi.GetLanguage().GetVar("user_rank_update")); 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); }
public override void OnTrigger(GameClient session, RoomItem item, int request, bool hasRights) { if (session == null) return; RoomUser 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) { session.GetHabbo().GetInventoryComponent().Redeemcredits(session); session.SendNotif(Yupi.GetLanguage().GetVar("command_redeem_credits")); return true; }
/// <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 bool Execute(GameClient session, string[] pms) { GameClient client = Yupi.GetGame().GetClientManager().GetClientByUserName(pms[0]); if (client == null) { session.SendWhisper(Yupi.GetLanguage().GetVar("user_not_found")); return true; } uint amount; if (!uint.TryParse(pms[1], out amount)) { session.SendWhisper(Yupi.GetLanguage().GetVar("enter_numbers")); return true; } client.GetHabbo().Diamonds += amount; client.GetHabbo().UpdateSeasonalCurrencyBalance(); client.SendNotif(string.Format(Yupi.GetLanguage().GetVar("staff_gives_diamonds"), session.GetHabbo().UserName, amount)); 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)) { uint 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); }