hola estoy aquí para preguntar como puedo crear un sistema de niveles y experiencia de niveles infinito
ejemplo: el jugador destruye a un enemigo y obtiene experiencia y así sube de nivel pero sin limite
nvl 1.
nvl 5.
nvl 1000.
Mira estos temas:
http://webcache.googleusercontent.com/search?q=cache:2IwQaR-5SoMJ:www.comunidadgm.org/preguntas-y-respuestas/niveles-y-experiencia/ (http://webcache.googleusercontent.com/search?q=cache:2IwQaR-5SoMJ:www.comunidadgm.org/preguntas-y-respuestas/niveles-y-experiencia/)
http://webcache.googleusercontent.com/search?q=cache:l0zY40ezqfMJ:www.comunidadgm.org/preguntas-y-respuestas/pasar-de-nivel-matando-cierta-cantidad-de-enemigos/ (http://webcache.googleusercontent.com/search?q=cache:l0zY40ezqfMJ:www.comunidadgm.org/preguntas-y-respuestas/pasar-de-nivel-matando-cierta-cantidad-de-enemigos/)
Podrías tener tres variables, una con la experiencia, otra con el nivel, y otra con la experiencia necesaria para pasar de nivel. Algo así:
[gml]
///Evento <create>
xp = 0;
lvl = 1;
next = 100; //Con 100 de xp pasamos al lvl 2
[/gml]
Y en alguna parte donde quieras que se compruebe si subir o no de nivel:
[gml]
if xp >= next {
xp = xp - next; //Vaciamos la experiencia. Pero dejamos la que quedó "sobrando". O sea que si teníamos 99 y conseguimos 4 (en total 103), la experiencia baje a 3
next += 100; //Subimos la experiencia necesaria para volver a pasar de nivel
lvl += 1; //Subimos el nivel
}
[/gml]
Cuando quieras subir la experiencia, sólo le sumas a la variable xp
Se puede hacer de muchas formas esto de las subidas de nivel.
Por ejemplo, iniciamos así:
nivel=1
siguiente=50
score=siguiente
Y al matar a un oponente:
score-=experiencia
if(!score){
siguiente=ceil(siguiente*1.05)
score+=siguiente
}
Bueno gracias con este tema tengo un mejor entendimiento de las variables pero me di cuenta que puedo utilizar las variables globales me di cuenta leyendo el manual de gms :-[