[TUTORIAL] Sistema de fome, sede, barra de vida, barra de estamina, itens e dano por queda
+28
Pablo Conti
SuperGamer
vitorpruss
TgamerBR
joaob
NKKF
dstaroski
rafael132015
mayke1040
zOverLexYT
xNIIELx
garden
Hardencio
PrimeStudio
mglucas0123
MarcosSchultz
Eduardoro39
dinodragom
WiredD
sabrinab
jubileu01
Weslley
aluno virtual
lenon lima
iagoangelo25@gmail.com
Marssa
GustavoMaster
Thalles Br
32 participantes
Página 3 de 3
Página 3 de 3 • 1, 2, 3
Re: [TUTORIAL] Sistema de fome, sede, barra de vida, barra de estamina, itens e dano por queda
Putz, mais um tutorial pra eu atualizar...
A Unity remove os assets e as coisas param de funcionar.
Esses erros estão acontecendo por que o pacote de StandardAssets não está incluído no seu projeto, mas nem tenho certeza se a versão atual do StandardAssets contém os recursos usados nesse tutorial ai...
Tente baixar os assets nesse link:
https://assetstore.unity.com/packages/essentials/asset-packs/standard-assets-for-unity-2018-4-32351
A Unity remove os assets e as coisas param de funcionar.
Esses erros estão acontecendo por que o pacote de StandardAssets não está incluído no seu projeto, mas nem tenho certeza se a versão atual do StandardAssets contém os recursos usados nesse tutorial ai...
Tente baixar os assets nesse link:
https://assetstore.unity.com/packages/essentials/asset-packs/standard-assets-for-unity-2018-4-32351
Re: [TUTORIAL] Sistema de fome, sede, barra de vida, barra de estamina, itens e dano por queda
o meu ta dando error CS1514 expected { :puzzled:pfv me ajuda urgenteMarcosSchultz escreveu:IIII ae pessoal, criei este sistema ultra compledo de:
Tutorial Unity 5
Sistema de fome
Sistema de sede
Barra de estamina - stamina
Barra de vida - life bar
Dano por queda
Vídeo mostrando como faze-lo
ASSISTAM O VÍDEO PARA EVITAR ERROS
Scripts do tutorial:
- Código:
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using UnityStandardAssets.Characters.FirstPerson;
public class Controle : MonoBehaviour {
private CharacterController controlador;
private GameObject Jogador;
private float UltimaPosicaoEmY,DistanciaDeQueda;
[Range(1,15)]
public float AlturaQueda = 4,DanoPorMetro = 5 ;
public Image BarraVida, BarraEstamina, BarraFome, BarraSede;
[Range(20,500)]
public float VidaCheia = 100, EstaminaCheia = 100, FomeCheia = 100, SedeCheia = 100,velocidadeEstamina = 250;
[HideInInspector]
public float VidaAtual, EstaminaAtual, FomeAtual, SedeAtual;
private bool semEstamina = false;
private float cronometroFome,cronometroSede,velocidadeCaminhando,velocidadeCorrendo;
void Start (){
controlador = GetComponent <CharacterController> ();
VidaAtual = VidaCheia;
EstaminaAtual = EstaminaCheia;
FomeAtual = FomeCheia;
SedeAtual = SedeCheia;
Jogador = GameObject.FindWithTag ("Player");
velocidadeCaminhando = Jogador.GetComponent<FirstPersonController> ().m_WalkSpeed;
velocidadeCorrendo = Jogador.GetComponent<FirstPersonController> ().m_RunSpeed;
}
void Update (){
SistemaDeQueda ();
SistemaDeVida ();
SistemaDeEstamina ();
SistemaDeFome ();
SistemaDeSede ();
AplicarBarras ();
}
void SistemaDeQueda(){
if (UltimaPosicaoEmY > Jogador.transform.position.y && controlador.velocity.y < 0) {
DistanciaDeQueda += UltimaPosicaoEmY-Jogador.transform.position.y;
}
UltimaPosicaoEmY = Jogador.transform.position.y;
if (DistanciaDeQueda >= AlturaQueda && controlador.isGrounded) {
VidaAtual = VidaAtual - DanoPorMetro*DistanciaDeQueda;
DistanciaDeQueda = 0;
UltimaPosicaoEmY = 0;
}
if (DistanciaDeQueda < AlturaQueda && controlador.isGrounded) {
DistanciaDeQueda = 0;
UltimaPosicaoEmY = 0;
}
}
void SistemaDeFome(){
FomeAtual -= Time.deltaTime;
if (FomeAtual >= FomeCheia) {
FomeAtual = FomeCheia;
}
if (FomeAtual <= 0) {
FomeAtual = 0;
cronometroFome += Time.deltaTime;
if (cronometroFome >= 3) {
VidaAtual -= (VidaCheia * 0.005f);
EstaminaAtual -= (EstaminaCheia * 0.1f);
cronometroFome = 0;
}
} else {
cronometroFome = 0;
}
}
void SistemaDeSede(){
SedeAtual -= Time.deltaTime;
if (SedeAtual >= SedeCheia) {
SedeAtual = SedeCheia;
}
if (SedeAtual <= 0) {
SedeAtual = 0;
cronometroSede += Time.deltaTime;
if (cronometroSede >= 3) {
EstaminaAtual -= (EstaminaCheia * 0.1f);
cronometroSede = 0;
}
} else {
cronometroSede = 0;
}
}
void SistemaDeEstamina(){
float multEuler = ((1/EstaminaCheia) * EstaminaAtual)*((1/FomeCheia) * FomeAtual);
if (EstaminaAtual >= EstaminaCheia) {
EstaminaAtual = EstaminaCheia;
} else {
EstaminaAtual += Time.deltaTime*(velocidadeEstamina/40)*Mathf.Pow(2.718f,multEuler);
}
if (EstaminaAtual <= 0) {
EstaminaAtual = 0;
Jogador.GetComponent<FirstPersonController> ().m_RunSpeed = velocidadeCaminhando;
semEstamina = true;
}
if (semEstamina == true && EstaminaAtual >= (EstaminaCheia * 0.15f)) {
Jogador.GetComponent<FirstPersonController> ().m_RunSpeed = velocidadeCorrendo;
semEstamina = false;
}
if (Input.GetKey (KeyCode.LeftShift) && semEstamina == false) {
EstaminaAtual -= Time.deltaTime*(velocidadeEstamina/15)*Mathf.Pow(2.718f,multEuler);
}
}
void SistemaDeVida(){
if (VidaAtual >= VidaCheia) {
VidaAtual = VidaCheia;
} else if (VidaAtual <= 0) {
VidaAtual = 0;
Morreu ();
}
}
void AplicarBarras(){
BarraVida.fillAmount = ((1/VidaCheia) * VidaAtual);
BarraEstamina.fillAmount = ((1/EstaminaCheia) * EstaminaAtual);
BarraFome.fillAmount = ((1/FomeCheia) * FomeAtual);
BarraSede.fillAmount = ((1/SedeCheia) * SedeAtual);
}
void Morreu (){
Debug.Log("Morreu por falta de comida");
}
}
- Código:
using UnityEngine;
using System.Collections;
public class Coletaveis : MonoBehaviour{
public enum TIPO{
Comida,
Bebida,
Vida,
Energia
}
public TIPO TipoDoItem;
[Range(1,500)]
public float QuantoRepor = 50;
private GameObject Jogador;
void Start (){
Jogador = GameObject.FindWithTag ("Player");
}
void OnTriggerStay(Collider other){
if (Input.GetKeyDown ("e") && other.gameObject == Jogador.gameObject) {
switch (TipoDoItem) {
case TIPO.Comida:
Jogador.GetComponent<Controle> ().FomeAtual += QuantoRepor;
Destroy (gameObject);
break;
case TIPO.Bebida:
Jogador.GetComponent<Controle> ().SedeAtual += QuantoRepor;
Destroy (gameObject);
break;
case TIPO.Vida:
Jogador.GetComponent<Controle> ().VidaAtual += QuantoRepor;
Destroy (gameObject);
break;
case TIPO.Energia:
Jogador.GetComponent<Controle> ().EstaminaAtual += QuantoRepor;
Destroy (gameObject);
break;
}
}
}
}
cafezinho71- Avançado
- PONTOS : 1628
REPUTAÇÃO : 5
Áreas de atuação : unity c# e musica
Respeito as regras :
Re: [TUTORIAL] Sistema de fome, sede, barra de vida, barra de estamina, itens e dano por queda
posta o erro completo por favor
Re: [TUTORIAL] Sistema de fome, sede, barra de vida, barra de estamina, itens e dano por queda
Olá Marcos obr por me ajudar mas eu errei bem feio era um erro bolo mas poderia atualizar esse tutorial e tbm colocar vida do inimigo pfvMarcosSchultz escreveu:posta o erro completo por favor
cafezinho71- Avançado
- PONTOS : 1628
REPUTAÇÃO : 5
Áreas de atuação : unity c# e musica
Respeito as regras :
Re: [TUTORIAL] Sistema de fome, sede, barra de vida, barra de estamina, itens e dano por queda
cafezinho71 escreveu:Olá Marcos obr por me ajudar mas eu errei bem feio era um erro bolo mas poderia atualizar esse tutorial e tbm colocar vida do inimigo pfvMarcosSchultz escreveu:posta o erro completo por favor
Para colocar vida de inimigo e dano eu teria que fazer um sistema de inimigo e uma AI... talvez seja um sisteminha bem grande para ser criado, mas vou estudar o caso. Seria uma demanda interessante.
Re: [TUTORIAL] Sistema de fome, sede, barra de vida, barra de estamina, itens e dano por queda
MarcosSchultz escreveu:cafezinho71 escreveu:Olá Marcos obr por me ajudar mas eu errei bem feio era um erro bolo mas poderia atualizar esse tutorial e tbm colocar vida do inimigo pfv ss obr mt obrigadoMarcosSchultz escreveu:posta o erro completo por favor
Para colocar vida de inimigo e dano eu teria que fazer um sistema de inimigo e uma AI... talvez seja um sisteminha bem grande para ser criado, mas vou estudar o caso. Seria uma demanda interessante.
cafezinho71- Avançado
- PONTOS : 1628
REPUTAÇÃO : 5
Áreas de atuação : unity c# e musica
Respeito as regras :
Re: [TUTORIAL] Sistema de fome, sede, barra de vida, barra de estamina, itens e dano por queda
O meu dá erro nesse script, pode ensinar para unity 2018?
[list=linenums]
[*]using UnityEngine;
[*]using System.Collections;
[*]using UnityEngine.UI;
[*]using UnityStandardAssets.Characters.FirstPerson;
[*]public class Controle : MonoBehaviour {
[*] private CharacterController controlador;
[*] private GameObject Jogador;
[*] private float UltimaPosicaoEmY,DistanciaDeQueda;
[*] [Range(1,15)]
[*] public float AlturaQueda = 4,DanoPorMetro = 5 ;
[*] public Image BarraVida, BarraEstamina, BarraFome, BarraSede;
[*] [Range(20,500)]
[*] public float VidaCheia = 100, EstaminaCheia = 100, FomeCheia = 100, SedeCheia = 100,velocidadeEstamina = 250;
[*] [HideInInspector]
[*] public float VidaAtual, EstaminaAtual, FomeAtual, SedeAtual;
[*] private bool semEstamina = false;
[*] private float cronometroFome,cronometroSede,velocidadeCaminhando,velocidadeCorrendo;
[*] void Start (){
[*] controlador = GetComponent <CharacterController> ();
[*] VidaAtual = VidaCheia;
[*] EstaminaAtual = EstaminaCheia;
[*] FomeAtual = FomeCheia;
[*] SedeAtual = SedeCheia;
[*] Jogador = GameObject.FindWithTag ("Player");
[*] velocidadeCaminhando = Jogador.GetComponent<FirstPersonController> ().m_WalkSpeed;
[*] velocidadeCorrendo = Jogador.GetComponent<FirstPersonController> ().m_RunSpeed;
[*] }
[*] void Update (){
[*] SistemaDeQueda ();
[*] SistemaDeVida ();
[*] SistemaDeEstamina ();
[*] SistemaDeFome ();
[*] SistemaDeSede ();
[*] AplicarBarras ();
[*] }
[*] void SistemaDeQueda(){
[*] if (UltimaPosicaoEmY > Jogador.transform.position.y && controlador.velocity.y < 0) {
[*] DistanciaDeQueda += UltimaPosicaoEmY-Jogador.transform.position.y;
[*] }
[*] UltimaPosicaoEmY = Jogador.transform.position.y;
[*] if (DistanciaDeQueda >= AlturaQueda && controlador.isGrounded) {
[*] VidaAtual = VidaAtual - DanoPorMetro*DistanciaDeQueda;
[*] DistanciaDeQueda = 0;
[*] UltimaPosicaoEmY = 0;
[*] }
[*] if (DistanciaDeQueda < AlturaQueda && controlador.isGrounded) {
[*] DistanciaDeQueda = 0;
[*] UltimaPosicaoEmY = 0;
[*] }
[*] }
[*] void SistemaDeFome(){
[*] FomeAtual -= Time.deltaTime;
[*] if (FomeAtual >= FomeCheia) {
[*] FomeAtual = FomeCheia;
[*] }
[*] if (FomeAtual <= 0) {
[*] FomeAtual = 0;
[*] cronometroFome += Time.deltaTime;
[*] if (cronometroFome >= 3) {
[*] VidaAtual -= (VidaCheia * 0.005f);
[*] EstaminaAtual -= (EstaminaCheia * 0.1f);
[*] cronometroFome = 0;
[*] }
[*] } else {
[*] cronometroFome = 0;
[*] }
[*] }
[*] void SistemaDeSede(){
[*] SedeAtual -= Time.deltaTime;
[*] if (SedeAtual >= SedeCheia) {
[*] SedeAtual = SedeCheia;
[*] }
[*] if (SedeAtual <= 0) {
[*] SedeAtual = 0;
[*] cronometroSede += Time.deltaTime;
[*] if (cronometroSede >= 3) {
[*] EstaminaAtual -= (EstaminaCheia * 0.1f);
[*] cronometroSede = 0;
[*] }
[*] } else {
[*] cronometroSede = 0;
[*] }
[*] }
[*] void SistemaDeEstamina(){
[*] float multEuler = ((1/EstaminaCheia) * EstaminaAtual)*((1/FomeCheia) * FomeAtual);
[*] if (EstaminaAtual >= EstaminaCheia) {
[*] EstaminaAtual = EstaminaCheia;
[*] } else {
[*] EstaminaAtual += Time.deltaTime*(velocidadeEstamina/40)*Mathf.Pow(2.718f,multEuler);
[*] }
[*] if (EstaminaAtual <= 0) {
[*] EstaminaAtual = 0;
[*] Jogador.GetComponent<FirstPersonController> ().m_RunSpeed = velocidadeCaminhando;
[*] semEstamina = true;
[*] }
[*] if (semEstamina == true && EstaminaAtual >= (EstaminaCheia * 0.15f)) {
[*] Jogador.GetComponent<FirstPersonController> ().m_RunSpeed = velocidadeCorrendo;
[*] semEstamina = false;
[*] }
[*] if (Input.GetKey (KeyCode.LeftShift) && semEstamina == false) {
[*] EstaminaAtual -= Time.deltaTime*(velocidadeEstamina/15)*Mathf.Pow(2.718f,multEuler);
[*] }
[*] }
[*] void SistemaDeVida(){
[*] if (VidaAtual >= VidaCheia) {
[*] VidaAtual = VidaCheia;
[*] } else if (VidaAtual <= 0) {
[*] VidaAtual = 0;
[*] Morreu ();
[*] }
[*] }
[*] void AplicarBarras(){
[*] BarraVida.fillAmount = ((1/VidaCheia) * VidaAtual);
[*] BarraEstamina.fillAmount = ((1/EstaminaCheia) * EstaminaAtual);
[*] BarraFome.fillAmount = ((1/FomeCheia) * FomeAtual);
[*] BarraSede.fillAmount = ((1/SedeCheia) * SedeAtual);
[*] }
[*] void Morreu (){
[*] Debug.Log("Morreu por falta de comida");
[*] }
[*]}
[/list]
[list=linenums]
[*]using UnityEngine;
[*]using System.Collections;
[*]using UnityEngine.UI;
[*]using UnityStandardAssets.Characters.FirstPerson;
[*]public class Controle : MonoBehaviour {
[*] private CharacterController controlador;
[*] private GameObject Jogador;
[*] private float UltimaPosicaoEmY,DistanciaDeQueda;
[*] [Range(1,15)]
[*] public float AlturaQueda = 4,DanoPorMetro = 5 ;
[*] public Image BarraVida, BarraEstamina, BarraFome, BarraSede;
[*] [Range(20,500)]
[*] public float VidaCheia = 100, EstaminaCheia = 100, FomeCheia = 100, SedeCheia = 100,velocidadeEstamina = 250;
[*] [HideInInspector]
[*] public float VidaAtual, EstaminaAtual, FomeAtual, SedeAtual;
[*] private bool semEstamina = false;
[*] private float cronometroFome,cronometroSede,velocidadeCaminhando,velocidadeCorrendo;
[*] void Start (){
[*] controlador = GetComponent <CharacterController> ();
[*] VidaAtual = VidaCheia;
[*] EstaminaAtual = EstaminaCheia;
[*] FomeAtual = FomeCheia;
[*] SedeAtual = SedeCheia;
[*] Jogador = GameObject.FindWithTag ("Player");
[*] velocidadeCaminhando = Jogador.GetComponent<FirstPersonController> ().m_WalkSpeed;
[*] velocidadeCorrendo = Jogador.GetComponent<FirstPersonController> ().m_RunSpeed;
[*] }
[*] void Update (){
[*] SistemaDeQueda ();
[*] SistemaDeVida ();
[*] SistemaDeEstamina ();
[*] SistemaDeFome ();
[*] SistemaDeSede ();
[*] AplicarBarras ();
[*] }
[*] void SistemaDeQueda(){
[*] if (UltimaPosicaoEmY > Jogador.transform.position.y && controlador.velocity.y < 0) {
[*] DistanciaDeQueda += UltimaPosicaoEmY-Jogador.transform.position.y;
[*] }
[*] UltimaPosicaoEmY = Jogador.transform.position.y;
[*] if (DistanciaDeQueda >= AlturaQueda && controlador.isGrounded) {
[*] VidaAtual = VidaAtual - DanoPorMetro*DistanciaDeQueda;
[*] DistanciaDeQueda = 0;
[*] UltimaPosicaoEmY = 0;
[*] }
[*] if (DistanciaDeQueda < AlturaQueda && controlador.isGrounded) {
[*] DistanciaDeQueda = 0;
[*] UltimaPosicaoEmY = 0;
[*] }
[*] }
[*] void SistemaDeFome(){
[*] FomeAtual -= Time.deltaTime;
[*] if (FomeAtual >= FomeCheia) {
[*] FomeAtual = FomeCheia;
[*] }
[*] if (FomeAtual <= 0) {
[*] FomeAtual = 0;
[*] cronometroFome += Time.deltaTime;
[*] if (cronometroFome >= 3) {
[*] VidaAtual -= (VidaCheia * 0.005f);
[*] EstaminaAtual -= (EstaminaCheia * 0.1f);
[*] cronometroFome = 0;
[*] }
[*] } else {
[*] cronometroFome = 0;
[*] }
[*] }
[*] void SistemaDeSede(){
[*] SedeAtual -= Time.deltaTime;
[*] if (SedeAtual >= SedeCheia) {
[*] SedeAtual = SedeCheia;
[*] }
[*] if (SedeAtual <= 0) {
[*] SedeAtual = 0;
[*] cronometroSede += Time.deltaTime;
[*] if (cronometroSede >= 3) {
[*] EstaminaAtual -= (EstaminaCheia * 0.1f);
[*] cronometroSede = 0;
[*] }
[*] } else {
[*] cronometroSede = 0;
[*] }
[*] }
[*] void SistemaDeEstamina(){
[*] float multEuler = ((1/EstaminaCheia) * EstaminaAtual)*((1/FomeCheia) * FomeAtual);
[*] if (EstaminaAtual >= EstaminaCheia) {
[*] EstaminaAtual = EstaminaCheia;
[*] } else {
[*] EstaminaAtual += Time.deltaTime*(velocidadeEstamina/40)*Mathf.Pow(2.718f,multEuler);
[*] }
[*] if (EstaminaAtual <= 0) {
[*] EstaminaAtual = 0;
[*] Jogador.GetComponent<FirstPersonController> ().m_RunSpeed = velocidadeCaminhando;
[*] semEstamina = true;
[*] }
[*] if (semEstamina == true && EstaminaAtual >= (EstaminaCheia * 0.15f)) {
[*] Jogador.GetComponent<FirstPersonController> ().m_RunSpeed = velocidadeCorrendo;
[*] semEstamina = false;
[*] }
[*] if (Input.GetKey (KeyCode.LeftShift) && semEstamina == false) {
[*] EstaminaAtual -= Time.deltaTime*(velocidadeEstamina/15)*Mathf.Pow(2.718f,multEuler);
[*] }
[*] }
[*] void SistemaDeVida(){
[*] if (VidaAtual >= VidaCheia) {
[*] VidaAtual = VidaCheia;
[*] } else if (VidaAtual <= 0) {
[*] VidaAtual = 0;
[*] Morreu ();
[*] }
[*] }
[*] void AplicarBarras(){
[*] BarraVida.fillAmount = ((1/VidaCheia) * VidaAtual);
[*] BarraEstamina.fillAmount = ((1/EstaminaCheia) * EstaminaAtual);
[*] BarraFome.fillAmount = ((1/FomeCheia) * FomeAtual);
[*] BarraSede.fillAmount = ((1/SedeCheia) * SedeAtual);
[*] }
[*] void Morreu (){
[*] Debug.Log("Morreu por falta de comida");
[*] }
[*]}
[/list]
Super- Iniciante
- PONTOS : 1437
REPUTAÇÃO : 0
Respeito as regras :
Página 3 de 3 • 1, 2, 3
Tópicos semelhantes
» sistema de estamina,vida,fome e sede
» [TUTORIAL] DANO POR QUEDA e BARRA DE VIDA CONTÍNUA no mesmo script
» [TUTORIAL] Sistema de fome
» fazer o player perde vida e sua barra de vida descer conforme o dano
» [TUTORIAL] Agachar, correr e sistema de estamina ( C# )
» [TUTORIAL] DANO POR QUEDA e BARRA DE VIDA CONTÍNUA no mesmo script
» [TUTORIAL] Sistema de fome
» fazer o player perde vida e sua barra de vida descer conforme o dano
» [TUTORIAL] Agachar, correr e sistema de estamina ( C# )
Página 3 de 3
Permissões neste sub-fórum
Não podes responder a tópicos