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:
[____ENQUETE____] Eleições para presidente 2022
Alguém ai sabe como fazer a build de um app para android com mais de 150mb?
sensibilidade do mouse
Animação completa em personagem rotacionável pelo mouse
Alguém pode me ajudar
Como fazer com que as partículas sejam puxadas para um ponto específico?
Adicionar png
Lançamento de mais um jogo Dangerous crossing
[____ADERIR A UMA CATEGORIA NO FÓRUM____]
Ativar um objeto quando desativar outro e vice-versa (Unity)
[GRATIS] PACK DE MODELOS 3D PARA JOGO DE TERROR
Upbge gameplay travada
Como ARRUMAR ISSO!
Quem tem JOGO publicado na steam e que fazer parceria para publicação!
RECRUTAMENTO PARA JOGO DE FPS MULTIPLAYER
Unity configurar para compilar para linux
Tamanho da câmera
[RESOLVIDO] ativar isKinematic por 3 segundos e depois desativar
Vídeo sobre problemas comuns em jogos e suas possíveis soluções
[Lançamento] YODA RUNNER DISPONÍVEL PARA ANDROID
[Em Desenvolvimento] App Razor Downloader
Ativar animação de porta abrindo sozinha com trigger n funciona!
Veiculo não esta causando dano ao jogador, após ser destruído.
Preciso de ajuda para importar personagem estilo Minecraft no mixamo
Como fazer um sistema simulando desmembramento dos NPCs em combate?
Progresso jogo clicker
Multiplayer com Network ou Photon?
Baixos de Quebrada, novo jogo para android confiram!
Interrogação beta, jogo de puzzle 3D
img aparecer so a primeira vez que entra no game
[ASSET] Sistema completo de Auto Save para Editor
Problema com sincronização jogo multiplayer - Photon
Problema no Parallax
Enviar valor de variável para outro script ao apertar um botão.
Melhorar script de som de impacto
Ajuda erro em bool IsGrounded()
PRECISO DE UM PROGRAMADOR PARA AJUDAR NO PROJETO DE FPS (IREI PAGAR)
Serializar Dictionary no Scriptable Object
Quem aqui tem jogos publicados no Steam?
[TUTORIAL] Como fazer um laser com LineRenderer - UNITY 5
Intancias
Adicionar backface culling em um shader
Alguem me ajuda com script simples?
NullReferenceException Object reference not set to an instance of an object
Como evitar que personagem se levante onde não há espaço suficiente?
Som falhando no Android
Resolução Nativa Fixa
Como anular uma das teclas no Unity
Botão UI que troca a cor dos objetos
Objeto não continua associado
Necessário Level Designer para criar uma cidade
Como criar um Sistema de Trein na Unity.
[TUTORIAL] Agachar, correr e sistema de estamina ( C# )
FPSController travado no lugar após animações usando seu transform
OnTriggerEnter
Unity - Áudios deixam a Scene pesada pra abrir
[RESOLVIDO] URP QUE NÃO RENDERIZA. UNITY 2020.3.18 ARQUIVO DAE DO SKetchfab
Criar input mobile depois do jogo "quase pronto" vale a pena ?
Mudar a densidade da grama pelo script de outra cena
Como Pegar DesseObjeto.GetComponent<ScriptName.Boolean>
Como pausar a renderização do Blender
Como trocar todas as SpritesSheets do animator no Unity2D?
Como Fazer Espelho perfeito fácil na Unity, Apenas 4 linhas de código
[TUTORIAL] AI Enemy 2.0 + animações ( Jogos de terror )
app para aquaristas
Camera gira errada no eixo z ao entrar no carro!!
Referencias entre objetos pai e filho
Erro ao criar "Truck Trailer" Realisti Car Controller RCC
Unity - O jogo não roda no Celular
Reviver o Car Town EX
[TUTORIAL] Criando Menu Modular na Unity
QUAL MELHOR LOCAL OU CURSO PARA APRENDER PROGRAMAÇÃO DO 0?
Meu script de movimentação não funciona, alguém pode me ajudar?
Como faço para fazer 'Objeto' piscar Aleatoriamente
Duvida boba sobre UI
FORMAÇAO DE EQUIPE PARA GAME PARKOUR
Colisão Seletiva
Unity 2021.3.4f1 - Adicionar script em um gameObject por código
[Curso Grátis para iniciantes] Um Ótimo Lugar para aprender Unity
Erro de ArgumentNullException no WebGL da Unity
como desativar um text depois de 10 segundos?
Como eu faria o inimigo reagir a um tiro ?
player empurrando o outro
Vida do player e variaveis static
Contagem de GameObjects presentes em um Scene
Stamina/Sede - Movimentação
Pegar objeto e rotacionar
Efeito Smoke na Asa do Ace Combat
Passar informações de um script pro outro
PROCURA-SE PARCEIRO PARA LEVEL DESIGN - SIMULADOR DE COMBATE
como verificar se um objeto com um nome especifico nao esta na cena
Jogo fecha do nada
Meus jogos publicados no google play
preciso de um programador que entenda de Photon pago via Pix pela ajuda!!
Blender Faces Transparentes
Unity - Aba Game Preta no Display1. No Display2 fica normal
Duvida sobre bool na transição de animações
Tem Como Fazer um Shader com o Shader Graph que Deixa a Escala Infinita?
Câmera Com Render Texture Para HUD
Hoje à(s) 10:39
Hoje à(s) 10:35
Seg 26 Set 2022 - 18:42
Seg 26 Set 2022 - 16:55
Dom 25 Set 2022 - 14:31
Sab 24 Set 2022 - 8:58
Sab 24 Set 2022 - 8:31
Qui 22 Set 2022 - 21:58
Qua 21 Set 2022 - 16:34
Qua 21 Set 2022 - 11:47
Qua 21 Set 2022 - 11:21
Qua 21 Set 2022 - 11:17
Seg 19 Set 2022 - 14:25
Dom 18 Set 2022 - 6:59
Sab 17 Set 2022 - 13:01
Sab 17 Set 2022 - 10:35
Qua 14 Set 2022 - 17:44
Ter 13 Set 2022 - 18:39
Ter 13 Set 2022 - 9:11
Ter 13 Set 2022 - 9:00
Seg 12 Set 2022 - 23:26
Seg 12 Set 2022 - 16:40
Dom 11 Set 2022 - 22:49
Dom 11 Set 2022 - 17:21
Sex 9 Set 2022 - 20:10
Qui 8 Set 2022 - 21:13
Qua 7 Set 2022 - 22:34
Qua 7 Set 2022 - 22:09
Qua 7 Set 2022 - 20:48
Ter 6 Set 2022 - 18:30
Ter 6 Set 2022 - 11:01
Seg 5 Set 2022 - 19:33
Sex 2 Set 2022 - 17:50
Sex 2 Set 2022 - 10:28
Qui 1 Set 2022 - 13:27
Qua 31 Ago 2022 - 0:49
Ter 30 Ago 2022 - 11:44
Seg 29 Ago 2022 - 14:03
Dom 28 Ago 2022 - 18:31
Qui 25 Ago 2022 - 16:58
Sab 20 Ago 2022 - 15:27
Sex 19 Ago 2022 - 17:50
Sex 19 Ago 2022 - 10:03
Sex 19 Ago 2022 - 2:35
Qui 18 Ago 2022 - 10:13
Qua 17 Ago 2022 - 10:48
Ter 16 Ago 2022 - 19:07
Ter 16 Ago 2022 - 2:45
Seg 15 Ago 2022 - 21:06
Seg 15 Ago 2022 - 16:41
Dom 14 Ago 2022 - 22:26
Dom 14 Ago 2022 - 15:54
Sab 13 Ago 2022 - 11:16
Qua 10 Ago 2022 - 15:13
Ter 9 Ago 2022 - 20:26
Seg 8 Ago 2022 - 16:00
Sex 5 Ago 2022 - 20:48
Sex 5 Ago 2022 - 12:39
Qui 4 Ago 2022 - 16:18
Qua 3 Ago 2022 - 11:36
Seg 1 Ago 2022 - 17:04
Seg 1 Ago 2022 - 13:29
Dom 31 Jul 2022 - 0:06
Sab 30 Jul 2022 - 23:39
Sab 30 Jul 2022 - 11:24
Sex 29 Jul 2022 - 20:46
Qui 28 Jul 2022 - 18:02
Qua 27 Jul 2022 - 23:39
Qua 27 Jul 2022 - 22:04
Qua 27 Jul 2022 - 16:41
Qua 27 Jul 2022 - 11:01
Qua 27 Jul 2022 - 9:44
Ter 26 Jul 2022 - 16:38
Ter 26 Jul 2022 - 16:23
Seg 25 Jul 2022 - 21:40
Seg 25 Jul 2022 - 18:45
Dom 24 Jul 2022 - 16:27
Sex 22 Jul 2022 - 20:55
Sex 22 Jul 2022 - 16:08
Sex 22 Jul 2022 - 12:11
Sex 22 Jul 2022 - 11:43
Qui 21 Jul 2022 - 20:36
Seg 18 Jul 2022 - 22:04
Seg 18 Jul 2022 - 14:24
Dom 17 Jul 2022 - 18:48
Dom 17 Jul 2022 - 11:48
Sab 16 Jul 2022 - 19:02
Sab 16 Jul 2022 - 11:21
Qua 13 Jul 2022 - 17:55
Qua 13 Jul 2022 - 9:59
Ter 12 Jul 2022 - 23:43
Sab 9 Jul 2022 - 16:09
Sex 8 Jul 2022 - 22:41
Sex 8 Jul 2022 - 22:26
Sex 8 Jul 2022 - 7:06
Qui 7 Jul 2022 - 20:23
Qui 7 Jul 2022 - 8:16
Qua 6 Jul 2022 - 20:48
Qua 6 Jul 2022 - 18:03
rafaelllsd
Fluttershy28
CelU93
Leonardo2700
Weslley
dutrabr100
dutrabr100
Patrick
MarcosSchultz
Weslley
Weslley
Weslley
lovuxd
thales.ulisses
Sheyk
NoctisDregon
dutrabr100
ApcRaffs
Rangel Oblivion
Rangel Oblivion
rafaelllsd
lovuxd
Weslley
Crash Psycho
CelU93
Weslley
Édipo
Édipo
Rangel Oblivion
Andrewkeny
Rangel Oblivion
Caio Cesar Miguel
Hohenheim
dutrabr100
Rangel Oblivion
RenanHero
Édipo
Weslley
thales.ulisses
Rangel Oblivion
JoaoVitwoh
SteveRogers
Rangel Oblivion
Sheyk
Rangel Oblivion
mama2401
juraulh
SteveRogers
AGAMENOM
SteveRogers
EricknhYT
NoctisDregon
Édipo
Rangel Oblivion
dutrabr100
Magnatah
marciosilva
SteveRogers
jeancvo3
dutrabr100
Alex Jun
tecnoato
Yuri Heinz
Yuri Heinz
Édipo
SteveRogers
Pokedlg
EricknhYT
WLCS22
fragas42
MayLeone
Magnatah
EmmaFriboi
lovuxd
Tomas Turbando
SeTk
Rangel Oblivion
dutrabr100
dutrabr100
Atho
dutrabr100
MRX
dutrabr100
Pokedlg
Nimue
dutrabr100
SpartanoLeonidas300
Eris
thiagograssi
Eris
SteveRogers
claudiano2020
claudiano2020
claudiano2020
Eris
WLCS22
Rangel Oblivion
MarcosSchultz
Eris

dano inimigo em player

4 participantes

Ir para baixo

DÚVIDA dano inimigo em player

Mensagem por Pkneves Seg 11 Abr 2022 - 18:08

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 : 593
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 11 Abr 2022 - 19:51

dano inimigo em player UvUP7dQ0tfwxZaTat9aOTiF8v1NTyfMmunljx0MI0TRGKwCAsf4fli2ykptAsFUAAAAASUVORK5CYII=
stratengine
stratengine
Avançado
Avançado

Masculino PONTOS : 2317
REPUTAÇÃO : 22
Idade : 28
Áreas de atuação : Modelador e Animador 3d, Concept Artist, 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 11 Abr 2022 - 19:52

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

Masculino PONTOS : 2317
REPUTAÇÃO : 22
Idade : 28
Áreas de atuação : Modelador e Animador 3d, Concept Artist, 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 11 Abr 2022 - 21:47

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 : 593
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 12 Abr 2022 - 12:30

?

Pkneves
Avançado
Avançado

PONTOS : 593
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 12 Abr 2022 - 14:14

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


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

Feminino PONTOS : 2972
REPUTAÇÃO : 568
Á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 12 Abr 2022 - 17:21

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 : 593
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 12 Abr 2022 - 18:57

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
Avançado
Avançado

Masculino PONTOS : 2317
REPUTAÇÃO : 22
Idade : 28
Áreas de atuação : Modelador e Animador 3d, Concept Artist, 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 12 Abr 2022 - 23:48

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 : 2737
REPUTAÇÃO : 204
Idade : 31
Á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 13 Abr 2022 - 0:23

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
Avançado
Avançado

Masculino PONTOS : 2317
REPUTAÇÃO : 22
Idade : 28
Áreas de atuação : Modelador e Animador 3d, Concept Artist, 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 13 Abr 2022 - 12:04

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 : 593
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 13 Abr 2022 - 17:36

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 : 593
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 13 Abr 2022 - 18:09

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 : 593
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