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:
JUMP no estilo Subwey surf
[DUVIDA] Com jump estilo subway surf
Iluminação unity 5
Personagem em 3ª pessoa
Meu Script Sumiu!
Projeto - IMU, terror de sobrevivência em primeira pessoa (estilo silent hill)
Desenvolvimento de game PokeGen MS - Vídeo e informações
Procuro membros para minha Equipe (Programadores, designers, etc)
Duvida de camera
Galera aki tenho um site com muitos models 3d
[TUTORIAL] Sistema COMPLETO de câmeras
(Dúvida) Objeto receber posição do Raycast.
COMO COLOCO LANTERNA DE LED NO MEU JOGO DE BUS
DUVIDA SCRIPT DO MARCOS SELEÇÃO DE PERSONAGEM !
[____TÓPICO LIVRE____] FALE O QUE QUISER
SOBRE "IK" INVERSE KINEMATICS
Objeto ir para raycast
Duvida como instância um game objeto com Raycast
Problema Com Virtual Buttons Help me ;-;
GALERA PRECISO DE MODELADORES ,DESIGNER E PROGAMADORES PARA A MINHA EQUIPE DE UNITY 5
sobre build run no Android
e algum bug??
Alguém Para Dar Uma Avaliada no Meu Jogo de Terror :)
[____ADMINISTRADOR OFFLINE____]
Tela rosa em jogos
Ajuda na script
[ajuda] câmera puxada
Duvida de script de controle
Não carrega próxima cena após finalizar cutscene
Duvida de script avançada
[TUTORIAL] Derrubar arvores e dropar madeiras dela
Vocês poderiam avaliar meu jogo para Android? (30mb)
Ajuda com elementos UI
Ajuda com AI
Multiplayer com photon
[PEDIDO] Tutorial de Multiplayer
procuro equipe para meu jogo de bus
Formação de equipe para jogo estilo Days Gone (Campanha , Multiplayer) , (já está em criação)
AJUDA SCRIPT LUZ UNITY 5.5
3 Armas mediavais gratis, criada por min
Alguém poderia me ajudar a entender esse script
[TUTORIAL] Entrar no carro estilo GTA
Folha de Palmeira (Modelo 3D)
DESLIGAR E LIGAR O CARRO
Procuro programadores para meu jogo
Duvida sobre pulo
unity pack
PROCURO EQUIPE PARA DESENVOLVER UM GAME NO ESTILO BOMBERMAN (ANTIGOS) ENTRAR EM CONTATO
Formação de equipes Bus Brasil
[JOGO] Dead Age(Em desenvolvimento).
Vcs ja publicaram algum game ou aplicativo na playstore?
Ajuda para Criar Um Mapa que se passa em uma escola brasileira
[TUTORIAL] Sistema de inventário Sobrevivência
Novo Modelo de Espada Blender
[JOGO] The Park Life [DEMO DISPONIVEL]
Quero entrar para uma equipe.
Duvida sobre instantiate
Duvida passar de fase com objetos
[TUTORIAL] Como fazer uma Barra de Loading na Unity 5
[TUTORIAL] Alterar a velocidade de queda de um RigidBody
jogo 3D como fazer o personagem...
Problema ao atualizar o Unity 3D
[TUTORIAL] Camera orbital com zoom (scroll)
[TUTORIAL] MENU PRINCIPAL - UNITY 5 (5.3 ou superior) (Com UI)
Dúvida animation
WhellJoint 2D
Asset para estudo
Ajuda sobre como usar X Axis e Y Axis no lugar do Mouse - UNITY
Arvore no Trees
Porta de correr
Acessar variáveis do Network Manager
ajuda com script de inimigo para fazer com que ele só ataque quando ver o player
como corrijo esses erro "was expected"
duvida em script
galera quero saber se tem como fazer um sistema em que o personagem coleta tempo caso o tempo acabe de game over
Hoje à(s) 9:06 pm
Hoje à(s) 9:03 pm
Hoje à(s) 8:57 pm
Hoje à(s) 8:53 pm
Hoje à(s) 8:41 pm
Hoje à(s) 8:38 pm
Hoje à(s) 8:34 pm
Hoje à(s) 8:17 pm
Hoje à(s) 8:03 pm
Hoje à(s) 6:54 pm
Hoje à(s) 6:05 pm
Hoje à(s) 5:21 pm
Hoje à(s) 5:13 pm
Hoje à(s) 4:33 pm
Hoje à(s) 2:17 pm
Hoje à(s) 1:19 pm
Hoje à(s) 12:54 pm
Hoje à(s) 11:57 am
Hoje à(s) 10:16 am
Hoje à(s) 7:54 am
Hoje à(s) 7:46 am
Ontem à(s) 9:06 pm
Ontem à(s) 7:52 pm
Ontem à(s) 7:02 pm
Ontem à(s) 6:54 pm
Ontem à(s) 5:21 pm
Ontem à(s) 5:12 pm
Ontem à(s) 5:11 pm
Ontem à(s) 5:11 pm
Ontem à(s) 5:10 pm
Ontem à(s) 5:05 pm
Ontem à(s) 5:03 pm
Ontem à(s) 3:01 pm
Ontem à(s) 2:02 pm
Ontem à(s) 12:02 pm
Ontem à(s) 10:53 am
Dom Jan 15, 2017 10:14 pm
Dom Jan 15, 2017 6:31 pm
Dom Jan 15, 2017 6:03 pm
Dom Jan 15, 2017 5:54 pm
Dom Jan 15, 2017 5:17 pm
Dom Jan 15, 2017 4:30 pm
Dom Jan 15, 2017 4:24 pm
Dom Jan 15, 2017 4:16 pm
Dom Jan 15, 2017 2:52 pm
Dom Jan 15, 2017 9:40 am
Dom Jan 15, 2017 9:06 am
Dom Jan 15, 2017 12:01 am
Sab Jan 14, 2017 8:06 pm
Sab Jan 14, 2017 5:53 pm
Sab Jan 14, 2017 10:38 am
Sab Jan 14, 2017 9:06 am
Sab Jan 14, 2017 7:37 am
Sab Jan 14, 2017 7:25 am
Sab Jan 14, 2017 7:22 am
Sab Jan 14, 2017 7:21 am
Sex Jan 13, 2017 11:49 pm
Sex Jan 13, 2017 10:21 pm
Sex Jan 13, 2017 9:13 pm
Sex Jan 13, 2017 7:41 pm
Sex Jan 13, 2017 7:35 pm
Sex Jan 13, 2017 7:29 pm
Sex Jan 13, 2017 7:26 pm
Sex Jan 13, 2017 7:14 pm
Sex Jan 13, 2017 7:11 pm
Sex Jan 13, 2017 7:05 pm
Sex Jan 13, 2017 7:02 pm
Sex Jan 13, 2017 7:01 pm
Sex Jan 13, 2017 6:59 pm
Qui Jan 12, 2017 11:09 pm
Qui Jan 12, 2017 10:51 pm
Qui Jan 12, 2017 8:10 pm
Qui Jan 12, 2017 3:32 pm
Qui Jan 12, 2017 2:09 pm
Qui Jan 12, 2017 12:07 pm
poker14k
poker14k
John Rambo
dstaroski
ismarspn
mrariel2011
monal
dstaroski
Brasil urban simulator 16
MonsaM
MonsaM
rafaelllsd
John Rambo
LuizFixa3D
joabr
XavezZ
lucasfera15
R R
anizioNoob
dstaroski
dstaroski
John Rambo
dstaroski
dstaroski
Igor Melim
MarcosSchultz
MarcosSchultz
MarcosSchultz
joabr
MarcosSchultz
MarcosSchultz
marcos4503
sabbath
Callyde Jr
artplayer
Chilinger
Manawydan
Willian Wii
Pedro Canassa Garcia
MateusWTP
Willian Wii
tom ramber
RenanMSV
tom ramber
Willian Wii
AndyShow
dstaroski
Kaiky leandro
Kaiky leandro
ismarspn
Willian Wii
GamersBR
hen000
Weverton Borges da Silva
Weverton Borges da Silva
hen000
John Rambo
Manawydan
bymaxbig
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
John Rambo
weslleyFx
bymaxbig
thiagograssi
AndyShow
joaohw

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 : 2036
REPUTAÇÃO : 440
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 : 574
REPUTAÇÃO : 100
Idade : 20
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 : 1591
REPUTAÇÃO : 318
Á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 : 322
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 : 2036
REPUTAÇÃO : 440
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 : 2036
REPUTAÇÃO : 440
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