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:
Time.timeScale continua em 0
Baixar Unity ?
Script de imã
colocar um botão na tela e corresponder ao teclado do pc
materiais unity
É assim que se começa um "novo mundo" na era medieval? kkjk
[Duvida] Sobre cena de carregamento.
Formação de Equipe Battle of Worlds
Unity remote play android 6.0
Pegar uma informação do banco de dados e visualizar na scene da Unity
Procuro membros para minha Equipe (Programadores, designers, etc)
[TUTORIAL] Unity 5.5 - Splash Screen
[TUTORIAL] Unity 5 - Como utilizar o Animator
Recrutamento de equipe
Movimentação de inimigo
Thomblers VS Pimblers - Teste
DUVIDA SOBRE REFLECTION PROBE OU ALGO Q DEIXE CROMADO A PINTURA
[____TÓPICO LIVRE____] FALE O QUE QUISER
Criar Simulador de Sinuca
Dúvida aplicando tutorial do Angry Birds em camera perspective e veiculo em movimento
Dash2D
Coroutines Loop
R7 - GOOH (resident evil 7)
InputField/String Com formato para data XX/XX/XXXX
Estou com varias duvidas sobre o inputfield do ui canvas
(Dúvida) Setar ultima string de uma array
[Ajuda] Unity 5.5.0 não abre
Destruindo objeto em uma outra cena
modo desenvolvedor xbox one?
como usar o Lookat com o addforce do rigidibody?
Cryengine 3?
Transferência de valores.
Teste de usuário para um jogo
Ajuda com variaveis multiplas?
Animação da arma (Mirar/Recarregar)
script
[TUTORIAL] Barra de VIDA / HP contínua
Tornar objeto filho por script
Animacao2D
Duvida Animation Play não faz nada
Unity 5 Bugado
Escolher que resoluções jogo vai ter
Baixar Documentaçao Unity 3D?
COMO DESATIVAR O SCRIPT "FisrtPersonController" DO PLAYER ATRAVÉS DE OUTRO SCRIPT
Ajuda Movimento2D
AJUDA COM BAKE EM LUZES
Tem como editar o inspector?
[TUTORIAL] Como Abrir e Fechar Gavetas - Unity 5
Números aleatorios
[TUTORIAL]Save Load Criptografado (Atualizado 07/12/16)
Trocar de true pra false em uma animação bool
[TUTORIAL] Alterarando o ícone do Executável do Jogo
Unity 5 + um pouco de conhecimento ou Skyrim?
Procuro vagas em equipes [Programador]
Help minha void oncollisionenter nao funciona e nao consio encontrar o do por que :/
Converter um Gameobject para uma byte array (byte[])
Asset de FPS - AU FPS Kit [unity 5] v1.5
[TUTORIAL] Dicas de otimização
Preciso saber o ponto medio entre dois Transform
[TUTORIAL] Banco de dados || MySQL
Unity 5.5 BETA (Mudanças)
[TUTORIAL] Serialização - JSON
[TUTORIAL] Melhorar a estabilidade dos veículos com Wheel Collider
[TUTORIAL]Como colocar videos ou intros simples na unity free
[TUTORIAL] Deformar o terreno
[TUTORIAL] Scripts Básicos para Iniciantes
Qual asset comprar?
Ideias para level design 3D
[TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)
Alien Planet - Atmospheric scattering test
Integração PHP e Unity
Ideia Inovadora
[TUTORIAL] DANO POR QUEDA e BARRA DE VIDA CONTÍNUA no mesmo script
Pra que serve o [SerializeField] e por que usar ele?
Forma uma equipe
Hoje à(s) 10:05 am
Hoje à(s) 9:15 am
Ontem à(s) 10:24 pm
Ontem à(s) 10:14 pm
Ontem à(s) 9:26 pm
Ontem à(s) 7:51 pm
Ontem à(s) 7:45 pm
Ontem à(s) 7:05 pm
Ontem à(s) 1:05 pm
Ontem à(s) 10:55 am
Ontem à(s) 9:45 am
Ontem à(s) 6:34 am
Ontem à(s) 6:28 am
Sex Dez 09, 2016 10:28 pm
Sex Dez 09, 2016 10:26 pm
Sex Dez 09, 2016 10:19 pm
Sex Dez 09, 2016 10:11 pm
Sex Dez 09, 2016 9:02 pm
Sex Dez 09, 2016 5:57 pm
Sex Dez 09, 2016 3:07 pm
Sex Dez 09, 2016 12:12 pm
Sex Dez 09, 2016 12:03 pm
Qui Dez 08, 2016 10:37 pm
Qui Dez 08, 2016 7:40 pm
Qui Dez 08, 2016 7:39 pm
Qui Dez 08, 2016 6:44 pm
Qui Dez 08, 2016 6:26 pm
Qui Dez 08, 2016 11:42 am
Qui Dez 08, 2016 11:15 am
Qui Dez 08, 2016 8:45 am
Qui Dez 08, 2016 6:17 am
Qua Dez 07, 2016 11:58 pm
Qua Dez 07, 2016 11:55 pm
Qua Dez 07, 2016 10:57 pm
Qua Dez 07, 2016 10:22 pm
Qua Dez 07, 2016 10:03 pm
Qua Dez 07, 2016 8:51 pm
Qua Dez 07, 2016 8:47 pm
Qua Dez 07, 2016 8:42 pm
Qua Dez 07, 2016 8:36 pm
Qua Dez 07, 2016 8:32 pm
Qua Dez 07, 2016 8:30 pm
Qua Dez 07, 2016 8:22 pm
Qua Dez 07, 2016 7:47 pm
Qua Dez 07, 2016 5:54 pm
Qua Dez 07, 2016 5:50 pm
Qua Dez 07, 2016 4:31 pm
Qua Dez 07, 2016 4:16 pm
Qua Dez 07, 2016 3:40 pm
Qua Dez 07, 2016 3:26 pm
Qua Dez 07, 2016 3:01 pm
Qua Dez 07, 2016 2:31 pm
Ter Dez 06, 2016 10:46 pm
Ter Dez 06, 2016 10:30 pm
Ter Dez 06, 2016 6:02 pm
Ter Dez 06, 2016 5:01 pm
Ter Dez 06, 2016 3:31 am
Seg Dez 05, 2016 11:52 pm
Seg Dez 05, 2016 6:52 pm
Seg Dez 05, 2016 6:48 pm
Seg Dez 05, 2016 6:32 pm
Seg Dez 05, 2016 6:17 pm
Seg Dez 05, 2016 6:15 pm
Seg Dez 05, 2016 4:08 pm
Seg Dez 05, 2016 3:10 pm
Seg Dez 05, 2016 1:36 pm
Seg Dez 05, 2016 12:35 pm
Dom Dez 04, 2016 10:52 pm
Dom Dez 04, 2016 6:37 pm
Dom Dez 04, 2016 6:33 pm
Dom Dez 04, 2016 5:46 am
Dom Dez 04, 2016 3:34 am
Sab Dez 03, 2016 11:36 pm
Sab Dez 03, 2016 11:31 pm
Sab Dez 03, 2016 1:32 pm
dstaroski
Santiago Furtado
Weverton Borges da Silva
weslleyFx
lucasfera15
aluno virtual
ismarspn
mafipt
anizioNoob
oscar gonzalex
hen000
Callyde Jr
Callyde Jr
AndyShow
AndyShow
Hardencio
AndyShow
MarcosSchultz
souteramoto
Deiverson
Manawydan
luKkaSs
foxtenn
leandroinforware
leandroinforware
hetrodo_gamer
hetrodo_gamer
kleytonpb
AndyShow
Dom3000
Callyde Jr
Matrirxp
zBanidor
MarcosSchultz
zBanidor
artplayer
MarcosSchultz
DoctorGame15
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
hetrodo_gamer
Marlonwanger
diegopds
Dom3000
joabr
natanael.olimpio
hetrodo_gamer
hetrodo_gamer
Callyde Jr
Dom3000
Creat Games
Dom3000
hetrodo_gamer
dimmuo
Dom3000
Dom3000
artplayer
weslleyFx
RenanMSV
weslleyFx
Deiverson
John Rambo
Deiverson
Madness
Madness
weslleyFx
weslleyFx
artplayer
Madness
weslleyFx
weslleyFx
mafipt

SISTEMA DE PORTA COM SENHA

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

EM TESTE SISTEMA DE PORTA COM SENHA

Mensagem por weslleyFx em Dom Jun 12, 2016 10:16 am

Sistema de porta com Senha parecido Com Rusts



Script Da Porta

Código:

using UnityEngine;
using System.Collections;

[RequireComponent(typeof(LockDoorController))]
[RequireComponent(typeof(ChangePasswordDoor))]
public class DoorController : MonoBehaviour
{

    public float speedOpen = 3;
    public float speedClosed = 5;

    private float angle = 0;
    private bool open = false;

    public AudioSource openDoorSound;
    public AudioSource closedDoorSound;
    public AudioSource erroPassword;

    private LockDoorController lockDoorController;

    void Start()
    {
        lockDoorController = GetComponentInChildren<LockDoorController>();
   
    }

    void Update()
    {
        Open();
    }

    private void Open()
    {
        angle = open == true ? Mathf.LerpAngle(angle, -90, speedOpen * Time.deltaTime) : Mathf.LerpAngle(angle, 0, speedClosed * Time.deltaTime);
        Vector3 endRotation = new Vector3(0, angle, 0);
        transform.eulerAngles = endRotation;
    }

    public void OpenDoor()
    {
        if (Input.GetKeyDown(KeyCode.E))
        {
            if (!lockDoorController.IsLocked)
            {
                if (!open)
                {
                    open = true;
                    openDoorSound.Play();
                }
                else
                {
                    open = false;
                    closedDoorSound.Play();
                }
            }
            else
            {
                erroPassword.Play();
            }
        }
    }

    public bool GetStateDoor()
    {
        return open;
    }
}
[size][size]

Script De Trancar a Porta

[/size][/size]
Código:

using UnityEngine;
using UnityStandardAssets.Characters.FirstPerson;
using System.Collections;

public class LockDoorController : MonoBehaviour
{
    private string password = string.Empty;
    public AudioSource erroPassword;
    public AudioSource bip;

    public GameObject redLed;
    public GameObject greenLed;

    public bool withPassword = false;
    public bool switchOff = false;

    private bool interacting = false;
    private bool locked;

    void Start()
    {
        interacting = false;
        password = string.Empty;
    }

    void Update()
    {
        CheckPassword();
        LedsController();
    }

    private void LedsController()
    {
        redLed.SetActive(locked);
        greenLed.SetActive(!locked);
    }

    private void CheckPassword()
    {
        if (password.Length >= 4)
            withPassword = true;

        if (!interacting)
            return;

        if (locked)
        {
            if (CheckPasswordTyped())
            {
                StartCoroutine(Validate());
            }

            if (ElectronicLookController.lockController.currentPasswordTyped.Length >= 4 && !CheckPasswordTyped())
            {
                erroPassword.Play();
                ElectronicLookController.lockController.Reset();
                switchOff = true;
            }
        }
    }

    private bool CheckPasswordTyped()
    {
        if ( ElectronicLookController.lockController.currentPasswordTyped == password && password != string.Empty)
        {
            return true;
        }
        return false;
    }

    public void EnterCode(FirstPersonController firstPersonController)
    {
        ComeBack(firstPersonController);
        InteractWithDoor(firstPersonController);
    }

    private void InteractWithDoor(FirstPersonController firstPersonController)
    {
        if (Input.GetKeyDown(KeyCode.E))
        {
            if (GetComponent<DoorController>().GetStateDoor() && withPassword)
                return;
           
            Cursor.lockState = CursorLockMode.None;
            Cursor.visible = true;

            interacting = true;
            firstPersonController.enabled = false;

            if (!withPassword)
            {
                MenuLock.GetMenuLock.Change();
            }
            else
            {
                if (!locked)
                {
                    MenuLock.GetMenuLock.OpenMenu();
                }
                else
                {
                    ElectronicLookController.lockController.OpenLockController();
                }
            }
        }  
    }

    private void ComeBack(FirstPersonController firstPersonController)
    {
        if (Input.GetKeyDown(KeyCode.Escape) || switchOff)
        {
            ElectronicLookController.lockController.Reset();

            if (MenuLock.GetMenuLock.gameObject.activeSelf)
            {
                MenuLock.GetMenuLock.Reset();
            }

            firstPersonController.enabled = true;
            interacting = false;
            switchOff = false;
        }
    }

    public IEnumerator Validate()
    {
        interacting = false;
        yield return new WaitForSeconds(0.3f);
        switchOff = true;
        locked = false;

        bip.Play();
        yield return new WaitForSeconds(bip.clip.length / 2);
        bip.Play();

        Debug.Log("Vaidando");
    }

    public bool IsLocked
    {
        get{ return locked; }
        set{ locked = value; }
    }

    public bool ThisInteracting
    {
        get{ return interacting; }
        set{ interacting = value; }
    }

    public string GetPassword
    {
        get{ return password; }
        set{ password = value; }
    }
}
[size][size]

Script De Trocar a Senha

[/size][/size]
Código:

using UnityEngine;
using System.Collections;

public class ChangePasswordDoor : MonoBehaviour {

    private LockDoorController lockDoorController;

    public AudioSource accept;
    public AudioSource locked;

    private bool toExchange;

    void Start ()
    {
        lockDoorController = GetComponentInChildren<LockDoorController>();
    }

    void Update ()
    {
        if (!lockDoorController.ThisInteracting)
            return;

        if (MenuLock.GetMenuLock.lockDoor)
        {
            if (lockDoorController.GetPassword != string.Empty)
            {
                lockDoorController.IsLocked = !lockDoorController.IsLocked;
                lockDoorController.ThisInteracting = false;
                MenuLock.GetMenuLock.Reset();
                locked.Play();
            }
            else
            {
                ChangePassword();
            }
        }
        else if (MenuLock.GetMenuLock.changePassWord)
        {
            ChangePassword();
        }
    }

    private void ChangePassword()
    {
        string password =  ElectronicLookController.lockController.currentPasswordTyped;
        ElectronicLookController.lockController.OpenLockController();

        if (password.Length >= 4 && !toExchange)
        {
            toExchange = true;
        }

        if (toExchange)
            StartCoroutine(Validate(password));
    }

    private IEnumerator Validate(string password)
    {
        toExchange = false;
        MenuLock.GetMenuLock.Reset();
        lockDoorController.GetPassword = password;

        yield return new WaitForSeconds(0.3f);

        accept.Play();
        lockDoorController.switchOff = true;
        ElectronicLookController.lockController.Reset();
    }   
}

[size][size]

Script Do Player

[/size][/size]
Código:

using UnityEngine;
using UnityEngine.UI;
using System.Collections;
using UnityStandardAssets.Characters.FirstPerson;

public class PlayerBehaviour : MonoBehaviour
{
    private FirstPersonController firstPersonController;

    public Text objectName;
    public Image sight;

    void Start()
    {
        firstPersonController = GetComponent<FirstPersonController>();
    }

    void Update()
    {
        Ray ray = Camera.main.ScreenPointToRay(new Vector3(Screen.width / 2, Screen.height / 2, 0));
        RaycastHit hitInfo;

        bool collided = Physics.Raycast(ray, out hitInfo, 10);

        objectName.enabled = collided;
        sight.enabled = collided;

        if (!collided)
            return;

        ColliderObject(hitInfo);
    }

    private void ColliderObject(RaycastHit hitInfo)
    {
        switch (hitInfo.collider.tag)
        {
            case "Door":
                DoorController doorController = hitInfo.transform.GetComponentInParent<DoorController>();
                objectName.text = doorController.GetStateDoor() == true ? "Closed Door" : "Open Door";
                doorController.OpenDoor();

                break;
            case "Lock":
               
                LockDoorController lockDoorController = hitInfo.transform.GetComponentInParent<LockDoorController>();
                if (!lockDoorController.IsLocked)
                {
                    objectName.text = lockDoorController.withPassword == false ? "Change Password Code" : "Open Menu";
                }
                else
                {
                    objectName.text = "Unlock With Code";
                }

                lockDoorController.EnterCode(firstPersonController);

                break;

            default:
                objectName.text = "";
                break;
        }
    }
}
[size][size]

Script Dos Botões

[/size][/size]
Código:

using UnityEngine;
using UnityEngine.UI;
using System.Collections;
using System.Collections.Generic;
using System.Linq;

public class ElectronicLockController : MonoBehaviour
{
   
    public List<Button> buttons;
    public Button deleteButton;
    public Text currentPasswordText;

    public string currentPasswordTyped = string.Empty;

    public static ElectronicLockController lockController;

    void Start()
    {
        AddFuctionsButtons();
        currentPasswordTyped = string.Empty;
        lockController = this;
        gameObject.SetActive(false);
    }

    void Update()
    {
        currentPasswordText.text = currentPasswordTyped;
    }
       
    private void AddFuctionsButtons()
    {
        int value = 0;

        foreach (Button button in buttons)
        {
            for (int i = value; i < buttons.Count; i++)
            {
                button.onClick = new Button.ButtonClickedEvent();
                button.onClick.AddListener(() => EnterCode(i));
                value++;
                break;
            }
        }

        deleteButton.onClick = new Button.ButtonClickedEvent();
        deleteButton.onClick.AddListener(() => Backspace());
    }
     
    public void EnterCode(int value)
    {
        if (currentPasswordTyped.Length < 5)
            currentPasswordTyped += value.ToString();
    }

    public void Backspace()//Gambiarra OBSERVAÇÃO
    {
        if (currentPasswordTyped.Length <= 0)
            return;    

        List<char> lastValue = new List<char>();  
        lastValue.AddRange(currentPasswordTyped.ToCharArray(0,currentPasswordTyped.Length));
        lastValue.RemoveAt((lastValue.Count - 1));

        currentPasswordTyped = string.Empty;

        foreach (char last in lastValue)
        {
            currentPasswordTyped += last.ToString();
        }
    }

    public void OpenLockController()
    {
        gameObject.SetActive(true);
    }

    public void Reset()
    {
        currentPasswordTyped = string.Empty;
        currentPasswordText.text = "";
        gameObject.SetActive(false);
    }
}

[size][size]

Script Do Menu

[/size][/size]
Código:

using UnityEngine;
using System.Collections;
using UnityStandardAssets.Characters.FirstPerson;

public class MenuLock : MonoBehaviour
{

    public bool lockDoor;
    public bool changePassWord;

    public static MenuLock GetMenuLock;

    void Start()
    {
        GetMenuLock = this;
        gameObject.SetActive(false);
    }

    public void locked()
    {
        lockDoor = true;
        gameObject.SetActive(false);
        FirstPersonController firstPersonController = FindObjectOfType(typeof(FirstPersonController)) as FirstPersonController;
        firstPersonController.enabled = true;
    }

    public void Change()
    {
        changePassWord = true;
        gameObject.SetActive(false);
    }

    public void OpenMenu()
    {
        gameObject.SetActive(true);
    }

    public void Reset()
    {
        lockDoor = false;
        changePassWord = false;
        gameObject.SetActive(false);
    }
}



Última edição por weslleyFx em Sex Jul 29, 2016 1:05 pm, editado 1 vez(es)

weslleyFx
Moderador

Masculino PONTOS : 1884
REPUTAÇÃO : 408
Idade : 18
Áreas de atuação : Csharp programming language C#
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

EM TESTE Re: SISTEMA DE PORTA COM SENHA

Mensagem por Manawydan em Dom Jun 12, 2016 1:08 pm

boa, pq não faz um tutorial de como fazer pro pessoal?

Manawydan
Moderador

PONTOS : 483
REPUTAÇÃO : 83
Idade : 19
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

EM TESTE Re: SISTEMA DE PORTA COM SENHA

Mensagem por RenanMSV em Dom Jun 12, 2016 1:54 pm

Mt bom !

RenanMSV
Instrutor

Masculino PONTOS : 1525
REPUTAÇÃO : 310
Áreas de atuação : Programação em C#, PHP. SQL, JavaScript (Web)
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

EM TESTE Re: SISTEMA DE PORTA COM SENHA

Mensagem por ninjaEX em Dom Jun 12, 2016 3:07 pm

faz um tutorial

ninjaEX
Avançado
Avançado

PONTOS : 285
REPUTAÇÃO : 4
Áreas de atuação : no unity,e eu sei o basico de programaçao e sou pessimo de modelar e AMO particulas
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

EM TESTE Re: SISTEMA DE PORTA COM SENHA

Mensagem por weslleyFx em Dom Jun 12, 2016 6:28 pm

Para fazer um tutorial desse sistema teria que ser em vídeo mais no momento estou sem microfone não que seja muito complicado para fazer um tutorial escrito mais ele bem chatinho de fazer este sistema foi feito com 6 scripts

weslleyFx
Moderador

Masculino PONTOS : 1884
REPUTAÇÃO : 408
Idade : 18
Áreas de atuação : Csharp programming language C#
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

EM TESTE Re: SISTEMA DE PORTA COM SENHA

Mensagem por weslleyFx em Sex Jul 29, 2016 1:07 pm

@Up scripts usados

weslleyFx
Moderador

Masculino PONTOS : 1884
REPUTAÇÃO : 408
Idade : 18
Áreas de atuação : Csharp programming language C#
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