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:
problema com Movimento usando Rigidbody
Como faço pra uma imagem UI seguir meu cursor?
Jogo Demo(Lost and Alone)
Divulgaçao de Battle of Worlds
Fazer efeito de distorção
The Last Warrior - meu primeiro RPG Vesão Demo Beta - Download aqui
Boomerang
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
DUVIDA SOBRE TERRAIN
Gostaria De Entrar em Uma Equipe ! :D
CutScene com dialogo
[AJUDA] CommandInvokationFailure: Failed to build apk
Aumentar A escala para um lado por script
2D Painting - Magic tree - Tentando um estilo diferente
pq a unity compila arquivo dll?
[DEVLOG] Projeto - Pocket Girl Blade - Atualização
[AJUDA] movimentação e ação do Player
Visão estilo CS
Tem como melhorar ?
IA de Patrulha do inimigo !
bug do meu jogo
Organizar GUI menu, para qualquer tamanho de tela no Unity 3D
Forest Explorer
aparece e desaparece apertando um tecla.
Preciso 1 Programador
[AJUDA] Contorno colorido em objetos.
[Formação de equipe] GamePlex Production
]C# Scripting] - Ler XML
FixedSys nova equipe formação de jogos 2d e 3d
esse e o novo jogo que estou criando "my dream" ,um projeto pequeno.
Indicação para VPS
Unity - Há alguma forma de abrir duas vezes o mesmo projeto?
Instanciar Objeto no hit.normal
IA NPC seguir e player e matar inimigos proximo
Pegar a posição
Preciso de um modelo 3D
[Prototipo] : [MyLifeInSevenSeconds]
[AJUDA] Atirar no meio da animação
Duvidas em relação a armmas
Change Material
Nav mesh em tempo real e fazer as rodas girarem
Problema com load (android)
Quanto tempo ?
so seguir quando ver
Atualizado (The Pyramid 1.1.1)
Mudar a Cena ao Apertar o Button
Chat android por local?
Esconder-se estilo OutLast
[RESOLVIDO] Conversão C# para JavaScript
Problema no Network
Sumindo os detalhes no UV Mapping
Animação faz objeto mudar de posição?
[ERRO DO PHOTON] Script do Photon com a unity
Desenho - Sword concept
Jogo que estou desenvolvendo "Alone"
[____APOIE O FÓRUM E O CANAL E GANHE RECOMPENSAS____]
[TUTORIAL] Evitar Sombras ULTRA escuras após trocar de cena
[Artigo]Delegates - Entendendo e Aplicando na Unity
Raposa: Projeto Laranja - Meu jogo,O que acham?
Sistema de Futebol(Chutar bola e carrega-la até o gol)
Enhance - Goodbye SDK fatigue! Ads and more in Minutes!
[RESOLVIDO] SUSPENSÃO
Fazer sombras usando sprites
Canvas: como trazer objeto pra frente de outro?
Meu primeiro Rpg
[RESOLVIDO] Dúvida com audio.stop e audio.play
save de objetos coletados
[RESOLVIDO] Animação alteração posição do objeto.
[RESOLVIDO] Animação De camera Procedural Tem como ?
Problema na compilaçao para android
[TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)
Qual o melhor formato de Textura?
Movimento do Sonic
Pokémon TCG-Erro de tela rosa
Melhor lugar para Publicar uma Demo
[AJUDA] Sistema de chuva
Dúvida com simulação de marcha de carros..
Precisamos de um Level Desgner ou Programador, que entenda de Otimização de Senario
Dúvida se código da unity é obsoleto
Jumper boy
Demo Terror
Enfrente Seu Pesadelo
Alguem pode me dizer qual é a função que limita o framerate do game, no unity 5 ?
como fazer trocar a imagem q está no UI canvas ?
problemas ao sincronizar healthbar entre os player (photon)
Reload Arma
Servidores dedicados - BatchMode
Como dizer que um numero é diferente do outro?
Optimização do Android
[TUTORIAL] 42 ÓTIMAS DICAS DE OTIMIZAÇÃO PARA JOGOS MOBILE (Android)
Ativar animação
como criptografar um texto e descriptografar em c#
existe algum método para instanciar sprites ?
Como lançar um objeto para um local via touch?
Ajuda de como fazer um jogo
Ajuda com áudio de carro
Assets tanque de guerra
Como alterar rectTransform de objeto
Como acesso uma variável em outro script?
Hoje à(s) 12:44 am
Hoje à(s) 12:33 am
Hoje à(s) 12:03 am
Ontem à(s) 11:47 pm
Ontem à(s) 11:15 pm
Ontem à(s) 10:17 pm
Ontem à(s) 10:07 pm
Ontem à(s) 9:26 pm
Ontem à(s) 9:02 pm
Ontem à(s) 8:34 pm
Ontem à(s) 7:41 pm
Ontem à(s) 7:32 pm
Ontem à(s) 7:15 pm
Ontem à(s) 7:13 pm
Ontem à(s) 6:18 pm
Ontem à(s) 6:03 pm
Ontem à(s) 5:24 pm
Ontem à(s) 5:04 pm
Ontem à(s) 4:14 pm
Ontem à(s) 1:15 pm
Ontem à(s) 11:20 am
Ontem à(s) 11:18 am
Ontem à(s) 11:08 am
Ontem à(s) 12:56 am
Sab Dez 16, 2017 8:33 pm
Sab Dez 16, 2017 6:01 pm
Sab Dez 16, 2017 5:12 pm
Sab Dez 16, 2017 4:13 pm
Sab Dez 16, 2017 3:28 pm
Sab Dez 16, 2017 2:24 pm
Sab Dez 16, 2017 1:35 pm
Sab Dez 16, 2017 12:34 pm
Sab Dez 16, 2017 12:32 pm
Sab Dez 16, 2017 12:30 pm
Sab Dez 16, 2017 1:10 am
Sex Dez 15, 2017 10:15 pm
Sex Dez 15, 2017 9:43 pm
Sex Dez 15, 2017 9:41 pm
Sex Dez 15, 2017 9:26 pm
Sex Dez 15, 2017 9:03 pm
Sex Dez 15, 2017 7:47 pm
Sex Dez 15, 2017 5:02 pm
Sex Dez 15, 2017 3:51 pm
Sex Dez 15, 2017 2:09 pm
Sex Dez 15, 2017 1:58 pm
Sex Dez 15, 2017 1:48 pm
Sex Dez 15, 2017 2:56 am
Qui Dez 14, 2017 11:31 pm
Qui Dez 14, 2017 11:11 pm
Qui Dez 14, 2017 8:52 pm
Qui Dez 14, 2017 7:51 pm
Qui Dez 14, 2017 5:41 pm
Qui Dez 14, 2017 3:58 pm
Qui Dez 14, 2017 12:35 pm
Qui Dez 14, 2017 11:59 am
Qui Dez 14, 2017 11:24 am
Qui Dez 14, 2017 10:54 am
Qui Dez 14, 2017 2:04 am
Qui Dez 14, 2017 1:24 am
Qui Dez 14, 2017 1:04 am
Qua Dez 13, 2017 11:37 pm
Qua Dez 13, 2017 11:09 pm
Qua Dez 13, 2017 8:23 pm
Qua Dez 13, 2017 2:20 pm
Qua Dez 13, 2017 1:49 pm
Qua Dez 13, 2017 1:22 pm
Qua Dez 13, 2017 1:11 pm
Qua Dez 13, 2017 12:57 pm
Qua Dez 13, 2017 12:41 pm
Qua Dez 13, 2017 12:56 am
Qua Dez 13, 2017 12:10 am
Qua Dez 13, 2017 12:08 am
Ter Dez 12, 2017 10:23 pm
Ter Dez 12, 2017 9:57 pm
Ter Dez 12, 2017 9:53 pm
Ter Dez 12, 2017 9:37 pm
Ter Dez 12, 2017 9:18 pm
Ter Dez 12, 2017 8:26 pm
Ter Dez 12, 2017 7:40 pm
Ter Dez 12, 2017 6:27 pm
Ter Dez 12, 2017 5:44 pm
Ter Dez 12, 2017 5:43 pm
Ter Dez 12, 2017 5:34 pm
Ter Dez 12, 2017 2:25 pm
Ter Dez 12, 2017 12:49 pm
Ter Dez 12, 2017 11:34 am
Ter Dez 12, 2017 4:34 am
Seg Dez 11, 2017 9:28 pm
Seg Dez 11, 2017 8:05 pm
Seg Dez 11, 2017 7:39 pm
Seg Dez 11, 2017 7:03 pm
Seg Dez 11, 2017 6:47 pm
Seg Dez 11, 2017 6:19 pm
Seg Dez 11, 2017 4:11 pm
Seg Dez 11, 2017 3:50 pm
Seg Dez 11, 2017 3:13 pm
Seg Dez 11, 2017 1:58 pm
Seg Dez 11, 2017 1:19 pm
Seg Dez 11, 2017 1:14 pm
Flávio
Ghosthy
Zecandy
Dom3000
Flávio
felipehobs1
recagonlei
MarcosSchultz
Unoog
Maniaco
Zecandy
Sshisbachza
recagonlei
Madness
glauco
Unoog
FernandoViniciusSchultz
recagonlei
gurgelg752
Zecandy
recagonlei
recagonlei
googolepton
gurgelg752
Sshisbachza
Santiago Furtado
PatifeCraft
azool
fabriciorsz34
glauco
Água Sem Hidrogênio
Phph09
Phph09
Phph09
lolhard
Zecandy
Phph09
recagonlei
Zecandy
michelly
glauco
XN4k3Dbr
gurgelg752
Zecandy
MarceloYBP
John Rambo
Encracker
Phph09
lesgoy
recagonlei
RW.
GabrielBs1409
PatifeCraft
recagonlei
BRGC
dstaroski
MarceloYBP
dimmuo
MarceloYBP
Água Sem Hidrogênio
recagonlei
WesleyLemosLeal
fabriciorsz34
Zecandy
MarceloYBP
Cristianolop
Phph09
XN4k3Dbr
BRGC
Eduardoro39
Phph09
MarceloYBP
DSK
recagonlei
natanael.olimpio
PatifeCraft
Madness
Jhonatham1
Flávio
googolepton
MarceloYBP
MarceloYBP
FelipeGD
dstaroski
Valakinhas
John Rambo
hen000
recagonlei
Água Sem Hidrogênio
natanael.olimpio
Zecandy
recagonlei
John Rambo
recagonlei
recagonlei
Nyland
erifmeurer
recagonlei
recagonlei

Porta com senha!

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Resolvido Porta com senha!

Mensagem por LeonradoGp em Qua Ago 26, 2015 2:00 pm

Galera eu preciso de um script de uma porta com senha.
tipo eu chego na porta e aperto "e" ai aparece pra por a senha clicando em cada numero na imagem,ai a porta abre, e se der erro ai sai um som.
avatar
LeonradoGp
Membro
Membro

Masculino PONTOS : 1101
REPUTAÇÃO : 1
Idade : 18
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Resolvido Re: Porta com senha!

Mensagem por MarcosSchultz em Sex Ago 28, 2015 2:21 pm

Cara, isto é um pouco complexo de fazer... Não o sistema de comparação de senha em si, más a parte do digitador.

Dá uma olhada neste script básico que eu fiz para ir na camera:

Código:

using UnityEngine;
using System.Collections;

public class Senha : MonoBehaviour {
   public string senha;
   private string senhaTXT;
   private  GUIStyle style;
   void Start(){
      senhaTXT = string.Empty;
      style = new GUIStyle();
   }
   void OnGUI(){
      //numeros da senha
         GUI.Box(new Rect(Screen.width / 2.61f, Screen.height / 8, Screen.width / 4.3f, Screen.height / 8), senhaTXT);
      // 1 - 2 - 3
         if (GUI.Button (new Rect (Screen.width / 2.61f, Screen.height / 3, Screen.width / 14, Screen.height / 8), "1")) {
            senhaTXT = senhaTXT + "1";
         }
         if (GUI.Button (new Rect (Screen.width / 2.16f, Screen.height / 3, Screen.width / 14, Screen.height / 8), "2")) {
            senhaTXT = senhaTXT + "2";
         }
         if (GUI.Button (new Rect (Screen.width / 1.835f, Screen.height / 3, Screen.width / 14, Screen.height / 8), "3")) {
            senhaTXT = senhaTXT + "3";
         }
      // 4 - 5 - 6
         if (GUI.Button (new Rect (Screen.width / 2.61f, Screen.height / 2.1f, Screen.width / 14, Screen.height / 8), "4")) {
            senhaTXT = senhaTXT + "4";
         }
         if (GUI.Button (new Rect (Screen.width / 2.16f, Screen.height / 2.1f, Screen.width / 14, Screen.height / 8), "5")) {
            senhaTXT = senhaTXT + "5";
         }
         if (GUI.Button (new Rect (Screen.width / 1.835f, Screen.height / 2.1f, Screen.width / 14, Screen.height / 8), "6")) {
            senhaTXT = senhaTXT + "6";
         }
      // 7 - 8 - 9
         if (GUI.Button (new Rect (Screen.width / 2.61f, Screen.height / 1.6f, Screen.width / 14, Screen.height / 8), "7")) {
            senhaTXT = senhaTXT + "7";
         }
         if (GUI.Button (new Rect (Screen.width / 2.16f, Screen.height / 1.6f, Screen.width / 14, Screen.height / 8), "8")) {
            senhaTXT = senhaTXT + "8";
         }
         if (GUI.Button (new Rect (Screen.width / 1.835f, Screen.height / 1.6f, Screen.width / 14, Screen.height / 8), "9")) {
            senhaTXT = senhaTXT + "9";
         }
      // * - 0 - #
         if (GUI.Button (new Rect (Screen.width / 2.61f, Screen.height / 1.3f, Screen.width / 14, Screen.height / 8), "*")) {
            senhaTXT = senhaTXT + "*";
         }
         if (GUI.Button (new Rect (Screen.width / 2.16f, Screen.height / 1.3f, Screen.width / 14, Screen.height / 8), "0")) {
            senhaTXT = senhaTXT + "0";
         }
         if (GUI.Button (new Rect (Screen.width / 1.835f, Screen.height / 1.3f, Screen.width / 14, Screen.height / 8), "#")) {
            senhaTXT = senhaTXT + "#";
         }
      // RESSETAR OU CONFIRMAR
      if (GUI.Button (new Rect (Screen.width / 1.5f, Screen.height / 1.7f, Screen.width / 5, Screen.height / 8), "RESSETAR")) {
         senhaTXT = string.Empty;
      }
      if (GUI.Button (new Rect (Screen.width / 1.5f, Screen.height / 2.5f, Screen.width / 5, Screen.height / 8), "CONFIRMAR")) {
         if(senhaTXT == senha){
            senhaTXT = "Senha Correta";
         }else{
            senhaTXT = "Senha Incorreta";
         }
      }
   }
}
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 9865
REPUTAÇÃO : 1707
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

Resolvido Re: Porta com senha!

Mensagem por LeonradoGp em Sab Ago 29, 2015 3:42 pm

e como eu faço para esse script ser executado só quando eu apertar a letra "E" na porta?? e tbm quando ele digitar a senha correta carregar outra scene?
avatar
LeonradoGp
Membro
Membro

Masculino PONTOS : 1101
REPUTAÇÃO : 1
Idade : 18
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Resolvido Re: Porta com senha!

Mensagem por MarcosSchultz em Ter Set 01, 2015 9:32 pm

Use a função "OnTriggerEnter" para detectar se esta perto da porta ou um "Vector3.Distance"

Depois faça um simples if para quando você apertar "e", alguma bariavel booleana fica verdadeira. Depois basta colocar os comandos GUI de senha dentro de uma condição em que a variavel booleana necessita estar verdadeira.
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 9865
REPUTAÇÃO : 1707
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

Resolvido teste

Mensagem por bianchi31 em Qua Set 02, 2015 9:29 am

Opa boa tarde , eu nao entendo nada de programação , e eu estava querendo mesma coisa que voce, ai vi o que o Marcos postou, e juntei com script da porta que ele mesmo colocou, ai consegui, agora caso esteja errado mau ae pessoal ^^
ESSE SCRIPT E SEM 'TELEPORTE'


assim quando vc chegar perto dela e apertar "E"  ela ira abrir o painel com senha.

criar um Script com nome : Codigocamera e joga no objeto vazio de sua porta
Código:
using UnityEngine;
using System.Collections;

public class Codigocamera : MonoBehaviour {
   public string senha;
   private string senhaTXT;
   private  GUIStyle style;
   private GameObject Jogador;
   private bool PodeAbrir;
   public float distanciaParaAbrir = 2;
   public bool AtivarGui = false;
   private float RotacaoFechada,RotacaoAberta;
   private bool MovimentarPorta,EstaAberta;
   public float VelocidadeDeGiro = 60;
   private float CronometroDoAviso,CronometroMovimento;
   private Codigocamera script; // "Codigocamera" nome desse script - troque para nome de seu script
   private PortaAoContrario script1;  // "PortaAoContario" nome do script da porta normal



      void Start(){
      script = GetComponent<Codigocamera>(); //"Codigocamera" nome desse script
      script1 = GetComponent<PortaAoContrario>();  // "PortaAoContario" nome do script da porta normal
      EstaAberta = false;
      senhaTXT = string.Empty;
      style = new GUIStyle();
      Jogador = GameObject.FindWithTag ("Player");
      RotacaoFechada = transform.eulerAngles.y;
      RotacaoAberta = transform.eulerAngles.y + 90;
      if (RotacaoAberta > 360) {
         RotacaoAberta = transform.eulerAngles.y + 90 -360;
      }
   }

   void Update (){
      // CHECAHDO SE ESTA PERTO OU NAO
      if (Input.GetKeyDown ("e") && Vector3.Distance (transform.position, Jogador.transform.position) <= distanciaParaAbrir && AtivarGui == false) {
         PodeAbrir = true;
         AtivarGui = true;
      } else if (Vector3.Distance (transform.position, Jogador.transform.position) > distanciaParaAbrir) {
         PodeAbrir = false;
         AtivarGui = false;
      }

      {
         if (Input.GetKeyDown ("escape") && AtivarGui == true)
            AtivarGui = false;
      }
      if (MovimentarPorta == true) {
         CronometroMovimento += Time.deltaTime;
      }
      if (CronometroMovimento >= 2 + 75 / VelocidadeDeGiro) {
         MovimentarPorta = false;
         CronometroMovimento = 0;
         EstaAberta = !EstaAberta;
         script.enabled = false;   // depois que o movimento da porta for concluido, desabilitar esse script
         script1.enabled = true;  // depois que o movimento da porta for concluido, ativar script da porta

      }
   }


   void FixedUpdate (){
      if (MovimentarPorta == true && EstaAberta == false) {
         Vector3 rotacaoFinal = new Vector3(0,RotacaoAberta,0);
         transform.eulerAngles = Vector3.Lerp (transform.eulerAngles,rotacaoFinal,Time.deltaTime*(VelocidadeDeGiro/50));

      }
      // MOVIMENTO DE FECHAR A PORTA
      else if (MovimentarPorta == true && EstaAberta == true) {
         Vector3 rotacaoFinal = new Vector3(0,RotacaoFechada,0);
         transform.eulerAngles = Vector3.Lerp (transform.eulerAngles,rotacaoFinal,Time.deltaTime*(VelocidadeDeGiro/50));
      }
   }
   void OnGUI(){
      //numeros da senha
      if(AtivarGui == true)
      GUI.Box(new Rect(Screen.width / 2.61f, Screen.height / 8, Screen.width / 4.3f, Screen.height / 8), senhaTXT);
      // 1 - 2 - 3
      if (AtivarGui == true && GUI.Button (new Rect (Screen.width / 2.61f, Screen.height / 3, Screen.width / 14, Screen.height / 8), "1")) {
         senhaTXT = senhaTXT + "1";
      }
      if (AtivarGui == true && GUI.Button (new Rect (Screen.width / 2.16f, Screen.height / 3, Screen.width / 14, Screen.height / 8), "2")) {
         senhaTXT = senhaTXT + "2";
      }
      if (AtivarGui == true && GUI.Button (new Rect (Screen.width / 1.835f, Screen.height / 3, Screen.width / 14, Screen.height / 8), "3")) {
         senhaTXT = senhaTXT + "3";
      }
      // 4 - 5 - 6
      if (AtivarGui == true && GUI.Button (new Rect (Screen.width / 2.61f, Screen.height / 2.1f, Screen.width / 14, Screen.height / 8), "4")) {
         senhaTXT = senhaTXT + "4";
      }
      if (AtivarGui == true && GUI.Button (new Rect (Screen.width / 2.16f, Screen.height / 2.1f, Screen.width / 14, Screen.height / 8), "5")) {
         senhaTXT = senhaTXT + "5";
      }
      if (AtivarGui == true && GUI.Button (new Rect (Screen.width / 1.835f, Screen.height / 2.1f, Screen.width / 14, Screen.height / 8), "6")) {
         senhaTXT = senhaTXT + "6";
      }
      // 7 - 8 - 9
      if (AtivarGui == true && GUI.Button (new Rect (Screen.width / 2.61f, Screen.height / 1.6f, Screen.width / 14, Screen.height / 8), "7")) {
         senhaTXT = senhaTXT + "7";
      }
      if (AtivarGui == true && GUI.Button (new Rect (Screen.width / 2.16f, Screen.height / 1.6f, Screen.width / 14, Screen.height / 8), "8")) {
         senhaTXT = senhaTXT + "8";
      }
      if (AtivarGui == true && GUI.Button (new Rect (Screen.width / 1.835f, Screen.height / 1.6f, Screen.width / 14, Screen.height / 8), "9")) {
         senhaTXT = senhaTXT + "9";
      }
      // * - 0 - #
      if (AtivarGui == true && GUI.Button (new Rect (Screen.width / 2.61f, Screen.height / 1.3f, Screen.width / 14, Screen.height / 8), "*")) {
         senhaTXT = senhaTXT + "*";
      }
      if (AtivarGui == true && GUI.Button (new Rect (Screen.width / 2.16f, Screen.height / 1.3f, Screen.width / 14, Screen.height / 8), "0")) {
         senhaTXT = senhaTXT + "0";
      }
      if (AtivarGui == true && GUI.Button (new Rect (Screen.width / 1.835f, Screen.height / 1.3f, Screen.width / 14, Screen.height / 8), "#")) {
         senhaTXT = senhaTXT + "#";
      }
      // RESSETAR OU CONFIRMAR
      if (AtivarGui == true && GUI.Button (new Rect (Screen.width / 1.5f, Screen.height / 1.7f, Screen.width / 5, Screen.height / 8), "RESETAR")) {
         senhaTXT = string.Empty;
      }
      if (AtivarGui == true && GUI.Button (new Rect (Screen.width / 1.5f, Screen.height / 2.5f, Screen.width / 5, Screen.height / 8), "CONFIRMAR")) {
         if(senhaTXT == senha){
            senhaTXT = "Senha Correta";
            MovimentarPorta = true;
            EstaAberta = false;

            


         }else{
            senhaTXT = "Senha Incorreta";

         }

         }

      }

   }

esse script voce so cria se quiser que ela abra e feche normalmente.

Criar outro script com nome PortaAoContrario e joga no objeto vazio de sua porta  e desabilita ele no unity
esse e o mesmo script que marcos postou no forum aqui "Chaves"
so que mudei para negativo.

Código:
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
[RequireComponent(typeof(AudioSource))]
public class PortaAoContrario : MonoBehaviour {
   public bool EstaTrancada,PrecisaDeChave;
   public AudioClip PortaNormal,PortaTrancada,SomDeChave;
   public float distanciaParaAbrir = 3;
   public Font Fonte;
   public float VelocidadeDeGiro = 60;
   public int IDdaPorta;
   public static List<int> ListaDeIDs = new List<int>(); // LISTA DE CHAVES QUE O PLAYER CONTEM
   private bool MovimentarPorta, EstaAberta,PodeAbrir,AvisoTrancada,temAChave;
   private float CronometroDoAviso,CronometroMovimento;
   private float RotacaoFechada,RotacaoAberta;
   private GameObject Jogador;
   void Start (){
      EstaAberta = false;
      AvisoTrancada = false;
      temAChave = false;
      RotacaoFechada = transform.eulerAngles.y;
      RotacaoAberta = transform.eulerAngles.y - 90;
      if (RotacaoAberta > 360) {
         RotacaoAberta = transform.eulerAngles.y + 90 -360;
      }
      Jogador = GameObject.FindWithTag ("Player");
      if (PrecisaDeChave == true) {
         EstaTrancada = true;
      }
   }
   void Update (){
      // CHECAHDO SE ESTA PERTO OU NAO
      if (Vector3.Distance (transform.position, Jogador.transform.position) <= distanciaParaAbrir) {
         PodeAbrir = true;
      } else if (Vector3.Distance (transform.position, Jogador.transform.position) > distanciaParaAbrir) {
         PodeAbrir = false;
      }
      //CHECANDO SE ESTA TRANCADA OU NAO... SE NAO ESTIVER, PODE ABRIR
      if (EstaTrancada == false) {
         if(Input.GetKeyDown("e") && MovimentarPorta == true && PodeAbrir == true){
            CronometroMovimento = 0;
            EstaAberta = !EstaAberta;
            GetComponent<AudioSource>().Stop ();
            GetComponent<AudioSource>().PlayOneShot(PortaNormal);
         }
         else if(Input.GetKeyDown("e") && PodeAbrir == true && MovimentarPorta == false){
            GetComponent<AudioSource>().PlayOneShot(PortaNormal);
            MovimentarPorta = true;
         }
      }
      // SE A PORTA ESTIVER TRANCADA
      if (Input.GetKeyDown ("e") && PodeAbrir == true && EstaTrancada == true) {
         //CHECA SE O PALYER TEM A CHAVE OU NAO
         for(int x = 0; x < ListaDeIDs.Count; x++){
            if(IDdaPorta == ListaDeIDs[x]){
               temAChave = true;
            }else{
               temAChave = false;
            }
         }
         // SE O PALYER TEM A CHAVE
         if(temAChave == true && PrecisaDeChave == true){

            EstaTrancada = false;
            if(!GetComponent<AudioSource>().isPlaying){
               GetComponent<AudioSource>().PlayOneShot(SomDeChave);

            }
         }
         // SE O PALYER NAO TEM A CHAVE
         else {
            AvisoTrancada = true;
            if(!GetComponent<AudioSource>().isPlaying){
               GetComponent<AudioSource>().PlayOneShot(PortaTrancada);
            }
         }
      }
      // CRONOMETRO DO AVISO DA PORTA TRANCADA
      if (AvisoTrancada == true) {
         CronometroDoAviso += Time.deltaTime;
      }
      if (CronometroDoAviso >= 3) {
         AvisoTrancada = false;
         CronometroDoAviso = 0;
      }
      // CRONOMETRO DO MOVIMENTO DA PORTA
      if (MovimentarPorta == true) {
         CronometroMovimento += Time.deltaTime;
      }
      if(CronometroMovimento >= 2 + 75/VelocidadeDeGiro){
         MovimentarPorta = false;
         CronometroMovimento = 0;
         EstaAberta = !EstaAberta;
      }
   }
   void FixedUpdate (){
      // MOVIMENTO DE ABRIR A PORTA
      if (MovimentarPorta == true && EstaAberta == false) {
         Vector3 rotacaoFinal = new Vector3(0,RotacaoAberta,0);
         transform.eulerAngles = Vector3.Lerp (transform.eulerAngles,rotacaoFinal,Time.deltaTime*(VelocidadeDeGiro/50));
      }
      // MOVIMENTO DE FECHAR A PORTA
      else if (MovimentarPorta == true && EstaAberta == true) {
         Vector3 rotacaoFinal = new Vector3(0,RotacaoFechada,0);
         transform.eulerAngles = Vector3.Lerp (transform.eulerAngles,rotacaoFinal,Time.deltaTime*(VelocidadeDeGiro/50));
      }
   }
   void OnGUI (){
      // AVISO SOBRE PORTA TRANCADA
      GUI.skin.font = Fonte;
      GUI.skin.label.fontSize = Screen.height / 20;
      if (AvisoTrancada == true) {
         if(PrecisaDeChave == true){
            GUI.Label(new Rect(Screen.width/2-Screen.width/5,Screen.height/2-Screen.height/16,Screen.width/2.5f,Screen.height/8),"Voce precisa de uma chave");
         }
         else if(PrecisaDeChave == false){
            GUI.Label(new Rect(Screen.width/2-Screen.width/5,Screen.height/2-Screen.height/16,Screen.width/2.5f,Screen.height/8),"Nunca ira abrir");
         }
      }
   }
}


Creditos : MarcosSchultz Very Happy . vlw flw

bianchi31
Iniciante
Iniciante

PONTOS : 959
REPUTAÇÃO : 2
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Resolvido Re: Porta com senha!

Mensagem por LeonradoGp em Qua Set 02, 2015 3:30 pm

Obrigado!!! Funciono direitinho vlw man!!!
avatar
LeonradoGp
Membro
Membro

Masculino PONTOS : 1101
REPUTAÇÃO : 1
Idade : 18
Respeito as regras :

Ver perfil do usuário

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