сохранение GMS 1.4
|
|
madeinvradiivka | Дата: Понедельник, 27 Декабря 2021, 22:49 | Сообщение # 1 |
уже был
Сейчас нет на сайте
| Здравствуйте! Прошу помочь!
У меня появилась проблема со стандартным сохранением игры в файл save.sav. Файл сохранения вообще не создаётся в директории. в моем случае нужно именно сохранение функцией save_game(). код (в событии шага): if keyboard_check_pressed(ord("S")) { global.Saved = true; game_save("save.sav"); } else if keyboard_check_pressed(ord("L")) { if(global.Saved = true) { game_load("save.sav"); } }
Загрузка тоже не происходит соответственно.
Компилятор в "дебаг" режиме пишет следующее: _WriteFile: No such file or directory WARNING: Game load failed, not found
Пробовал создать файл в папке с игрой вручную перед записью сохранения, но не помогает.
В чем может быть причина сбоя работы сохранения?
no sign
|
|
| |
Granner | Дата: Понедельник, 27 Декабря 2021, 23:30 | Сообщение # 2 |
почетный гость
Сейчас нет на сайте
| Разве сохранение не создается в папке "песочница" типа c:\Users\AppData\Roaming или Local\игра\? Это в ГМ 8 стандартное сохранение было в папке с игрой на каком-нибудь диске Д
Лучше - быть, чем - казаться. P.S. Прежде чем задавать вопрос - всегда просматриваю форум и справку
Сообщение отредактировал Granner - Понедельник, 27 Декабря 2021, 23:30 |
|
| |
madeinvradiivka | Дата: Понедельник, 27 Декабря 2021, 23:43 | Сообщение # 3 |
уже был
Сейчас нет на сайте
| Granner, какая разница впрочем, где он должен создаваться? Он вообще не создается при вызове функции save_game()... Один вопрос. Стандартное сохранение вообще работает в GMS или нужно писать свою систему на ini (чего мне очень не хочется)?
no sign
|
|
| |
Granner | Дата: Вторник, 28 Декабря 2021, 00:16 | Сообщение # 4 |
почетный гость
Сейчас нет на сайте
| Разница большая. Я поэтому и намекнул, что в отличии от ГМ 8 стандартное сохранение и загрузка идет в другое место, т.н. песочницу и путь стандартной загрузки надо прописывать вручную. И вообще-то все создается (только что проверил), именно этой командой, именно в GM 1.4 и именно в папке c:\Users\AppData\Local\игра или в другом (смотри настройки файла global game setting, вкладка Windows, раздел Save Data Location), а не там где у тебя проект с игрой. Как вариант - кириллица в пути к директории игры.
Лучше - быть, чем - казаться. P.S. Прежде чем задавать вопрос - всегда просматриваю форум и справку
Сообщение отредактировал Granner - Вторник, 28 Декабря 2021, 00:24 |
|
| |
JesusOnExtasy88 | Дата: Суббота, 01 Января 2022, 09:22 | Сообщение # 5 |
частый гость
Сейчас нет на сайте
| Проще сделать так через Скрипты.
Сохранения function scr_SaveData () { var map = ds_map_create(); map[? "Nick"] = global.Name; map[? "Sound"] = global.Sound; map[? "Music"] = global.Music; ds_map_secure_save(map, "SaveData") // destroy ds_map ds_map_destroy(map); };
Загрузка function scr_LoadData () { //Load Data if file_exists("SaveData") { var map = ds_map_secure_load("SaveData") global.Name = map[? "Nick"]; global.Sound = map[? "Sound"]; global.Music = map[? "Music"]; //Destroy Map ds_map_destroy(map); };
|
|
| |
Core | Дата: Суббота, 01 Января 2022, 15:40 | Сообщение # 6 |
заслуженный участник
Сейчас нет на сайте
| JesusOnExtasy88, Нет, это наоборот самый стремный вариант. через ini будет проще и понятнее
|
|
| |
MagicHero | Дата: Воскресенье, 02 Января 2022, 12:06 | Сообщение # 7 |
участник
Сейчас нет на сайте
| madeinvradiivka, Забей на это сохранение, оно может вообще часть игры не сохранять. Когда делал первую простую игру то там использовал его но во второй оно уже не работало нормально и ничего толком не сохраняло. Проще всего сделать сохранение через ini. Там все хорошо будет видно, что сохраняешь а при добавлении чего то нового игрок загружая старое сохранение будет получать значения по дефолту записанные в коде загрузки сохранения.
|
|
| |