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:
Erro com script de movimentação do carro usando o wheel collider
[ AJUDA] Estou com problemas para acessar índice de uma Lista e realizar uma acao
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
Procuro modelador para projeto similar à My summer Car
[TUTORIAL] Inimigo seguir e atacar Player ao encostar
Random sem repetir a palavra
[PEDIDO] Gostaria que avaliaçe meu Cenario LOW POLY
Script + Direção
DÚVIDA NAVMESH...
Ajuda com scripts de inimigo e player'' interação de zumbi e player''
Script receber uma variável
Alguma alternativa para os JOINT do unity
Animacao da M16
Desejo participar de um projeto de terror
Google Developer aceita cartão nacional?
ESSE CARA JOGA MUITO! [CS:GO]
Receber tiro(animação)
Transformar velocidade em forca
[TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso
(Dúvida) Wheel Joint 2D Rodas saindo do pivo
Menu
Precisamos de Modeladores e Animadores 3D
Dúvida sobre terrenos em 3D
Importar imagem animada do After Affects para Unity
Pontos luminosos em objeto 3D
[TUTORIAL] FAZENDO UM SITE PROFISSIONAL COMPLETO PARA SEU JOGO GRATIS
COMO POSSO COLOCAR A CHUVA NO CENARIO TODO E FAZER COLIDIR
[TUTORIAL] MOVIMENTO NA ARMA PARA FICAR MAIS REAL!
[Duvida]Relacionada a RayCast
Ajuda com Script
[Duvida] Problema em relação ao transform.rotate
[____APOIE O FÓRUM E O CANAL E GANHE RECOMPENSAS____]
Error No Console
Ponto na tela
OBJETO INSTANCIANDO EM POSIÇÃO ERRADA
Sombra preta
Sistema de Sensibilidade Do Mouse X e Y!
Unity Congelando
Dúvida sobre jogo android...
For lista
PROBLEMA TEXTURA E TELA GAME
Limite de tela
O que vocês acham de um jogo com formato de capitulos?
Animacao da Colt
Problema com NetworkServer.spawn
[TUTORIAL] Avião Script
Duvida Iluminação
PROCURO ANIMADOR + PROGRAMADOR
[ATUALIZAÇÃO] Projeto - Girl Blade
[____ADMINISTRAÇÃO____] PRECISO DE AJUDA [DICA PARA SER AJUDADO]
Avaliem (Meu cenário)!!
Verificar cena anterior?
Verificar se game object está habilitado ou desabilitado
Colisão no terreno
[Duvida] - Como criar um botao de sair com mensage?
[RESOLVIDO] DUVIDA COM SCRIPT DE DANO POR TRIGER ENTER
QUER UMA PEQUENA GAMEPLAY DO MEU GAME?
[RESOLVIDO] Instanciar em Posição "Y" Especifica
Shop UI
[Duvida] Como carregar cenas aleatoriamente?
save game
Alguns modelos low poly
Fui mexer denovo na minha lixeira do mediafire e olha no que deu..
Faculdade de jogos digitais vale a pena?
GAMEPLAY DO JOGO 171 ESTILO GTA (não sou eu que estou fazendo)
Como Criar uma Loja Virtual e WebSite para Seu Jogo Gratis
[Resolvido]Tocar Audio ao Colidir com Tag Player
ESSE EO MEU JOGO QUE EU ESTOU DESENVOLVENDO (VERSAO BETA)
Survive - atualização do jogo
Formação de Equipe Battle of Worlds
Pegar coisas do chao
Site Profissional Completo Gratis para Jogos
Como eu faço um "Sprint" para minha nave:
[DÚVIDA] APERTAR 2 VAI PRA PRÓXIMA MÚSICA, APERTAR 1 VOLTA A MÚSICA ANTERIOR
Site para Baixar Character em 3D
Cut Scene com video player
Só o networkIndetity é o suficiente para o que eu quero fazer? Como ele funciona?
O que acham dos meus modelos? (Prédios)
Como faz para colocar som nos passos do personagem?
[Pack de Modelos 3d] Kit Pau Pra Toda Obra [Low Poly]
Canvas UI
[Dúvida] tiro
[DUVIDA] Shader
[RESOLVIDO] Mais scripts ou mais linhas de codigo????
Photon Duvida
(RESOLVIDO)Ajuda na animação do Mixamo
[Duvida] Como dar play e pausar uma animacao??
Como criar um timer?
Sistema multiplayer por Salas
Vender ideia de jogo para desenvolvedora
FORMAÇÃO DE EQUIPE PARA JOGO MULTIPLAYER DE SOBREVIVENCIA
eu preciso de um script de contagem para o me jogo alguem pode me ajudar?
[Resolvido]Como pode ser feito um HUD?
Script sem erro, mas não funciona
Google VR
Ajuda sobre melhorar a Fricção no Wheel Collider
sombrancelha do mixamo
[RESOLVIDO]Oque significa "?"
[Duvida] NavMeshAgente se movendo muito rapido!
Hoje à(s) 5:57 am
Hoje à(s) 2:29 am
Hoje à(s) 12:43 am
Hoje à(s) 12:32 am
Hoje à(s) 12:22 am
Hoje à(s) 12:14 am
Hoje à(s) 12:07 am
Ontem à(s) 11:03 pm
Ontem à(s) 10:41 pm
Ontem à(s) 10:08 pm
Ontem à(s) 9:57 pm
Ontem à(s) 9:55 pm
Ontem à(s) 9:20 pm
Ontem à(s) 9:15 pm
Ontem à(s) 7:49 pm
Ontem à(s) 6:32 pm
Ontem à(s) 6:25 pm
Ontem à(s) 6:07 pm
Ontem à(s) 6:02 pm
Ontem à(s) 5:30 pm
Ontem à(s) 5:16 pm
Ontem à(s) 4:40 pm
Ontem à(s) 4:39 pm
Ontem à(s) 3:57 pm
Ontem à(s) 3:57 pm
Ontem à(s) 3:23 pm
Ontem à(s) 3:20 pm
Ontem à(s) 3:20 pm
Ontem à(s) 2:49 pm
Ontem à(s) 2:20 pm
Ontem à(s) 1:53 pm
Ontem à(s) 1:39 pm
Ontem à(s) 1:37 pm
Ontem à(s) 1:26 pm
Ontem à(s) 1:24 pm
Ontem à(s) 1:21 pm
Ontem à(s) 1:18 pm
Ontem à(s) 1:14 pm
Ontem à(s) 1:13 pm
Ontem à(s) 1:01 pm
Ontem à(s) 12:57 pm
Ontem à(s) 12:50 pm
Ontem à(s) 12:20 pm
Ontem à(s) 12:08 pm
Ontem à(s) 12:04 pm
Ontem à(s) 7:40 am
Ontem à(s) 7:39 am
Ontem à(s) 7:38 am
Ontem à(s) 7:26 am
Dom Maio 28, 2017 4:21 pm
Dom Maio 28, 2017 2:54 pm
Dom Maio 28, 2017 9:22 am
Dom Maio 28, 2017 8:59 am
Sab Maio 27, 2017 11:46 pm
Sab Maio 27, 2017 8:50 pm
Sab Maio 27, 2017 6:49 pm
Sab Maio 27, 2017 6:45 pm
Sab Maio 27, 2017 5:54 pm
Sab Maio 27, 2017 5:39 pm
Sab Maio 27, 2017 5:28 pm
Sab Maio 27, 2017 5:08 pm
Sab Maio 27, 2017 4:52 pm
Sab Maio 27, 2017 4:46 pm
Sab Maio 27, 2017 3:05 pm
Sab Maio 27, 2017 2:50 pm
Sab Maio 27, 2017 1:59 pm
Sab Maio 27, 2017 1:45 pm
Sab Maio 27, 2017 10:38 am
Sab Maio 27, 2017 1:59 am
Sab Maio 27, 2017 1:29 am
Sab Maio 27, 2017 12:37 am
Sex Maio 26, 2017 11:57 pm
Sex Maio 26, 2017 11:13 pm
Sex Maio 26, 2017 8:56 pm
Sex Maio 26, 2017 8:24 pm
Sex Maio 26, 2017 7:53 pm
Sex Maio 26, 2017 7:30 pm
Sex Maio 26, 2017 5:27 pm
Sex Maio 26, 2017 5:17 pm
Sex Maio 26, 2017 5:15 pm
Sex Maio 26, 2017 4:28 pm
Sex Maio 26, 2017 4:13 pm
Sex Maio 26, 2017 2:42 pm
Sex Maio 26, 2017 1:57 pm
Sex Maio 26, 2017 1:50 pm
Sex Maio 26, 2017 11:59 am
Sex Maio 26, 2017 11:49 am
Sex Maio 26, 2017 11:38 am
Sex Maio 26, 2017 9:26 am
Sex Maio 26, 2017 2:49 am
Sex Maio 26, 2017 2:35 am
Sex Maio 26, 2017 12:58 am
Qui Maio 25, 2017 10:49 pm
Qui Maio 25, 2017 10:39 pm
Qui Maio 25, 2017 10:03 pm
Qui Maio 25, 2017 8:55 pm
Qui Maio 25, 2017 8:51 pm
Qui Maio 25, 2017 8:46 pm
Qui Maio 25, 2017 5:54 pm
AndyShow
Ronmaster
Mic4el
dazentt55
thiagograssi
Ronmaster
thiagograssi
Madson
Felippe4455
Robinsandi
PauloFR
dazentt55
Ramon Davidson
joabr
weslleyFx
Gabriel César O
aleksander700
dazentt55
JCLEON
rafaelllsd
zZAndersonZz
EDTV
marcos4503
Marc7
dstaroski
fecirineu
marcos4503
Gabriel César O
DuViDoSo34
Mikeofcoji
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
bruxamissi
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
marcos4503
Ramon Davidson
als260502
dstaroski
dstaroski
dstaroski
dstaroski
Mic4el
Zecandy
weslleyFx
zZAndersonZz
PauloFR
dstaroski
Unidade3d5
Gabriel César O
thiagograssi
bruxamissi
PauloFR
Callyde Jr
Mic4el
Mic4el
julioou
julioou
fecirineu
bruxamissi
glauco
thiagograssi
Dom3000
Mikeofcoji
fecirineu
rafaelllsd
PauloFR
AndyShow
hrr23
thiagograssi
DuViDoSo34
Gabriel César O
DuViDoSo34
Weverton Borges da Silva
aleksander700
Xurupitinha
dazentt55
LuizFixa3D
Zecandy
PauloFR
Callyde Jr
weslleyFx
JoelMJunior
hen000
rafaelllsd
thiagograssi
wender
Henrique Ramires
dazentt55
916anderson
Matrirxp
DuViDoSo34

[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 : 593
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 : 307
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 : 593
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 : 593
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 : 8760
REPUTAÇÃO : 1353
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 : 593
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 : 8760
REPUTAÇÃO : 1353
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 : 593
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 : 8760
REPUTAÇÃO : 1353
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 : 593
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 : 8760
REPUTAÇÃO : 1353
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 : 593
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 : 8760
REPUTAÇÃO : 1353
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 : 593
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 : 8760
REPUTAÇÃO : 1353
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