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 Project Lazarus parte 2
Geração de Mundo
[TUTORIAL] mover personagem na direção da camera
como fazer um gameobject selecionar no código ao colidir com o mesmo
Dar dano no inimigo ao clicar nele
Como ATUALIZAR o jogo sem precisar ficar compilando toda hora? -
Como Fazer esse Giroflex (Link Video)
Quando uma Boolean ativar as outras duas nao podem ficar on.....
[ASSET] Personagem v0.5
Como Ativar e Desativar Emissao do Material Por C#
Como Fazer Carreta Unity Ultilizando o RCC
Problema com um jogo de tiro em 1D
Jogador não Subi na Plataforma
ola estou tentando colocar meu scrip so que ele da erro n sei pq ajuda
Como colocar uma mira no lugar do cursor do mouse
Unity 2018 - Ajuda com OnTriggerEnter e OnTriggerExit
meu script de Basic Runtime Occlusion Culling nao esta funcionando
[TUTORIAL] vibrar o dispositivo ao colidir com um objeto
como fazer para video rodar após cena inicial?
Como faço pro personagem correr na direção da câmera para Android
Pontuação e Click
Como tocar efeito sonoro apenas depois no momento que carrega a cena?
Otimização da Unity
Pontuação em barra
Como deixar a barra de vida fixa??
Elevador
Botões UI
Unable to merge Android manifests
Android SDK Build-tools component is not found (Por Favor Me Ajudem)
Sistema de Ranking com Leaderboard facebook na Unity
Spawnar Objetos aleatorios em lugares pre-definidos
Movimentação em primeira pessoa
Salvar a cada vez que pego um moeda binary formatter
Como fazer a câmera balançar de acordo com a suspensão do veículo?
Sistema de Escolha de Player no Multiplayer
Estou com problema com um script que está dando erro.
IA do jogo Pong
Bons exemplos brasileiros de inimigos em jogos de terror
mover objeto ao encostar em um trigger
[RESOLVIDO] Unity 2019.4.9f1 - Erro ao criar o APK
Plataforma Flutuante
Como passar o canvas com components de uma cena pra outra?
Problema com TERRAIN
[PROBLEMA] Unity 2018 - Nenhum script Monobehaviour no arquivo
wallrun em 1° pessoa e com rigidbody
Dúvida relacionada a comportamento de objetos
Aumentar e diminuir velocidade de uma animação
Caracteres estão sumindo em Text UI somente na Build WebGL
como fazer um chat simples no photon
Erro na exportação
Alguém tem script de movimentação 3D?
Não consigo desativar script de gameObject (C#)
Unity 2018.2 -Ajuda com sistema de SpawnPoint e respawn com Photon Bolt
Recarregar cena usando botão UI
Controler de player 2D
Combate corpo a corpo 2D
Tela de shop/market na unity
Dúvida sobre textura
Problemas para rotacionar objeto filho
Como Resolver ?? Android SDK Build-tools component is not found.....
Update APK - Arquivo de expansão [New Google Console]
Alguém mais tem tido problemas com Layermask [v2019.4.17]
error ao buildar para windows utilizando il2cpp [il2cpp.exe did not run !]
TUTORIAL POST-PROCESSING NA UNITY 2020.2.2 -do CANAL Netzado
Erro na atualização da unity
Minha camera esta girando de maneira brusca
[DICA] Deixar o Loop 'For' Mais Otimizado
[PEDIDO]Gostaria de reviews sinceras no meu jogo
problema de Textura do Sketchup
[TUTORIAL] Sistema de diálogo/mensagens na Unity
Como Fazer Camera do Euro Truck 2 (para Android)
[RESOLVIDO] NavMeshAgent parar
[PEDIDO] Unity2018 - 3DSURVIVAL - Beta Review
Configurar canvas com novas resoluções quad e 4k
Como fazer um objeto spawnar por vez em uma array
[RESOLVIDO] fazer uma barra que diga quanta "agua" eu tenho
[RESOLVIDO] Como fazer só checar uma vez no Update()
character blink on white
[TUTORIAL] Como fazer um laser com LineRenderer - UNITY 5
Após um inimigo morrer, o outro surgir a partir de uma array
Acionamento da função OnTriggerEnter2D somente para o pai
Limitação de área 2d unity SOCORRO (com meu script)
POO
Duvida sobre iniciar o jogo com um character padrão
Loja no game, duvidas sobre voltar para a cena após usar a loja.
IA inimigo!
Como fazer com que objetos spawnem por vez em uma array
2 objetos utilizando mesmo script na hora de instanciar
Como definir um limite de itens guardados num inventário
O Collider não funciona
Dúvida em relação a Unity + MySql + PHP
Unity - Scriptable Objects [PT-BR]
Nao estou a conseguir mudar o transform.position do meu fps
Como aceder a pontuação correta no outro script
[TUTORIAL] Identificar qual a melhor qualidade gráfica baseada no Hardware
[DUVIDA]confirar automaticamente para cada hardware
Qual é a lógica do terreno do Minecraft?
a rotacao do player esta errada!
Não consigo mais abrir projeto nenhum na Unity!
Hoje à(s) 7:45 am
Ontem à(s) 2:38 pm
Ontem à(s) 12:32 pm
Seg Fev 22, 2021 8:30 pm
Seg Fev 22, 2021 7:47 pm
Seg Fev 22, 2021 6:14 pm
Dom Fev 21, 2021 1:01 pm
Dom Fev 21, 2021 12:00 pm
Sab Fev 20, 2021 9:54 pm
Sab Fev 20, 2021 3:45 pm
Sab Fev 20, 2021 1:57 pm
Sab Fev 20, 2021 12:19 pm
Sab Fev 20, 2021 12:11 pm
Sab Fev 20, 2021 12:05 pm
Sex Fev 19, 2021 8:49 pm
Sex Fev 19, 2021 5:03 pm
Sex Fev 19, 2021 4:56 pm
Sex Fev 19, 2021 1:02 pm
Sex Fev 19, 2021 11:34 am
Sex Fev 19, 2021 10:04 am
Qui Fev 18, 2021 9:21 pm
Qui Fev 18, 2021 7:45 pm
Qui Fev 18, 2021 7:28 pm
Qui Fev 18, 2021 10:37 am
Qua Fev 17, 2021 7:25 pm
Qua Fev 17, 2021 3:55 pm
Qua Fev 17, 2021 12:56 pm
Qua Fev 17, 2021 12:10 pm
Qua Fev 17, 2021 10:02 am
Ter Fev 16, 2021 1:13 pm
Ter Fev 16, 2021 12:55 pm
Ter Fev 16, 2021 11:29 am
Ter Fev 16, 2021 1:43 am
Ter Fev 16, 2021 12:11 am
Seg Fev 15, 2021 6:56 pm
Seg Fev 15, 2021 3:26 pm
Seg Fev 15, 2021 2:13 pm
Seg Fev 15, 2021 12:45 pm
Seg Fev 15, 2021 10:31 am
Seg Fev 15, 2021 12:44 am
Dom Fev 14, 2021 1:13 pm
Dom Fev 14, 2021 9:26 am
Sab Fev 13, 2021 4:31 pm
Sab Fev 13, 2021 1:39 pm
Sab Fev 13, 2021 10:07 am
Sab Fev 13, 2021 9:25 am
Sab Fev 13, 2021 12:02 am
Sex Fev 12, 2021 8:06 pm
Qui Fev 11, 2021 1:34 am
Qua Fev 10, 2021 9:12 pm
Ter Fev 09, 2021 9:36 pm
Ter Fev 09, 2021 12:01 am
Seg Fev 08, 2021 7:26 pm
Seg Fev 08, 2021 2:55 pm
Seg Fev 08, 2021 12:25 pm
Seg Fev 08, 2021 11:43 am
Sex Fev 05, 2021 11:26 pm
Sex Fev 05, 2021 5:01 pm
Sex Fev 05, 2021 2:37 pm
Sex Fev 05, 2021 1:11 pm
Sex Fev 05, 2021 12:45 pm
Sex Fev 05, 2021 11:23 am
Sex Fev 05, 2021 10:45 am
Qua Fev 03, 2021 10:02 pm
Qua Fev 03, 2021 4:45 pm
Qua Fev 03, 2021 3:24 pm
Qua Fev 03, 2021 1:54 pm
Qua Fev 03, 2021 1:50 pm
Qua Fev 03, 2021 12:05 pm
Qua Fev 03, 2021 3:23 am
Ter Fev 02, 2021 11:11 pm
Ter Fev 02, 2021 3:07 pm
Seg Fev 01, 2021 9:13 pm
Seg Fev 01, 2021 8:52 pm
Seg Fev 01, 2021 4:56 pm
Seg Fev 01, 2021 3:43 pm
Seg Fev 01, 2021 2:57 pm
Seg Fev 01, 2021 2:50 pm
Seg Fev 01, 2021 9:38 am
Dom Jan 31, 2021 3:17 pm
Dom Jan 31, 2021 11:53 am
Sab Jan 30, 2021 6:48 am
Sex Jan 29, 2021 12:43 pm
Sex Jan 29, 2021 12:58 am
Sex Jan 29, 2021 12:50 am
Qui Jan 28, 2021 7:54 pm
Qui Jan 28, 2021 2:55 pm
Qui Jan 28, 2021 9:00 am
Qui Jan 28, 2021 8:55 am
Qua Jan 27, 2021 11:11 am
Qua Jan 27, 2021 11:01 am
Ter Jan 26, 2021 11:36 pm
Ter Jan 26, 2021 5:53 pm
Ter Jan 26, 2021 5:31 pm
Seg Jan 25, 2021 5:39 pm
Seg Jan 25, 2021 4:58 pm
Seg Jan 25, 2021 2:51 pm
Seg Jan 25, 2021 9:56 am
Seg Jan 25, 2021 9:24 am
Patrick
MiguelAon
SauloeArthur
rodrigovitao
FelipeSouza11
verme1311
JulioWinchester
EricknhYT
FelipeSouza11
EricknhYT
EricknhYT
tautologias345
NKKF
NKKF
NKKF
ProBrStalker
LlucasBRDev
NKKF
ComicSans
SauloeArthur
Fagner
rafaelPortugal
rafaelPortugal
SauloeArthur
Konoiaro
MiguelAon
Charlesoff
Callyde Jr
EricknhYT
Franttyck
FelipeSouza11
SauloeArthur
joaoguil3
Fagner
TIKO
NKKF
darkrj
JohnRambo
SauloeArthur
Arcebispo
dutrabr100
speedluk
Triskal
ProBrStalker
MiguelAon
Magnatah
rodrigold
daniel.karling
gui78h3
Edivandro2706
NKKF
wooZbr
Pokedlg
SauloeArthur
Pokedlg
KonigOficial
Pokedlg
ffabim
pdsimulador
EricknhYT
chicotx56
NickDev
Valakinhas
kaykyscaranni1
JulioWinchester
capim22
NKKF
diegopds
Mid
MayLeone
EricknhYT
DVargas
ProBrStalker
Fagner
Magnatah
Sasuke rei
Sasuke rei
Fagner
walney
Pokedlg
wanderson888888
pedrodj321
giowde
acefogo
acefogo
Callyde Jr
darkrj
dutrabr100
dutrabr100
SauloeArthur
mateus.ribas
NKKF
Pokedlg
Pokedlg
Pokedlg
Pokedlg
Sasuke rei
Pokedlg
sopturn

[TUTORIAL] Inimigo seguir e atacar Player ao encostar

Ir em baixo

TUTORIAL [TUTORIAL] Inimigo seguir e atacar Player ao encostar

Mensagem por MarcosSchultz Ter Mar 29, 2016 4:52 pm

Fala galera, elaborei este tutorial simples explicando como elaborar um sistema para o Inimigo seguir e atacar o Jogador ao chegar perto, e também fazer o jogador morrer...



Última edição por MarcosSchultz em Ter Jun 07, 2016 8:49 pm, editado 1 vez(es)
MarcosSchultz
MarcosSchultz
Administrador

Masculino PONTOS : 63364
REPUTAÇÃO : 2536
Idade : 24
Áreas de atuação : Administrador do fórum
Respeito as regras : [TUTORIAL] Inimigo seguir e atacar Player ao encostar Aad8pUi

https://www.schultzgames.com

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inimigo seguir e atacar Player ao encostar

Mensagem por anizioNoob Ter Mar 29, 2016 9:27 pm

tou com um problema no script do inimigo olga aki o script
Código:
using UnityEngine;
using System.Collections;
[RequireComponent(typeof(NavMeshAgent))]
public class Inimigo : MonoBehaviour {
   private GameObject player;
   private NavMeshAgent NavMesh;
   private bool Ataque;
   void Start () {
      Ataque = true;
      player = GameObject.FindWithTag ("Player");
      NavMesh = GetComponent<NavMeshAgent> ();
   }
   void Update () {
      NavMesh.destination = player.transform.position;
      if(Vector3.Distance.position. player.transform.position) < 1.5) {
         Atacar ();
      }
   }
   void Atacar (){
      StartCoroutine ("tempoDeAtaque");
      player.GetComponent <Jogador> ().Vida -= 40;
   }
}
IEnumerator TempoDeAtaque(){
   Ataque = false;
   yield return new WaitForSeconds (1);
   Ataque = true;
}
anizioNoob
anizioNoob
Avançado
Avançado

Masculino PONTOS : 2108
REPUTAÇÃO : 15
Idade : 18
Áreas de atuação : Sei programar animators, e modelar no sketchup
Respeito as regras : [TUTORIAL] Inimigo seguir e atacar Player ao encostar WvDYdlf

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inimigo seguir e atacar Player ao encostar

Mensagem por MarcosSchultz Ter Mar 29, 2016 11:31 pm

@anizioNoob escreveu:tou com um problema no script do inimigo olga aki o script
Código:
using UnityEngine;
using System.Collections;
[RequireComponent(typeof(NavMeshAgent))]
public class Inimigo : MonoBehaviour {
 private GameObject player;
 private NavMeshAgent NavMesh;
 private bool Ataque;
 void Start () {
 Ataque = true;
 player = GameObject.FindWithTag ("Player");
 NavMesh = GetComponent<NavMeshAgent> ();
 }
 void Update () {
 NavMesh.destination = player.transform.position;
 if(Vector3.Distance.position. player.transform.position) < 1.5) {
 Atacar ();
 }
 }
 void Atacar (){
 StartCoroutine ("tempoDeAtaque");
 player.GetComponent <Jogador> ().Vida -= 40;
 }
}
IEnumerator TempoDeAtaque(){
 Ataque = false;
 yield return new WaitForSeconds (1);
 Ataque = true;
}

Qual problema? qual erro está dando?

Ahh, por sinal, no if do Vector3.Distance, faltou a letra "f" depois do número 1.5, para indicar que é uma float
MarcosSchultz
MarcosSchultz
Administrador

Masculino PONTOS : 63364
REPUTAÇÃO : 2536
Idade : 24
Áreas de atuação : Administrador do fórum
Respeito as regras : [TUTORIAL] Inimigo seguir e atacar Player ao encostar Aad8pUi

https://www.schultzgames.com

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inimigo seguir e atacar Player ao encostar

Mensagem por anizioNoob Qua Mar 30, 2016 8:26 am

vou postar os erros do console pera ae

[TUTORIAL] Inimigo seguir e atacar Player ao encostar Wkociq
anizioNoob
anizioNoob
Avançado
Avançado

Masculino PONTOS : 2108
REPUTAÇÃO : 15
Idade : 18
Áreas de atuação : Sei programar animators, e modelar no sketchup
Respeito as regras : [TUTORIAL] Inimigo seguir e atacar Player ao encostar WvDYdlf

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inimigo seguir e atacar Player ao encostar

Mensagem por MarcosSchultz Qua Mar 30, 2016 3:12 pm

Tem vários erros... da uma olhada com cuidado no vídeo...

esta linha por exemplo, ta toda errada:

Código:
if(Vector3.Distance.position. player.transform.position) < 1.5) {

o correto seria:

Código:
if(Vector3.Distance(transform.position, player.transform.position) < 1.5f) {


Esta outra também está errada:

Código:
StartCoroutine ("tempoDeAtaque");

repare que a Corotina foi ceclarada com letra maiúscula, ela está escrita ali entre as aspas com letra minúscula
MarcosSchultz
MarcosSchultz
Administrador

Masculino PONTOS : 63364
REPUTAÇÃO : 2536
Idade : 24
Áreas de atuação : Administrador do fórum
Respeito as regras : [TUTORIAL] Inimigo seguir e atacar Player ao encostar Aad8pUi

https://www.schultzgames.com

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inimigo seguir e atacar Player ao encostar

Mensagem por Soulphantom Ter Out 25, 2016 2:18 pm

teria como colocar junto com o seguir inicializar uma animação de andar ? por que eu tenho um personagem e uma animação de andar teria como juntar com esse código.tenho também uma de atacar essa também poderia ser colocada ? desde já grato !!!!

Soulphantom
Membro
Membro

Masculino PONTOS : 1859
REPUTAÇÃO : 3
Idade : 20
Áreas de atuação : PHP,HTML,C#,Blender etc

Respeito as regras : [TUTORIAL] Inimigo seguir e atacar Player ao encostar WvDYdlf

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inimigo seguir e atacar Player ao encostar

Mensagem por MarcosSchultz Ter Out 25, 2016 11:52 pm

A animação não tem como "colocar junto" por que é algo que é feito separado. Eu não tenho como saber quais estados você criou para o seu animator.

MarcosSchultz
MarcosSchultz
Administrador

Masculino PONTOS : 63364
REPUTAÇÃO : 2536
Idade : 24
Áreas de atuação : Administrador do fórum
Respeito as regras : [TUTORIAL] Inimigo seguir e atacar Player ao encostar Aad8pUi

https://www.schultzgames.com

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inimigo seguir e atacar Player ao encostar

Mensagem por Soulphantom Qui Out 27, 2016 1:14 pm

no caso eu peguei personagens prontos da unity pois pra min ficaria mais fácil como iniciante então eu teria que mexer nos animator desses personages ?

Soulphantom
Membro
Membro

Masculino PONTOS : 1859
REPUTAÇÃO : 3
Idade : 20
Áreas de atuação : PHP,HTML,C#,Blender etc

Respeito as regras : [TUTORIAL] Inimigo seguir e atacar Player ao encostar WvDYdlf

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inimigo seguir e atacar Player ao encostar

Mensagem por JohnRambo Qui Out 27, 2016 6:41 pm

@Soulphantom escreveu:no caso eu peguei personagens prontos da unity pois pra min ficaria mais fácil como iniciante então eu teria que mexer nos animator desses personages ?

Poderia criar um tópico para tratarmos disto? (Dentro da área "Dúvidas em Geral")
JohnRambo
JohnRambo
Moderador

Masculino PONTOS : 3739
REPUTAÇÃO : 627
Idade : 20
Áreas de atuação : Unity;
Programação;
Música e Sonorização;
Graduado em Análise e Desenvolvimento de Sistemas;
Respeito as regras : [TUTORIAL] Inimigo seguir e atacar Player ao encostar Aad8pUi

https://www.atromitstudio.com/

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inimigo seguir e atacar Player ao encostar

Mensagem por L.Orsi Sex Nov 04, 2016 8:54 pm

Código:
using UnityEngine;
using System.Collections;
using UnityEngine.SceneManagement;
public class player : MonoBehaviour {
public int vida = 20;
 public string cena;

 
 void Awake(){
 transform.tag = "Player";
 }
 void Update () {
 if (vida <= 0) {
 vida = 0;
 }
 }

 void Morte () {
 SceneManager.LoadScene ("TESTE2");

 }
}
Desculpa ressuscitar o topico, porem, nao consigo carregar a cena da "morte" depois q meu monstro tira a vida, ela chega a 0, mas a cena nao carrega...Fiz igual o video, tenho uma cena com o nome "TESTE2"...
E não é a primeira vez, no script do menu inicial que chama a primeira cena, tbm nao carrega...mas nao da erro algum. :/
Nesse do monstro, ate tentei usar um if (vida == 0){  SceneManager.LoadScene ("TESTE2"); }

L.Orsi
Iniciante
Iniciante

PONTOS : 1582
REPUTAÇÃO : 0
Respeito as regras : [TUTORIAL] Inimigo seguir e atacar Player ao encostar WvDYdlf

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inimigo seguir e atacar Player ao encostar

Mensagem por MarcosSchultz Ter Nov 08, 2016 1:19 am

@L.Orsi escreveu:
Código:
using UnityEngine;
using System.Collections;
using UnityEngine.SceneManagement;
public class player : MonoBehaviour {
public int vida = 20;
 public string cena;

 
 void Awake(){
 transform.tag = "Player";
 }
 void Update () {
 if (vida <= 0) {
 vida = 0;
 }
 }

 void Morte () {
 SceneManager.LoadScene ("TESTE2");

 }
}
Desculpa ressuscitar o topico, porem, nao consigo carregar a cena da "morte" depois q meu monstro tira a vida, ela chega a 0, mas a cena nao carrega...Fiz igual o video, tenho uma cena com o nome "TESTE2"...
E não é a primeira vez, no script do menu inicial que chama a primeira cena, tbm nao carrega...mas nao da erro algum. :/
Nesse do monstro, ate tentei usar um if (vida == 0){  SceneManager.LoadScene ("TESTE2"); }

Está dando algum erro?

As cenas estão linkadas em File>BuildSettings?
MarcosSchultz
MarcosSchultz
Administrador

Masculino PONTOS : 63364
REPUTAÇÃO : 2536
Idade : 24
Áreas de atuação : Administrador do fórum
Respeito as regras : [TUTORIAL] Inimigo seguir e atacar Player ao encostar Aad8pUi

https://www.schultzgames.com

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inimigo seguir e atacar Player ao encostar

Mensagem por Robinsandi Seg Maio 29, 2017 4:53 pm

Preciso de ajuda com uns scripts, eu tenho eles aqui eles funcionam bem mas  nao sei como fazer para o zumbi quando matar o player o inimigo mudar a animaçao de ataque de em pé para ataque agachado que é quando ele continua a devorar o player no chao como no resident evil, e enquanto o player esta de pé vivo quando é mordido o player ficar preso pelo  zumbi pelo mesmo tempo que leva a mordida sem ser empurado pelo zumbi. meu wat sap se alguem souber e me avisar 0549-84225079


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

public class Enemy : MonoBehaviour {

   private NavMeshAgent agent;
   public Transform target;
   private Animator animator;
   public WeaponBehaviour currentWeapon;
   public float distanceToAttack = 2f;
   public float distanceToFollow = 5f;




   void Awake (){
      agent = GetComponent<NavMeshAgent>();
      animator = GetComponent<Animator>();
      HealthBehaviour.onHealthOver += onHealthOver;
      WeaponBehaviour.onWeaponStartAttack += onWeaponStartAttack;
   }

   void onWeaponStartAttack(GameObject source)
   {
      if (source == gameObject) {
         animator.SetTrigger ("attack");

      }
   }

   void onHealthOver(GameObject source){
      if (source == gameObject){
         animator.SetTrigger ("morto");
            
      }
   }


   void Update(){
      float currentPlayerDistance = Vector3.Distance (transform.position, target.position);
      if (currentPlayerDistance <= distanceToAttack) {

         animator.SetBool ("isWalk", false);
         currentWeapon.Attack ();

      }
      else if (currentPlayerDistance <= distanceToFollow){
               agent.SetDestination(target.position);
               animator.SetBool("isWalk",true);
        }
      else
        {

          agent.Stop ();
          animator.SetBool("isWalk", false);
         
      }
   }
}


     
   

   



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

public class WeaponBehaviour : MonoBehaviour {
   public int damage = 25;
   public float attackRate = 0;
   public float currentAttackRate = 0;
   public bool canAttack = true;
   public GameObject owner;

   public delegate void WeaponEvent(GameObject source);
   public static event WeaponEvent onWeaponStartAttack;
   

   void Update () {
   if(!canAttack)
      {
         currentAttackRate += Time.deltaTime;
         if(currentAttackRate>attackRate)
         {
   
           canAttack = true;
           currentAttackRate = 0;
         
         }
      }
   }
      

   public void Attack(){
      if(!canAttack)return;
      canAttack =false;
      currentAttackRate = 0;
      onWeaponStartAttack(owner);

   }
   void OnTriggerEnter(Collider other){
      if (canAttack)return;
      if(other.GetComponent<HealthBehaviour>()!=null)
   
      {
         HealthBehaviour hb =other.GetComponent<HealthBehaviour>();
         hb.TakeDamage(damage);

      }
   }
}


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

[RequireComponent(typeof(Rigidbody))]
public class PlayerBehaviour : MonoBehaviour {
   public Animator animator;
   private Rigidbody rb;
   public float speedMove = 2f;
   public float speedRot =1f;
   public WeaponBehaviour currentWeapon;

   void Awake(){
      rb = GetComponent<Rigidbody> ();
      animator = GetComponent<Animator> ();
      WeaponBehaviour.onWeaponStartAttack += onAttackStart;
      HealthBehaviour.onHealthOver += onHealthOver;

   }

   void onAttackStart(GameObject owner){
      if(owner == gameObject){

         animator.SetTrigger ("attack");

      }
   }

      void onHealthOver(GameObject source){
         if(source == gameObject){
         print ("Player morreu!");

         animator.SetTrigger ("morte");


      }

   }
      void Update(){
      if (Input.GetMouseButtonDown(0)){
      
         currentWeapon.Attack();
      }
   }
   // Use this for initialization
   void FixedUpdate(){
      Vector3 moveDir = new Vector3 ();
      moveDir.x = Input.GetAxis ("Horizontal");
      moveDir.z = Input.GetAxis ("Vertical");
      moveDir = transform.TransformDirection (moveDir);
      moveDir *= speedMove;
      rb.velocity = moveDir;


      animator.SetBool ("isWalk", moveDir != Vector3.zero);


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

public class HealthBehaviour : MonoBehaviour {
   public int maxHealth=100;
   public int currentHealth{get;private set;}
   public bool isDead{get;private set;}
   public delegate void HealthEvent(GameObject sourse);
   public static event HealthEvent onHealthOver;

   void Awake(){
      currentHealth = maxHealth;
      isDead = false;
   }
      public void TakeDamage(int dmg){
         if(isDead)return;
          currentHealth-= dmg;
            if(currentHealth<=0)
         {
   
            currentHealth=0;
            isDead=true;
         if(onHealthOver == null)return;
            onHealthOver(gameObject);
         }
      }
   }

Robinsandi
Membro
Membro

PONTOS : 1408
REPUTAÇÃO : 0
Respeito as regras : [TUTORIAL] Inimigo seguir e atacar Player ao encostar WvDYdlf

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inimigo seguir e atacar Player ao encostar

Mensagem por rafaelllsd Seg Maio 29, 2017 5:36 pm

@Robinsandi escreveu:Preciso de ajuda com uns scripts, eu tenho eles aqui eles funcionam bem mas  nao sei como fazer para o zumbi quando matar o player o inimigo mudar a animaçao de ataque de em pé para ataque agachado que é quando ele continua a devorar o player no chao como no resident evil, e enquanto o player esta de pé vivo quando é mordido o player ficar preso pelo  zumbi pelo mesmo tempo que leva a mordida sem ser empurado pelo zumbi. meu wat sap se alguem souber e me avisar 0549-84225079


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

public class Enemy : MonoBehaviour {

 private NavMeshAgent agent;
 public Transform target;
 private Animator animator;
 public WeaponBehaviour currentWeapon;
 public float distanceToAttack = 2f;
 public float distanceToFollow = 5f;




 void Awake (){
 agent = GetComponent<NavMeshAgent>();
 animator = GetComponent<Animator>();
 HealthBehaviour.onHealthOver += onHealthOver;
 WeaponBehaviour.onWeaponStartAttack += onWeaponStartAttack;
 }

 void onWeaponStartAttack(GameObject source)
 {
 if (source == gameObject) {
 animator.SetTrigger ("attack");

 }
 }

 void onHealthOver(GameObject source){
 if (source == gameObject){
 animator.SetTrigger ("morto");
 
 }
 }


 void Update(){
 float currentPlayerDistance = Vector3.Distance (transform.position, target.position);
 if (currentPlayerDistance <= distanceToAttack) {

 animator.SetBool ("isWalk", false);
 currentWeapon.Attack ();

 }
 else if (currentPlayerDistance <= distanceToFollow){
 agent.SetDestination(target.position);
 animator.SetBool("isWalk",true);
         }
 else
         {

           agent.Stop ();
           animator.SetBool("isWalk", false);
 
 }
 }
}


      
    

 



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

public class WeaponBehaviour : MonoBehaviour {
 public int damage = 25;
 public float attackRate = 0;
 public float currentAttackRate = 0;
 public bool canAttack = true;
 public GameObject owner;

 public delegate void WeaponEvent(GameObject source);
 public static event WeaponEvent onWeaponStartAttack;
 

 void Update () {
 if(!canAttack)
 {
 currentAttackRate += Time.deltaTime;
 if(currentAttackRate>attackRate)
 {
 
  canAttack = true;
  currentAttackRate = 0;
 
 }
 }
 }
    

 public void Attack(){
 if(!canAttack)return;
 canAttack =false;
 currentAttackRate = 0;
 onWeaponStartAttack(owner);

 }
 void OnTriggerEnter(Collider other){
 if (canAttack)return;
 if(other.GetComponent<HealthBehaviour>()!=null)
 
 {
 HealthBehaviour hb =other.GetComponent<HealthBehaviour>();
 hb.TakeDamage(damage);

 }
 }
}


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

[RequireComponent(typeof(Rigidbody))]
public class PlayerBehaviour : MonoBehaviour {
 public Animator animator;
 private Rigidbody rb;
 public float speedMove = 2f;
 public float speedRot =1f;
 public WeaponBehaviour currentWeapon;

 void Awake(){
 rb = GetComponent<Rigidbody> ();
 animator = GetComponent<Animator> ();
 WeaponBehaviour.onWeaponStartAttack += onAttackStart;
 HealthBehaviour.onHealthOver += onHealthOver;

 }

 void onAttackStart(GameObject owner){
 if(owner == gameObject){

 animator.SetTrigger ("attack");

 }
 }

 void onHealthOver(GameObject source){
 if(source == gameObject){
 print ("Player morreu!");

 animator.SetTrigger ("morte");


 }

 }
 void Update(){
 if (Input.GetMouseButtonDown(0)){
 
 currentWeapon.Attack();
 }
 }
 // Use this for initialization
 void FixedUpdate(){
 Vector3 moveDir = new Vector3 ();
 moveDir.x = Input.GetAxis ("Horizontal");
 moveDir.z = Input.GetAxis ("Vertical");
 moveDir = transform.TransformDirection (moveDir);
 moveDir *= speedMove;
 rb.velocity = moveDir;


 animator.SetBool ("isWalk", moveDir != Vector3.zero);


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

public class HealthBehaviour : MonoBehaviour {
 public int maxHealth=100;
 public int currentHealth{get;private set;}
 public bool isDead{get;private set;}
 public delegate void HealthEvent(GameObject sourse);
 public static event HealthEvent onHealthOver;

 void Awake(){
 currentHealth = maxHealth;
 isDead = false;
 }
 public void TakeDamage(int dmg){
 if(isDead)return;
     currentHealth-= dmg;
 if(currentHealth<=0)
 {
 
 currentHealth=0;
 isDead=true;
 if(onHealthOver == null)return;
 onHealthOver(gameObject);
 }
 }
 }
Sugiro que crie outro tópico na area de Duvidas com sua pergunta para manter a organização do fórum!
rafaelllsd
rafaelllsd
ProgramadorMaster

Masculino PONTOS : 3839
REPUTAÇÃO : 491
Idade : 20
Áreas de atuação : Unity, Audacity, Blender, Gimp, C#, JS, MySQL.

Respeito as regras : [TUTORIAL] Inimigo seguir e atacar Player ao encostar Aad8pUi

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inimigo seguir e atacar Player ao encostar

Mensagem por Robinsandi Seg Maio 29, 2017 5:46 pm

Eu tentei criar um topico mas eu nao tenho permissao

Robinsandi
Membro
Membro

PONTOS : 1408
REPUTAÇÃO : 0
Respeito as regras : [TUTORIAL] Inimigo seguir e atacar Player ao encostar WvDYdlf

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inimigo seguir e atacar Player ao encostar

Mensagem por thiagograssi Ter Maio 30, 2017 12:22 am

@Robinsandi escreveu:Eu tentei criar um topico mas eu nao tenho permissao
n existe esse negocio de permissão para criar topico. vc dever te ido em outro lugar 
Visita a área "Dúvidas em geral" na paginal inicial do forum e clica em novo tópico
thiagograssi
thiagograssi
MembroAvançado

Masculino PONTOS : 1987
REPUTAÇÃO : 41
Idade : 16
Áreas de atuação : Photoshop;
SketchUp;
C#(Learning);

Respeito as regras : [TUTORIAL] Inimigo seguir e atacar Player ao encostar WvDYdlf

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inimigo seguir e atacar Player ao encostar

Mensagem por Unidade3d5 Qui Jun 01, 2017 4:18 pm

AJUDA PFV

o meu so fica dando esse erro

"SetDestination" can only be called on an active agent that has been placed on a NavMesh.
UnityEngine.AI.NavMeshAgent:set_destination(Vector3)
AInimigo:Update() (at Assets/Meus Arquivos/Scripts/AInimigo.cs:24)

Unidade3d5
Avançado
Avançado

Masculino PONTOS : 1662
REPUTAÇÃO : 28
Respeito as regras : [TUTORIAL] Inimigo seguir e atacar Player ao encostar WvDYdlf

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inimigo seguir e atacar Player ao encostar

Mensagem por Unidade3d5 Qui Jun 01, 2017 5:53 pm

@Unidade3d5 escreveu:AJUDA PFV

o meu so fica dando esse erro

"SetDestination" can only be called on an active agent that has been placed on a NavMesh.
UnityEngine.AI.NavMeshAgent:set_destination(Vector3)
AInimigo:Update() (at Assets/Meus Arquivos/Scripts/AInimigo.cs:24)

JA RESOLVI, ACHEI NO FORUM A SOLUÇÃO

Unidade3d5
Avançado
Avançado

Masculino PONTOS : 1662
REPUTAÇÃO : 28
Respeito as regras : [TUTORIAL] Inimigo seguir e atacar Player ao encostar WvDYdlf

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inimigo seguir e atacar Player ao encostar

Mensagem por getrudes12@gmail.com Qui Ago 17, 2017 10:52 am

estou com problemas aqui man esta dando um erro aqui Assets/Policia.cs(6,12): error CS0246: The type or namespace name `NavMeshAgent' could not be found. Are you missing `UnityEngine.AI' using directive?  alguem pode me ajudar como resolvo isso

getrudes12@gmail.com
Iniciante
Iniciante

PONTOS : 1409
REPUTAÇÃO : 3
Respeito as regras : [TUTORIAL] Inimigo seguir e atacar Player ao encostar WvDYdlf

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inimigo seguir e atacar Player ao encostar

Mensagem por dstaroski Qui Ago 17, 2017 11:03 am

@getrudes12@gmail.com escreveu:estou com problemas aqui man esta dando um erro aqui Assets/Policia.cs(6,12): error CS0246: The type or namespace name `NavMeshAgent' could not be found. Are you missing `UnityEngine.AI' using directive?  alguem pode me ajudar como resolvo isso
Bom dia cara! por gentileza, poste esse script inteiro Policia.cs!

no aguardo,

Abraço!
dstaroski
dstaroski
Instrutor

Masculino PONTOS : 4914
REPUTAÇÃO : 1113
Idade : 31
Áreas de atuação : Unity 3D

Respeito as regras : [TUTORIAL] Inimigo seguir e atacar Player ao encostar Aad8pUi

http://diegodeoliveira.gamejolt.io/defeattheilluminatis

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inimigo seguir e atacar Player ao encostar

Mensagem por getrudes12@gmail.com Qui Ago 17, 2017 11:10 am

@dstaroski escreveu:
@getrudes12@gmail.com escreveu:estou com problemas aqui man esta dando um erro aqui Assets/Policia.cs(6,12): error CS0246: The type or namespace name `NavMeshAgent' could not be found. Are you missing `UnityEngine.AI' using directive?  alguem pode me ajudar como resolvo isso
Bom dia cara! por gentileza, poste esse script inteiro Policia.cs!

no aguardo,

Abraço!
 man ja resolvi aki os q to com outro erro q e esse 


Assets/Policia.cs(29,21): error CS0119: Expression denotes a `type', where a `variable', `value' or `method group' was expected

como q resolvo isso man pode me ajudar


using UnityEngine;
using System.Collections;
using UnityEngine.AI;
[RequireComponent(typeof(NavMeshAgent))]
public class Policia : MonoBehaviour {
   private GameObject player;
   private NavMeshAgent NavMesh;
   private bool podeAtacar;

   void Start () {
       podeAtacar = true;
       player = GameObject.FindWithTag ("Player");
       NavMesh = GetComponent<NavMeshAgent> ();
   }
   void Update () {
      NavMesh.destination = player.transform.position;
      if(Vector3.Distance (transform.position, player.transform.position) < 1.5f) {
         Atacar ();
      }
   }
   void Atacar (){
      if (podeAtacar == true) {
      StartCoroutine ("TempoDeAtaque");
   }
}

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

getrudes12@gmail.com
Iniciante
Iniciante

PONTOS : 1409
REPUTAÇÃO : 3
Respeito as regras : [TUTORIAL] Inimigo seguir e atacar Player ao encostar WvDYdlf

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inimigo seguir e atacar Player ao encostar

Mensagem por dstaroski Qui Ago 17, 2017 11:27 am

Veja o script com os erros corrigidos, comentei ao lado o que faltava:
Código:
using UnityEngine;
using System.Collections;
using UnityEngine.AI;
[RequireComponent(typeof(NavMeshAgent))]
public class Policia : MonoBehaviour {
   private GameObject player;
   private NavMeshAgent NavMesh;
   private bool podeAtacar;

   void Start () {
       podeAtacar = true;
       player = GameObject.FindWithTag ("Player");
       NavMesh = GetComponent<UnityEngine.AI.NavMeshAgent>(); //Faltava referência a biblioteca completa
   }
   void Update () {
      NavMesh.destination = player.transform.position;
      if(Vector3.Distance (transform.position, player.transform.position) < 1.5f) {
         Atacar ();
      }
   }
   void Atacar (){
      if (podeAtacar == true) {
      StartCoroutine ("TempoDeAtaque");
   }
}

   IEnumerator TempoDeAtaque(){
       podeAtacar = false;
       yield return new WaitForSeconds (1); //Faltava o new
       podeAtacar = true;
   }
}
Quando for postar scripts, use o botão script no editor, e cole o código dentro, dai então ele ficará organizado.

Abraço!
dstaroski
dstaroski
Instrutor

Masculino PONTOS : 4914
REPUTAÇÃO : 1113
Idade : 31
Áreas de atuação : Unity 3D

Respeito as regras : [TUTORIAL] Inimigo seguir e atacar Player ao encostar Aad8pUi

http://diegodeoliveira.gamejolt.io/defeattheilluminatis

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inimigo seguir e atacar Player ao encostar

Mensagem por getrudes12@gmail.com Qui Ago 17, 2017 12:51 pm

@dstaroski escreveu:Veja o script com os erros corrigidos, comentei ao lado o que faltava:
Código:
using UnityEngine;
using System.Collections;
using UnityEngine.AI;
[RequireComponent(typeof(NavMeshAgent))]
public class Policia : MonoBehaviour {
   private GameObject player;
   private NavMeshAgent NavMesh;
   private bool podeAtacar;

   void Start () {
       podeAtacar = true;
       player = GameObject.FindWithTag ("Player");
       NavMesh = GetComponent<UnityEngine.AI.NavMeshAgent>(); //Faltava referência a biblioteca completa
   }
   void Update () {
      NavMesh.destination = player.transform.position;
      if(Vector3.Distance (transform.position, player.transform.position) < 1.5f) {
         Atacar ();
      }
   }
   void Atacar (){
      if (podeAtacar == true) {
      StartCoroutine ("TempoDeAtaque");
   }
}

   IEnumerator TempoDeAtaque(){
       podeAtacar = false;
       yield return new WaitForSeconds (1); //Faltava o new
       podeAtacar = true;
   }
}
Quando for postar scripts, use o botão script no editor, e cole o código dentro, dai então ele ficará organizado.

Abraço!vlw man obrigado ai tmj

getrudes12@gmail.com
Iniciante
Iniciante

PONTOS : 1409
REPUTAÇÃO : 3
Respeito as regras : [TUTORIAL] Inimigo seguir e atacar Player ao encostar WvDYdlf

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inimigo seguir e atacar Player ao encostar

Mensagem por carolina borges Qua Jan 20, 2021 3:02 pm

Assets\Inimigo.cs(27,13): error CS0116: A namespace cannot directly contain members such as fields or methods
Alguém me consegue ajudar ?
Obrigada !

carolina borges
Iniciante
Iniciante

PONTOS : 47
REPUTAÇÃO : 0
Respeito as regras : [TUTORIAL] Inimigo seguir e atacar Player ao encostar WvDYdlf

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inimigo seguir e atacar Player ao encostar

Mensagem por SauloeArthur Qui Jan 21, 2021 11:17 am

@carolina borges escreveu:Assets\Inimigo.cs(27,13): error CS0116: A namespace cannot directly contain members such as fields or methods
Alguém me consegue ajudar ?
Obrigada !
isto acontece porque você não fechou as chaves "}" da classe MonoBehaviour no final de todo o script. por exemplo... se você fechar as chaves da classe e escrever algo depois o compilador irá dizer que uma namespace não pode conter métodos.
SauloeArthur
SauloeArthur
Programador

Masculino PONTOS : 1099
REPUTAÇÃO : 12
Idade : 14
Áreas de atuação : C#;
Unity;
Respeito as regras : [TUTORIAL] Inimigo seguir e atacar Player ao encostar WvDYdlf

https://www.saulomgames.com/

Voltar ao Topo Ir em baixo

Voltar ao Topo


 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum