public void OnTrigger(GameClient Session, Item Item, int Request, bool HasRights) { if (Session == null) { return; } RoomUser User = Item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id); if (Item == null || User == null) { return; } if (Item.InteractingUser2 != User.UserId) { Item.InteractingUser2 = User.UserId; } if (Item.GetBaseItem().InteractionType == InteractionType.ONE_WAY_GATE) { if (Item.GetBaseItem().ItemName == "one_way_door*2") { if (!RoleplayGameManager.RunningGames.ContainsKey(GameMode.Brawl)) { Session.SendWhisper("Não há nenhum evento de briga no momento!", 1); return; } } else if (Item.GetBaseItem().ItemName == "one_way_door*5") { if (!RoleplayGameManager.RunningGames.ContainsKey(GameMode.SoloQueue)) { RoleplayGameManager.CreateGame("soloqueue"); } } else if (Item.GetBaseItem().ItemName == "one_way_door*6") { if (!RoleplayGameManager.RunningGames.ContainsKey(GameMode.SoloQueueGuns)) { RoleplayGameManager.CreateGame("soloqueueguns"); } } if (User.Coordinate != Item.SquareInFront && User.CanWalk) { User.MoveTo(Item.SquareInFront); return; } if (!Item.GetRoom().GetGameMap().ValidTile(Item.SquareBehind.X, Item.SquareBehind.Y) || !Item.GetRoom().GetGameMap().CanWalk(Item.SquareBehind.X, Item.SquareBehind.Y, false) || !Item.GetRoom().GetGameMap().SquareIsOpen(Item.SquareBehind.X, Item.SquareBehind.Y, false)) { return; } if ((User.LastInteraction - PlusEnvironment.GetUnixTimestamp() < 0) && User.InteractingGate && User.GateId == Item.Id) { User.InteractingGate = false; User.GateId = 0; } if (!Item.GetRoom().GetGameMap().CanWalk(Item.SquareBehind.X, Item.SquareBehind.Y, User.AllowOverride)) { return; } if (Item.InteractingUser == 0) { #region Brawl if (Item.GetBaseItem().ItemName == "one_way_door*2") { if (RoleplayGameManager.RunningGames.ContainsKey(GameMode.Brawl)) { if (Session.GetRoleplay().Game != null && Session.GetRoleplay().Game.GetGameMode() == GameMode.Brawl) { Session.SendWhisper("Você já está no evento Briga!", 1); return; } else { if (Session.GetRoleplay().IsWorking) { Session.GetRoleplay().IsWorking = false; } if (RoleplayGameManager.AddPlayerToGame(RoleplayGameManager.GetGame(GameMode.Brawl), Session, "") != "OK") { return; } if (Session.GetRoleplay().EquippedWeapon != null) { Session.GetRoleplay().EquippedWeapon = null; } if (Session.GetRoleplay().InsideTaxi) { Session.GetRoleplay().InsideTaxi = false; } } } else { return; } } #endregion #region SoloQueue else if (Item.GetBaseItem().ItemName == "one_way_door*5") { if (RoleplayGameManager.RunningGames.ContainsKey(GameMode.SoloQueue)) { if (Session.GetRoleplay().Game != null && Session.GetRoleplay().Game.GetGameMode() == GameMode.SoloQueue) { Session.SendWhisper("Você já está no Evento SoloQueue!", 1); return; } else if (Session.GetRoleplay().IsWanted) { Session.SendWhisper("Você não pode completar esta ação enquanto você é procurado!", 1); return; } else { if (Session.GetRoleplay().IsWorking) { Session.GetRoleplay().IsWorking = false; } if (RoleplayGameManager.AddPlayerToGame(RoleplayGameManager.GetGame(GameMode.SoloQueue), Session, "") != "OK") { return; } if (Session.GetRoleplay().EquippedWeapon != null) { Session.GetRoleplay().EquippedWeapon = null; } if (Session.GetRoleplay().InsideTaxi) { Session.GetRoleplay().InsideTaxi = false; } } } else { return; } } #endregion #region SoloQueue Guns else if (Item.GetBaseItem().ItemName == "one_way_door*6") { if (RoleplayGameManager.RunningGames.ContainsKey(GameMode.SoloQueueGuns)) { if (Session.GetRoleplay().Game != null && Session.GetRoleplay().Game == RoleplayGameManager.GetGame(GameMode.SoloQueueGuns)) { Session.SendWhisper("Você já está no evento SoloQueue!", 1); return; } else if (Session.GetRoleplay().IsWanted) { Session.SendWhisper("Você não pode completar esta ação enquanto você é procurado!", 1); return; } else { if (Session.GetRoleplay().IsWorking) { Session.GetRoleplay().IsWorking = false; } if (RoleplayGameManager.AddPlayerToGame(RoleplayGameManager.GetGame(GameMode.SoloQueueGuns), Session, "") != "OK") { return; } if (Session.GetRoleplay().InsideTaxi) { Session.GetRoleplay().InsideTaxi = false; } } } else { return; } } #endregion User.InteractingGate = true; User.GateId = Item.Id; Item.InteractingUser = User.HabboId; User.CanWalk = false; if (User.IsWalking && (User.GoalX != Item.SquareInFront.X || User.GoalY != Item.SquareInFront.Y)) { User.ClearMovement(true); } User.AllowOverride = true; User.MoveTo(Item.Coordinate); Item.RequestUpdate(4, true); } } }
public void Execute(GameClients.GameClient Session, Rooms.Room Room, string[] Params) { if (Params.Length == 1) { Session.SendWhisper("Digite um tipo de evento!", 1); return; } string Message = Params[1].ToString().ToLower(); switch (Message) { #region Brawl case "brawl": case "briga": { if (RoleplayGameManager.RunningGames.ContainsKey(GameMode.Brawl)) { Session.SendWhisper("Já existe um evento de Briga!", 1); } else { RoleplayGameManager.CreateGame("brawl"); Session.SendWhisper("Você começou um evento de Briga!", 1); } break; } #endregion #region Team Brawl case "teambrawl": case "tbrawl": case "tb": case "bt": case "brigadetimes": case "brigatimes": { if (RoleplayGameManager.RunningGames.ContainsKey(GameMode.TeamBrawl)) { Session.SendWhisper("Já existe um evento de Briga de Times!", 1); } else { RoleplayGameManager.CreateGame("teambrawl"); Session.SendWhisper("Você começou um evento de Briga de Times!", 1); } break; } #endregion #region Colour Wars case "colorwars": case "colourwars": case "cw": case "gc": case "guerradecores": case "guerracores": { if (RoleplayGameManager.RunningGames.ContainsKey(GameMode.ColourWars)) { Session.SendWhisper("Já existe um evento de Guerra de Cores!", 1); } else { RoleplayGameManager.CreateGame("colourwars"); Session.SendWhisper("Você começou um evento de Guerra de Cores!", 1); } break; } #endregion #region Mafia Wars case "mafiawars": case "mwars": case "mw": case "gm": case "guerrademafias": case "guerrademafia": case "guerramafia": { if (RoleplayGameManager.RunningGames.ContainsKey(GameMode.MafiaWars)) { Session.SendWhisper("Já existe um evento de Guerra de Máfias!", 1); } else { RoleplayGameManager.CreateGame("mafiawars"); Session.SendWhisper("Você começou um evento de Guerra de Máfias!", 1); } break; } #endregion default: { Session.SendWhisper("Esse tipo de evento não existe ou está desativado!", 1); break; } } }