Noticias

Se ha publicado un nuevo servicio, el Portal de Juegos Online

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: STATS RPG  (Leído 290 veces)

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

Desconectado Asterth

en: Julio 01, 2020, 09:12:40 am
Ok, voy al punto, trato de hacer estadisticas para mi juego RPG.

Tengo pensado que sea Ataque y Defensa sin ninguna variación.

Tenía pensado que según el stat defensa se sumaran los puntos de vida que me quitaran

e igual con el ataque, según el stat se sumaran puntos de daño.

Aquí mi pregunta, como hago que una variable según su numero se lo sume a otra?

Digamos que el ataque es 15, mi ataque base es de 1, quiero que la variable de ataque se sume a la de ataque base,  ¿alguna idea?

 


No Tienes Permisos Para Dar Puntos
point 0 Puntos

Este tema no recibió puntos.


Desconectado Marth

Respuesta #1 en: Julio 01, 2020, 11:26:50 am
Por lo que entiendo, tienes un personaje que tiene 2 estadísticas, ataque y defensa. Y ese personaje puede equipar armas y armaduras que le aumentara ambas estadísticas, aparte de que la estadística de defensa influirá en los PS.

Yo lo que hago es que le daré al personaje otras 2 estadísticas, llamadas potencia y vitalidad, que serán su ataque y defensa totales. Es decir, cuando tu personaje este en combate, usaras exclusivamente la potencia y la vitalidad para determinar el daño que causará y recibirá.

Este será el script del ataque, que aparecerá tras subir de nivel o cambiar de arma:
potencia=ataque*2+arma.ataque

Este será el script de la defensa, para cuando subas de nivel o cambies de armadura:
vitalidad=defensa+armadura.defensa

Y por último el script de los PS máximos, para después de cada subida de nivel:
PS=15+defensa*7
« última modificación: Julio 02, 2020, 12:58:37 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: Asterth


Desconectado Asterth

Respuesta #2 en: Julio 01, 2020, 09:20:09 pm
Gracias, ¿sabes como hacer que ese calculo de Ataque por Potencia se reste a la variable de la vida del enemigo?

 


Desconectado Marth

Respuesta #3 en: Julio 02, 2020, 12:44:50 am
Te refieres a la formula de daño.
Lo que yo hago es primero calcular el daño base.
En el caso que nos ocupa, es muy simple:
base=atacante.potencia-atacado.vitalidad

Y una vez tenemos esto, le aplicamos una serie de multiplicadores.
Por ejemplo, igual queremos meterle al daño un factor aleatorio:
base=random_range(base*0.80,base*1.25)

Luego podrás añadirle otros factores, como resistencia elemental:
base*=atacado.resistencia[ataque.elemento]

Y lo último es redondear decimales:
if(base<1) base=1
else base=floor(base+random(1))


Y listo, solo queda restarle a los PS totales del enemigo el resultado de esta operación.
« última modificación: Julio 02, 2020, 12:58:20 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)-