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 Very Happy
TÓPICOS RECENTES:
Tópico:
Postado em:
Postado por:
Como locomover um trem
Unity Ads ou AdMob!
Como fazer Escudo seguir a movimentação do Player?
Como não perder qualidade nas texturas 2d?
IDB JAM #10
Formação De Equipe Pra Criar RPG
MOVIMENTAÇÃO EM 8 DIREÇÕES.
animações não sendo reproduzidas
Seguir um raio no raycast a partir do ponto da tela clicado
Building System
Adicionar linhas no TXT pelo codigo
Personagem morrer ao cair da tela
Deixar objeto invisível.
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
Divulgaçao de Battle of Worlds
[Resolvido]Problema nesse pequeno script
Como fazer barco estilo minecraft ou estilo navio que da pra andar dentro
[TUTORIAL] Sistema de inventário Sobrevivência
Movimentação
Puzzle para jogo de terror , abrir portas etc..
Script para mudar posição do personagem
Baixos Brasil - Jogo de Carro Brasileiro!
Como saber quando minha animação terminou?
system inventory , craft
ajuda
Aplicar roupa no Rig do blender...
Project Valley of Trees - Primeiro nome que faz sentido KK
A.S TRUCK
Som de correr não para de tocar
Reproduzir audio no if c## e musica continuar tocando entre cenas.
Como Colocar Pontuação Final na GUI de GAME OVER
Unity 2017 Iluminação RealTime VS Baked [Comparaçâo]
DUVIDA : Raycast
Programador para equipe
Da pra colocar sisteminha em um jogo da unity pra trolar quem for piratear o jogo?
Como colocar musicas em sequencia para tocar?
Trajetória da bala com predição
Ajudinha com Bug
[RESOLVIDO] Poblema com Rigidbody
[DEVLOG] Projeto - Girl Blade (download Pré-Alpha)
Erro ao bulidar para Windows(.exe)
Mudar a gravidade com rotação (sensores do smartphone)
Problemas na detecção de colisão
Trabalhar simultaneamente na Unity
Movimetaçao infinita
(duvida)pq isso acontece com o inimigo?
[TUTORIAL] Unity 5 - Wheel Collider, veículos, suspensão realista.
[DUVIDA] Como alterar a intensidade do ChromaticAberration do PostProcessing?
Joystick VR não funciona no ios
Problema na minha animação feita na Unity
[TUTORIAL] Unity 5 - Como criar o próprio FPS Controller
IA para inimigo seguir o jogador ( Plataforma )
Tirar Fotos no Unity 5 FPS
[TUTORIAL] Cena inicial de CARREGAMENTO, creditos, logo, etc [UNITY 5]
Como Limitar Spawn de Hordas
Desmembramento
Exemplo de UI com abas - utilizando toggles e toggle group.
Ajuda Blender
Quando Instancio botão ele não aparece no canvas
Sistema de pesca 2D
[TUTORIAL] Derrubar arvores e dropar madeiras dela
Auto-Complete do Visual Studios
Metroidvania - procuro membros
Criação de Update para Seus jogos?
Blender, animação + Unity
Preciso de alguém que desenvolva Craft, e Inventario com sistema de Bolsas, Pago bem
Detectar Hit
[MODELADOR] Procurando Projetos
Carákas que Tops WO.OW
Anexar GameObject por scrit
Como cria um sistema de seve game
[DUVIDA] Trocar botoes no teclado por joystick UI
Efeito de Audio
Bug de sumir todas as modelagens 3D na unity 2017
Quero fazer minha propria lens flare
Menu para selecao de cena
Dificuldades com programação no Unity 5 2D
Bug ? offline e online
Conflito de ações HELP
como saber a posição que a particula bateu?
Formação de Equipe Battle of Worlds
[JOGO EM BETA] Batalha de Canhão
Jogo de sobrevivência na ilha PRE-Alpha
Inimigo ao encostar morre e player leva dano UNITY 5 2D
Como faço blocos que somem so clikando neles 1 vez?
Light Bug
Como criar inventário simples no unity
Como fasso para que clico em um botao e aumente o volume junto com grave em uma musica?
como que criar um sitema tipo o do rocket league
tem como criar um modelo no sketchup e exportar pra unity, mas sem os componentes
(duvida)pq aconteçe isso com a luz
Como posso deixar o MENU do meu jogo adequado ao monitor?
Dúvida com o Update
Como eu realizo um inimigo que atira(tipo os inimigos do Warface)?
Bug Chato
Particulas de poeira
Faltando algumas opções no Unity
Audio Player C#
volume do som de acordo com distancia
Hoje à(s) 1:07 am
Hoje à(s) 12:05 am
Hoje à(s) 12:04 am
Ontem à(s) 11:07 pm
Ontem à(s) 9:27 pm
Ontem à(s) 9:14 pm
Ontem à(s) 7:22 pm
Ontem à(s) 7:17 pm
Ontem à(s) 6:01 pm
Ontem à(s) 5:55 pm
Ontem à(s) 3:21 pm
Ontem à(s) 9:57 am
Ontem à(s) 7:07 am
Ontem à(s) 12:13 am
Ter Set 19, 2017 11:53 pm
Ter Set 19, 2017 10:15 pm
Ter Set 19, 2017 9:12 pm
Ter Set 19, 2017 9:00 pm
Ter Set 19, 2017 8:34 pm
Ter Set 19, 2017 7:40 pm
Ter Set 19, 2017 4:29 pm
Ter Set 19, 2017 12:25 pm
Ter Set 19, 2017 12:14 pm
Ter Set 19, 2017 10:55 am
Ter Set 19, 2017 10:26 am
Ter Set 19, 2017 8:21 am
Ter Set 19, 2017 2:42 am
Seg Set 18, 2017 10:20 pm
Seg Set 18, 2017 9:16 pm
Seg Set 18, 2017 8:40 pm
Seg Set 18, 2017 8:39 pm
Seg Set 18, 2017 8:08 pm
Seg Set 18, 2017 4:33 pm
Seg Set 18, 2017 2:22 pm
Seg Set 18, 2017 12:15 pm
Seg Set 18, 2017 9:33 am
Seg Set 18, 2017 8:21 am
Seg Set 18, 2017 12:59 am
Dom Set 17, 2017 5:04 pm
Dom Set 17, 2017 3:45 pm
Dom Set 17, 2017 10:49 am
Sab Set 16, 2017 11:18 pm
Sab Set 16, 2017 5:57 pm
Sab Set 16, 2017 4:10 pm
Sab Set 16, 2017 3:05 pm
Sab Set 16, 2017 2:23 pm
Sab Set 16, 2017 12:40 pm
Sab Set 16, 2017 12:16 pm
Sab Set 16, 2017 10:17 am
Sab Set 16, 2017 9:53 am
Sab Set 16, 2017 9:26 am
Sab Set 16, 2017 9:10 am
Sex Set 15, 2017 11:51 pm
Sex Set 15, 2017 8:27 pm
Sex Set 15, 2017 7:27 pm
Sex Set 15, 2017 6:17 pm
Sex Set 15, 2017 3:08 pm
Sex Set 15, 2017 11:19 am
Sex Set 15, 2017 9:43 am
Qui Set 14, 2017 11:50 pm
Qui Set 14, 2017 9:08 pm
Qui Set 14, 2017 3:17 pm
Qui Set 14, 2017 1:55 pm
Qui Set 14, 2017 12:13 pm
Qui Set 14, 2017 10:07 am
Qua Set 13, 2017 9:52 pm
Qua Set 13, 2017 11:34 am
Ter Set 12, 2017 10:33 pm
Ter Set 12, 2017 10:21 pm
Ter Set 12, 2017 9:34 pm
Ter Set 12, 2017 8:52 pm
Ter Set 12, 2017 8:51 pm
Ter Set 12, 2017 7:05 pm
Ter Set 12, 2017 6:53 pm
Ter Set 12, 2017 6:51 pm
Ter Set 12, 2017 3:04 pm
Ter Set 12, 2017 2:04 pm
Ter Set 12, 2017 11:54 am
Ter Set 12, 2017 9:59 am
Ter Set 12, 2017 9:43 am
Ter Set 12, 2017 12:17 am
Seg Set 11, 2017 8:54 pm
Seg Set 11, 2017 8:48 pm
Seg Set 11, 2017 8:12 pm
Seg Set 11, 2017 7:18 pm
Seg Set 11, 2017 6:15 pm
Seg Set 11, 2017 6:02 pm
Seg Set 11, 2017 5:31 pm
Seg Set 11, 2017 5:22 pm
Seg Set 11, 2017 5:06 pm
Seg Set 11, 2017 4:53 pm
Seg Set 11, 2017 4:17 pm
Seg Set 11, 2017 4:15 pm
Seg Set 11, 2017 4:14 pm
Seg Set 11, 2017 3:54 pm
Seg Set 11, 2017 3:53 pm
Seg Set 11, 2017 3:51 pm
Seg Set 11, 2017 11:42 am
Seg Set 11, 2017 3:13 am
andreoliveira122010
artplayer
RobinF
JorgeLuizxd
dimmuo
jelds
Weslley
Phph09
Weslley
Weslley
Weslley
Bruno
GabriG07
Dom3000
Dom3000
g
Weslley
Phph09
Weslley
Zecandy
Weslley
Duarte
artplayer
PatifeCraft
Lteo
Fagner
Madness
PatifeCraft
dstaroski
eduu10
JorgeLuizxd
MateusWTP
Weslley
Brunotrinkss
guimaraf
Weslley
guimaraf
ManoTrevor
PedroL123
dstaroski
GabriG07
Brgs886
Madness
Fagner
PedroL123
glauco
Callyde Jr
JorgeLuizxd
Henrique Ramires
Weslley
Weslley
Weslley
Weslley
Weslley
Weslley
916anderson
rafaelllsd
Fagner
Fagner
rafaelllsd
PatifeCraft
Weslley
Carlin
artplayer
Ronnisz
Jhonatham1
Callyde Jr
mrariel2011
AndyShow
Fagner
PatifeCraft
Alerson Software
AndyShow
AndyShow
AndyShow
Alessandra Matheus
Lteo
Callyde Jr
Weslley
Dom3000
Dom3000
dstaroski
dstaroski
guilhermeprata
DUT
Duarte
PatifeCraft
heliab125
MarcosSchultz
MarcosSchultz
glauco
MarcosSchultz
MarcosSchultz
lantreco
MarcosSchultz
MarcosSchultz
MarcosSchultz
Weslley
Encracker

[AJUDA] Drop infinito xD

Ver o tópico anterior Ver o tópico seguinte 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
Avançado
Avançado

PONTOS : 707
REPUTAÇÃO : 14
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
Membro
Membro

PONTOS : 421
REPUTAÇÃO : 8
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
Avançado
Avançado

PONTOS : 707
REPUTAÇÃO : 14
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
Avançado
Avançado

PONTOS : 707
REPUTAÇÃO : 14
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 PONTOS : 9667
REPUTAÇÃO : 1664
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
Avançado
Avançado

PONTOS : 707
REPUTAÇÃO : 14
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 PONTOS : 9667
REPUTAÇÃO : 1664
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
Avançado
Avançado

PONTOS : 707
REPUTAÇÃO : 14
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 PONTOS : 9667
REPUTAÇÃO : 1664
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
Avançado
Avançado

PONTOS : 707
REPUTAÇÃO : 14
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 PONTOS : 9667
REPUTAÇÃO : 1664
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
Avançado
Avançado

PONTOS : 707
REPUTAÇÃO : 14
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 PONTOS : 9667
REPUTAÇÃO : 1664
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
Avançado
Avançado

PONTOS : 707
REPUTAÇÃO : 14
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 PONTOS : 9667
REPUTAÇÃO : 1664
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

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

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