Reset the game when 1 life is lost

The code i have for my brick breaker game is this one (followed by a tutorial):

The thing is that i can’t get the game to restart with 1 less level when the ball hits the bottom. Anyone knows how to do this? I’ve tried to run the function makeLvl(null); after the part where it says** lives–;** but it still doens’t work.

stop();

var ballXSpeed:Number = 8; 
var ballYSpeed:Number = 8; 

var brickAmt:int = 0;

var lives:int = 3;

var gameOver:Boolean = false;

var score:int = 0;

function beginCode(event:MouseEvent):void{
    
    stage.removeEventListener(MouseEvent.CLICK, beginCode);
    
    vky.addEventListener(Event.ENTER_FRAME, movePaddle);
    
    bola.addEventListener(Event.ENTER_FRAME, moveBall);
    
    addEventListener(Event.ENTER_FRAME, checkLevel);
    
    txtStart.text = '';
}

function movePaddle(event:Event):void{

    vky.x = mouseX - vky.width / 2;
    
    if(mouseX < vky.width / 2){
        
        vky.x = 0;
    }
    
    if(mouseX > stage.stageWidth - vky.width / 2){
        //Keep the paddle on stage
        vky.x = stage.stageWidth - vky.width;
    }
}

function moveBall(event:Event):void{
    
    bola.x += ballXSpeed;
    bola.y += ballYSpeed;

    if(bola.x >= stage.stageWidth-bola.width){
        
        ballXSpeed *= -1;
    }
    if(bola.x <= 0){
        
        ballXSpeed *= -1;
    }
    if(bola.y >= stage.stageHeight-bola.height){
        
        ballYSpeed *= -1;
        lives --;
       
        
        if(lives <= 0){
            
            gameOver = true;
            
            vky.removeEventListener(Event.ENTER_FRAME, movePaddle);
            bola.removeEventListener(Event.ENTER_FRAME, moveBall);
            removeEventListener(Event.ENTER_FRAME, checkLevel);
            removeEventListener(Event.ENTER_FRAME, updateTextFields);
            
            gotoAndStop('113');
        }
        
    }
    if(bola.y <= 0){
    
        ballYSpeed *= -1;
    }

    if(bola.hitTestObject(vky)){
        calcBallAngle();
    }
}

function calcBallAngle():void{
    
    var ballPosition:Number = bola.x - vky.x;
    
    var hitPercent:Number = (ballPosition / (vky.width - bola.width)) - .5;

    ballXSpeed = hitPercent * 10;
    
    ballYSpeed *= -1;
}

function makeLvl():void{ 
    
    if(currentLvl > lvlArray.length){
        
        gameOver = true;
        
        vky.removeEventListener(Event.ENTER_FRAME, movePaddle);
        bola.removeEventListener(Event.ENTER_FRAME, moveBall);
        removeEventListener(Event.ENTER_FRAME, checkLevel);
        removeEventListener(Event.ENTER_FRAME, updateTextFields);
        
        gotoAndStop("116");
    }
    
    var arrayLength:int = lvlArray[currentLvl-1].length;
    
    var brickRow:int = 0;
    
    for(var i:int = 0;i<arrayLength;i++){
        
        if(lvlArray[currentLvl-1]* == 1){
            
            var brick:Brick = new Brick();
            
            brick.x = 15+(i-brickRow*7)*75;
            brick.y = 10+brickRow*20;
            
            for(var c:int = 1;c<=10;c++){
                if(i == c*7-1){
                    brickRow ++;
                }
            }
            
            addChild(brick);
        }
    }
}

function checkLevel(event:Event):void{
    
    if(brickAmt == 0){
        
        currentLvl ++;
        
        txtStart.text = "Click To Begin";
        makeLvl();
        
        bola.x = 150;
        bola.y = 265;
        vky.x = 230;
        
        vky.removeEventListener(Event.ENTER_FRAME, movePaddle);
        bola.removeEventListener(Event.ENTER_FRAME, moveBall);
        removeEventListener(Event.ENTER_FRAME, checkLevel);
        
        stage.addEventListener(MouseEvent.CLICK, beginCode);
    }
}

function updateTextFields(event:Event):void{
    txtStats.text = "Level: "+currentLvl+"    Lives: "+lives+"    Score: "+score;
}

stage.addEventListener(MouseEvent.CLICK, beginCode);

txtStart.text = "Click To Begin";

addEventListener(Event.ENTER_FRAME, updateTextFields);

makeLvl();