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: Cambio de arma  (Leído 124 veces)

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

Desconectado Dbatten

  • Visitante
  • *
  • Puntos: 7
  • Mensajes: 4
    • Ver Perfil
en: Enero 10, 2019, 10:13:41 pm
Queria saber si alguien me podria ayudar a realizar un cambio de arma.
Agradesco cualquier ayuda y consejo

 


No Tienes Permisos Para Dar Puntos
point 0 Puntos

Este tema no recibió puntos.


Desconectado 3dgeminis

Respuesta #1 en: Enero 11, 2019, 07:08:37 am
Podrias detallar un poco mas como es el sistema que qiueres hacer ?

 


Desconectado Dbatten

  • Visitante
  • *
  • Puntos: 7
  • Mensajes: 4
    • Ver Perfil
Respuesta #2 en: Enero 11, 2019, 03:37:47 pm
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
Código: [Seleccionar]
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
Código: [Seleccionar]
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

 


Desconectado 3dgeminis

Respuesta #3 en: Enero 13, 2019, 07:01:48 pm
Es un array no un vector.
Modifica el array para que el primer indice del arma sea el nombre, por ejemplo:
weapons[0,0] = "revolver"
weapons[1,0] = "escopeta"
weapons[2,0] = "metralleta"
weapons[3,0] = "rifle"
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
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
       }
  }