Exemplo n.º 1
0
        /// <inheritdoc />
        public void Execute(IPlayerEntity player, object[] parameters)
        {
            if (parameters.Length == 1)
            {
                IPlayerEntity playerToSummon = _worldServer.GetPlayerEntity(parameters[0].ToString());

                if (playerToSummon == null)
                {
                    throw new ArgumentException($"The player doesn't exist or is not connected.", nameof(parameters));
                }

                _teleportSystem.Teleport(playerToSummon, player.Object.MapId, player.Object.Position.X, player.Object.Position.Y, player.Object.Position.Z, player.Object.Angle);
                _logger.LogTrace($"{playerToSummon.Object.Name} is summoned by {player.Object.Name}.");
            }
            else
            {
                throw new ArgumentException("Too many or not enough arguments.");
            }
        }
Exemplo n.º 2
0
 /// <inheritdoc />
 public void Execute(IPlayerEntity player, object[] parameters)
 {
     if (parameters.Length == 1)
     {
         IPlayerEntity playerToFreeze = _worldServer.GetPlayerEntity(parameters[0].ToString());
         if (!player.PlayerData.Mode.HasFlag(ModeType.DONMOVE_MODE))
         {
             playerToFreeze.PlayerData.Mode |= ModeType.DONMOVE_MODE;
             _playerDataPacketFactory.SendModifyMode(playerToFreeze);
             _logger.LogTrace($"Player '{playerToFreeze.Object.Name}' is now freezed.");
         }
         else
         {
             _logger.LogTrace($"Player '{playerToFreeze.Object.Name}' is already freezed.");
         }
     }
     else
     {
         throw new ArgumentException("Too many or not enough arguments.");
     }
 }