Показать сообщение отдельно
Старый 15.11.2019, 06:11   #36
CurtisTea вне форума CurtisTea
Аватар для CurtisTea
Member
Сообщений: 49
Репутация: 40
CurtisTea is on a distinguished road
Detective
Информация о репутации (CurtisTea)
×
За активное участие в жизни форума и помощь пользователям вы можете получить очки репутации. За определённое количество очков репутации вам будет присвоенно соответствующее звание. Полученное звание всегда будет отображаться в нижней части области Вашего профиля, слева от сообщения.
CurtisTea / 40
Detective
0
Gangster
55
Thug
100
Judge
159
Enforcer
260
Priest
396
Snitch
780
Hitman
800
Councilor
1200
Deputy
2501
Overseer
4896
Press
6020
Don
20000
Ну тут все просто вообще. Я заметил что объекты типа 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.
цитата
Поблагодарили: 3
EmptyBowl (27.01.2020), Firefox3860 (15.11.2019), fuchs11 (21.03.2020)