Noticias

Importante: ¡Si quieres publicar tu juego no olvides leer este tema!

Comunidad Game Maker

Bienvenid@ a la comunidad hispana de Game Maker. Nuestro objetivo es crear videojuegos y dar soporte en castellano de GM. Para mejorar nuestro servicio hemos implantado, como adicion al reglamento general, algunas normas especificas en los subforos más comunes. ¡No olvides informarte antes de participar!.

Autor Tema: Ganar experiencia y subir de nivel  (Leído 2888 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Marth

en: Abril 30, 2016, 12:22:38 pm
Autor: Marth
Versión:  :GMS: (aunque deberia servir para cualquier versión)
Descripción: Determinar cuanta experiencia ganara tu personaje al derrotar un enemigo y subir de nivel en caso de haber acumulado la cantidad suficiente.

Os muestro aqui un script para determinar cuanta experiencia ganaría un personaje, siguiendo el estilo de subida de nivel de juegos como Paper Mario o Fire Emblem.
La variable poder indica el nivel de tu personaje. other.poder es el nivel del enemigo abatido.
Se le pasa al script 2 argumentos: La experiencia base que debe proporcionarse a tu personaje y un factor. Ese factor influira en cuanta experiencia extra ganas o pierdes segun si el nivel de tu rival era menor que el tuyo, o al reves.
Por ultimo, tenemos la variable siguiente, que indica el límite de experiencia que hay que rebasar para subir un nivel.
En este script, como minimo siempre ganaras 1 punto, y como máximo tendras la experiencia exacta para una subida de nivel.

i=argument0+(other.poder-poder)*argument1
if(i<1) i=1
else if(i>siguiente) i=siguiente
experiencia+=i

if(experiencia>=siguiente){
experiencia-=siguiente // Reseteo del contador de experiencia.
poder++

/* Las mejoras de atributos que quieras añadir */
}
« última modificación: Enero 14, 2019, 01:42:03 am por Marth »

Si piensas que los usuarios de tus programas son idiotas, sólo los idiotas usarán tus programas.

-Linus Torvalds ("Padre" de Linux)-
 


No Tienes Permisos Para Dar Puntos
point 0 Puntos

Este tema no recibió puntos.


Desconectado Reyko500

Respuesta #1 en: Septiembre 30, 2017, 02:52:04 am
amigo me enseñarias a usar eso para un personaje mio.. que por ejemplo a nivel 1 haga 200 de daño pero que a nivel 2 haga 245.. algo asi amigo porfa

Reyko500
 


Desconectado Marth

Respuesta #2 en: Septiembre 30, 2017, 03:47:31 pm
amigo me enseñarias a usar eso para un personaje mio.. que por ejemplo a nivel 1 haga 200 de daño pero que a nivel 2 haga 245.. algo asi amigo porfa

Ya eso depende de como se monte las estadisticas cada juego, por lo que deberias mostrarme el codigo de tu juego (Pokemon y Fire Emblem, por ejemplo, tienen sistemas de mejora de estadisticas muy opuestos), pero por lo que entiendo de tu ejemplo, veo que cada parametro tiene 3 partes:
Inicio: El valor de las estadisticas al inicio, en el nivel 1.
Crecimiento: Cuanto ganara tras cada subida de nivel.
Total: La cantidad actual del personaje.


Visto esto, en tu ejemplo, la estadistica de ataque es 200 en nivel 1, y su crecimiento es 45 (cifras bastante bestias, debo admitir).
Llamaremos respectivamente "ataque" y "creAtaque" a tu ataque total y al crecimiento de tu ataque.

Esto ocurriria en tu ejemplo:
i=argument0+(other.poder-poder)*argument1
if(i<1) i=1
else if(i>siguiente) i=siguiente
experiencia+=i

if(experiencia>=siguiente){
experiencia-=siguiente // Reseteo del contador de experiencia.
poder++

ataque+=creAtaque
}
« última modificación: Septiembre 30, 2017, 03:50:55 pm por Marth »

Si piensas que los usuarios de tus programas son idiotas, sólo los idiotas usarán tus programas.

-Linus Torvalds ("Padre" de Linux)-
 
Los siguientes usuarios dieron las gracias a este tema: Reyko500


Desconectado Reyko500

Respuesta #3 en: Marzo 10, 2018, 01:37:07 am
gracias por tu ayuda amigazo

Reyko500