Brackey's movement script moving in wrong directions?

I recently followed a tutorial by Brackeys on how to set up an FPS character controller. I copied the script perfectly but when I try to move, it goes in the wrong directions. Forwards is right for example. Here is the script: `
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class PlayerMove : MonoBehaviour
{
public CharacterController controller;

public Transform groundCheck;
public float groundDistance = 0.4f;
public LayerMask groundMask;

public float speed = 12f;
public float gravity = -9.81f;
public float jumpHeight = 3f;

Vector3 velocity;
bool isGrounded;

void Update()
{
    isGrounded = Physics.CheckSphere(groundCheck.position, groundDistance, groundMask);

    if (isGrounded && velocity.y < 0) 
    {
        velocity.y = -2f;
  
    }
    float x = Input.GetAxis("Horizontal");
    float z = Input.GetAxis("Vertical");

    Vector3 move = transform.right * x + transform.forward * z;

    controller.Move(move * speed * Time.deltaTime);

    if(Input.GetButtonDown("Jump") && isGrounded)
    {
        velocity.y = Mathf.Sqrt(jumpHeight * -2f * gravity);
    }

    velocity.y += gravity * Time.deltaTime;

    controller.Move(velocity * Time.deltaTime);
}

}
`

Hi, for the future can you please format your code in posts so we can easily read it, like I have done here:

using System.Collections; 
using System.Collections.Generic; 
using UnityEngine; 

public class PlayerMove : MonoBehaviour 
{ 
    public CharacterController controller; 
    public Transform groundCheck; public float groundDistance = 0.4f; 
    public LayerMask groundMask; 
    public float speed = 12f;   
    public float gravity = -9.81f; 
    public float jumpHeight = 3f; 
    Vector3 velocity; bool isGrounded; 

    void Update() 
    {
        isGrounded = Physics.CheckSphere(groundCheck.position, groundDistance, groundMask);

        if (isGrounded && velocity.y < 0) 
        { 
            velocity.y = -2f; 
        } 
        
        float x = Input.GetAxis("Horizontal"); 
        float z = Input.GetAxis("Vertical"); 
        
        Vector3 move = transform.right * x + transform.forward * z; 
        
        controller.Move(move * speed * Time.deltaTime); 
        
        if(Input.GetButtonDown("Jump") && isGrounded) 
        { 
            velocity.y = Mathf.Sqrt(jumpHeight * -2f * gravity); 
        } 
        
        velocity.y += gravity * Time.deltaTime; controller.Move(velocity * Time.deltaTime); 
    } 
} 

I think this actually has something to do with the rotation of your camera though.