As for screen shake, you basically just want to adjust the view_angle (be sure to enable views in whatever screen you're doing this in). You can fiddle with the other stuff in https://docs.yoyogames.com/source/dadiospice/002_reference/windows%20and%20views/views/index.html but the angle is the easiest I've found.
///screenShake(time,shakeX,shakeY)//// shakes the screen for an amount of time//// time the time to shake// shakeX the maximum shaking intensity in x axis(pixel)// shakeY the maximum shaking intensity in y axis(pixel)//{ var inst; inst = instance_create(view_xview[0],view_yview[0],objScreenShake); inst.alarm[0] = argument0; inst.shakeX = argument1; inst.shakeY = argument2;}
{ //get the x,y value of current view xview=view_xview[0]; yview=view_yview[0];}
{ //restoring original views view_xview[0]=xview; view_yview[0]=yview; instance_destroy();}
{ //shaking views view_xview[0]=xview+random_range(-shakeX,shakeX); view_yview[0]=yview+random_range(-shakeY,shakeY);}