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 POSSO FAZER UMA FÍSICA PARA MOTOS NO UNITY?
ANIMAÇÃO DA ARMA
Como Atacar usando uma espada na Mão!!
Inimigo perder vida
Batalha de Canhão
[TUTORIAL] Como programar um VOLANTE para veículos
AGRADECIMENTOS <3 <3
AGRADECIMENTOS
JOGO DE SOBREVIVÊNCIA (Iniciantes)
[____TÓPICO LIVRE____] FALE O QUE QUISER
VIRTUAL VOID
portais ajuda
jogo 3D como fazer o personagem...
[TUTORIAL] Objeto flutuar como se estivesse no espaço ou na água
Material
Previsão de destino com Rigidbody.AddForce (Jogo de Futebol)
Ajuda com scripts
[Modelo 3D]Unity Interior 3D Estilo De Terror + Download Grátis
FÍSICA DE UM CARRO PARA JOGO EM 2D
Fazer objeto preview andar de gridsize em gridsize
Acionar funções com button ?
-- [ COMO FAÇO PARA DESATIVAR UM UI DEPOIS DE +/-, 3 SEGUNDOS ? ] --
FORMAÇÃO DE EQUIPE - JOGO Puzzle/Plataforma
Home Simulator 2017 (Estilo The Sims em 1ª Pessoa) (Download Grátis) v1.0.2
Problema no checkpoint
Photon Network
IA zumbie veloz de mais
sistema de Entrar/Sair de veículos em Network (Photon Unity Networking)
Raycast Sol
[Script] Sistema de headshot estilo sniper elite [BÁSICO]
Foice gigante
Meus modelos 3D em fase de experimento
SITE MODELOS 3D PARA USO COMERCIAL
Instanciar objetos aonde mira
Fazer o player abrir caixas
Rotaçao de um objeto e paralizaçao de seu "filho" na hierarquia(Unity 2D)
ATUALIZAÇÃO - Joguem meu jogo [Aircraft - Space Guardian] Please !!
meu jogo feito na unity
Como otimizar meu game para android?
[RESOLVIDO] INSTANCIAR PARTICULAS
Como fazer o canvas se ajusta com o tamanho da tela?
Destruir objeto depois da animação
Sistema de marcha de carro
(Duvida) Camera Seguir Player...
[DUVIDA] "encostar" em um GameObject e Tomar Dano
TOP SECRET - Programador iniciante com experiencia em 2D
Dúvida sobre multiplayer!
PARTICULAS PLAY/STOP
ABRIR E FECHAR PORTA!
[TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)
Criação de uma mensagem notificação em objeto 3d no unity
Fazer a camera seguir o personagem porem quando ela chegar na parede ela pare de se movimenta
Tocar som ao andar.
Verificar se é a primeira vez que joga
COMO POSSO FAZER O INIMIGO MORRER COM TIRO?
Unity Microfone
OBJETO GIRAR QUANDO ARRASTAR O MOUSE
disolver/ desintegrar um objeto
BARRINHA PARA REBAIXAR O CARRO!
Chamar Metodo
Gerador de códigos
Duvida sobre patrulha aleatória
[TUTORIAL] Ligar e Desligar Lanterna
[TUTORIAL] ARMA NO UNITY 3D
SOM DO TIRO
Como usar uma animação de uma arma animada na Unity...
[Tutorial] Porta ativada por alavanca
MIRA PARA JOGO DE FPS ESTILO CSGO
Game Resistência
Parede ocas
Modificar uma barrinha!
[Quase Pronto] Survival Block. Testem e mandem os bugs pra mim.
[ME AJUDA] O player não se movimenta...
SIRENE ESTILO POLÍCIA MILITAR
Movimentaçao player
Cena Loading para carregar proximo Level
MUDAR FLOAT NO FIM DE UMA ANIMAÇÃO
RagDoll + Download Free -- feito por um gringo
[TUTORIAL] Criar Analógico Virtual UI Para Mobile.
[AJUDA] Cronometro
[PEDIDO] Designers ou Entendedores (Capa,Menu e ToolTip) 3 Imagens
[RESOLVIDO] Publicando Apk Parte 2
[TUTORIAL] IA Simples
[TUTORIAL] Ajustar o Brilho do LensFlare de Acordo com a Distância
CONTROLE ARCADE PARA JOGO DE CORRIDA
[TUTORIAL] IA Simples Parte 2 (Atirar)
[DEMO] Survival Block
Aprimoramento IA Inimiga
[RESOLVIDO] Camera Collider
Todos os inimigos morrem
Canal de tutoriais android
Area Para modeladores
Inimigo ao seguir flutua [ajuda]
[TUTORIAL] Sistema de tiro com RAYCAST (várias armas, mira laser, munição, dano, etc, etc)
Demo de jogo para testarem...
[TUTORIAL] Fazer um VOLANTE com UI, para Android
[DUVIDA] Como destruir um GameObject (cubo etc...) sem destruir seus "afilhados"
[Duvida] Como fazer uma luz se desativar ao ficar longe dela
[TUTORIAL] Inteligência artificial, inimigo e AIPoints
Hoje à(s) 10:58 pm
Hoje à(s) 10:57 pm
Hoje à(s) 10:53 pm
Hoje à(s) 10:19 pm
Hoje à(s) 9:13 pm
Hoje à(s) 8:24 pm
Hoje à(s) 7:27 pm
Hoje à(s) 7:03 pm
Hoje à(s) 5:57 pm
Hoje à(s) 4:41 pm
Hoje à(s) 4:19 pm
Hoje à(s) 2:19 pm
Hoje à(s) 1:21 pm
Hoje à(s) 1:17 pm
Hoje à(s) 1:10 pm
Hoje à(s) 12:34 am
Ontem à(s) 11:46 pm
Ontem à(s) 10:55 pm
Ontem à(s) 10:29 pm
Ontem à(s) 7:39 pm
Ontem à(s) 6:54 pm
Ontem à(s) 6:45 pm
Ontem à(s) 5:44 pm
Ontem à(s) 5:29 pm
Ontem à(s) 5:14 pm
Ontem à(s) 5:02 pm
Ontem à(s) 2:02 pm
Ontem à(s) 1:49 pm
Ontem à(s) 1:40 pm
Ontem à(s) 1:38 pm
Ontem à(s) 12:00 pm
Ontem à(s) 12:00 am
Seg Mar 27, 2017 11:46 pm
Seg Mar 27, 2017 10:30 pm
Seg Mar 27, 2017 10:05 pm
Seg Mar 27, 2017 8:52 pm
Seg Mar 27, 2017 8:01 pm
Seg Mar 27, 2017 7:32 pm
Seg Mar 27, 2017 6:33 pm
Seg Mar 27, 2017 3:57 pm
Seg Mar 27, 2017 3:39 pm
Seg Mar 27, 2017 1:42 pm
Seg Mar 27, 2017 12:13 pm
Seg Mar 27, 2017 6:41 am
Dom Mar 26, 2017 7:04 pm
Dom Mar 26, 2017 1:58 pm
Dom Mar 26, 2017 1:34 pm
Dom Mar 26, 2017 1:13 pm
Dom Mar 26, 2017 10:43 am
Dom Mar 26, 2017 1:37 am
Dom Mar 26, 2017 12:53 am
Dom Mar 26, 2017 12:52 am
Dom Mar 26, 2017 12:49 am
Dom Mar 26, 2017 12:46 am
Dom Mar 26, 2017 12:45 am
Dom Mar 26, 2017 12:34 am
Dom Mar 26, 2017 12:30 am
Dom Mar 26, 2017 12:20 am
Dom Mar 26, 2017 12:15 am
Dom Mar 26, 2017 12:05 am
Sab Mar 25, 2017 11:59 pm
Sab Mar 25, 2017 11:58 pm
Sab Mar 25, 2017 8:59 pm
Sab Mar 25, 2017 6:50 pm
Sab Mar 25, 2017 3:37 pm
Sab Mar 25, 2017 1:51 am
Sab Mar 25, 2017 1:31 am
Sex Mar 24, 2017 8:54 pm
Sex Mar 24, 2017 8:05 pm
Sex Mar 24, 2017 7:43 pm
Sex Mar 24, 2017 7:18 pm
Sex Mar 24, 2017 6:52 pm
Sex Mar 24, 2017 6:48 pm
Sex Mar 24, 2017 3:46 pm
Sex Mar 24, 2017 1:50 pm
Sex Mar 24, 2017 12:29 pm
Qui Mar 23, 2017 6:55 pm
Qui Mar 23, 2017 4:50 pm
Qui Mar 23, 2017 4:38 pm
Qui Mar 23, 2017 4:33 pm
Qui Mar 23, 2017 12:46 pm
Qui Mar 23, 2017 8:56 am
Qua Mar 22, 2017 7:47 pm
Qua Mar 22, 2017 7:35 pm
Qua Mar 22, 2017 7:30 pm
Qua Mar 22, 2017 3:28 pm
Ter Mar 21, 2017 11:50 pm
Ter Mar 21, 2017 10:14 pm
Ter Mar 21, 2017 6:08 pm
Ter Mar 21, 2017 5:00 pm
Ter Mar 21, 2017 3:22 pm
Ter Mar 21, 2017 3:08 pm
Ter Mar 21, 2017 2:13 pm
Ter Mar 21, 2017 10:53 am
Ter Mar 21, 2017 10:13 am
Ter Mar 21, 2017 12:26 am
Ter Mar 21, 2017 12:10 am
Ter Mar 21, 2017 12:09 am
Ter Mar 21, 2017 12:05 am
Gabriel César O
Gabriel César O
PauloFR
willtuck
PauloFR
HeF Soft
Gabriel César O
Junim
MikaelSteam
heliab125
weslleyFx
bielmol
rafaelllsd
rafaelllsd
rafaelllsd
artplayer
willtuck
MateusWTP
Gabriel César O
hackernew404
wender
wender
MikaelSteam
zZAndersonZz
Jogos mini
wender
Callyde Jr
LegendGames
lucasfera15
dstaroski
Mic4el
joabr
joabr
hackernew404
rafaelllsd
niao
Junim
hackernew404
PauloFR
Junim
Callyde Jr
rafaelllsd
PauloFR
Édipo
DuViDoSo34
masterjohn12
artplayer
Junim
Gabriel César O
Atiradogamer
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
wender
MarcosSchultz
MarcosSchultz
MarcosSchultz
MateusWTP
Gabriel César O
Gabriel César O
Sheyk
PauloFR
Gabriel César O
Weverton Borges da Silva
maikonluis
HeF Software
Junim
Junim
wender
bravoent
Marc7
rafaelllsd
MateusWTP
Gabriel César O
Gabriel César O
Madness
Paizudo
Gabriel César O
AnderGames
Gabriel César O
Matrirxp
rafaelllsd
Matrirxp
ffabim
rafaelllsd
MikaelSteam
PauloFR
bravoent
DuViDoSo34
Édipo
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz

[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 : 523
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 : 246
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 : 523
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 : 523
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 : 8132
REPUTAÇÃO : 1146
Idade : 20
Á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 : 523
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 : 8132
REPUTAÇÃO : 1146
Idade : 20
Á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 : 523
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 : 8132
REPUTAÇÃO : 1146
Idade : 20
Á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 : 523
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 : 8132
REPUTAÇÃO : 1146
Idade : 20
Á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 : 523
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 : 8132
REPUTAÇÃO : 1146
Idade : 20
Á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 : 523
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 : 8132
REPUTAÇÃO : 1146
Idade : 20
Á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