Hola les comento mi problema,estoy en plena creación de mi primer juego,un top down shooter basado en supervivencia de oleadas zombis,el asunto es que para mi juego pretendo tener 4 personajes con un arma diferente cada uno,por ejemplo,jugador con ak 47,jugador con spas 12,jugadora con smg y jugador con rifle de sniper,hasta ahora creé 2,el de la ak y el de la spas,creé un objeto parent y funciona muy bien para lo que es el movimiento y la colisión pero a la hora de disparar,el personaje de la ak lo hace perfecto pero el de la spas dispara exactamente igual que el otro,no como debe disparar una escopeta,en qué estoy fallando? Les paso los códigos del objeto parent y de los 2 personajes,desde ya muchas gracias.

OBJETO PARENT

CREATE EVENT

hp_max=100;
hp=hp_max;

max_ammo=9999999;
ammo=max_ammo;



image_speed=0;
image_index=0;

setspeed=0.5;
walkingspeed=5;


STEP EVENT

image_angle=direction;
direction=point_direction(x,y,mouse_x,mouse_y);

if keyboard_check(ord("A")){speed=-walkingspeed}
if keyboard_check(ord("D")){speed=walkingspeed}
if keyboard_check(ord("S")){speed=-walkingspeed}
if keyboard_check(ord("W")){speed=walkingspeed}

friction=0.5;

if(speed>0 or speed<0){image_speed=setspeed;}
else{image_speed=0;image_index=0;}

firing+=1;

COLLISION EVENT W/ZOMBIE

obj_redscreen.red_screen_alpha=0.6;

health-=1;
if (health=0)
{
    instance_destroy();
    game_restart();
    health=100;
}

COLLISION W/TREE

var a,xoff,yoff;
a=point_direction(x,y,other.x,other.y)
xoff=lengthdir_x(0.5,a);
yoff=lengthdir_y(0.5,a);
while(place_meeting(x,y,other))

  x-=xoff;
  y-=yoff;
}


OBJETO PLAYER_AK

CREATE EVENT



rate=7;
firing=0.15;



bspeed=71;
damage=50;


d&d/CALL EVENT


STEP EVENT

call event

COLLISION W/ZOMBIE

call event

COLLISION W/TREE

call event

GLOBAL LEFT BUTTON


if(ammo > 0 && firing > rate)
{
      firing=0;
      ammo-=1;
      b=instance_create(x+lengthdir_x(16,image_angle),y+lengthdir_y(16,image_angle),obj_bullet);
      b.speed=bspeed;
      b.direction=image_angle;
      b.image_angle=image_angle;
      b.damage=damage;
      sound_play(snd_ak);
}

OBJETO PLAYER_SPAS

CREATE EVENT



rate=10;
firing=1;



bspeed=47;
damage=100;


d&d/call event


STEP EVENT

call event

COLLISION W/ZOMBIE

call event

COLLISION W/TREE

call event

GLOBAL LEFT BUTTON


if(ammo > 0 && firing > rate)
{
      firing=0;
      ammo-=1;
      b=instance_create(x+lengthdir_x(16,image_angle)+lengthdir_x(8,image_angle-90),y+lengthdir_y(16,image_angle)+lengthdir_y(8,image_angle-90),obj_pellet);
      b.speed=bspeed;
      b.direction=image_angle;
      b.image_angle=image_angle;
      b.damage=damage;
      sound_play(snd_spas);
}