В карте есть система опыта. Игра подгружает локальные файлы игроков и при помощи игрового кэша синхронизирует данные. После синхронизации у каждого игрока создаётся юнит с определённым количеством опыта.
Проблема в том, что в реплее идёт моментальный рассинхрон, и на карте не происходит никаких действий.
Собственно, есть ли способ как-то решить эту проблему?

Принятый ответ

JackFastGame, просто без синхры ставишь всем героям нужное кол-во опыта, т.к у тебя одна машина и нет живых игроков, ты 1 зритель, остальные все боты и действия синхронизации не требуются для реплея, просто выставление напрямую всем игрокам експы.
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
32
2 года назад
0
Проверять на реплей, мемхак вроде у тебя в карте есть? Ну и делать ветвление, ибо локальные действия происходят в реплее только у хоста.
0
15
2 года назад
0
quq_CCCP:
Проверять на реплей, мемхак вроде у тебя в карте есть? Ну и делать ветвление, ибо локальные действия происходят в реплее только у хоста.
А что делать в случае успешной проверки на реплей? Просто проигнорить часть кода, где идёт сохранение в кэш? В реплей вообще запоминается инфа о том, какие данные игроками были загружены в кэш?
0
32
2 года назад
0
JackFastGame, просто без синхры ставишь всем героям нужное кол-во опыта, т.к у тебя одна машина и нет живых игроков, ты 1 зритель, остальные все боты и действия синхронизации не требуются для реплея, просто выставление напрямую всем игрокам експы.
Принятый ответ
0
15
2 года назад
Отредактирован JackFastGame
0
quq_CCCP:
JackFastGame, просто без синхры ставишь всем героям нужное кол-во опыта, т.к у тебя одна машина и нет живых игроков, ты 1 зритель, остальные все боты и действия синхронизации не требуются для реплея, просто выставление напрямую всем игрокам експы.
Всё работает, спасибо. Только TriggerSleepAction( 2.00 ) и TriggerSyncReady() в реплее обязательно должны выполняться. А вот SyncStoredInteger и прочие не нужны.
Хотя скорее всего без слипа ломается из-за того, что у меня после него идут ещё действия.
0
32
2 года назад
0
Просто заведи переменную isReplay и заноси в неё логическое значение на старте игры, будь то игра или репоей с помощью мемхака, далее проверяй в карте на репоей и меняй все, я у себя так сделал, меняются сообщения игроков, таблица и прочее, выводятся дебаг данные.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.