Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: eze_96ram en Febrero 18, 2011, 04:32:30 PM

Título: Problema sumando variables
Publicado por: eze_96ram en Febrero 18, 2011, 04:32:30 PM
Bueno, tengo un problema haciendo un  RPG con algunas variables. Tengo un objeto jugador (llamado obj_player) que tiene este codigo:

Citar
En el evento create:

[gml]
xp=0
max_xp=100
[/gml]

CitarEn el evento step:

[gml]
if xp>max_xp
{
level+=1;
xp=0
}

if level=1
{
continue;
}
if level=2
{
max_xp=120
}
else
if level=3
{
max_xp=200
}
else
if level=4
{
max_xp=240
}
else
if level=5
{
max_xp=320
}
else
if level=6
{
max_xp=400
}
else
if...
[/gml]

Y en un objeto aparte:
Citar
En el evento step:

[gml]
global.exp_para_terminar=obj_player.max_xp-obj_player.xp
global.exp_acumulada=global.xp
[/gml]

Lo que pasa es que en la pantalla de menu quisiera que se ponga la exp acumulada, es decir, la de todos los niveles, pero se me reinicia a 0 cada vez que avanza de nivel, como soluciono eso?  ???
Título: Re: Problema sumando variables
Publicado por: brunoxzx en Febrero 18, 2011, 06:22:21 PM
y no seria mas f?cil simplemente hacer que a la experiencia m?xima se le sumen 80 cada nivel?, en lugar de usar much?simos IFs algo as?.
[gml]
if xp>max_xp
{
level+=1;
xp=0
max_xp+=80
}
//la experiencia inicial es 100 mas 80 que se suman cada nivel mas la experiencia de este nivel
global.exp_acumulada=100+(level*80)+xp
[/gml]
tambi?n puedes multiplicarlo por 1.5 en lugar de sumarle 80 claro la operaci?n para global.exp_acumulada seria distinta.

pero si quieres seguir usando tu m?todo puedes hacer que cada vez que se sume algo a xp se le sume la misma cantidad a global.exp_acumulada.

Tambi?n puedes usar un array para guardar la experiencia total de cada nivel te ahorarias muchos IFs.