Noticias

¡Ayuda a la Comunidad GM, haz una donación!

Autor Tema: Cambio de arma  (Leído 99 veces)

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

Desconectado Dbatten

  • Visitante
  • *
  • Puntos: 7
  • Mensajes: 3
    • 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.


Conectado 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: 3
    • 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

 


Conectado 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
       }
  }