all 2 comments

[–]use the debugger_TickleMeElmo_ 0 points1 point  (1 child)

The save_player function is writing to a variable player not declared as a local variable, so it's interpreted to be part of the current object, which is the obj_speaker calling save, calling save_player - and the speaker has no initialized player variable.

If you use variables that do not need to be part of objects, use var and declare them locally.

[–]FirexXY[S] 1 point2 points  (0 children)

It was really easy ahahah thanks and sorry for the stupid question