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:
Como carregar imagens e videos
[DÚVIDA] usar PERSONAGEM 3D no FIRST PERSON
Transform.up Muito rápido!
[PROJETO MOBILE] Defeat the Illuminatis
Desativar HingeJoint
[RESOLVIDO] Tocar som em script que exibe uma mensagem
[RESOLVIDO] Sons na Unity 2017
tem como excluir uma( ou várias ) contas do fórum?
Servidores sem limite por usuário.
Como ativar animação quando o objeto se move ?? sem rigidbody
[TUTORIAL] Inteligência artificial, inimigo e AIPoints
Manager Como fazer um jogo nesse estilo?
[DÚVIDA] TIRANOSSAURO REX no UNITY?
Verificar se a camera está virada para o objeto
[TUTORIAL] Animação customizável (Por scripts)
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
Duvida com animação
[TUTORIAL] Criar jogo Colors/Genius com C#
Jumper boy
[RESOLVIDO] Utilizar o mesmo botão para duas ações. (if e else)
[____ADMINISTRAÇÃO____] PRECISO DE AJUDA [DICA PARA SER AJUDADO]
[____APOIE O FÓRUM E O CANAL E GANHE RECOMPENSAS____]
Ajuda com AI Inimigo.
[Script] Mudar a orientação em runtime
Como mover dois objetos juntos.
[TUTORIAL] Third Person Shooter
[PEDIDOS DE TUTORIAIS]
Google Play Games
Como apagar Proceduram material da pista, quando for recarregar a cena?
PROBLEMA NULL REFERENCE EXCEPTION
Calculo de previsão de coordenada
Unity - Rodar 2 cenas ao mesmo tempo
| AJUDA DISCORD | Descubra aqui como fazer para o link do seu servidor nunca expirar.
Trigger detectando apenas o character controller
seguir 2 objetos com a mesma tag
Zezin Na Copa da Russia Realidade Aumentada
DISCORD
Novo jogo - Astero - PlayStore
Variável receber valor de uma array
erro no script
[RESOLVIDO] Bug de wallpaper preto no windows.
[TUTORIAL] Movimento de camera em primeira pessoa e sons de passos ou HeadBob
[RESOLVIDO] Tomar dano do inimigo e causar dano no mesmo
[RESOLVIDO] Texto se encaixar dentro de uma imagem.
[Projeto] Line Battle
Jogo Maria Bella
Spawner de Inimigo n preenche todas as posições
[TUTORIAL] AI Enemy ( Jogos de terror )
Como corrigir o box collider do unity?
SPAWN Baseado na Posição (UNITY)
[RESOLVIDO] Problema em um script
Unity - executável não roda banco de dados
Como criar um sistema de Ranking simples.
Animação Humanoid
Blender - Erro ao aplicar influência automática nos ossos de personagem
Objetos duplicados ao instanciar
Duvida com collider
[RESOLVIDO] Problemas com API
Pegar e Jogar armas no chão (estilo CS 1.6)
[RESOLVIDO] Projeteis Online
[TUTORIAL] Zone Wall - ESTILO BATTLE ROYALE
| DÚVIDA | - Como aprender C#?
Como criar um ranking online na Unity usando a PlayFab e o Facebook?
Dúvida sobre método de acesso as variáveis
checkpoint
Como faço para otimizar meu projeto da Unity 3D?
[RESOLVIDO] Alguém me explica isso? (Animator script)
[RESOLVIDO] Duvida com GameManager
duvidas com marcas reais em jogos
Objeto na UI
Minimap/Radar/GPS Estilo GTA V
Problemas com a câmera
PROBLEMAS COM O NAVIGATION
[TUTORIAL] Serialização - JSON
Textura de luzes rosa
Banco de dados android
Girar arma
Qual o melhor meio de iluminar essa scene?
[Jogo] Flap OCO (Android & PC)
[TUTORIAL] Android - Sistema de controle third person shooter, Joystick + Swipe camera
ANIMAÇÃO INIMIGO AI
[RESOLVIDO] Menu Pause Dúvida
Unity 5: Object reference not set to an instance of an object
Como saber se o controle foi conectado?
[ENQUETE OFICIAL] Você está vendo o CHAT DO FÓRUM?????
Onde posso aprender a fazer uma IA estilo a do jogo de tabuleiro Zombicide?
[RESOLVIDO] Erro -> Android SDK is missing required API level 23
Sprites com mesmas cores.
[Formação de Equipe] Battles of Worlds
Como fazer para sair do jogo apertando uma tecla?
VAGA MODELADOR
[Em Desenvolvimento] Battles of Worlds
[RESOLVIDO]Colocar dois fundos diferentes em um mesmo canvas dependendo do menu carregado.
[TUTORIAL] 42 ÓTIMAS DICAS DE OTIMIZAÇÃO PARA JOGOS MOBILE (Android)
[____REGRAS DO FÓRUM____]
SetPartner
Como eu posso criar uma rede social semelhante ao NEAKI?
Como colocar dois backgrounds diferentes para dois canvas diferentes?
Botões Android
Hoje à(s) 9:43 pm
Hoje à(s) 9:29 pm
Hoje à(s) 8:44 pm
Hoje à(s) 7:30 pm
Hoje à(s) 7:25 pm
Hoje à(s) 7:15 pm
Hoje à(s) 5:22 pm
Hoje à(s) 4:35 pm
Hoje à(s) 4:14 pm
Hoje à(s) 7:16 am
Hoje à(s) 6:36 am
Hoje à(s) 6:19 am
Hoje à(s) 12:54 am
Ontem à(s) 9:49 pm
Ontem à(s) 8:25 pm
Ontem à(s) 8:12 pm
Ontem à(s) 8:08 pm
Ontem à(s) 3:50 pm
Seg Jun 18, 2018 10:51 pm
Seg Jun 18, 2018 7:29 pm
Seg Jun 18, 2018 6:46 pm
Seg Jun 18, 2018 6:45 pm
Seg Jun 18, 2018 6:43 pm
Seg Jun 18, 2018 6:38 pm
Seg Jun 18, 2018 4:36 pm
Seg Jun 18, 2018 3:42 pm
Seg Jun 18, 2018 3:33 pm
Seg Jun 18, 2018 1:26 pm
Seg Jun 18, 2018 7:23 am
Dom Jun 17, 2018 11:54 pm
Dom Jun 17, 2018 11:50 pm
Dom Jun 17, 2018 8:49 pm
Dom Jun 17, 2018 5:21 pm
Dom Jun 17, 2018 2:37 pm
Dom Jun 17, 2018 12:48 pm
Dom Jun 17, 2018 11:34 am
Sab Jun 16, 2018 10:40 pm
Sab Jun 16, 2018 9:43 pm
Sab Jun 16, 2018 9:28 pm
Sab Jun 16, 2018 8:48 pm
Sab Jun 16, 2018 5:13 pm
Sab Jun 16, 2018 5:05 pm
Sab Jun 16, 2018 4:51 pm
Sab Jun 16, 2018 4:33 pm
Sab Jun 16, 2018 4:14 pm
Sab Jun 16, 2018 3:39 pm
Sab Jun 16, 2018 1:48 pm
Sex Jun 15, 2018 10:15 pm
Sex Jun 15, 2018 8:31 pm
Sex Jun 15, 2018 8:24 pm
Sex Jun 15, 2018 8:02 pm
Sex Jun 15, 2018 5:08 pm
Sex Jun 15, 2018 2:46 pm
Sex Jun 15, 2018 12:08 pm
Sex Jun 15, 2018 10:46 am
Qui Jun 14, 2018 6:41 pm
Qui Jun 14, 2018 4:25 pm
Qui Jun 14, 2018 2:34 pm
Qui Jun 14, 2018 6:19 am
Qua Jun 13, 2018 10:08 pm
Qua Jun 13, 2018 9:59 pm
Qua Jun 13, 2018 6:48 pm
Qua Jun 13, 2018 3:16 pm
Qua Jun 13, 2018 3:11 pm
Qua Jun 13, 2018 9:12 am
Qua Jun 13, 2018 6:25 am
Qua Jun 13, 2018 1:00 am
Qua Jun 13, 2018 12:40 am
Ter Jun 12, 2018 11:08 pm
Ter Jun 12, 2018 8:00 pm
Ter Jun 12, 2018 5:17 pm
Ter Jun 12, 2018 2:25 pm
Ter Jun 12, 2018 9:00 am
Seg Jun 11, 2018 11:57 pm
Seg Jun 11, 2018 7:17 pm
Seg Jun 11, 2018 2:51 pm
Seg Jun 11, 2018 2:42 pm
Seg Jun 11, 2018 10:18 am
Seg Jun 11, 2018 10:05 am
Dom Jun 10, 2018 10:52 pm
Dom Jun 10, 2018 7:18 pm
Dom Jun 10, 2018 6:29 pm
Dom Jun 10, 2018 6:23 pm
Dom Jun 10, 2018 3:53 pm
Dom Jun 10, 2018 12:32 pm
Dom Jun 10, 2018 9:32 am
Sab Jun 09, 2018 5:36 pm
Sab Jun 09, 2018 5:14 pm
Sab Jun 09, 2018 5:09 pm
Sab Jun 09, 2018 11:44 am
Sab Jun 09, 2018 10:49 am
Sab Jun 09, 2018 8:27 am
Sex Jun 08, 2018 4:23 pm
Sex Jun 08, 2018 3:35 pm
Sex Jun 08, 2018 3:22 pm
Sex Jun 08, 2018 8:24 am
Sex Jun 08, 2018 1:02 am
Qui Jun 07, 2018 11:48 pm
Qui Jun 07, 2018 9:09 pm
Zack2
gcs13
dstaroski
dstaroski
DevTerror
richardfalcos
thancor
MarcosSchultz
NKKF
dstaroski
NKKF
Callyde Jr
gcs13
Alphax
Zack2
rafaelllsd
NKKF
M4theuz
SuperGamer
DevTerror
dstaroski
dstaroski
dstaroski
dstaroski
Dom3000
Phph09
Zack2
NKKF
guimaraf
fecirineu
fecirineu
ismarspn
SuperGamer
Alphax
NKKF
natanael.olimpio
Carlos Mesquita
Édipo
Flávio
dstaroski
M4theuz
dstaroski
kenau
NKKF
Alphax
foxtenn
NKKF
BrazaTattoo
lesgoy
dstaroski
Dom3000
Midoriiiiii
BRGC
Dom3000
Dom3000
Dom3000
Zack2
yVIEIRA
Phph09
fecirineu
IanLuan
IanLuan
natanael.olimpio
guimaraf
NyeTiSS
francisco barroso
Alphax
Zack2
dstaroski
Alphax
Duarte
NKKF
dstaroski
igorobm
JonathanDiego
mafipt
Zack2
fecirineu
Dom3000
francisco barroso
bertarele
Magnatah
ZeroTuhnder
FelipeSouza11
francisco barroso
YmKx
francisco barroso
NKKF
Dom3000
Isabela
Dom3000
Dom3000
kenau
FelipeSouza11
FelipeSouza11
NyeTiSS
Callyde Jr
FelipeSouza11
dstaroski

[AJUDA] Drop infinito xD

Ir em baixo

DÚVIDA [AJUDA] Drop infinito xD

Mensagem por WiredD em Sab Set 10, 2016 3:26 pm

Alguem poderia me ajudar? Usando meu script de recursos, Quando quebro uma pedra ele está dropando infinitamente pedras como no print abaixo



Meu script:

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

public class Pedras : MonoBehaviour {

 public float Salud;
 [HideInInspector]
 public float Salud2 = 10;
 [Header("Distancia Maxima Causa Dano")]
 public float MaxDis = 2;
 public GameObject[] Rocas;
 [Header("Tempo Respawn Pedra")]
 public float TiempoReaparece = 5;
 [HideInInspector]
 public float TiempoReaparece2 = 5;
 [Header("Stacks aleatorios")]
 public int Minimo = 1;
 public int Maximo = 5;
 private Camera camara;
 private bool Reaparece;
 [Header("Danos E Player")]
 public float danTotal;

 // Use this for initialization
 void Start () {
 camara = GameObject.FindWithTag("MainCamera").GetComponent<Camera>();
 danTotal = 20;
 }
 
 // Update is called once per frame
 void Update ()
 {
 Ray ray = camara.ViewportPointToRay(new Vector3(0.5F, 0.5F, 0));
 RaycastHit hit;
 if (Physics.Raycast(ray, out hit, MaxDis))
 {
 if(hit.collider.gameObject == gameObject)
 {
 if(Input.GetKey ("e"))
 {
 Salud2 -= danTotal * Time.deltaTime;
 }
 }
 }
 
 
 if(Salud2 <= 0.5f && !Reaparece)
 {
 gameObject.GetComponent<BoxCollider>().enabled = false;
 gameObject.GetComponent<MeshRenderer>().enabled = false;
 foreach(GameObject Roca in Rocas)
 {

 GameObject Clon = Instantiate(Roca,transform.position + transform.up * Random.Range(1,5) ,transform.rotation)as GameObject;
 Clon.GetComponent<Stacks>().Stack = Random.Range(Minimo,Maximo);
// Destroy(gameObject);
 }

 Reaparece = true;
 }

 if(Reaparece)
 {
 TiempoReaparece2 -= Time.deltaTime;
 if(TiempoReaparece2 <= 0)
 {
 Salud2 = Salud;
 gameObject.GetComponent<BoxCollider>().enabled = true;
 gameObject.GetComponent<MeshRenderer>().enabled = true;
 TiempoReaparece2 = TiempoReaparece;
 Reaparece = false;
 }

 }
 }
}


Se alguem puder tb mudar pra que o item (public GameObject[] Rocas;) drope as pedras de acordo com o minimo definido na variavel (Minimo) e o maximo (Minimo), meio que criar um random entre eles no drop da pedra xD


Erro que está dando:

Pedras.Update () (at Assets/Scripts/Recursos/Pedras.cs:55)
avatar
WiredD
Membro Junior
Membro Junior

Posts : 127
Pontos : 980
Reputação : 14
Registro : 25/04/2016
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: [AJUDA] Drop infinito xD

Mensagem por Goustkor em Sab Set 10, 2016 3:49 pm

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

public class Pedras : MonoBehaviour
{

    public float Salud;
    [HideInInspector]
    public float Salud2 = 10;
    [Header("Distancia Maxima Causa Dano")]
    public float MaxDis = 2;
    public GameObject[] Rocas;
    [Header("Tempo Respawn Pedra")]
    public float TiempoReaparece = 5;
    [HideInInspector]
    public float TiempoReaparece2 = 5;
    [Header("Stacks aleatorios")]
    public int Minimo = 1;
    public int Maximo = 5;
    private Camera camara;
    private bool Reaparece;
    [Header("Danos E Player")]
    public float danTotal;

    public int limite = 1, currentLimite;

    // Use this for initialization
    void Start()
    {
        camara = GameObject.FindWithTag("MainCamera").GetComponent<Camera>();
        danTotal = 20;
    }

    // Update is called once per frame
    void Update()
    {
        Ray ray = camara.ViewportPointToRay(new Vector3(0.5F, 0.5F, 0));
        RaycastHit hit;
        if (Physics.Raycast(ray, out hit, MaxDis))
        {
            if (hit.collider.gameObject == gameObject)
            {
                if (Input.GetKey("e"))
                {
                    Salud2 -= danTotal * Time.deltaTime;
                }
            }
        }


        if (Salud2 <= 0.5f && !Reaparece)
        {
            gameObject.GetComponent<BoxCollider>().enabled = false;
            gameObject.GetComponent<MeshRenderer>().enabled = false;
            foreach (GameObject Roca in Rocas)
            {
                if (currentLimite < limite)
                {
                    GameObject Clon = Instantiate(Roca, transform.position + transform.up * Random.Range(1, 5), transform.rotation) as GameObject;
                    Clon.GetComponent<Stacks>().Stack = Random.Range(Minimo, Maximo);
                    currentLimite++;
                }
                
                // Destroy(gameObject);
            }

            Reaparece = true;
        }

        if (Reaparece)
        {
            TiempoReaparece2 -= Time.deltaTime;
            if (TiempoReaparece2 <= 0)
            {
                Salud2 = Salud;
                gameObject.GetComponent<BoxCollider>().enabled = true;
                gameObject.GetComponent<MeshRenderer>().enabled = true;
                TiempoReaparece2 = TiempoReaparece;
                Reaparece = false;
            }

        }
    }
}
Eu simplesmente tentei colocar um limite de vezes que ele pode instanciar, tenta ver se funciona
avatar
Goustkor
MembroAvançado

Posts : 50
Pontos : 728
Reputação : 18
Registro : 01/09/2016
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: [AJUDA] Drop infinito xD

Mensagem por WiredD em Sab Set 10, 2016 3:58 pm

@Goustkor escreveu:
Código:
using UnityEngine;
using System.Collections;

public class Pedras : MonoBehaviour
{

    public float Salud;
    [HideInInspector]
    public float Salud2 = 10;
    [Header("Distancia Maxima Causa Dano")]
    public float MaxDis = 2;
    public GameObject[] Rocas;
    [Header("Tempo Respawn Pedra")]
    public float TiempoReaparece = 5;
    [HideInInspector]
    public float TiempoReaparece2 = 5;
    [Header("Stacks aleatorios")]
    public int Minimo = 1;
    public int Maximo = 5;
    private Camera camara;
    private bool Reaparece;
    [Header("Danos E Player")]
    public float danTotal;

    public int limite = 1, currentLimite;

    // Use this for initialization
    void Start()
    {
        camara = GameObject.FindWithTag("MainCamera").GetComponent<Camera>();
        danTotal = 20;
    }

    // Update is called once per frame
    void Update()
    {
        Ray ray = camara.ViewportPointToRay(new Vector3(0.5F, 0.5F, 0));
        RaycastHit hit;
        if (Physics.Raycast(ray, out hit, MaxDis))
        {
            if (hit.collider.gameObject == gameObject)
            {
                if (Input.GetKey("e"))
                {
                    Salud2 -= danTotal * Time.deltaTime;
                }
            }
        }


        if (Salud2 <= 0.5f && !Reaparece)
        {
            gameObject.GetComponent<BoxCollider>().enabled = false;
            gameObject.GetComponent<MeshRenderer>().enabled = false;
            foreach (GameObject Roca in Rocas)
            {
                if (currentLimite < limite)
                {
                    GameObject Clon = Instantiate(Roca, transform.position + transform.up * Random.Range(1, 5), transform.rotation) as GameObject;
                    Clon.GetComponent<Stacks>().Stack = Random.Range(Minimo, Maximo);
                    currentLimite++;
                }
                
                // Destroy(gameObject);
            }

            Reaparece = true;
        }

        if (Reaparece)
        {
            TiempoReaparece2 -= Time.deltaTime;
            if (TiempoReaparece2 <= 0)
            {
                Salud2 = Salud;
                gameObject.GetComponent<BoxCollider>().enabled = true;
                gameObject.GetComponent<MeshRenderer>().enabled = true;
                TiempoReaparece2 = TiempoReaparece;
                Reaparece = false;
            }

        }
    }
}
Eu simplesmente tentei colocar um limite de vezes que ele pode instanciar, tenta ver se funciona

Funcionou não como pode ver aqui:



E agora deu o erro na mesma linha também xD

Erro: 

Pedras.Update () (at Assets/Scripts/Recursos/Pedras.cs:60)

If com o erro:

Código:
      if (Salud2 <= 0.5f && !Reaparece)
      {
         gameObject.GetComponent<BoxCollider>().enabled = false;
         gameObject.GetComponent<MeshRenderer>().enabled = false;
         foreach (GameObject Roca in Rocas)
         {
            if (currentLimite < limite)
            {
               GameObject Clon = Instantiate(Roca, transform.position + transform.up * Random.Range(1, 5), transform.rotation) as GameObject;
               Clon.GetComponent<Stacks>().Stack = Random.Range(Minimo, Maximo);
               currentLimite++;
            }

            // Destroy(gameObject);
         }

         Reaparece = true;
      }

Nesta linha:

Clon.GetComponent().Stack = Random.Range(Minimo, Maximo);
avatar
WiredD
Membro Junior
Membro Junior

Posts : 127
Pontos : 980
Reputação : 14
Registro : 25/04/2016
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: [AJUDA] Drop infinito xD

Mensagem por WiredD em Dom Set 11, 2016 10:10 pm

up
avatar
WiredD
Membro Junior
Membro Junior

Posts : 127
Pontos : 980
Reputação : 14
Registro : 25/04/2016
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: [AJUDA] Drop infinito xD

Mensagem por MarcosSchultz em Dom Set 11, 2016 11:10 pm

O erro é que você não está conseguindo se comunicar com o script "Stacks". Você tem um script em cena com este nome exatamente?

se tiver, poderia postá-lo?
avatar
MarcosSchultz
Administrador

Masculino Posts : 5832
Pontos : 10574
Reputação : 1902
Registro : 19/09/2014
Idade : 21
Áreas de atuação : Administrador do fórum
Respeito as regras :

Ver perfil do usuário http://www.schultzgames.com

Voltar ao Topo Ir em baixo

DÚVIDA Re: [AJUDA] Drop infinito xD

Mensagem por WiredD em Dom Set 11, 2016 11:39 pm

@MarcosSchultz escreveu:O erro é que você não está conseguindo se comunicar com o script "Stacks". Você tem um script em cena com este nome exatamente?

se tiver, poderia postá-lo?


xD

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

public class Stacks : MonoBehaviour {

   public int Stack;
   
}

Ele só guarda um valor int da variable Stacks
avatar
WiredD
Membro Junior
Membro Junior

Posts : 127
Pontos : 980
Reputação : 14
Registro : 25/04/2016
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: [AJUDA] Drop infinito xD

Mensagem por MarcosSchultz em Dom Set 11, 2016 11:56 pm

o objeto "Roca" que você instancia, possui em si um script "Stacks" linkado?
avatar
MarcosSchultz
Administrador

Masculino Posts : 5832
Pontos : 10574
Reputação : 1902
Registro : 19/09/2014
Idade : 21
Áreas de atuação : Administrador do fórum
Respeito as regras :

Ver perfil do usuário http://www.schultzgames.com

Voltar ao Topo Ir em baixo

DÚVIDA Re: [AJUDA] Drop infinito xD

Mensagem por WiredD em Seg Set 12, 2016 12:37 am

@MarcosSchultz escreveu:o objeto "Roca" que você instancia, possui em si um script "Stacks" linkado?


Sim xD

Porem ela esta agora dropando apenas 1 mesmo modificando as int do stacks.cs, sabe qual o motivo?
avatar
WiredD
Membro Junior
Membro Junior

Posts : 127
Pontos : 980
Reputação : 14
Registro : 25/04/2016
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: [AJUDA] Drop infinito xD

Mensagem por MarcosSchultz em Qua Set 14, 2016 4:12 pm

OK, então agora parou de dar o erro? ou continua dando o erro na mesma linha?
avatar
MarcosSchultz
Administrador

Masculino Posts : 5832
Pontos : 10574
Reputação : 1902
Registro : 19/09/2014
Idade : 21
Áreas de atuação : Administrador do fórum
Respeito as regras :

Ver perfil do usuário http://www.schultzgames.com

Voltar ao Topo Ir em baixo

DÚVIDA Re: [AJUDA] Drop infinito xD

Mensagem por WiredD em Qua Set 14, 2016 4:17 pm

@MarcosSchultz escreveu:OK, então agora parou de dar o erro? ou continua dando o erro na mesma linha?

Parou o erro, porem agora só dropa 1 mesmo mudando o stack do item
avatar
WiredD
Membro Junior
Membro Junior

Posts : 127
Pontos : 980
Reputação : 14
Registro : 25/04/2016
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: [AJUDA] Drop infinito xD

Mensagem por MarcosSchultz em Qua Set 14, 2016 4:34 pm

Pelo que eu vi, o instantiate é feito somente uma vez... e isto dentro do foreach das rochas... então se você só tiver uma rocha linkada, ela será instanciada apenas uma vez.

teria que fazer um for para instanciar várias.
avatar
MarcosSchultz
Administrador

Masculino Posts : 5832
Pontos : 10574
Reputação : 1902
Registro : 19/09/2014
Idade : 21
Áreas de atuação : Administrador do fórum
Respeito as regras :

Ver perfil do usuário http://www.schultzgames.com

Voltar ao Topo Ir em baixo

DÚVIDA Re: [AJUDA] Drop infinito xD

Mensagem por WiredD em Qua Set 14, 2016 4:51 pm

@MarcosSchultz escreveu:Pelo que eu vi, o instantiate é feito somente uma vez... e isto dentro do foreach das rochas... então se você só tiver uma rocha linkada, ela será instanciada apenas uma vez.

teria que fazer um for para instanciar várias.

Entendi, e como posso fazer isso?
avatar
WiredD
Membro Junior
Membro Junior

Posts : 127
Pontos : 980
Reputação : 14
Registro : 25/04/2016
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: [AJUDA] Drop infinito xD

Mensagem por MarcosSchultz em Sab Set 17, 2016 12:55 am

Tente isto:

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

public class Pedras : MonoBehaviour
{

   public float Salud;
   [HideInInspector]
   public float Salud2 = 10;
   [Header("Distancia Maxima Causa Dano")]
   public float MaxDis = 2;
   public GameObject[] Rocas;
   [Header("Tempo Respawn Pedra")]
   public float TiempoReaparece = 5;
   [HideInInspector]
   public float TiempoReaparece2 = 5;
   [Header("Stacks aleatorios")]
   public int Minimo = 1;
   public int Maximo = 5;
   private Camera camara;
   private bool Reaparece;
   [Header("Danos E Player")]
   public float danTotal;

   public int limite = 1, currentLimite;

   public int numeroDePedras = 10;
   // Use this for initialization
   void Start()
   {
      camara = GameObject.FindWithTag("MainCamera").GetComponent<Camera>();
      danTotal = 20;
   }

   // Update is called once per frame
   void Update()
   {
      Ray ray = camara.ViewportPointToRay(new Vector3(0.5F, 0.5F, 0));
      RaycastHit hit;
      if (Physics.Raycast(ray, out hit, MaxDis))
      {
         if (hit.collider.gameObject == gameObject)
         {
            if (Input.GetKey("e"))
            {
               Salud2 -= danTotal * Time.deltaTime;
            }
         }
      }


      if (Salud2 <= 0.5f && !Reaparece)
      {
         gameObject.GetComponent<BoxCollider>().enabled = false;
         gameObject.GetComponent<MeshRenderer>().enabled = false;
         foreach (GameObject Roca in Rocas)
         {
            if (currentLimite < limite)
            {
               for (int x = 0; x < numeroDePedras; x++) {
                  GameObject Clon = Instantiate (Roca, transform.position + transform.up * Random.Range (1, 5), transform.rotation) as GameObject;
                  Clon.GetComponent<Stacks>().Stack = Random.Range(Minimo, Maximo);
                  currentLimite++;
               }
            }

            // Destroy(gameObject);
         }

         Reaparece = true;
      }

      if (Reaparece)
      {
         TiempoReaparece2 -= Time.deltaTime;
         if (TiempoReaparece2 <= 0)
         {
            Salud2 = Salud;
            gameObject.GetComponent<BoxCollider>().enabled = true;
            gameObject.GetComponent<MeshRenderer>().enabled = true;
            TiempoReaparece2 = TiempoReaparece;
            Reaparece = false;
         }

      }
   }
}
avatar
MarcosSchultz
Administrador

Masculino Posts : 5832
Pontos : 10574
Reputação : 1902
Registro : 19/09/2014
Idade : 21
Áreas de atuação : Administrador do fórum
Respeito as regras :

Ver perfil do usuário http://www.schultzgames.com

Voltar ao Topo Ir em baixo

DÚVIDA Re: [AJUDA] Drop infinito xD

Mensagem por WiredD em Sab Set 17, 2016 10:35 am

@MarcosSchultz escreveu:Tente isto:

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

public class Pedras : MonoBehaviour
{

 public float Salud;
 [HideInInspector]
 public float Salud2 = 10;
 [Header("Distancia Maxima Causa Dano")]
 public float MaxDis = 2;
 public GameObject[] Rocas;
 [Header("Tempo Respawn Pedra")]
 public float TiempoReaparece = 5;
 [HideInInspector]
 public float TiempoReaparece2 = 5;
 [Header("Stacks aleatorios")]
 public int Minimo = 1;
 public int Maximo = 5;
 private Camera camara;
 private bool Reaparece;
 [Header("Danos E Player")]
 public float danTotal;

 public int limite = 1, currentLimite;

 public int numeroDePedras = 10;
 // Use this for initialization
 void Start()
 {
 camara = GameObject.FindWithTag("MainCamera").GetComponent<Camera>();
 danTotal = 20;
 }

 // Update is called once per frame
 void Update()
 {
 Ray ray = camara.ViewportPointToRay(new Vector3(0.5F, 0.5F, 0));
 RaycastHit hit;
 if (Physics.Raycast(ray, out hit, MaxDis))
 {
 if (hit.collider.gameObject == gameObject)
 {
 if (Input.GetKey("e"))
 {
 Salud2 -= danTotal * Time.deltaTime;
 }
 }
 }


 if (Salud2 <= 0.5f && !Reaparece)
 {
 gameObject.GetComponent<BoxCollider>().enabled = false;
 gameObject.GetComponent<MeshRenderer>().enabled = false;
 foreach (GameObject Roca in Rocas)
 {
 if (currentLimite < limite)
 {
 for (int x = 0; x < numeroDePedras; x++) {
 GameObject Clon = Instantiate (Roca, transform.position + transform.up * Random.Range (1, 5), transform.rotation) as GameObject;
 Clon.GetComponent<Stacks>().Stack = Random.Range(Minimo, Maximo);
 currentLimite++;
 }
 }

 // Destroy(gameObject);
 }

 Reaparece = true;
 }

 if (Reaparece)
 {
 TiempoReaparece2 -= Time.deltaTime;
 if (TiempoReaparece2 <= 0)
 {
 Salud2 = Salud;
 gameObject.GetComponent<BoxCollider>().enabled = true;
 gameObject.GetComponent<MeshRenderer>().enabled = true;
 TiempoReaparece2 = TiempoReaparece;
 Reaparece = false;
 }

 }
 }
}

Marcos, quando quebro a primeira pedra ele dropa o valor de pedras setados corretamente, mais depois quando ela respawna, ele já não dropa mais nenhuma quando quebro a mesma
avatar
WiredD
Membro Junior
Membro Junior

Posts : 127
Pontos : 980
Reputação : 14
Registro : 25/04/2016
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: [AJUDA] Drop infinito xD

Mensagem por MarcosSchultz em Ter Set 20, 2016 12:58 am

Cara, eu precisaria ver como você está montando este projeto... como é feito esse spawn e o que está interferindo.
avatar
MarcosSchultz
Administrador

Masculino Posts : 5832
Pontos : 10574
Reputação : 1902
Registro : 19/09/2014
Idade : 21
Áreas de atuação : Administrador do fórum
Respeito as regras :

Ver perfil do usuário http://www.schultzgames.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