SchultzGames
Para tirar dúvidas, crie um tópico especifico na área "Dúvidas em Geral" e aguarde ser respondido. Evite comentar em tópicos não relacionados a sua dúvida :D
TÓPICOS RECENTES:
Tópico:
Postado em:
Postado por:
Jogo Mobile - Ultimate Flight Simulator - Real World SDK
Unity - FPS e CPU ???
Usar microfone na Unity
Jogo ficando escuro quando faço a Build pela cena menu
Dúvida sobre movimentação do personagem
[RESOLVIDO] ACESSAR SCRIPT DE OUTRO GAMEOBJECT
Para eu ter shader em meu projeto eu tenho que usar o hdrp ou o 3d padrao?
Rotate Camera Mobile
Sou modelador 3d (!!! Arquitetonico!!!) Disponivel !!!!!!
Preciso de alguém que saiba programação e Raycast
Servidor/cliente usando sockets
Assets carregados com addressables causando erro na versão "buildada"
Jogo multiplayer com salas - não vai para o lobby
Texto - Não escreve no 'play'. Clica mais não digita.
Error Unity Vulkan - Out of memory! (allocating memory for image)
Câmera Não esta renderizando na segunda janela.
Movimento da Câmera No Android
[RESOLVIDO] - Unity não está mais funcionando o "Build and Run"
Precisa de modelador com ou sem experiência
Duvida com "mesclagem" de animação
[TUTORIAL] Como fazer uma gota de água na Unity
Missoes Aparecerem aleatoriamente do nada
Dúvida pafra IOS
botoes não esta funcionando corretamente nem a fisica?
Duvida com NavMeshAgent
COMO AUMENTAR E DIMINUÍ A SENSIBILIDADE DO TOQUE POR CÓDICO (MOBILE)
A Licença da Unity só funciona se eu tiver Internet
Problema com OnTriggerEnter
Transparência ao colidir
bool para evitar de salvar frames repetido
Unity - Transições no AnimatorController rodando errado
problemas com "wall Jump" , atribuir força ao eixo X
Meu Jogo ja Esta Pronto! EXPERIMENTEM!!
JOSTICK NAO SE MOVE
botoes para mobile
ERRO NO SCRIPT FOME E SEDE ETC
CORTAR ARVORES E DROPAR
Configurar sistema
Unity - Sugestões da Loja
Standard Assets para UNITY 5 em ".unitypackage"
Problema com o Shader
[TUTORIAL] Sistema Simples de Falas
Velocímetro Bugado
Como faço para alinhar uma textura na posição absoluta do mundo no shader
Sobre o Tutorial de Cortar Arvores
Erro Mov Player
[TUTORIAL] VELOCIMETRO DE PONTEIRO
[TUTORIAL] Ligar/Desligar luz por Interruptor
Sistema de lampadas
Conversor de movimento do Unity para o MMD [Ajuda]
Script de configurações não esta funcionando corretamente
CAMERA BUGANDO NA TRANSIÇÃO DE CENA
Volante girando errado [AJUDA]
Novo Asset Sistema de Portas e Chaves
ERRO NAS RODAS DO CARRO
[TUTORIAL] Sistema de câmera em primeira pessoa SIMPLES
AJUDA PARA UM SISTEMA DE CHECKPOINT
Jogo offline com Loja?
Unity -TextMeshProUGUI- 1 das coisas q estão deixando a scene lenta p abrir
Detectar quando o animation curve chega no final
Problema com compilação para Android na Unity 2019.4.35
Aplicativo para IOS
Árvores feitas na Unity
RECRUTAMENTO WAR CORE FPS
[RESOLVIDO] Unity - Scrollbar não funciona
[TUTORIAL] AI que cria scripts para você, inclusive scripts para Unity !!!!
[RESOLVIDO] Animando Image na Unity não funciona
Hospedar um jogo multiplay na itch.io
Script para detetectar o movimento do player
Alguém ajuda com um erro por favor? PSDImporter.cs
[RESOLVIDO] - Unity - Rotação da Câmera - Mathf.Clamp não funciona
Alterar textura .unity3d
Comportamento do movimento do inimigo. Sair do caminho e Fugir
Procuro uma equipe
Ajuda Com Sala de Jogo Multiplayer
COMO FAZER A PORTA ABRIR SÓ EMPURRANDO ELA COM O PLAYER?
Visual Studio - Vend os Scripts na Aba "Modo de Exibição de Classe" soltos
app fica fechendo após mobile notification
[RESOLVIDO] Controlar dois player dentro de um jogo multiplay usando mirror
Unity - O Jogo fecha quando vai abrir a Scene
[TUTORIAL] Mudando material
Procuro programador Unity para jogo 2D
AJUDA REALISTIC CAR CONTROLLER
Chama para isqueiro
[RESOLVIDO] Ajuda para destruir objeto
Unity - Sistema de Giro da Tela - Ajuda pfv!
Unity - Touch na Tela do Celular
Dawn Of Hell - Horror Game BR (2022-2023)
Unity - Jogo online ou offline?
ANIMAÇÃO INIMIGO ESTÁ INDO PRA TUDO QUANTO É LADO
[RESOLVIDO] Erro de Script no Android
Bundle Assets, Resources, e Addressables
Jogo online (qual a melhor opção?)
Dúvida sobre como criar o inimigo IA!
Unity dando pause no jogo a cada 4 segundos
bom dia amigos eu sou meio lego nos scripts será que alguem pode me ajudar
JOGO "CHALLENGE" FINALIZADO E DISPONÍVEL PARA BAIXAR.
error CS0246
[TUTORIAL]Como Chamar Um Método Usando Uma String como Parametro
Dom Jun 04, 2023 2:41 pm
Ter maio 30, 2023 7:28 pm
Ter maio 30, 2023 6:04 am
Seg maio 29, 2023 7:53 pm
Sáb maio 27, 2023 3:11 pm
Sex maio 26, 2023 4:59 pm
Sex maio 26, 2023 11:27 am
Qui maio 25, 2023 10:33 am
Sáb maio 20, 2023 12:25 pm
Ter maio 16, 2023 5:43 pm
Ter maio 16, 2023 5:42 pm
Ter maio 09, 2023 7:42 pm
Seg maio 08, 2023 7:13 am
Seg maio 08, 2023 6:38 am
Seg maio 08, 2023 1:49 am
Sáb maio 06, 2023 11:44 pm
Sáb maio 06, 2023 6:42 pm
Sáb maio 06, 2023 1:35 am
Qua maio 03, 2023 12:32 pm
Seg maio 01, 2023 8:51 pm
Seg maio 01, 2023 12:29 pm
Dom Abr 30, 2023 8:49 pm
Dom Abr 30, 2023 5:06 pm
Sáb Abr 29, 2023 4:05 pm
Qui Abr 27, 2023 4:39 pm
Qui Abr 27, 2023 12:40 am
Ter Abr 25, 2023 5:33 pm
Ter Abr 25, 2023 10:23 am
Dom Abr 23, 2023 12:11 am
Sáb Abr 22, 2023 4:27 am
Sex Abr 21, 2023 11:38 pm
Sex Abr 21, 2023 10:21 pm
Qui Abr 20, 2023 4:57 pm
Qui Abr 20, 2023 12:28 pm
Qua Abr 19, 2023 3:03 pm
Qua Abr 19, 2023 1:52 pm
Qua Abr 19, 2023 11:59 am
Qua Abr 19, 2023 11:54 am
Sáb Abr 15, 2023 8:13 pm
Sex Abr 14, 2023 7:43 am
Qui Abr 13, 2023 4:36 pm
Qui Abr 13, 2023 4:36 pm
Qua Abr 12, 2023 6:05 pm
Ter Abr 11, 2023 6:22 pm
Seg Abr 10, 2023 7:33 pm
Seg Abr 10, 2023 3:25 pm
Dom Abr 09, 2023 8:53 pm
Dom Abr 09, 2023 7:26 pm
Dom Abr 09, 2023 5:59 pm
Dom Abr 09, 2023 12:06 am
Sex Abr 07, 2023 7:24 pm
Qui Abr 06, 2023 6:45 am
Qua Abr 05, 2023 9:24 am
Ter Abr 04, 2023 4:55 pm
Ter Abr 04, 2023 1:00 pm
Dom Abr 02, 2023 11:52 pm
Sex Mar 31, 2023 12:50 pm
Sex Mar 31, 2023 11:03 am
Sex Mar 31, 2023 10:05 am
Qua Mar 29, 2023 7:48 pm
Ter Mar 28, 2023 10:50 pm
Ter Mar 28, 2023 9:19 am
Seg Mar 27, 2023 10:16 am
Dom Mar 26, 2023 7:39 pm
Qui Mar 23, 2023 4:52 pm
Ter Mar 21, 2023 11:20 pm
Ter Mar 21, 2023 8:52 pm
Sáb Mar 18, 2023 8:41 pm
Sex Mar 17, 2023 3:12 pm
Sex Mar 17, 2023 1:24 pm
Seg Mar 13, 2023 10:45 pm
Seg Mar 13, 2023 9:48 pm
Seg Mar 13, 2023 8:24 pm
Seg Mar 13, 2023 7:17 pm
Dom Mar 12, 2023 10:27 pm
Dom Mar 12, 2023 7:22 pm
Sex Mar 10, 2023 8:26 pm
Sex Mar 10, 2023 8:00 pm
Qui Mar 09, 2023 9:05 am
Ter Mar 07, 2023 2:27 pm
Sex Mar 03, 2023 6:47 pm
Sex Mar 03, 2023 12:01 am
Qui Mar 02, 2023 4:00 pm
Qui Mar 02, 2023 1:35 pm
Qua Mar 01, 2023 5:47 pm
Qua Mar 01, 2023 2:11 am
Seg Fev 27, 2023 11:08 pm
Seg Fev 27, 2023 7:19 pm
Dom Fev 26, 2023 11:49 pm
Dom Fev 26, 2023 8:29 pm
Dom Fev 26, 2023 7:47 pm
Dom Fev 26, 2023 7:46 pm
Dom Fev 26, 2023 6:08 pm
Sáb Fev 25, 2023 8:16 pm
Seg Fev 13, 2023 7:02 pm
Seg Fev 13, 2023 2:44 am
Dom Fev 12, 2023 9:57 pm
Dom Fev 12, 2023 2:19 pm
Sáb Fev 11, 2023 1:01 pm



































































































dano inimigo em player

4 participantes

Ir para baixo

DÚVIDA dano inimigo em player

Mensagem por Pkneves Seg Abr 11, 2022 6:08 pm

Código:
using UnityEngine;
using System.Collections;
using System.Collections.Generic;

public class Inimigo : MonoBehaviour {

   public float vida = 100;
   bool chamouMorte = false;
   //
   public GameObject Jogador;
   [Range(1,50)]
   public int LimiteDano;

   private void OnTriggerEnter(Collider other)
   {
      if (other.gameObject.tag == "Player")   
      {
         gameObject.GetComponent<Controle>().VidaAtual = - LimiteDano;
      }
   }
      
   void Update () {
      if (vida <= 0) {
         vida = 0;
         if (chamouMorte == false) {
            chamouMorte = true;
            StartCoroutine ("Morrer");
         }
      }
   }

   IEnumerator Morrer(){
      GetComponent<MeshRenderer> ().material.color = Color.red;
      yield return new WaitForSeconds (2);
      Destroy (gameObject);
   }
}
fpsControle
Código:
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using UnityEngine.UI;
using UnityStandardAssets.Characters.FirstPerson;
public class Controle : MonoBehaviour {
   private CharacterController controlador;
   private GameObject Jogador;
   private float UltimaPosicaoEmY,DistanciaDeQueda;
   [Range(1,15)]
   public float AlturaQueda = 4,DanoPorMetro = 5 ;
   public Image BarraVida, BarraEstamina, BarraFome, BarraSede;
   [Range(20,500)]
   public float VidaCheia = 100, EstaminaCheia = 100, FomeCheia = 100, SedeCheia = 100,velocidadeEstamina = 250;
   [HideInInspector]
   public float VidaAtual, EstaminaAtual, FomeAtual, SedeAtual;
   private bool semEstamina = false;
   private float cronometroFome,cronometroSede,velocidadeCaminhando,velocidadeCorrendo;
   public GameObject DIEMenu;
   void Start (){
      controlador = GetComponent <CharacterController> ();
      VidaAtual = VidaCheia;
      EstaminaAtual = EstaminaCheia;
      FomeAtual = FomeCheia;
      SedeAtual = SedeCheia;
      Jogador = GameObject.FindWithTag ("Player");
      velocidadeCaminhando = Jogador.GetComponent<FirstPersonController> ().m_WalkSpeed;
      velocidadeCorrendo = Jogador.GetComponent<FirstPersonController> ().m_RunSpeed;
   }
   void Update (){
      SistemaDeQueda ();
      SistemaDeVida ();
      SistemaDeEstamina ();
      SistemaDeFome ();
      SistemaDeSede ();
      AplicarBarras ();
   }
   void SistemaDeQueda(){
      if (UltimaPosicaoEmY > Jogador.transform.position.y && controlador.velocity.y < 0) {
         DistanciaDeQueda += UltimaPosicaoEmY-Jogador.transform.position.y;
      }
      UltimaPosicaoEmY = Jogador.transform.position.y;
      if (DistanciaDeQueda >= AlturaQueda && controlador.isGrounded) {
         VidaAtual = VidaAtual - DanoPorMetro*DistanciaDeQueda;
         DistanciaDeQueda = 0;
         UltimaPosicaoEmY = 0;
      }
      if (DistanciaDeQueda < AlturaQueda && controlador.isGrounded) {
         DistanciaDeQueda = 0;
         UltimaPosicaoEmY = 0;
      }
   }
   void SistemaDeFome(){
      FomeAtual -= Time.deltaTime;
      if (FomeAtual >= FomeCheia) {
         FomeAtual = FomeCheia;
      }
      if (FomeAtual <= 0) {
         FomeAtual = 0;
         cronometroFome += Time.deltaTime;
         if (cronometroFome >= 3) {
            VidaAtual -= (VidaCheia * 0.005f);
            EstaminaAtual -= (EstaminaCheia * 0.1f);
            cronometroFome = 0;
         }
      } else {
         cronometroFome = 0;
      }
   }
   void SistemaDeSede(){
      SedeAtual -= Time.deltaTime;
      if (SedeAtual >= SedeCheia) {
         SedeAtual = SedeCheia;
      }
      if (SedeAtual <= 0) {
         SedeAtual = 0;
         cronometroSede += Time.deltaTime;
         if (cronometroSede >= 3) {
            EstaminaAtual -= (EstaminaCheia * 0.1f);
            cronometroSede = 0;
         }
      } else {
         cronometroSede = 0;
      }
   }
   void SistemaDeEstamina(){
      float multEuler = ((1/EstaminaCheia) * EstaminaAtual)*((1/FomeCheia) * FomeAtual);
      if (EstaminaAtual >= EstaminaCheia) {
         EstaminaAtual = EstaminaCheia;
      } else {
         EstaminaAtual += Time.deltaTime*(velocidadeEstamina/40)*Mathf.Pow(2.718f,multEuler);
      }
      if (EstaminaAtual <= 0) {
         EstaminaAtual = 0;
         Jogador.GetComponent<FirstPersonController> ().m_RunSpeed = velocidadeCaminhando;
         semEstamina = true;
      }
      if (semEstamina == true && EstaminaAtual >= (EstaminaCheia * 0.15f)) {
         Jogador.GetComponent<FirstPersonController> ().m_RunSpeed = velocidadeCorrendo;
         semEstamina = false;
      }
      if (Input.GetKey (KeyCode.LeftShift) && semEstamina == false) {
         EstaminaAtual -= Time.deltaTime*(velocidadeEstamina/15)*Mathf.Pow(2.718f,multEuler);
      }
   }
   void SistemaDeVida(){
      if (VidaAtual >= VidaCheia) {
         VidaAtual = VidaCheia;
      } else if (VidaAtual <= 0) {
         VidaAtual = 0;
         Morreu ();
      }
   }
   void AplicarBarras(){
      BarraVida.fillAmount = ((1/VidaCheia) * VidaAtual);
      BarraEstamina.fillAmount = ((1/EstaminaCheia) * EstaminaAtual);
      BarraFome.fillAmount = ((1/FomeCheia) * FomeAtual);
      BarraSede.fillAmount = ((1/SedeCheia) * SedeAtual);
   }
   void Morreu (){
      DIEMenu.active = true;
   }

   public void Sair(){
      Application.Quit ();
   }
}

estou tentando fazer o inimigo dar dano no player
o script n aponta erros porem nao diminui  minha vida, alguem pode me ajudar!

Pkneves
Avançado
Avançado

PONTOS : 846
REPUTAÇÃO : 10
Respeito as regras : dano inimigo em player WvDYdlf

Ir para o topo Ir para baixo

DÚVIDA Re: dano inimigo em player

Mensagem por stratengine Seg Abr 11, 2022 7:51 pm

dano inimigo em player UvUP7dQ0tfwxZaTat9aOTiF8v1NTyfMmunljx0MI0TRGKwCAsf4fli2ykptAsFUAAAAASUVORK5CYII=
stratengine
stratengine
Programador

Masculino PONTOS : 2661
REPUTAÇÃO : 48
Idade : 28
Áreas de atuação : Programador Unity3D
https://www.youtube.com/channel/UCXlOcD
Respeito as regras : dano inimigo em player WvDYdlf

https://www.artstation.com/sapientotus

Ir para o topo Ir para baixo

DÚVIDA Re: dano inimigo em player

Mensagem por stratengine Seg Abr 11, 2022 7:52 pm

coloque o other.gameObject, se não ele não vai acessar o script que está no player
stratengine
stratengine
Programador

Masculino PONTOS : 2661
REPUTAÇÃO : 48
Idade : 28
Áreas de atuação : Programador Unity3D
https://www.youtube.com/channel/UCXlOcD
Respeito as regras : dano inimigo em player WvDYdlf

https://www.artstation.com/sapientotus

Ir para o topo Ir para baixo

DÚVIDA Re: dano inimigo em player

Mensagem por Pkneves Seg Abr 11, 2022 9:47 pm

stratengine escreveu:coloque o other.gameObject, se não ele não vai acessar o script que está no player
Código:
using UnityEngine;
using System.Collections;
using System.Collections.Generic;

public class Inimigo : MonoBehaviour {

   public float vida = 100;
   bool chamouMorte = false;
   //
   public GameObject Jogador;
   [Range(1,50)]
   public int LimiteDano;

   private void OnTriggerEnter(Collider other)
   {
      if (other.gameObject.tag == "Player")   
      {
         other.gameObject.GetComponent<Controle>().VidaCheia = - LimiteDano;
      }
   }
      
   void Update () {
      if (vida <= 0) {
         vida = 0;
         if (chamouMorte == false) {
            chamouMorte = true;
            StartCoroutine ("Morrer");
         }
      }
   }

   IEnumerator Morrer(){
      GetComponent<MeshRenderer> ().material.color = Color.red;
      yield return new WaitForSeconds (2);
      Destroy (gameObject);
   }
}

eu coloquei porem ainda n ta reduzindo a vida do player

Pkneves
Avançado
Avançado

PONTOS : 846
REPUTAÇÃO : 10
Respeito as regras : dano inimigo em player WvDYdlf

Ir para o topo Ir para baixo

DÚVIDA Re: dano inimigo em player

Mensagem por Pkneves Ter Abr 12, 2022 12:30 pm

?

Pkneves
Avançado
Avançado

PONTOS : 846
REPUTAÇÃO : 10
Respeito as regras : dano inimigo em player WvDYdlf

Ir para o topo Ir para baixo

DÚVIDA Re: dano inimigo em player

Mensagem por MayLeone Ter Abr 12, 2022 2:14 pm

Troque
Código:
other.gameObject.GetComponent<Controle>().VidaCheia = - LimiteDano;


Por:
Código:
other.gameObject.GetComponent<Controle>().VidaCheia -= LimiteDano;
MayLeone
MayLeone
Instrutor

Feminino PONTOS : 3255
REPUTAÇÃO : 588
Áreas de atuação : Unity & C#
Respeito as regras : dano inimigo em player Aad8pUi

http://compilemosfacil.blogspot.com.br

Ir para o topo Ir para baixo

DÚVIDA Re: dano inimigo em player

Mensagem por Pkneves Ter Abr 12, 2022 5:21 pm

MayLeone escreveu:Troque
Código:
other.gameObject.GetComponent<Controle>().VidaCheia = - LimiteDano;


Por:
Código:
other.gameObject.GetComponent<Controle>().VidaCheia -= LimiteDano;
olá acabei de tentar porem ainda nao esta recebendo o dano

Pkneves
Avançado
Avançado

PONTOS : 846
REPUTAÇÃO : 10
Respeito as regras : dano inimigo em player WvDYdlf

Ir para o topo Ir para baixo

DÚVIDA Re: dano inimigo em player

Mensagem por stratengine Ter Abr 12, 2022 6:57 pm

primeiramente sugiro que faça dois debugs embaixo dessa linha
dano inimigo em player I86pls4AAAAASUVORK5CYII=

coloque :
Debug.Log("VidaPlayer :" +  other.gameObject.GetComponent<Controle>().VidaCheia);
Debug.Log("MeuLimiteDano :" +LimiteDano);
assim verifique em tempo de execução problemas que possam ocorrer:
primeiro> nada acontece, logo entrega que tem algum erro que faz nem acionar o trigger
segundo> debugou os 2 valores mas o que altera não é o que você quer, mostrando erro de cálculo
terceiro> debugou os dois valores corretamente, mostrando que ele não está conseguindo alterar no script original do player

após isso me diga o que ocorreu, grato desde já
stratengine
stratengine
Programador

Masculino PONTOS : 2661
REPUTAÇÃO : 48
Idade : 28
Áreas de atuação : Programador Unity3D
https://www.youtube.com/channel/UCXlOcD
Respeito as regras : dano inimigo em player WvDYdlf

https://www.artstation.com/sapientotus

Ir para o topo Ir para baixo

DÚVIDA Re: dano inimigo em player

Mensagem por FelipeSouza11 Ter Abr 12, 2022 11:48 pm

voce esta usando OnTriggerEnter? como detecçao de colisao, se for o caso uma das 3 opçoes pode tá em falta

1- verificar a tag do player esta como "Player"
2 - ativar/marcar o isTrigger no collisor do player no caso do (OnTriggerEnter)
3- um dos objetos deve ter rigidbody pra collisao ou trigger funcionar,

segundo um teste que fiz contando as correçoes dos amigos funfa d boa,
FelipeSouza11
FelipeSouza11
ProgramadorMaster

Masculino PONTOS : 3023
REPUTAÇÃO : 210
Idade : 32
Áreas de atuação : C#, Unity, Html, Css, Básico em JS, VB ,UPN e SA_MP
Respeito as regras : dano inimigo em player Aad8pUi

https://developezbr.itch.io/

Ir para o topo Ir para baixo

DÚVIDA Re: dano inimigo em player

Mensagem por stratengine Qua Abr 13, 2022 12:23 am

exatamente amigo, isso tudo ai entra como erro no funcionamento do trigger dele, por isso os 3 debugs, para identificar onde foi que está o erro.
stratengine
stratengine
Programador

Masculino PONTOS : 2661
REPUTAÇÃO : 48
Idade : 28
Áreas de atuação : Programador Unity3D
https://www.youtube.com/channel/UCXlOcD
Respeito as regras : dano inimigo em player WvDYdlf

https://www.artstation.com/sapientotus

Ir para o topo Ir para baixo

DÚVIDA Re: dano inimigo em player

Mensagem por Pkneves Qua Abr 13, 2022 12:04 pm

stratengine escreveu:exatamente amigo, isso tudo ai entra como erro no funcionamento do trigger dele, por isso os 3 debugs, para identificar onde foi que está o erro.
bom mudei o colissor istigger d player desmarcado, e do inimigo marcado, só q não está retirando valor certo de dano. no meu limitedano eu deixo 30, no primeiro atack ele calcula certo e retira 30 da vida, já no segundo atack retira 40 ou 20 de dano, além disso não esta dando tempo de um atack de um para o outro atack.

bom script esta assim até agr
Código:
using UnityEngine;
using System.Collections;
using System.Collections.Generic;

public class Inimigo : MonoBehaviour {

   public float vida = 100;
   bool chamouMorte = false;
   //
   public GameObject Jogador;
   [Range(1,50)]
   public int LimiteDano;

   private void OnTriggerEnter(Collider other)
   {
      if (other.gameObject.tag == "Player") 
      {
         other.gameObject.GetComponent<Controle>().VidaAtual -= LimiteDano;
         Debug.Log("VidaPlayer :" +  other.gameObject.GetComponent<Controle>().VidaAtual);
         Debug.Log("MeuLimiteDano :" +LimiteDano);
      }
   }

   void Update () {
      if (vida <= 0) {
         vida = 0;
         if (chamouMorte == false) {
            chamouMorte = true;
            StartCoroutine ("Morrer");
         }
      }
   }

   IEnumerator Morrer(){
      GetComponent<MeshRenderer> ().material.color = Color.red;
      yield return new WaitForSeconds (2);
      Destroy (gameObject);
   }
}

Pkneves
Avançado
Avançado

PONTOS : 846
REPUTAÇÃO : 10
Respeito as regras : dano inimigo em player WvDYdlf

Ir para o topo Ir para baixo

DÚVIDA Re: dano inimigo em player

Mensagem por Pkneves Qua Abr 13, 2022 5:36 pm

o script ficou assim
Código:
using UnityEngine;
using System.Collections;
using System.Collections.Generic;

public class Inimigo : MonoBehaviour {

   public float vida = 100;
   bool chamouMorte = false;
   private bool podeAtacar;
   //
   public GameObject Jogador;
   [Range(1,50)]
   public int LimiteDano = 40;

   void Start () {
      podeAtacar = true;
      Jogador = GameObject.FindWithTag ("Player");
   }

   private void OnTriggerEnter(Collider other)
   {
      
      if (other.gameObject.tag == "Player")
      {
         if (podeAtacar == true)      
         {
            StartCoroutine ("TempoDeAtaque");
            other.gameObject.GetComponent<Controle> ().VidaAtual -= LimiteDano;
            Debug.Log ("VidaPlayer :" + other.gameObject.GetComponent<Controle> ().VidaAtual);
            Debug.Log ("MeuLimiteDano :" + LimiteDano);
            Debug.Log ("tempo :" + StartCoroutine ("TempoDeAtaque"));
         }
      }
   }

   void Update () {
      if (vida <= 0) {
         vida = 0;
         if (chamouMorte == false) {
            chamouMorte = true;
            StartCoroutine ("Morrer");
         }
      }
   }

   IEnumerator TempoDeAtaque(){
      podeAtacar = false;
      yield return new WaitForSeconds (1);
      podeAtacar = true;
   }

   IEnumerator Morrer(){
      GetComponent<MeshRenderer> ().material.color = Color.red;
      yield return new WaitForSeconds (2);
      Destroy (gameObject);
   }
}

esta com esse erro;

NullReferenceException: Object reference not set to an instance of an object
Inimigo.OnTriggerEnter (UnityEngine.Collider other) (at Assets/Scripts/eay arm/Inimigo.cs:28)

Pkneves
Avançado
Avançado

PONTOS : 846
REPUTAÇÃO : 10
Respeito as regras : dano inimigo em player WvDYdlf

Ir para o topo Ir para baixo

DÚVIDA Re: dano inimigo em player

Mensagem por Pkneves Qua Abr 13, 2022 6:09 pm

muito obrigado a tds q ajudaram, os erros sumiram, porem se alguém tiver uma dica para melhorar o sistema pode mandar o código assim
Código:
using UnityEngine;
using System.Collections;
using System.Collections.Generic;

public class Inimigo : MonoBehaviour {

   public float vida = 100;
   bool chamouMorte = false;
   private bool podeAtacar;
   //
   public GameObject Jogador;
   [Range(1,50)]
   public int LimiteDano = 40;

   void Start () {
      podeAtacar = true;
   }

   private void OnTriggerEnter(Collider other)
   {      
      if (other.gameObject.tag == "Player")
      {
         if (podeAtacar == true)      
         {
            StartCoroutine ("TempoDeAtaque");
            other.gameObject.GetComponent<Controle> ().VidaAtual -= LimiteDano;
            Debug.Log ("VidaPlayer :" + other.gameObject.GetComponent<Controle> ().VidaAtual);
            Debug.Log ("MeuLimiteDano :" + LimiteDano);
         }
      }
   }

   void Update () {
      if (vida <= 0) {
         vida = 0;
         if (chamouMorte == false) {
            chamouMorte = true;
            StartCoroutine ("Morrer");
         }
      }
   }

   IEnumerator TempoDeAtaque(){
      podeAtacar = false;
      yield return new WaitForSeconds (1);
      podeAtacar = true;
   }

   IEnumerator Morrer(){
      GetComponent<MeshRenderer> ().material.color = Color.red;
      yield return new WaitForSeconds (2);
      Destroy (gameObject);
   }
}

bom ela está retirando a vida do player com os valores certos e dando um tempo entre os atacks do inimigo

Pkneves
Avançado
Avançado

PONTOS : 846
REPUTAÇÃO : 10
Respeito as regras : dano inimigo em player WvDYdlf

Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos