Привет. Хочу сохранять переменные объекта при его уничтожении и восстанавливать

при респавне. Как лучше это делать? Вариант доставать ручками я понимаю, но не принимаю)

21 ответов

29 просмотров

прокси актора заюзай и передай все му

никто не просит спавнить дубликат)

Иван-Che. Автор вопроса
Иван Che.
Что тогда значит прокси?

просто сущность которой ты передашь нужные переменные.

Иван-Che. Автор вопроса
Pavel
просто сущность которой ты передашь нужные перемен...

А как мне получить эту сущность без её спавна?

надо твоим акторам делать какую то функцию сериализатор которая будет отдавать структуру под сейв. и которые будут принимать структура для инициализации после спавна но да для каждого класса ты делаешь свою струкутру иначе вариантов нет если только готовая система котоаря под копотом делает все тоже самое

Иван-Che. Автор вопроса
adil the human
надо твоим акторам делать какую то функцию сериали...

Видать по-одному это единственный варик) Делать структуру со всеми параметрами и её сериализация это по сути тоже самое в плане временных затрат, если не дольше

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

Иван-Che. Автор вопроса
Aleksei DTG
Если не принимаешь, то закрывай эту задачу, перехо...

Не, мне в процессе игры нужно это делать. Сэйвы по сути тут ни к чему наверное, как и сериализация

Иван Che.
Не, мне в процессе игры нужно это делать. Сэйвы по...

Да, я понимаю что в процессе игры. Спецификатор SaveGame здесь как раз для того, чтобы ты мог пометить какие именно свойства ты хочешь сериализовать

Иван-Che. Автор вопроса
Aleksei DTG
Да, я понимаю что в процессе игры. Спецификатор Sa...

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

Иван Che.
ну суть в том, чтобы это все в файл сохранять, а н...

Конечно можно, не использовать флаг bArIsSaveGame у архива с помощью которого ты сериализуешься, и получится полная жопа

Иван-Che. Автор вопроса
Aleksei DTG
Конечно можно, не использовать флаг bArIsSaveGame ...

у меня есть обработчик зомби, который удаляет зомби на расстоянии от игрока. Но при восстановлении (повторном спавне) я хочу вернуть ему значения некоторых переменных. Если в будущем добавятся параметры, которые я захочу сохранить, мне придется открывать файл с сэйвом, добавлять туда переменные (либо структуру, не важно, в структуру добавлять). И расширять снова save и load как на скрине (ручками) Мне банально было интересно может у меня дырка какая в знаниях и я могу что-то еще с ними сделать. Но видимо такого способа просто нет

Иван Che.
screenshot у меня есть обработчик зомби, который удаляет зомб...

почему бы просто не отключать рендер зомби, а самого актора не уводить в *спячку*

Иван-Che. Автор вопроса
Konstantin Zakharov
почему бы просто не отключать рендер зомби, а само...

потому что помимо рендера существует логика зомби, всякие штуки на тике которые зомби делает, запущенные таймеры и может много чего еще. Просто я не делал этого зомби и мне показалось надежнее его просто удалить

Иван-Che. Автор вопроса
Konstantin Zakharov
так это как раз и есть *спячка*

Есть из коробки какая-то спячка для актера, которая все выключает? AI controller / таймеры и то, о чем я могу не знать?

Иван Che.
потому что помимо рендера существует логика зомби,...

Поверь, оптимизировать его, как советуют выше, наверняка будет гораздо-гораздо проще, чем сохранить и восстановить его состояния

Иван Che.
потому что помимо рендера существует логика зомби,...

Таймеры ты вот вообще условно не сериализуешь, т.к. они трекаются не в твоём персонаже. Об этой задаче даже думать страшно, не то, что её решать. Поэтому делай оптимизацию, а когда тебе реально будет нужно сериализовать/десериализовать актора, вооружайся плюсами и внимательно продумывай, что реально надо сохранить, и что можно заного просимулировать, чтобы получить такое же состояния. Ну и ручками всё, ручками...

Похожие вопросы

Обсуждают сегодня

Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Вот еще странный косяк, подскажите как бороться. Я git clone сделал себе всего embassy и примеры там запускаю. Всё хорошо. Но вот решил в cargo.toml зависимости не как в приме...
Lukutin R2AJP
5
А в каком формате фреймы? Сам формат сейчас придумываешь, или что-то готовое нужно распарсить?
Okhsunrog
5
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Раз начали говорить про embassy, то присоединюсь со своими парой вопросов. 1) Есть ли сопоставимые аналоги для асинхронного кода в emdebbed? 2) Можно ли внутри задач embassy ...
NI_isx
6
сделал сайт, прикрутил в боте сайт, и виджет логина. как автоматически логинить пользователя в аккаунт(телеграм), при входе с бота?
Александра Чернивецкая
5
Карта сайта