Game freezing when I create multiple instances of an object.

I was wondering about endless loops.BUt as far as I can see spd can never be 0 as when the rabbit is static it just runs a script with nothing but a chance to not be static anymore (Move left or right)

The only other instance that could be casuing this is the player obj. Do you mind taking a look for any issues, my eyes have looked at this code for far too long with no idea what's going wrong :P

///player create event

///player varibles

state = state.run;

//movement
globalvar CanMove;
CanMove = true;
globalvar CanJump;
CanJump = true;

 grav = 1; // gravity
spd = 0.5;
carryspd = 1 
jspd = 5;
hspd = 0;
vspd = 0;



//combat+stamina
CanFight = true;
Stamina = 5

//step event is just my switch state for states and mouse wheel to spawn rabbits for debug reasons

///collision and movement
scr_inputs();

//if we're touching the solid
/// Check for solid
   if (place_meeting(x, y+1, obj_solid)) {
     vspd= 0;

     // Gravity
      if (vspd < 3) {
       vspd += grav;
       }
 }
 vspd += grav;
 // Moving to the right
 if (rkey){
 hspd = spd;
 sprite_index = spr_player_running;
 image_xscale = 1;
 image_speed = 0.2
 }
       /// Moving to the left
       if (lkey) {
       hspd = -spd
      sprite_index = spr_player_running;
      image_xscale = -1;
       image_speed = 0.2
    }
    ///Check for not
    if ((!rkey && !lkey) || (rkey && lkey)) {
    hspd = 0
    sprite_index = spr_player_static;
    }

  // horizontal collisions
    if (place_meeting (x+hspd,y+0 , obj_solid)) {
     while (!place_meeting(x+sign(hspd),y, obj_solid)) {
          x+=sign(hspd);
      }
     hspd=0
    }
     // Move horizontally
    x+=hspd;     


       // vertical collisions
if (place_meeting (x, y+vspd,obj_solid)) {
    while (!place_meeting(x, y+sign(vspd),obj_solid)) {
          y+=sign(vspd);
     }
     vspd=0;

}

     // Move horizontally
     y+=vspd
/r/gamemaker Thread Parent