Post Antiguos => General (Antiguo) => Mensaje iniciado por: Johan en Noviembre 27, 2015, 03:58:09 PM
Título: [Ayuda] Script Arma
Publicado por: Johan en Noviembre 27, 2015, 03:58:09 PM
Ya que no soy buen programador seguí un videotutorial que me recomendaron para hacer que la arma de mi personaje dispare pero al terminarla me tira 2 errores, en la region de disparo le pongo un "else" y hay me tira 2 errores, luego se lo quito y no me tira nada, al momento de ponerselo sin el "else" no sirve, no aparece nada en la consola. ayuda, (soy nuevo en la comunidad, no se si esto va aqui), aqui el script y el video: Videotutorial (//%5Byoutube%5Dhttps://www.youtube.com/watch?v=gl8ijNQrhls&index=1&list=PLa4fjXIJuWB2cvNXIr1xrm7LOG4RrRKrF%5B/youtube%5D) using UnityEngine; using System.Collections;public class Arma : MonoBehaviour { [Header("Configuracion basica")] public string Nombre; #region Gameplay void update() { if (Input.GetMouseButton(0)) Disparo(); if (Input.GetKeyDown(KeyCode.R))Recarga (); } #endregion Gameplay #region Disparo [Header("Configuracion de Disparo")] public float Cadencia = 1; public int Daño = 10; private float CadenciaTemp; public void Disparo() { if(ArmaDisponible()); { if(CadenciaTemp < Time.time) { MuncionDisponible--; Debug.Log("Disparo"); CadenciaTemp = Time.time + Cadencia; } } else { if(Recargando) { Debug.Log("espera!, Estoy Recargando"); return; } if(RecargaAutomatica)Recarga(); Debug.Log("Heyy!! No tengo municion"); } } #endregion Disparo #region Municion [Header("Configuracion de la Muncion")] public int MuncionDisponible = 5; public int MunicionMax = 10; public int CargadoresDisponibles = 2; public int CargadorMax = 5; public float TiempodeRecarga = 2; public bool RecargaAutomatica; private bool Recargando; public void Recarga() { if(Recargando)StartCoroutine("recargafix"); } private IEnumerator recargafix() { Recargando = true; yield return new WaitForSeconds (TiempodeRecarga); if(CargadoresDisponibles>0) { MuncionDisponible = MunicionMax; CargadoresDisponibles--; } Recargando = false; } private bool ArmaDisponible() { return (MuncionDisponible > 0 && !Recargando); } #endregion Municion }
Título: [Ayuda] Script Arma
Publicado por: ACarranza en Noviembre 27, 2015, 07:01:11 PM
[quote author=Johan" data-ipsquote-contapp="forums" data-ipsquote-contenttype="forums" data-ipsquote-contentclass="forums_Topic" data-ipsquote-contentid="34534" data-ipsquote-contentcommentid="124155">Ya que no soy buen programador seguí un videotutorial que me recomendaron para hacer que la arma de mi personaje dispare pero al terminarla me tira 2 errores, en la region de disparo le pongo un "else" y hay me tira 2 errores, luego se lo quito y no me tira nada, al momento de ponerselo sin el "else" no sirve, no aparece nada en la consola. ayuda, (soy nuevo en la comunidad, no se si esto va aqui), aqui el script y el video:
">Videotutorial using UnityEngine; using System.Collections;public class Arma : MonoBehaviour { [Header("Configuracion basica")] public string Nombre; #region Gameplay void update() { if (Input.GetMouseButton(0)) Disparo(); if (Input.GetKeyDown(KeyCode.R))Recarga (); } #endregion Gameplay #region Disparo [Header("Configuracion de Disparo")] public float Cadencia = 1; public int Daño = 10; private float CadenciaTemp; public void Disparo() { if(ArmaDisponible()) { if(CadenciaTemp < Time.time) { MuncionDisponible--; Debug.Log("Disparo"); CadenciaTemp = Time.time + Cadencia; } } else { if(Recargando) { Debug.Log("espera!, Estoy Recargando"); return; } if(RecargaAutomatica)Recarga(); Debug.Log("Heyy!! No tengo municion"); } } #endregion Disparo #region Municion [Header("Configuracion de la Muncion")] public int MuncionDisponible = 5; public int MunicionMax = 10; public int CargadoresDisponibles = 2; public int CargadorMax = 5; public float TiempodeRecarga = 2; public bool RecargaAutomatica; private bool Recargando; public void Recarga() { if(Recargando)StartCoroutine("recargafix"); } private IEnumerator recargafix() { Recargando = true; yield return new WaitForSeconds (TiempodeRecarga); if(CargadoresDisponibles>0) { MuncionDisponible = MunicionMax; CargadoresDisponibles--; } Recargando = false; } private bool ArmaDisponible() { return (MuncionDisponible > 0 && !Recargando); } #endregion Municion }[/quote]para empezar amigo, quitale el ";" (punto y coma ) de if(ArmaDisponible()); tiene que estar asi if(ArmaDisponible())ya con eso dejaras el else y no te debe de marcar error, OJO no he testeado el codigo nomas le acabo de hacer una corrida rapida de "papel" .saludos Sólo texto | Texto con Imágenes