Erro no script "Gerenciador de Armas"

Não consigo consertar o erro! alguém já passou por ele?

Assets\Script\GerenciadorDeArmas.cs(85,8): error CS0103: The name ‘Jogador’ does not exist in the current context

Assets\Script\GerenciadorDeArmas.cs(89,8): error CS0103: The name ‘Jogador’ does not exist in the current context

Como está seu script Jogador?

O erro está dizendo que o código não está conseguindo encontrar essa classe.

Modifiquei algumas coisas à meu modo, mas no geral te segui. somente quando chega na linha que te falei que dá erro.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Unity.Cinemachine;

public class GerenciadorDeArmas : MonoBehaviour
{
[SerializeField] private List armasDisponiveis;
[SerializeField] private Arma armaPrimaria;
[SerializeField] private Arma armaSecundaria;
[SerializeField] private GameObject efeitoImpactoDeTiro;
[SerializeField] private GameObject efeitoDeSangue;
[SerializeField] private LayerMask tiroLayerMask;

private Transform cameraPrincipal;
private float tempoProximoTiro;

private MovimentoJogador movimentoJogador;

private Coroutine recarregarCoroutine;
private bool recarregando;

[SerializeField] private CinemachineImpulseSource cinemachineImpulseSource;

// Adicionando a variável pública para o ponto de disparo
[SerializeField] private Transform pontoDeDisparo; // Referência para o ponto de disparo

void Start()
{
	cameraPrincipal = Camera.main.transform;
	armaPrimaria.gameObject.SetActive(true);
	armaSecundaria?.gameObject.SetActive(false);
	movimentoJogador = GetComponent<MovimentoJogador>();
}

void Update()
{
	if (recarregando) return;

	Arma armaAtual = GetArmaAtual();
	Recarregar(armaAtual);  // Chama a função Recarregar
	Atirar(armaAtual);
	Mirar(armaAtual);  // Chama a função Mirar

	if (Time.frameCount % 5 == 0)
	{
		if (pontoDeDisparo != null) // Verifica se o pontoDeDisparo está atribuído
		{
			// Posição do ponto de disparo (objeto vazio na ponta da arma)
			Vector3 rayStart = pontoDeDisparo.position;

			// Direção para frente da arma
			Vector3 rayDirection = armaPrimaria.transform.forward;

			// Desenha o raio a partir do ponto de disparo
			Debug.DrawRay(rayStart, rayDirection * 5, Color.red);  // O raio tem comprimento de 5 unidades
		}
	}
}

public Arma GetArmaAtual()
{
	return armaPrimaria.gameObject.activeSelf ? armaPrimaria : armaSecundaria;
}

private void Atirar(Arma armaAtual)
{
	if (Input.GetButton("Fire1") && Time.time >= tempoProximoTiro && armaAtual.municaoAtual > 0 && !movimentoJogador.EstaCorrendo())
	{
		cinemachineImpulseSource.GenerateImpulse();
		tempoProximoTiro = Time.time + 1f / armaAtual.tirosPorSegundo;
		armaAtual.RealizarDisparo();

		RaycastHit hit;
		Vector3 rayStart = pontoDeDisparo.position;  // Posição do ponto de disparo
		Vector3 rayDirection = armaPrimaria.transform.forward;  // Direção para frente da arma

		// Desenha o raio na cena com a cor vermelha
		Debug.DrawRay(rayStart, rayDirection * 1000, Color.red, 0.1f);  // 1000 é o comprimento do raio

		// Verifica colisões com o raio
		if (Physics.Raycast(rayStart, rayDirection, out hit, 1000, tiroLayerMask, QueryTriggerInteraction.Ignore))
		{
			var parteDoCorpoInimigo = hit.transform.GetComponent<ParteDoCorpo>();
			if (parteDoCorpoInimigo)
			{
				Instantiate(efeitoDeSangue, hit.point, Quaternion.LookRotation(hit.normal));

				var vidaInimigo = parteDoCorpoInimigo.transform.root.GetComponent<VidaInimigo>();

				int dano = armaAtual.GetDano(hit.distance, parteDoCorpoInimigo.nivelDeDano);

				bool inimigoMorto = vidaInimigo.ReduzirVida(dano);

				if(inimigoMorto)
				{
					if(parteDoCorpoInimigo.nivelDeDano == NivelDeDano.ALTO)
					{
						Jogador.Instance.AdicionarPontos(vidaInimigo.GetPontosDerrota() * 2);
					}
					else
					{
						Jogador.Instance.AdicionarPontos(vidaInimigo.GetPontosDerrota());
					}
				}
					
			}
			else
			{
				Instantiate(efeitoImpactoDeTiro, hit.point, Quaternion.LookRotation(hit.normal));
			}
		}
	}
}

private void Recarregar(Arma armaAtual)
{
	if ((Input.GetKeyDown(KeyCode.R) || armaAtual.municaoAtual <= 0) && armaAtual.municaoNoInventario > 0)
	{
		CancelarRecarga();
		recarregarCoroutine = StartCoroutine(ExecutarRecarga(armaAtual));
	}
}

private void CancelarRecarga()
{
	if (recarregarCoroutine != null)
	{
		StopCoroutine(recarregarCoroutine);
	}
	recarregando = false;
}

private IEnumerator ExecutarRecarga(Arma armaAtual)
{
	recarregando = true;
	armaAtual.animator.SetTrigger("Recarregar");

	yield return new WaitForSeconds(armaAtual.tempoDelayRecarregar);
	int balasParaRecarregar = Mathf.Min(armaAtual.capacidadeDoPente, armaAtual.municaoNoInventario) - armaAtual.municaoAtual;
	armaAtual.RecarregarArma(balasParaRecarregar);
	recarregando = false;
}

private void Mirar(Arma armaAtual)
{
	if (Input.GetKeyDown(KeyCode.Mouse1))
	{
		armaAtual.AlterarMira();
	}
}

}

Essas linhas são as do erro:

				if(parteDoCorpoInimigo.nivelDeDano == NivelDeDano.ALTO)
				{
					Jogador.Instance.AdicionarPontos(vidaInimigo.GetPontosDerrota() * 2);
				}
				else
				{
					Jogador.Instance.AdicionarPontos(vidaInimigo.GetPontosDerrota());
				}

Esse código que você enviou é do script de GerenciadorDeArmas

O erro indicado é no script chamado Jogador
Me manda um print desse script.

seria esse? using UnityEngine;

public class MovimentoJogador : MonoBehaviour
{
[SerializeField] private float velocidadeMovimento = 2.6f;
private Transform cameraPrincipal;
private CharacterController characterController;

[SerializeField] private Transform pontoDeVerificacao;
[SerializeField] private LayerMask camadaDeColisao;

[SerializeField] private Animator pistolaAnimator;

private bool estaNoChao;
private float velocidadeVertical;
private float nivelStamina;
private bool estaCorrendo;
    
void Start()
{
    cameraPrincipal = Camera.main.transform;
    characterController = GetComponent<CharacterController>();
    
    // Desativa o cursor
    Cursor.lockState = CursorLockMode.Locked; // Travar o cursor no centro
    Cursor.visible = false; // Tornar o cursor invis�vel
}

void Update()
{
    AplicarGravidade();
    ProcessarMovimento();
    AtualizarStamina();

    // Libera o cursor ao pressionar Esc
    if (Input.GetKeyDown(KeyCode.Escape))
    {
        Cursor.lockState = CursorLockMode.None;
        Cursor.visible = true;
    }
}

private void AplicarGravidade()
{
    estaNoChao = Physics.CheckSphere(pontoDeVerificacao.position, 0.3f, camadaDeColisao);

    if (Input.GetKeyDown(KeyCode.Space) && estaNoChao)
    {
        velocidadeVertical = 4.5f;
    }

    if (!estaNoChao || velocidadeVertical > Physics.gravity.y)
    {
        velocidadeVertical += Physics.gravity.y * Time.deltaTime;
    }

    characterController.Move(new Vector3(0, velocidadeVertical, 0) * Time.deltaTime);
}

private void ProcessarMovimento()
{
    float movimentoHorizontal = Input.GetAxis("Horizontal");
    float movimentoVertical = Input.GetAxis("Vertical");

    estaCorrendo = Input.GetKey(KeyCode.LeftShift);

    Vector3 direcaoMovimento = new Vector3(movimentoHorizontal, 0, movimentoVertical);
    direcaoMovimento = cameraPrincipal.TransformDirection(direcaoMovimento).normalized;
    direcaoMovimento.y = 0;

    float velocidadeAtual = estaCorrendo && nivelStamina > 0f ? velocidadeMovimento * 1.8f : velocidadeMovimento;

    if (estaCorrendo && nivelStamina > 0f)
    {
        nivelStamina -= Time.deltaTime * 0.3f;
        nivelStamina = Mathf.Max(0f, nivelStamina);
    }

    pistolaAnimator.SetBool("Mover", direcaoMovimento != Vector3.zero);
    pistolaAnimator.SetBool("Correr", estaCorrendo && nivelStamina > 0f);

    characterController.Move(direcaoMovimento * Time.deltaTime * velocidadeAtual);
}

private void AtualizarStamina()
{
    if (!estaCorrendo && nivelStamina < 2f)
    {
        nivelStamina += Time.deltaTime;
    }
}

public bool EstaCorrendo()
{
    return estaCorrendo && nivelStamina > 0f;
}

}

No caso estou falando do script Jogador. É esse daqui, ensinado na aula Script de Controle de Vida e Pontos:

No caso você está em que aula do módulo, que deu este erro?

Desculpe, acho que pulei essa aula

Tranquilo. Se continuar dando erro, só avisar, estou a disposição.

Desculpe, acho que pulei essa aula