Ну тут все просто вообще. Я заметил что объекты типа Building при загрузке сохранения всегда сетонятся в свой изначальный 1 (тестил и при быстрой загрузке, и при загрузке из главного меню, и при Restart когда тебя убивают). Поэтому в самом начале новой игры я сетоню этот тестовый объект в 0, а дальше просто игра постоянно проверяет его состояние: если его сетон снова стал 1 значит только что игрок загрузил сохранение -> выполняются нужные условия -> объект снова сетонится в 0 -> снова идёт проверка состояния объекта и т.д. Вот так примитивно, но оно работает.
NOTE: если загрузить сохранение и далее ещё раз загрузить это же сохранение то не сработает - оно заметит разницу только между старым и новым сохранениями. Я думаю что игра сравнивает изменения в загружаемом сейве с уже загруженным нынешним сейвом и покуда это одно и то же то и игровая сцена не требует изменений.
пример на фрирайде, при каждой загрузке сейва +1 к деньгам
dim_flt 1
dim_frm 1
findframe 0,"test" ///это наш объект типа Building
frm_seton 0,0
label 0
frm_ison 0,0
goto flt[0]
label 1
frm_seton 0,0
freeride_scoreadd 1
goto 0 [свернуть]
Последний раз редактировалось CurtisTea; 15.11.2019 в 10:06.
|