Hola muy buenas,tengo este script a un enemigo eskeleto el cual funciona ...pero no muy bien, si me vee en un rango de 50 me persigue y me ataca, eso va bien pero la cosa esque me daña a 1000 revoluciones por segundo....me hace 30 de daño:character.ApplyDamage(30); pero a velocidad rayo!!!he intentado ponerle una pausa o relentizar el tiempo de el ataque con un yield wait for seconds, pero lo de la coorutina o como se llame no hay manera de colocarsela. el script es cortito:
using UnityEngine;
using System.Collections;
public class skellyattack : MonoBehaviour {
public GameObject player;
public GameObject skelly;
public float distance;
//private int damage =10;
public PlayerInfo character;
private float timer = 5f;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
player = GameObject.FindWithTag("jugador");
skelly = gameObject;
distance = Vector3.Distance(player.transform.position,skelly.transform.position);
if (distance <= 3) {
skelly.GetComponent<Animation>().CrossFadeQueued("Run", 0.3f, QueueMode.PlayNow);
skelly.GetComponent<Animation>().CrossFade("SwingHeavy");
character.playerInCombat(true);
character.ApplyDamage(30);
}
else if (distance < 45 && distance > 3.0f) {
skelly.GetComponent<Animation>().CrossFadeQueued("SwingHeavy", 0.3f, QueueMode.PlayNow);
skelly.GetComponent<Animation>().CrossFade("Run");
skelly.transform.LookAt(player.transform.position);
transform.position = Vector3.MoveTowards(transform.position, player.transform.position, 0.15f);
//character.playerInCombat(true);
}
else
//GetComponent<FollowPath>().enabled = true;
{
skelly.GetComponent<Animation>().CrossFadeQueued("Run", 0.3f, QueueMode.PlayNow);
skelly.GetComponent<Animation>().CrossFade("IdleHoldSword");
//character.playerInCombat(true);
}
}
}
en la linea 26 es donde hace el ataque ...le puse el return yeld waitforseconds y me manda al carajo XDD Alguna idea por favor de donde o como poner la coorutina? Gracias!!!
Asi
http://docs.unity3d.com/es/current/Manual/Coroutines.html (http://docs.unity3d.com/es/current/Manual/Coroutines.html)
dos maneras amigo, las coroutines o intervalos de tiempos en el update, aunque las coroutines son mas sencillas si quieres un ejemplo con ambas me avisas saldios.
Hola gracias a los 2 por las respuestas , y si , por favor @ACarranza te lo agradeceria ya que no tengo ni idea de como hacerlo
[quote author=GSG3D" data-ipsquote-contapp="forums" data-ipsquote-contenttype="forums" data-ipsquote-contentclass="forums_Topic" data-ipsquote-contentid="15859" data-ipsquote-contentcommentid="100975">Asi
Título: Pausa entre ataques...
Publicado por: Arthure en Julio 30, 2015, 09:29:06 PM
de buen rollo ramunda, si te pierdes con un "tutorial" de la pagina oficial de unity mejor aprender programacion general antes de querer programar un videojuego xd si para entender algo necesitas que te den justo lo que necesitas hacer, no se llama entender si no hacer copy-paste.segun comentaste, por un problema que tienes (que no es cuestion de recordar el problema) no puedes salir todo lo que te gustaria; pues porque no sacas una ventaja de eso y lo aprovechas para aprender programacion si te gusta este mundillo ? la de gente que quisiera aprender a programar y no puede porque no dispone del tiempo necesario ... si aprendieras programacion antes de meterte a unity, tendrias una nocion y te seria mas o menos sencillo entender los scripts y adaptar-modificar cualquier script a tus necesidades.si no siempre tambien esta la opcion de la seccion "Colaboraciones" en el foro para buscar a alguien que te haga los scripts a medida que tengan la funcion especifica que necesitas para tu proyecto
No apliques pausas, en su lugar utiliza eventos de animacion: http://docs.unity3d.com/es/current/Manual/AnimationEventsOnImportedClips.html (http://docs.unity3d.com/es/current/Manual/AnimationEventsOnImportedClips.html) al final de la animacion de ataque.
[quote author=Arthure" data-ipsquote-contapp="forums" data-ipsquote-contenttype="forums" data-ipsquote-contentclass="forums_Topic" data-ipsquote-contentid="15859" data-ipsquote-contentcommentid="100982">de buen rollo ramunda, si te pierdes con un "tutorial" de la pagina oficial de unity mejor aprender programacion general antes de querer programar un videojuego xd si para entender algo necesitas que te den justo lo que necesitas hacer, no se llama entender si no hacer copy-paste.segun comentaste, por un problema que tienes (que no es cuestion de recordar el problema) no puedes salir todo lo que te gustaria; pues porque no sacas una ventaja de eso y lo aprovechas para aprender programacion si te gusta este mundillo ? la de gente que quisiera aprender a programar y no puede porque no dispone del tiempo necesario ... si aprendieras programacion antes de meterte a unity, tendrias una nocion y te seria mas o menos sencillo entender los scripts y adaptar-modificar cualquier script a tus necesidades.si no siempre tambien esta la opcion de la seccion "Colaboraciones" en el foro para buscar a alguien que te haga los scripts a medida que tengan la funcion especifica que necesitas para tu proyecto[/quote]hey, compi , que mas quisiera yo que tener todo el dia para aprender mas...cada dia tengo sesiones de bueno unas cosas desagradables que me hacen para que mi cuerpo no me quede vejetal..pero eso es otro tema jejej, aunque no lo creas....aprendo de los copi pastes porque luego me los miro horas y horas y como se que estan bien..pues los aprendo mas rapido (//Smileys/invision/default_smile.png) No apliques pausas, en su lugar utiliza eventos de animacion:
http://docs.unity3d.com/es/current/Manual/AnimationEventsOnImportedClips.html al final de la animacion de ataque.[/quote]Gracias @Kaito de buen grado le echare un ojo a la cosa.Sabeis que la he liado.....ahora me doy cuenta de que,,,las animaciones, no son el problema!!!El problema es que me esta aplicando el daño frame a frame en esta intruccion!!
character.ApplyDamage(30);
Osea explico, que me esta machacando daño de 30 a 1000 revoluciones por segundo sea cual sea la animación , lo que necesito saber..entonces es como relentizar el daño que me aplica por segundo. Mi personaje tiene 100 de vida y tarda el eskeleto 1 segundo en matarme imaginaros lo rapido que me aplica el daño.Osea, un retardo de aplique de daño , algo que relentice esto: character.ApplyDamage(30);
Por favore
Título: Pausa entre ataques...
Publicado por: kaito en Julio 31, 2015, 08:10:41 AM
[quote author=ramunda" data-ipsquote-contapp="forums" data-ipsquote-contenttype="forums" data-ipsquote-contentclass="forums_Topic" data-ipsquote-contentid="15859" data-ipsquote-contentcommentid="100985 date=1438288835] Sabeis que la he liado.....ahora me doy cuenta de que,,,las animaciones, no son el problema!!!El problema es que me esta aplicando el daño frame a frame en esta intruccion!![/quote]Por eso te he dicho que apliques el daño al final de la animación con un evento de animación. Es decir, dentro de una función que es llamada mediante evento de animación compruebas que el player sigue cerca del enemigo y no ha cambiado de posición, y aplicas el daño, una sola vez y al final del ataque.
[quote author=ramunda" data-ipsquote-contapp="forums" data-ipsquote-contenttype="forums" data-ipsquote-contentclass="forums_Topic" data-ipsquote-contentid="15859" data-ipsquote-contentcommentid="100985 date=1438288835] Sabeis que la he liado.....ahora me doy cuenta de que,,,las animaciones, no son el problema!!!El problema es que me esta aplicando el daño frame a frame en esta intruccion!![/quote]Por eso te he dicho que apliques el daño al final de la animación con un evento de animación. Es decir, dentro de una función que es llamada mediante evento de animación compruebas que el player sigue cerca del enemigo y no ha cambiado de posición, y aplicas el daño, una sola vez y al final del ataque.
[quote author=kaito" data-ipsquote-contapp="forums" data-ipsquote-contenttype="forums" data-ipsquote-contentclass="forums_Topic" data-ipsquote-contentid="15859" data-ipsquote-contentcommentid="100996">Por eso te he dicho que apliques el daño al final de la animación con un evento de animación. Es decir, dentro de una función que es llamada mediante evento de animación compruebas que el player sigue cerca del enemigo y no ha cambiado de posición, y aplicas el daño, una sola vez y al final del ataque.Por eso te he dicho que apliques el daño al final de la animación con un evento de animación. Es decir, dentro de una función que es llamada mediante evento de animación compruebas que el player sigue cerca del enemigo y no ha cambiado de posición, y aplicas el daño, una sola vez y al final del ataque.[/quote]Eso mismo XD

Título:
Pausa entre ataques...
Publicado por:
o0Charly0o en
Agosto 02, 2015, 04:31:34 AM
hombre ramunda veo que sigues por aqui!!
te recomiendo que cuando vayas a hacer algo nuevo para ti, como en este caso las corrutinas te hagas un proyectillo aparte y lo uses para probar cosas, yo es lo que hago, ademas intentar "encajar" algo ahi en medio de tu codigo sin entenderlo no creo que sea muy productivo!
Las corrutinas yo las use por primera vez la semana pasada y no es tan complicado, me puse a buscar tutoriales y en una tarde ya lo habia entendio, a veces aprender por ti mismo algunas cosas te hará entenderlas con mas profundidad, a mi me pasa! y otras me explican mil veces algo y no lo entiendo xD. en fin es un consejo...
[quote author=o0Charly0o" data-ipsquote-contapp="forums" data-ipsquote-contenttype="forums" data-ipsquote-contentclass="forums_Topic" data-ipsquote-contentid="15859" data-ipsquote-contentcommentid="101062 date=1438482694]hombre ramunda veo que sigues por aqui!! te recomiendo que cuando vayas a hacer algo nuevo para ti, como en este caso las corrutinas te hagas un proyectillo aparte y lo uses para probar cosas, yo es lo que hago, ademas intentar "encajar" algo ahi en medio de tu codigo sin entenderlo no creo que sea muy productivo! Las corrutinas yo las use por primera vez la semana pasada y no es tan complicado, me puse a buscar tutoriales y en una tarde ya lo habia entendio, a veces aprender por ti mismo algunas cosas te hará entenderlas con mas profundidad, a mi me pasa! y otras me explican mil veces algo y no lo entiendo xD. en fin es un consejo...[/quote]Gracias por el consejo , es l que vengo aciendo , probando , mirando cagandola... hahhaha. un abrazo
pues hazte tutoriales de programacion, te lo digo por que andas perdido con cosas muy basicas, en tu postanterior, tu error era pasar un float a una funcion que recibia un int, ahora esto...xD a este paso te hara el juego entero el foro jijiji
[quote author=o0Charly0o" data-ipsquote-contapp="forums" data-ipsquote-contenttype="forums" data-ipsquote-contentclass="forums_Topic" data-ipsquote-contentid="15859" data-ipsquote-contentcommentid="101072">pues hazte tutoriales de programacion, te lo digo por que andas perdido con cosas muy basicas, en tu postanterior, tu error era pasar un float a una funcion que recibia un int, ahora esto...xD a este paso te hara el juego entero el foro jijiji[/quote]o0Charly0o, con todo el respeto a tu persona y a los demás miembros de este foro , aprecio de verdad el esfuerzo, tiempo y dedicación, que muchos de vosotros incluiendote a ti, estáis, haciendo aquí, de echo lo aprecio casi mas que nadie porque yo estoy haciendo lo mismo a diario en otro foro ,que no es de scripting eso esta claro , pero si de informática y otros temas que puedo y me encanta ayudar, a que voy, a que, te habrá costado sudores saber lo que sabes, y con la cabeza bien alta.Si te complace ayudar a quien lo pueda necesitar,y te sientes bien con ello, encantado, pero , si te molesta ayudarme, o ayudar a alguien que lo ncesite , nadie te apunta con una pistola para que lo agas...y lo entendería, pero vamos hombre todos hemos sido novatos en algo alguna vez.No pregunto hasta que no me sale de ninguna manera y así voy pillando despacio y con buen pie.Espero que estas palabras no se mal interpreten ya que no son sino una reflexion de uno de los novatos que aprendemos a andar.Sin mas recibe el mas afectuoso abrazo y un gran saludo de mi parte. Si no te vuelvo a ver por ninguno de mis seguramente jeje futuros post, ya te mandare algún saludo en algún otro que contestes.Y recuerda , que si tienes alguna duda relacionada con tu pc, software o hardware no dudes en mandarme un MP.Estare encantado de contestarte.
![:) date=1438526371]
</div><!-- .postbody -->
<div class= :)](Smileys/invision/default_smile.png)
Título:
Pausa entre ataques...
Publicado por:
Arthure en
Agosto 03, 2015, 12:36:38 AM
@ramunda no es que moleste ayudar a la gente que tiene alguna duda puntual, para eso esta el foro. pero las dos cosas que ha dicho son dos verdades bien grandes:a ) deberias hacerte como minimo tutoriales (y no sobre unity, si no sobre programacion general). no es normal querer programar un videojuego sin saber cosas basicas como los tipos de variables o el uso de los if. dedicate un tiempo a aprender como minimo lo basico, luego algo un poquito mas avanzado y cuando tengas una base ya tendras tiempo de querer hacer un videojuego. el tiempo que "gastes" en aprender programacion basica, sera bien invertido porque luego lo amortizaras.b ) es cierto que parece que quieras te lo den todo hecho, porque cuando te dan una orientacion o un codigo tambien preguntas "pero eso donde va". eso es algo que no te pasaria con una minima base de programacion.nadie tiene ningun problema en ayudar y todo el mundo se siente bien pero cuando ves que es una cosa tras otra sobre el mismo tema y que con una orientacion no hay sufuciente si no se da exactamente lo que pides para que haga lo que necesitas, no es que moleste pero aqui todos tienen sus propios proyectos y perder horas de tu propia ***a en alguien que no se molesta en aprender lo mas basico pues no tiene mucha logica.mi consejo ya te lo di, aprovecha que tienes tiempo para aprender a programar (no aprender unity) y luego ya aprenderas a hacer cosas exclusivas de unity. pero que minimo que demostrar un minimo de conocimiento o al menos que entiendes cuando te muestran un codigo o te dan una orientacion.
[quote author=Arthure" data-ipsquote-contapp="forums" data-ipsquote-contenttype="forums" data-ipsquote-contentclass="forums_Topic" data-ipsquote-contentid="15859" data-ipsquote-contentcommentid="101098 date=1438554998]@ramunda no es que moleste ayudar a la gente que tiene alguna duda puntual, para eso esta el foro. pero las dos cosas que ha dicho son dos verdades bien grandes:a ) deberias hacerte como minimo tutoriales (y no sobre unity, si no sobre programacion general). no es normal querer programar un videojuego sin saber cosas basicas como los tipos de variables o el uso de los if. dedicate un tiempo a aprender como minimo lo basico, luego algo un poquito mas avanzado y cuando tengas una base ya tendras tiempo de querer hacer un videojuego. el tiempo que "gastes" en aprender programacion basica, sera bien invertido porque luego lo amortizaras.b ) es cierto que parece que quieras te lo den todo hecho, porque cuando te dan una orientacion o un codigo tambien preguntas "pero eso donde va". eso es algo que no te pasaria con una minima base de programacion.nadie tiene ningun problema en ayudar y todo el mundo se siente bien pero cuando ves que es una cosa tras otra sobre el mismo tema y que con una orientacion no hay sufuciente si no se da exactamente lo que pides para que haga lo que necesitas, no es que moleste pero aqui todos tienen sus propios proyectos y perder horas de tu propia ***a en alguien que no se molesta en aprender lo mas basico pues no tiene mucha logica.mi consejo ya te lo di, aprovecha que tienes tiempo para aprender a programar (no aprender unity) y luego ya aprenderas a hacer cosas exclusivas de unity. pero que minimo que demostrar un minimo de conocimiento o al menos que entiendes cuando te muestran un codigo o te dan una orientacion.[/quote]Recibido.Tengo un post por ai que se titula doble disparo o algo asi que No pido que me agan nada! , el script ya lo he echo yo :(, solo quiero una opinión o si a alguien le ha pasado, si soys tan amables y queréis poner un comentario os lo agradeceré. Un saludo.P.D , lo he buscado lo he remirado, y no he allado explicación alguna o situación similar y solo es una pregunta nada mas.
[quote author=ramunda date=1438552020" data-ipsquote="" data-cite="ramunda" class="ipsQuote">o0Charly0o, con todo el respeto a tu persona y a los demás miembros de este foro , aprecio de verdad el esfuerzo, tiempo y dedicación, que muchos de vosotros incluiendote a ti, estáis, haciendo aquí, de echo lo aprecio casi mas que nadie porque yo estoy haciendo lo mismo a diario en otro foro ,que no es de scripting eso esta claro , pero si de informática y otros temas que puedo y me encanta ayudar, a que voy, a que, te habrá costado sudores saber lo que sabes, y con la cabeza bien alta.Si te complace ayudar a quien lo pueda necesitar,y te sientes bien con ello, encantado, pero , si te molesta ayudarme, o ayudar a alguien que lo ncesite , nadie te apunta con una pistola para que lo agas...y lo entendería, pero vamos hombre todos hemos sido novatos en algo alguna vez.No pregunto hasta que no me sale de ninguna manera y así voy pillando despacio y con buen pie.Espero que estas palabras no se mal interpreten ya que no son sino una reflexion de uno de los novatos que aprendemos a andar.Sin mas recibe el mas afectuoso abrazo y un gran saludo de mi parte. Si no te vuelvo a ver por ninguno de mis seguramente jeje futuros post, ya te mandare algún saludo en algún otro que contestes.Y recuerda , que si tienes alguna duda relacionada con tu pc, software o hardware no dudes en mandarme un MP.Estare encantado de contestarte.

Título:
Pausa entre ataques...
Publicado por:
ramunda en
Agosto 03, 2015, 12:59:56 PM
[quote author=o0Charly0o" data-ipsquote-contapp="forums" data-ipsquote-contenttype="forums" data-ipsquote-contentclass="forums_Topic" data-ipsquote-contentid="15859" data-ipsquote-contentcommentid="101125 date=1438591125]Ramunda, no me molesta para nada ayudar a los demas, de hecho voy a seguir por aqui mucho tiempo, me gusta resolver problemas, y además eso me hace coger más agilidad programando cuando sé las repuestas y a ir aprendiendo más cuando no las sé y veo las respuestas de los expertos. creo que la mayoría de los que ayudan a los demás en los foros opinarán lo mismo que yo.Creo que mi consejo es mejor que cualquier codigo que te pueda solucionar el problema por el que preguntas. Yo hace unos años estaba en tu situación, y ahora me doy cuenta de lo básicas que eran mis dudas, y del largo camino que hay que recorrer en este mundillo para hacerse un hueco. Mi consejo no te resolverá el problema de tu código, si no lo tomas podrás terminar tu juego a través del foro, enterito, pero vas a tardar tela, si te pones a estudiar un poquito de programación terminarás antes el juego, te lo aseguro, y además lo habrás hecho tú.Dices que no preguntas hasta que no te sale de ninguna manera, un poco demagogico por tu parte, ya que se puede ver en el foro que te resuelven una duda, y acto seguido abres otro post con el siguiente paso xD.En fin, no te ofendas, simplemente te he dado un consejo y como podrás comprobar, otros miembros del foro opinan como yo... No quiero que dejes de exponer tus dudas, ni nada por el estilo, el foro es para eso, puedes preguntar aquí lo que quieras, la gente te contestará y yo tb! pero mi consejo va más allá...Un saludo.[/quote]Ofendido para nada, al revés mas motivado y a aluchar!!!, que por cierto tengo un pot de hace unos dias "doble disparo " donde solo pido opinion y nadie me contesta tiene un monton de visitas pero no contestaciones...o es muy chungo..o nadie tiene una idea XD.Un abrazo!!!