Od razu widzę problem, też to miałem u siebie. Zapisujesz grę przed wejściem do sklepu, czyli wszystkie zmienne np, że w plecaku nic nie masz. Wchodzisz do sklepu i wszystko działa, ale jak wychodzisz gra się wczytuje i wczytuje się zmienna plecaka - nic w nim nie ma.
W mojej grze wpadłem na pomysł zapisywania zakupionych rzeczy w osobnym pliku, w twoim przypadku najlepszy jest plik z rozszerzeniem .ini
Wychodzimy ze sklepu:
GML
//Plecak zapisywany jest w pliku
ini_open('plecak.ini');
ini_write_string('Plecak','pole1',global.pole1);
ini_write_string('Plecak','pole2',global.pole2);
ini_write_string('Plecak','pole3',global.pole3);
ini_close();
//Gra powraca do momentu przed wejściem do sklepu
game_load(plik.zapis);
//Zapisany plecak jest teraz wczytywany
ini_open('plecak.ini');
pole1=ini_read_string('Plecak','pole1',global.pole1);
pole2=ini_read_string('Plecak','pole2',global.pole2);
pole3=ini_read_string('Plecak','pole3',global.pole3);
ini_close();
Powinno działać.