Queria saber si alguien me podria ayudar a realizar un cambio de arma.
Agradesco cualquier ayuda y consejo
Podrias detallar un poco mas como es el sistema que qiueres hacer ?
Pude realizar un cambio de arma guardando las variables de cada arma en un vector 2d.
Este es el codigo de create del objeto weapon
p_dis = true;
//arma principal
weapons[0,0] = s_gun_laser;//sprite
weapons[0,1] = 300;//municion_max
weapons[0,2] = 300;//municion_disponible
weapons[0,3] = 30;//cant_municion
weapons[0,4] = 30;//municion_actual
weapons[0,5] = 1;//daño
weapons[0,6] = 15;//delay
//arma principal
weapons[1,0] = s_gun_2;//sprite
weapons[1,1] = 30;//municion_max
weapons[1,2] = 30;//municion_disponible
weapons[1,3] = 10;//cant_municion
weapons[1,4] = 10;//municion_actual
weapons[1,5] = 6;//daño
weapons[1,6] = 15;//delay
armas_max = 1;
arma_actual=0;
Asi es como cambio de arma en el objeto player
if (keyboard_check(ord("Q"))){
if (p_cambiar){
if ((o_weapon.arma_actual+1)<=o_weapon.armas_max){
o_weapon.arma_actual+=1;
}
p_cambiar = false;
alarm[0] = 15;
}
}
if (keyboard_check(ord("E"))){
if (p_cambiar){
if((o_weapon.arma_actual-1)>=0){
o_weapon.arma_actual-=1;
}
p_cambiar = false;
alarm[0] = 15;
}
}
Despues solo se utiliza "arma_actual" en el vector 2d
weapons[arma_actual,n]
Mi problema ahora es que no se como agregar un arma que el personaje no tenga, una que recoja de una tienda o de donde sea
Es un array no un vector.
Modifica el array para que el primer indice del arma sea el nombre, por ejemplo:
[gml]
weapons[0,0] = "revolver"
weapons[1,0] = "escopeta"
weapons[2,0] = "metralleta"
weapons[3,0] = "rifle"
[/gml]
Asi la metralleta corresponde en el array a weapons[2,0]
Cuando compres o agarres un arma utiliza un loop para ver si la nueva arma se encuentra en el array de las armas que tienes
[gml]
for(i=0; i<armas_max; i+=1)
{
if weapons[i,0]!= nueva_arma.nombre //si la nueva arma no se encuentra en el array
{
/// aumentar el valor de la variable armas_max y agregar al array
}
}
[/gml]