To fix the error about the instance_destroy(),
I do that:
with (*object_to_destroy*) instances destroy()
Instead of:
instance_destroy(*object_to_destroy*)
Because my game maker tell me that instance_destroy() does not take argument.
it's the control changing feature.
If you press anykey when the controlset value is higher than 0, it will bind the control variables (global.leftkey, rightkey, upkey, downkey, and botton.) to the lastest key you have pressed.
Keyboard_string need to be reseted after binding it, so it won't overlap when changing other keys.
If you pressed shift for button in the control changing mode, you can start the game or fire laser by pressing shift.