public void OnPlace(GameClient Session, RoomItem Item) { checked { Item.GetRoom().GetRoomItemHandler().HopperCount++; using (IQueryAdapter queryreactor = CyberEnvironment.GetDatabaseManager().getQueryReactor()) { queryreactor.setQuery("INSERT INTO items_hopper (hopper_id, room_id) VALUES (@hopperid, @roomid);"); queryreactor.addParameter("hopperid", Item.Id); queryreactor.addParameter("roomid", Item.RoomId); queryreactor.runQuery(); } if (Item.InteractingUser != 0u) { RoomUser roomUserByHabbo = Item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(Item.InteractingUser); if (roomUserByHabbo != null) { roomUserByHabbo.ClearMovement(true); roomUserByHabbo.AllowOverride = false; roomUserByHabbo.CanWalk = true; } Item.InteractingUser = 0u; } } }
public void Execute(GameClients.GameClient Session, Rooms.Room Room, string[] Params) { if (Params.Length == 1) { Session.SendWhisper("Digite o usuário que deseja congelar.", 1); return; } GameClient TargetClient = PlusEnvironment.GetGame().GetClientManager().GetClientByUsername(Params[1]); if (TargetClient == null) { Session.SendWhisper("Ocorreu um erro ao encontrar esse usuário, talvez ele não esteja online.", 1); return; } RoomUser TargetUser = Session.GetHabbo().CurrentRoom.GetRoomUserManager().GetRoomUserByHabbo(Params[1]); if (TargetClient.GetRoleplay().EquippedWeapon != null) { TargetClient.GetRoleplay().EquippedWeapon = null; } if (TargetUser != null) { TargetUser.Frozen = true; TargetUser.ClearMovement(true); TargetUser.ApplyEffect(EffectsList.Ice); } Session.Shout("*Congela imediatamente o usuário " + TargetClient.GetHabbo().Username + "*", 23); Session.SendWhisper("Congelou " + TargetClient.GetHabbo().Username + " com sucesso!", 1); }
public override void OnPlace(GameClient session, RoomItem item) { item.GetRoom().GetRoomItemHandler().HopperCount++; using (IQueryAdapter queryReactor = Yupi.GetDatabaseManager().GetQueryReactor()) { queryReactor.SetQuery("INSERT INTO items_hopper (hopper_id, room_id) VALUES (@hopperid, @roomid);"); queryReactor.AddParameter("hopperid", item.Id); queryReactor.AddParameter("roomid", item.RoomId); queryReactor.RunQuery(); } if (item.InteractingUser == 0u) { return; } RoomUser roomUserByHabbo = item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(item.InteractingUser); if (roomUserByHabbo != null) { roomUserByHabbo.ClearMovement(); roomUserByHabbo.AllowOverride = false; roomUserByHabbo.CanWalk = true; } item.InteractingUser = 0u; }
public void OnPlace(GameClient Session, Item Item) { Item.GetRoom().GetRoomItemHandler().HopperCount++; using (IQueryAdapter dbClient = CloudServer.GetDatabaseManager().GetQueryReactor()) { dbClient.SetQuery("INSERT INTO items_hopper (hopper_id, room_id) VALUES (@hopperid, @roomid);"); dbClient.AddParameter("hopperid", Item.Id); dbClient.AddParameter("roomid", Item.RoomId); dbClient.RunQuery(); } if (Item.InteractingUser != 0) { RoomUser User = Item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(Item.InteractingUser); if (User != null) { User.ClearMovement(true); User.AllowOverride = false; User.CanWalk = true; } Item.InteractingUser = 0; } }
public void OnTrigger(GameClient Session, Item Item, int Request, bool HasRights) { if (Item.ExtraData != "1" && Item.GetBaseItem().VendingIds.Count >= 1 && Item.InteractingUser == 0 && Session != null) { RoomUser User = Item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id); if (User == null) { return; } if (!Gamemap.TilesTouching(User.X, User.Y, Item.GetX, Item.GetY)) { User.MoveTo(Item.SquareInFront); return; } Item.InteractingUser = Session.GetHabbo().Id; if (!User.SetStep) { User.CanWalk = false; User.ClearMovement(true); User.SetRot(Rotation.Calculate(User.X, User.Y, Item.GetX, Item.GetY), false); } Item.RequestUpdate(2, true); Item.ExtraData = "1"; Item.UpdateState(false, true); } }
public override void OnTrigger(GameClient Session, RoomItem Item, int int_0, bool bool_0) { RoomUser roomUserByHabbo = Item.GetRoom().GetRoomUserByHabbo(Session.GetHabbo().Id); if (roomUserByHabbo != null && (Item.SquareBehind.X < Item.GetRoom().Model.MapSizeX&& Item.SquareBehind.Y < Item.GetRoom().Model.MapSizeY)) { if ((roomUserByHabbo.Coordinate != Item.SquareInFront) && roomUserByHabbo.CanWalk) { roomUserByHabbo.MoveTo(Item.SquareInFront); } else { if (Item.GetRoom().CanWalk(Item.SquareBehind.X, Item.SquareBehind.Y, Item.GetZ, true, false) && Item.InteractingUser == 0u) { Item.InteractingUser = roomUserByHabbo.HabboId; roomUserByHabbo.CanWalk = false; if (roomUserByHabbo.IsWalking && (roomUserByHabbo.GoalX != Item.SquareInFront.X || roomUserByHabbo.GoalY != Item.SquareInFront.Y)) { roomUserByHabbo.ClearMovement(true); } roomUserByHabbo.AllowOverride = true; roomUserByHabbo.MoveTo(Item.Coordinate); Item.ReqUpdate(3); } } } }
public void OnPlace(GameClient session, RoomItem item) { item.ExtraData = "0"; if (item.InteractingUser != 0u) { RoomUser roomUserByHabbo = item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(item.InteractingUser); if (roomUserByHabbo != null) { roomUserByHabbo.ClearMovement(); roomUserByHabbo.AllowOverride = false; roomUserByHabbo.CanWalk = true; } item.InteractingUser = 0u; } if (item.InteractingUser2 == 0u) { return; } RoomUser roomUserByHabbo2 = item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(item.InteractingUser2); if (roomUserByHabbo2 != null) { roomUserByHabbo2.ClearMovement(); roomUserByHabbo2.AllowOverride = false; roomUserByHabbo2.CanWalk = true; } item.InteractingUser2 = 0u; }
public void OnPlace(GameClient Session, Item Item) { Item.ExtraData = "0"; if (Item.InteractingUser != 0) { RoomUser User = Item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(Item.InteractingUser); if (User != null) { User.ClearMovement(true); User.AllowOverride = false; User.CanWalk = true; } Item.InteractingUser = 0; } if (Item.InteractingUser2 != 0) { RoomUser User = Item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(Item.InteractingUser2); if (User != null) { User.ClearMovement(true); User.AllowOverride = false; User.CanWalk = true; } Item.InteractingUser2 = 0; } }
public override void OnPlace(GameClient Session, RoomItem RoomItem_0) { RoomItem_0.ExtraData = "0"; if (RoomItem_0.InteractingUser != 0u) { RoomUser @class = RoomItem_0.GetRoom().GetRoomUserByHabbo(RoomItem_0.InteractingUser); if (@class != null) { @class.ClearMovement(true); @class.AllowOverride = false; @class.CanWalk = true; } RoomItem_0.InteractingUser = 0u; } if (RoomItem_0.InteractingUser2 != 0u) { RoomUser @class = RoomItem_0.GetRoom().GetRoomUserByHabbo(RoomItem_0.InteractingUser2); if (@class != null) { @class.ClearMovement(true); @class.AllowOverride = false; @class.CanWalk = true; } RoomItem_0.InteractingUser2 = 0u; } }
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 void OnPlace(GameClient session, RoomItem item) { item.ExtraData = "0"; if (item.InteractingUser != 0) { RoomUser user = item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(item.InteractingUser); if (user != null) { user.ClearMovement(); user.AllowOverride = false; user.CanWalk = true; } item.InteractingUser = 0; } if (item.InteractingUser2 != 0) { RoomUser user = item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(item.InteractingUser2); if (user != null) { user.ClearMovement(); user.AllowOverride = false; user.CanWalk = true; } item.InteractingUser2 = 0; } }
public void OnTrigger(GameClient Session, RoomItem Item, int Request, bool HasRights) { if (Session == null) { return; } RoomUser roomUserByHabbo = Item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id); if (Item.InteractingUser2 != roomUserByHabbo.UserID) { Item.InteractingUser2 = roomUserByHabbo.UserID; } if (roomUserByHabbo == null) { return; } if (roomUserByHabbo.Coordinate != Item.SquareInFront && roomUserByHabbo.CanWalk) { roomUserByHabbo.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, 0u) || !Item.GetRoom().GetGameMap().SquareIsOpen(Item.SquareBehind.X, Item.SquareBehind.Y, false)) { return; } checked { if (roomUserByHabbo.LastInteraction - CyberEnvironment.GetUnixTimestamp() < 0 && roomUserByHabbo.InteractingGate && roomUserByHabbo.GateId == Item.Id) { roomUserByHabbo.InteractingGate = false; roomUserByHabbo.GateId = 0u; } { if (!Item.GetRoom().GetGameMap().CanWalk(Item.SquareBehind.X, Item.SquareBehind.Y, roomUserByHabbo.AllowOverride, 0u)) { return; } if (Item.InteractingUser == 0u) { roomUserByHabbo.InteractingGate = true; roomUserByHabbo.GateId = Item.Id; Item.InteractingUser = roomUserByHabbo.HabboId; roomUserByHabbo.CanWalk = false; if (roomUserByHabbo.IsWalking && (roomUserByHabbo.GoalX != Item.SquareInFront.X || roomUserByHabbo.GoalY != Item.SquareInFront.Y)) { roomUserByHabbo.ClearMovement(true); } roomUserByHabbo.InteractingGate = false; roomUserByHabbo.GateId = 0u; return; } return; } } }
public void Execute(GameClients.GameClient Session, Rooms.Room Room, string[] Params) { if (Params.Length == 1) { Session.SendWhisper("Por favor, insira o usuário que deseja teleportar para você", 1); return; } GameClient TargetClient = PlusEnvironment.GetGame().GetClientManager().GetClientByUsername(Params[1]); if (TargetClient == null) { Session.SendWhisper("Ocorreu um erro ao encontrar esse usuário, talvez ele não esteja online.", 1); return; } RoomUser TargetUser = Room.GetRoomUserManager().GetRoomUserByHabbo(TargetClient.GetHabbo().Username); if (TargetUser == null) { Session.SendWhisper("Ocorreu um erro ao encontrar esse usuário, talvez ele não esteja online ou nesta sala.", 1); return; } if (TargetClient.GetHabbo().Username == Session.GetHabbo().Username) { Session.SendWhisper("Você não pode fazer isso em você mesmo!", 1); return; } var Point = new System.Drawing.Point(Session.GetRoomUser().X, Session.GetRoomUser().Y); var TargetPoint = new System.Drawing.Point(TargetUser.X, TargetUser.Y); if (Point == TargetPoint) { Session.SendWhisper("Esta pessoa já está em cima de você!", 1); return; } TargetUser.ClearMovement(true); if (TargetUser.TeleportEnabled) { TargetUser.MoveTo(Point); } else { TargetUser.TeleportEnabled = true; TargetUser.MoveTo(Point); TargetUser.TeleportEnabled = false; } Session.Shout("*Teleporta o usuário " + TargetClient.GetHabbo().Username + " para mim*", 23); return; }
public void OnPlace(GameClient Session, RoomItem Item) { Item.ExtraData = "0"; if (Item.InteractingUser != 0u) { RoomUser roomUserByHabbo = Item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(Item.InteractingUser); if (roomUserByHabbo != null) { roomUserByHabbo.ClearMovement(true); roomUserByHabbo.UnlockWalking(); } Item.InteractingUser = 0u; } }
public override void OnPlace(GameClient Session, RoomItem Item) { Item.ExtraData = "0"; if (Item.InteractingUser != 0u) { RoomUser @class = Item.GetRoom().GetRoomUserByHabbo(Item.InteractingUser); if (@class != null) { @class.ClearMovement(true); @class.UnlockWalking(); } Item.InteractingUser = 0u; } }
public override void OnRemove(GameClient Session, RoomItem RoomItem_0) { RoomItem_0.ExtraData = "0"; if (RoomItem_0.InteractingUser != 0u) { RoomUser @class = RoomItem_0.GetRoom().GetRoomUserByHabbo(RoomItem_0.InteractingUser); if (@class != null) { @class.ClearMovement(true); @class.UnlockWalking(); } RoomItem_0.InteractingUser = 0u; } }
public override void OnPlace(GameClient session, RoomItem item) { item.ExtraData = "0"; if (item.InteractingUser != 0) { RoomUser user = item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(item.InteractingUser); if (user != null) { user.ClearMovement(); user.UnlockWalking(); } item.InteractingUser = 0; } }
public void OnRemove(GameClient Session, RoomItem item) { item.ExtraData = "0"; if (item.InteractingUser != 0) { RoomUser User = item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(item.InteractingUser); if (User != null) { User.ClearMovement(); User.UnlockWalking(); } item.InteractingUser = 0; } }
public void OnPlace(GameClient Session, Item Item) { Item.ExtraData = "0"; if (Item.InteractingUser != 0) { RoomUser User = Item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(Item.InteractingUser); if (User != null) { User.ClearMovement(true); User.UnlockWalking(); } Item.InteractingUser = 0; } }
/// <summary> /// Adds user to a MWTeam /// </summary> public bool AddUserToGame(GameClient User, string TeamString) { if (User == null || User.GetHabbo() == null || User.GetRoleplay() == null) { return(false); } if (User.GetRoleplay().InMafiaWars == true) { return(false); } // Gets the MWTeam the user requested to join via the dictionary MWTeam MWTeamRequested = MWTeams[TeamString]; if (MWTeamRequested == null) { return(false); } if (MWTeamRequested.WaitingAreaPOS == null) { return(false); } RoomUser RUser = User.GetHabbo().GetRoomUser(); if (RUser == null) { return(false); } User.GetRoleplay().TeamString = TeamString; User.GetRoleplay().InMafiaWars = true; MWTeamRequested.Players.Add(User, 0); User.GetRoleplay().figBeforeWar = User.GetHabbo().Look; User.GetHabbo().Look = RoleplayManager.SplitFigure(User.GetHabbo().Look) + MWTeamRequested.Look; User.GetRoleplay().RefreshVals(); RUser.SetPos(MWTeamRequested.WaitingAreaPOS.X, MWTeamRequested.WaitingAreaPOS.Y, 0); RUser.ClearMovement(); // Attempt to start the game StartGame(); return(true); }
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 void OnTrigger(GameClient Session, RoomItem RoomItem_0, int int_0, bool bool_0) { if (RoomItem_0.ExtraData != "1" && RoomItem_0.GetBaseItem().VendingIds.Count >= 1 && RoomItem_0.InteractingUser == 0u) { if (Session != null) { RoomUser @class = RoomItem_0.GetRoom().GetRoomUserByHabbo(Session.GetHabbo().Id); if (@class == null) { return; } if (!RoomItem_0.GetRoom().method_99(@class.X, @class.Y, RoomItem_0.GetX, RoomItem_0.GetY)) { if ([email protected]) { return; } try { @class.MoveTo(RoomItem_0.SquareInFront); return; } catch { return; } } RoomItem_0.InteractingUser = Session.GetHabbo().Id; @class.CanWalk = false; @class.ClearMovement(true); @class.SetRot(Rotation.Calculate(@class.X, @class.Y, RoomItem_0.GetX, RoomItem_0.GetY)); } RoomItem_0.ReqUpdate(2); RoomItem_0.ExtraData = "1"; RoomItem_0.UpdateState(false, true); } }
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.InteractingUser2 != User.UserId) { Item.InteractingUser2 = User.UserId; } if (User == null) { return; } if (Item.GetBaseItem().InteractionType == InteractionType.ONE_WAY_GATE) { 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) { 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 static void ForceAddPlayerToTeam(GameClient Player, string team, RoomItem BanZaiTele = null, bool ForceAdd = false, bool sendToRoom = false) { try { // If we actually have a player if (Player != null && Player.GetRoleplay() != null && Player.GetHabbo() != null) { // If the match has not started if (!Started) { // If the player is not in colour wars if (!Player.GetRoleplay().inColourWars) { // Get the team selected Team ActualTeam = GetTeamByName(team); // Now get the team based on balance // Lets attempt to add the user to the team ActualTeam.AddPlayerToTeam(Player); // TODO: Change user motto, game state CustomizePlayer(Player, ActualTeam); // Set the players set & game state Player.GetRoleplay().ColourWarTeam = ActualTeam; Player.GetRoleplay().inColourWars = true; if (Player.GetHabbo().CurrentRoomId != 96 && !sendToRoom) { Player.GetMessageHandler().PrepareRoomForUser(96, ""); } // Get the room user RoomUser RUser = Player.GetHabbo().GetRoomUser(); // If it created the room user if (RUser != null) { // Set the users position RUser.SetPos(ActualTeam.WAX, ActualTeam.WAY, ActualTeam.WAZ); // Set effect if (Player.GetRoleplay() != null) { Player.GetRoleplay().EffectSeconds--; } RUser.ApplyEffect(4); // Clear movement RUser.ClearMovement(); } // Hmm, let's see if we can actually start the game TryStart(); } } else { if (!Player.GetRoleplay().inColourWars) { // Get the team selected Team ActualTeam = GetTeamByName(team); // Now get the team based on balance // Lets attempt to add the user to the team ActualTeam.AddPlayerToTeam(Player); // TODO: Change user motto, game state CustomizePlayer(Player, ActualTeam); // Set the players set & game state Player.GetRoleplay().ColourWarTeam = ActualTeam; Player.GetRoleplay().inColourWars = true; // Get the room user RoomUser RUser = Player.GetHabbo().GetRoomUser(); // If it created the room user if (RUser != null) { // Set the users position if (!sendToRoom) { Player.GetMessageHandler().PrepareRoomForUser(ActualTeam.BaseRID, ""); } Player.GetRoleplay().CurHealth = 120; Player.GetRoleplay().Energy = 100; Player.GetRoleplay().Hunger = 0; } } } } } catch (Exception ex) { Logging.LogCriticalException("Error in ForceAddPlayerToTeam() void " + ex.Message + "::" + ex.StackTrace); } }
/// <summary> /// Adds the player to the team /// </summary> /// <param name="Player">The player to add</param> public static void AddPlayerToTeam(GameClient Player, string team, RoomItem BanZaiTele = null) { try { // If we actually have a player if (Player != null && Player.GetRoleplay() != null && Player.GetHabbo() != null) { // If the match has not started if (!Started) { // If the player is not in colour wars if (!Player.GetRoleplay().inColourWars) { if (getPlayerCount() < 24) { // Get the team selected Team TeamSelected = GetTeamByName(team); // Now get the team based on balance Team ActualTeam = GetTeamBalanced(TeamSelected, Player); // Lets attempt to add the user to the team ActualTeam.AddPlayerToTeam(Player); // TODO: Change user motto, game state CustomizePlayer(Player, ActualTeam); // Set the players set & game state Player.GetRoleplay().ColourWarTeam = ActualTeam; Player.GetRoleplay().inColourWars = true; // Get the room user RoomUser RUser = Player.GetHabbo().GetRoomUser(); // If it created the room user if (RUser != null) { // Set the users position RUser.SetPos(ActualTeam.WAX, ActualTeam.WAY, ActualTeam.WAZ); // Set effect if (Player.GetRoleplay() != null) { Player.GetRoleplay().EffectSeconds--; } RUser.ApplyEffect(4); // Clear movement RUser.ClearMovement(); } // Hmm, let's see if we can actually start the game TryStart(); } } else { Player.SendWhisper("No spaces left sorry!"); } } else { // Tell the user they can't join this late Player.SendWhisper("You cannot join the match as it has started!"); if (BanZaiTele != null) { if (Player.GetHabbo() != null) { if (Player.GetHabbo().GetRoomUser() != null) { Player.GetHabbo().GetRoomUser().MoveTo(BanZaiTele.SquareInFront); } } } } } } catch (Exception ex) { Logging.LogCriticalException("Error in AddPlayerToTeam() void " + ex.Message + "::" + ex.StackTrace); } }
public bool Execute(params object[] Params) { if (Params == null || Params.Length == 0) { return(false); } if (String.IsNullOrEmpty(this.StringData)) { return(false); } Habbo Player = (Habbo)Params[0]; if (Player == null) { return(false); } RoomUser Human = Instance.GetRoomUserManager().GetRoomUserByHabbo(Player.Id); if (Human == null) { return(false); } string[] Stuff = this.StringData.Split(';'); if (Stuff.Length != 2) { return(false);//This is important, incase a c**t scripts. } string Username = Stuff[1]; RoomUser User = this.Instance.GetRoomUserManager().GetBotByName(Username); if (User == null) { return(false); } int FollowMode = 0; if (!int.TryParse(Stuff[0], out FollowMode)) { return(false); } if (FollowMode == 0) { User.BotData.ForcedUserTargetMovement = 0; if (User.IsWalking) { User.ClearMovement(true); } } else if (FollowMode == 1) { User.BotData.ForcedUserTargetMovement = Player.Id; if (User.IsWalking) { User.ClearMovement(true); } User.MoveTo(Human.X, Human.Y); } return(true); }
public void Execute(GameClient Session, Rooms.Room Room, string[] Params) { if (Params.Length == 1) { Session.SendWhisper("Opa, você esqueceu de escolher um usuário-alvo!"); return; } GameClient TargetSession = PlusEnvironment.GetGame().GetClientManager().GetClientByUsername(Params[1]); RoomUser User = Room.GetRoomUserManager().GetRoomUserByHabbo(Params[1]); if (User == null) { return; } if (User == null) { return; } if (User.ForceSit) { return; } if (User.Statusses.ContainsKey("sit") || User.isSitting || User.RidingHorse || User.IsWalking) { return; } var Items = Room.GetGameMap().GetAllRoomItemForSquare(User.X, User.Y); bool HasBed = Items.ToList().Where(x => x != null && x.GetBaseItem().IsBed()).Count() > 0; if (HasBed || TargetSession.GetHabbo().VIPRank > 2) { return; } if (TargetSession.GetHabbo().Effects().CurrentEffect > 0) { TargetSession.GetHabbo().Effects().ApplyEffect(0); } if (!User.Statusses.ContainsKey("lay")) { if ((User.RotBody % 2) == 0) { if (User == null) { return; } try { User.Statusses.Add("lay", "1.0 null"); User.Z -= 0.35; User.isLying = true; User.UpdateNeeded = true; } catch { } } else { User.RotBody--; User.Statusses.Add("lay", "1.0 null"); User.Z -= 0.35; User.isLying = true; User.UpdateNeeded = true; } User.Frozen = true; User.ClearMovement(true); User.ForceLay = true; PlusEnvironment.GetGame().GetChatManager().GetCommands().Parse(User.GetClient(), ":unequip"); Session.Shout("*Olha para " + User.GetClient().GetHabbo().Username + " forçando ele a sentar*", 23); } else { User.Z += 0.35; User.RemoveStatus("lay"); User.isLying = false; User.UpdateNeeded = true; User.Frozen = false; User.ClearMovement(true); User.ForceLay = false; Session.Shout("*Olha para " + User.GetClient().GetHabbo().Username + " fazendo ele se levantar*", 23); } }
public void Parse(HabboHotel.GameClients.GameClient Session, ClientPacket Packet) { if (!Session.GetHabbo().InRoom) { return; } Room Room; if (!PlusEnvironment.GetGame().GetRoomManager().TryGetRoom(Session.GetHabbo().CurrentRoomId, out Room)) { return; } RoomUser User = Room.GetRoomUserManager().GetRoomUserByHabbo(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) { return; } if (Pet.PetData.AnyoneCanRide == 0 && Pet.PetData.OwnerId != User.UserId) { Session.SendNotification( "Você não consegue montar este cavalo.\nO dono do animal de estimação selecionou para ninguém montá-lo."); return; } if (Type) { if (Pet.RidingHorse) { string[] Speech2 = PlusEnvironment.GetGame().GetChatManager().GetPetLocale().GetValue("pet.alreadymounted"); var RandomSpeech2 = new Random(); Pet.Chat(Speech2[RandomSpeech2.Next(0, Speech2.Length - 1)], false); } else if (User.RidingHorse) { Session.SendNotification("Você já está montado em um cavalo!"); } else { if (Pet.Statusses.Count > 0) { Pet.Statusses.Clear(); } int NewX2 = User.X; int NewY2 = User.Y; Room.SendMessage(Room.GetRoomItemHandler().UpdateUserOnRoller(Pet, new Point(NewX2, NewY2), 0, Room.GetGameMap().SqAbsoluteHeight(NewX2, NewY2))); Room.SendMessage(Room.GetRoomItemHandler().UpdateUserOnRoller(User, new Point(NewX2, NewY2), 0, Room.GetGameMap().SqAbsoluteHeight(NewX2, NewY2) + 1)); User.MoveTo(NewX2, NewY2); Pet.ClearMovement(true); User.RidingHorse = true; Pet.RidingHorse = true; Pet.HorseID = User.VirtualId; User.HorseID = Pet.VirtualId; User.ApplyEffect(77); 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 + 2, User.Y + 2)); User.ApplyEffect(-1); User.UpdateNeeded = true; Pet.UpdateNeeded = true; } else { Session.SendNotification("Não foi possível descer deste cavalo - Você não está montando!"); } } Room.SendMessage(new PetHorseFigureInformationComposer(Pet)); }
/// <summary> /// Turns the user thread /// </summary> /// <param name="roomUsers"></param> internal void UserCycleOnRoom(RoomUser roomUsers) { // Region Check User Elegibility if (!IsValid(roomUsers)) { if (roomUsers.GetClient() != null) RemoveUserFromRoom(roomUsers.GetClient(), false, false); else RemoveRoomUser(roomUsers); } // Region Check User Remove Unlocking lock (_removeUsers) { if (roomUsers.NeedsAutokick && !_removeUsers.Contains(roomUsers)) { _removeUsers.Add(roomUsers); return; } } // Region Idle and Room Tiem Check roomUsers.IdleTime++; // Region User Achievement of Room UserRoomTimeCycles(roomUsers); // Carry Item Hand Checking if (roomUsers.CarryItemId > 0) { roomUsers.CarryTimer--; // If The Carry Timer is 0.. Remove CarryItem. if (roomUsers.CarryTimer <= 0) roomUsers.CarryItem(0); } // Region Check User Got Freezed if (_userRoom.GotFreeze()) Freeze.CycleUser(roomUsers); // Region Variable Registering bool invalidStep = false; // Region Check User Tile Selection if (roomUsers.SetStep) { // Check if User is Going to the Door. lock (_removeUsers) { if ((roomUsers.SetX == _userRoom.GetGameMap().Model.DoorX) && (roomUsers.SetY == _userRoom.GetGameMap().Model.DoorY) && !_removeUsers.Contains(roomUsers) && !roomUsers.IsBot && !roomUsers.IsPet) { _removeUsers.Add(roomUsers); return; } } // Check Elegibility of Walk In Tile invalidStep = UserCanWalkInTile(roomUsers); // User isn't Anymore Set a Tile to Walk roomUsers.SetStep = false; } // Pet Must Stop Too! if ((roomUsers.GoalX == roomUsers.X) && (roomUsers.GoalY == roomUsers.Y) && roomUsers.RidingHorse && !roomUsers.IsPet) { RoomUser horseStopWalkRidingPet = GetRoomUserByVirtualId(Convert.ToInt32(roomUsers.HorseId)); if (horseStopWalkRidingPet != null) { ServerMessage horseStopWalkRidingPetMessage = new ServerMessage(LibraryParser.OutgoingRequest("UpdateUserStatusMessageComposer")); horseStopWalkRidingPetMessage.AppendInteger(1); horseStopWalkRidingPet.SerializeStatus(horseStopWalkRidingPetMessage, ""); _userRoom.SendMessage(horseStopWalkRidingPetMessage); horseStopWalkRidingPet.IsWalking = false; horseStopWalkRidingPet.ClearMovement(); } } // User Reached Goal Need Stop. if (((roomUsers.GoalX == roomUsers.X) && (roomUsers.GoalY == roomUsers.Y)) || roomUsers.Freezed) { roomUsers.IsWalking = false; roomUsers.ClearMovement(); roomUsers.SetStep = false; UpdateUserStatus(roomUsers, false); } // Check if Proably the Pathfinder is with Some Errors.. if (roomUsers.PathRecalcNeeded) { roomUsers.Path.Clear(); roomUsers.Path = PathFinder.FindPath(roomUsers, _userRoom.GetGameMap().DiagonalEnabled, _userRoom.GetGameMap(), new Vector2D(roomUsers.X, roomUsers.Y), new Vector2D(roomUsers.GoalX, roomUsers.GoalY)); if (roomUsers.Path.Count > 1) { roomUsers.PathStep = 1; roomUsers.IsWalking = true; roomUsers.PathRecalcNeeded = false; } else { roomUsers.PathRecalcNeeded = false; roomUsers.Path.Clear(); } } // If user Isn't Walking, Let's go Back.. if (!roomUsers.IsWalking || roomUsers.Freezed) { if (roomUsers.Statusses.ContainsKey("mv")) roomUsers.ClearMovement(); } else { // If he Want's to Walk.. Let's Continue!.. // Let's go to The Tile! And Walk :D UserGoToTile(roomUsers, invalidStep); // If User isn't Riding, Must Update Statusses... if (!roomUsers.RidingHorse) roomUsers.UpdateNeeded = true; } // If is a Bot.. Let's Tick the Time Count of Bot.. if (roomUsers.IsBot) roomUsers.BotAi.OnTimerTick(); UpdateUserEffect(roomUsers, roomUsers.X, roomUsers.Y); }
internal void UserGoToTile(RoomUser roomUsers, bool invalidStep) { // If The Tile that the user want to Walk is Invalid! if (invalidStep || (roomUsers.PathStep >= roomUsers.Path.Count) || ((roomUsers.GoalX == roomUsers.X) && (roomUsers.GoalY == roomUsers.Y))) { // Erase all Movement Data.. roomUsers.IsWalking = false; roomUsers.ClearMovement(); roomUsers.HandelingBallStatus = 0; RoomUserBreedInteraction(roomUsers); // Check if he is in a Horse, and if if Erase Horse and User Movement Data if (roomUsers.RidingHorse && !roomUsers.IsPet) { RoomUser horseStopWalkRidingPet = GetRoomUserByVirtualId(Convert.ToInt32(roomUsers.HorseId)); if (horseStopWalkRidingPet != null) { ServerMessage horseStopWalkRidingPetMessage = new ServerMessage(LibraryParser.OutgoingRequest("UpdateUserStatusMessageComposer")); horseStopWalkRidingPetMessage.AppendInteger(1); horseStopWalkRidingPet.SerializeStatus(horseStopWalkRidingPetMessage, ""); _userRoom.SendMessage(horseStopWalkRidingPetMessage); horseStopWalkRidingPet.IsWalking = false; horseStopWalkRidingPet.ClearMovement(); } } // Finally Update User Status UpdateUserStatus(roomUsers, false); return; } // Ins't a Invalid Step.. Continuing. // Region Set Variables int pathDataCount = roomUsers.Path.Count - roomUsers.PathStep - 1; Vector2D nextStep = roomUsers.Path[pathDataCount]; // Increase Step Data... roomUsers.PathStep++; // Check Against if is a Valid Step... if (_userRoom.GetGameMap() .IsValidStep3(roomUsers, new Vector2D(roomUsers.X, roomUsers.Y), new Vector2D(nextStep.X, nextStep.Y), (roomUsers.GoalX == nextStep.X) && (roomUsers.GoalY == nextStep.Y), roomUsers.AllowOverride, roomUsers.GetClient())) { // If is a PET Must Give the Time Tick In Syncrony with User.. if (roomUsers.RidingHorse && !roomUsers.IsPet) { RoomUser horsePetAi = GetRoomUserByVirtualId(Convert.ToInt32(roomUsers.HorseId)); if (horsePetAi != null) horsePetAi.BotAi.OnTimerTick(); } // Horse Ridding need be Updated First if (roomUsers.RidingHorse) { // Set User Position Data UserSetPositionData(roomUsers, nextStep); CheckUserSittableLayable(roomUsers); // Add Status of Walking roomUsers.AddStatus("mv", +roomUsers.SetX + "," + roomUsers.SetY + "," + ServerUserChatTextHandler.GetString(roomUsers.SetZ)); } // Check if User is Ridding in Horse, if if Let's Update Ride Data. if (roomUsers.RidingHorse && !roomUsers.IsPet) { RoomUser horseRidingPet = GetRoomUserByVirtualId(Convert.ToInt32(roomUsers.HorseId)); if (horseRidingPet != null) { string theUser = "******" + roomUsers.SetX + "," + roomUsers.SetY + "," + ServerUserChatTextHandler.GetString(roomUsers.SetZ); string thePet = "mv " + roomUsers.SetX + "," + roomUsers.SetY + "," + ServerUserChatTextHandler.GetString(horseRidingPet.SetZ); ServerMessage horseRidingPetMessage = new ServerMessage(LibraryParser.OutgoingRequest("UpdateUserStatusMessageComposer")); horseRidingPetMessage.AppendInteger(2); roomUsers.SerializeStatus(horseRidingPetMessage, theUser); horseRidingPet.SerializeStatus(horseRidingPetMessage, thePet); _userRoom.SendMessage(horseRidingPetMessage); horseRidingPet.RotBody = roomUsers.RotBody; horseRidingPet.RotHead = roomUsers.RotBody; horseRidingPet.SetX = roomUsers.SetX; horseRidingPet.SetY = roomUsers.SetY; horseRidingPet.SetZ = roomUsers.SetZ - 1; horseRidingPet.SetStep = true; UpdateUserEffect(horseRidingPet, horseRidingPet.SetX, horseRidingPet.SetY); UpdateUserStatus(horseRidingPet, false); } } // If is not Ridding Horse doesn't Need Update Effect if (!roomUsers.RidingHorse) { // Set User Position Data UserSetPositionData(roomUsers, nextStep); CheckUserSittableLayable(roomUsers); // Add Status of Walking roomUsers.AddStatus("mv", +roomUsers.SetX + "," + roomUsers.SetY + "," + ServerUserChatTextHandler.GetString(roomUsers.SetZ)); } // Region Update User Effect And Status UpdateUserEffect(roomUsers, roomUsers.SetX, roomUsers.SetY); // Update Effect if is Ridding if (roomUsers.RidingHorse) UpdateUserStatus(roomUsers, false); // Region Update User Map Data _userRoom.GetGameMap().GameMap[roomUsers.X, roomUsers.Y] = roomUsers.SqState; roomUsers.SqState = _userRoom.GetGameMap().GameMap[roomUsers.SetX, roomUsers.SetY]; // If user is in soccer proccess. if (_userRoom.GotSoccer()) _userRoom.GetSoccer().OnUserWalk(roomUsers); return; } // Isn't a Valid Step! And he Can Go? Erase Imediatile Effect if (roomUsers.Statusses.ContainsKey("mv")) roomUsers.ClearMovement(); // If user isn't pet and Bot, we have serious Problems. Let Recalculate Path! if (!roomUsers.IsPet && !roomUsers.IsBot) roomUsers.PathRecalcNeeded = true; }
internal void ProcessUpdates() { this.UpdateCounter--; if (this.UpdateCounter <= 0) { this.UpdateNeeded = false; this.UpdateCounter = 0; if (this.TimerRunning && this.int_0 > 0) { this.int_0 += 500; this.GetRoom().int_13 += 500; this.UpdateNeeded = true; if (this.int_0 > SongManager.GetSong(Convert.ToInt32(this.ExtraData)).Length) { ServerMessage Message = new ServerMessage(327); Message.AppendInt32(7); Message.AppendInt32(6); Message.AppendInt32(7); Message.AppendInt32(0); Message.AppendInt32(0); this.GetRoom().SendMessage(Message, null); this.int_0 = 1; this.GetRoom().int_13 = 0; } } else { string text = this.GetBaseItem().InteractionType.ToLower(); switch (text) { case "onewaygate": { RoomUser roomUserByHabbo = null; if (this.InteractingUser > 0) { roomUserByHabbo = this.GetRoom().GetRoomUserByHabbo(this.InteractingUser); } if (roomUserByHabbo != null && roomUserByHabbo.X == this.mX && roomUserByHabbo.Y == this.mY && this.Extra1 != "tried") { this.ExtraData = "1"; this.Extra1 = "tried"; roomUserByHabbo.UnlockWalking(); roomUserByHabbo.MoveTo(this.SquareBehind); this.ReqUpdate(0); this.UpdateState(false, true); } else { if ((roomUserByHabbo != null && (roomUserByHabbo.Coordinate != this.SquareBehind)) || this.Extra1 == "tried") { this.Extra1 = ""; this.ExtraData = "0"; this.InteractingUser = 0; this.UpdateState(false, true); this.GetRoom().GenerateMaps(); } else { if (this.ExtraData == "1") { this.ExtraData = "0"; this.UpdateState(false, true); } } } if (roomUserByHabbo == null) { this.InteractingUser = 0u; } break; } case "teleport": { bool flag = false; bool flag2 = false; if (this.InteractingUser > 0u) { RoomUser roomUserByHabbo = this.GetRoom().GetRoomUserByHabbo(this.InteractingUser); if (roomUserByHabbo != null) { if (!(roomUserByHabbo.Coordinate == this.Coordinate)) { roomUserByHabbo.AllowOverride = false; if (roomUserByHabbo.TeleDelay == -1) { roomUserByHabbo.TeleDelay = 1; } if (TeleHandler.IsTeleLinked(this.Id)) { flag2 = true; if (roomUserByHabbo.TeleDelay == 0) { uint num2 = TeleHandler.GetLinkedTele(this.Id); uint num3 = TeleHandler.GetTeleRoomId(num2); if (num3 == this.RoomId) { RoomItem class2 = this.GetRoom().GetItem(num2); if (class2 == null) { roomUserByHabbo.UnlockWalking(); } else { roomUserByHabbo.SetPos(class2.GetX, class2.GetY, class2.GetZ); roomUserByHabbo.SetRot(class2.Rot); class2.ExtraData = "2"; class2.UpdateState(false, true); class2.InteractingUser2 = this.InteractingUser; } } else { if (!roomUserByHabbo.IsBot) { PhoenixEnvironment.GetGame().GetRoomManager().method_5(new TeleUserData(roomUserByHabbo.GetClient().GetMessageHandler(), roomUserByHabbo.GetClient().GetHabbo(), num3, num2)); } } this.InteractingUser = 0u; } else { roomUserByHabbo.TeleDelay--; } } else { roomUserByHabbo.UnlockWalking(); this.InteractingUser = 0u; roomUserByHabbo.MoveTo(this.SquareInFront); } } else { if ((roomUserByHabbo.Coordinate == this.SquareInFront) && roomUserByHabbo.Item == this) { roomUserByHabbo.AllowOverride = true; flag = true; if (roomUserByHabbo.IsWalking && (roomUserByHabbo.GoalX != this.mX || roomUserByHabbo.GoalY != this.mY)) { roomUserByHabbo.ClearMovement(true); } roomUserByHabbo.CanWalk = false; roomUserByHabbo.AllowOverride = true; roomUserByHabbo.MoveTo(this.Coordinate); } else { this.InteractingUser = 0u; } } } else { this.InteractingUser = 0u; } } if (this.InteractingUser2 > 0u) { RoomUser user2 = this.GetRoom().GetRoomUserByHabbo(this.InteractingUser2); if (user2 != null) { flag = true; user2.UnlockWalking(); if (user2.Coordinate == this.Coordinate) { user2.MoveTo(this.SquareInFront); } } this.InteractingUser2 = 0u; } if (flag) { if (this.ExtraData != "1") { this.ExtraData = "1"; this.UpdateState(false, true); } } else { if (flag2) { if (this.ExtraData != "2") { this.ExtraData = "2"; this.UpdateState(false, true); } } else { if (this.ExtraData != "0") { this.ExtraData = "0"; this.UpdateState(false, true); } } } this.ReqUpdate(1); break; } case "bottle": { int num = PhoenixEnvironment.GetRandomNumber(0, 7); this.ExtraData = num.ToString(); this.UpdateState(); break; } case "dice": try { RoomUser @class = this.GetRoom().GetRoomUserByHabbo(this.InteractingUser); if (@class.GetClient().GetHabbo().Rigger > 0) { this.ExtraData = @class.GetClient().GetHabbo().Rigger.ToString(); @class.GetClient().GetHabbo().Rigger = 0; } else { int num = PhoenixEnvironment.GetRandomNumber(1, 6); this.ExtraData = num.ToString(); } } catch { int num = PhoenixEnvironment.GetRandomNumber(1, 6); this.ExtraData = num.ToString(); } this.UpdateState(); break; case "habbowheel": { int num = PhoenixEnvironment.GetRandomNumber(1, 10); this.ExtraData = num.ToString(); this.UpdateState(); break; } case "loveshuffler": if (this.ExtraData == "0") { int num = PhoenixEnvironment.GetRandomNumber(1, 4); this.ExtraData = num.ToString(); this.ReqUpdate(20); } else { if (this.ExtraData != "-1") { this.ExtraData = "-1"; } } this.UpdateState(false, true); break; case "alert": if (this.ExtraData == "1") { this.ExtraData = "0"; this.UpdateState(false, true); } break; case "vendingmachine": if (this.ExtraData == "1") { RoomUser @class = this.GetRoom().GetRoomUserByHabbo(this.InteractingUser); if (@class != null) { @class.UnlockWalking(); int int_ = this.GetBaseItem().VendingIds[PhoenixEnvironment.GetRandomNumber(0, this.GetBaseItem().VendingIds.Count - 1)]; @class.CarryItem(int_); } this.InteractingUser = 0u; this.ExtraData = "0"; this.UpdateState(false, true); } break; case "wf_trg_onsay": case "wf_trg_enterroom": case "wf_trg_furnistate": case "wf_trg_onfurni": case "wf_trg_offfurni": case "wf_trg_gameend": case "wf_trg_gamestart": case "wf_trg_attime": case "wf_trg_atscore": case "wf_act_saymsg": case "wf_act_togglefurni": case "wf_act_givepoints": case "wf_act_moverotate": case "wf_act_matchfurni": case "wf_act_give_phx": case "wf_cnd_trggrer_on_frn": case "wf_cnd_furnis_hv_avtrs": case "wf_cnd_has_furni_on": case "wf_cnd_phx": case "bb_teleport": if (this.ExtraData == "1") { this.ExtraData = "0"; this.UpdateState(false, true); } break; case "wf_trg_timer": if (this.ExtraData == "1") { this.ExtraData = "0"; this.UpdateState(false, true); } if (this.Extra1.Length > 0) { this.GetRoom().method_15(this); this.ReqUpdate(Convert.ToInt32(Convert.ToDouble(this.Extra1) * 2.0)); } break; case "wf_act_moveuser": if (this.dictionary_1.Count > 0 && this.GetRoom().UserList != null) { int num4 = 0; RoomUser[] RoomUser_ = this.GetRoom().UserList; for (int i = 0; i < RoomUser_.Length; i++) { RoomUser class4 = RoomUser_[i]; if (class4 != null) { if (class4.IsBot) { this.dictionary_1.Remove(class4); } if (this.dictionary_1.ContainsKey(class4)) { if (this.dictionary_1[class4] > 0) { if (this.dictionary_1[class4] == 10 && !class4.IsBot) { class4.GetClient().GetHabbo().GetAvatarEffectsInventoryComponent().ApplyEffect(4, true); } Dictionary <RoomUser, int> dictionary; RoomUser key; (dictionary = this.dictionary_1)[key = class4] = dictionary[key] - 1; num4++; } else { this.dictionary_1.Remove(class4); class4.GetClient().GetHabbo().GetAvatarEffectsInventoryComponent().ApplyEffect(0, true); } } } } if (num4 > 0) { this.ReqUpdate(0); } else { this.dictionary_1.Clear(); } } break; case "counter": if (this.TimerRunning && this.Extra1 != "1") { this.ExtraData = Convert.ToString(Convert.ToInt32(this.ExtraData) - 1); if (Convert.ToInt32(this.ExtraData) <= 0) { this.ExtraData = "0"; this.TimerRunning = false; this.GetRoom().method_89(0, this, true); } this.UpdateState(true, true); this.GetRoom().method_16((double)Convert.ToInt32(this.ExtraData)); this.Extra1 = "1"; this.ReqUpdate(1); } else { if (this.TimerRunning) { this.GetRoom().method_16((double)Convert.ToInt32(this.ExtraData) - 0.5); this.Extra1 = "0"; this.ReqUpdate(1); } } break; } } } }
public bool Execute(params object[] Params) { if (Params == null || Params.Length == 0 || String.IsNullOrEmpty(this.StringData)) { return(false); } RoomUser User = this.Instance.GetRoomUserManager().GetBotByName(this.StringData); if (User == null) { return(false); } Random rand = new Random(); List <Item> Items = SetItems.Values.ToList(); Items = Items.OrderBy(x => rand.Next()).ToList(); if (Items.Count == 0) { return(false); } Item Item = Items.First(); if (Item == null) { return(false); } if (!Instance.GetRoomItemHandler().GetFloor.Contains(Item)) { SetItems.TryRemove(Item.Id, out Item); if (Items.Contains(Item)) { Items.Remove(Item); } if (SetItems.Count == 0 || Items.Count == 0) { return(false); } Item = Items.First(); if (Item == null) { return(false); } } if (this.Instance.GetGameMap() == null) { return(false); } if (User.IsWalking) { User.ClearMovement(true); } User.BotData.ForcedMovement = true; User.BotData.TargetCoordinate = new Point(Item.GetX, Item.GetY); User.MoveTo(Item.GetX, Item.GetY); return(true); }