public static async void OnEndMissionCommandAsync(Player sender)
        {
            if (!sender.IsDoingMission)
            {
                sender.SendClientMessage(Color.Red, Messages.MissionNotDoingAMission);
                return;
            }

            if (sender.PlayerClass == PlayerClassType.Police || sender.PlayerClass == PlayerClassType.Assistance)
            {
                return;
            }

            if (sender.IsInConvoy)
            {
                await MissionConvoy.PlayerLeaveConvoyAsync(sender);
            }

            if (sender.MissionStep == 1)
            {
                sender.SendClientMessage(Color.GreenYellow, "You ended your mission.");
                await MissionsController.ClassEndMissionAsync(sender);

                return;
            }

            await MissionsController.ClassEndMissionAsync(sender);

            sender.SendClientMessage(Color.Red,
                                     $"You {{FF0000}}failed{{FFFFFF}} your mission. You lost {{FFFF00}}${Configuration.Instance.FailedMissionPrice}{{FFFFFF}} to cover expenses.");

            await sender.RewardAsync(-Configuration.Instance.FailedMissionPrice);
        }
        private async Task PlayerFailMissionAsync(Player player)
        {
            await ClassEndMissionAsync(player);

            await MissionConvoy.PlayerLeaveConvoyAsync(player);

            var message = string.Format(Messages.MissionFailed, Configuration.Instance.FailedMissionPrice);

            player.GameText(message, 5000, 4);
            await player.RewardAsync(-Configuration.Instance.FailedMissionPrice);
        }