Восстановление объектов карты

Сообщения
25
Реакции
10
Всем привет!
На днях возник вопрос, как можно вернуть все объекты карты на место, к примеру, машинки, разбитые стёкла и прочее, без старта нового раунда.
 
Сообщения
1,184
Реакции
2,156
Помог
57 раз(а)
fl0wer, так можно вернуть всё? Или для этого требуется, чтобы у класса в геймлибе был свой Restart() ?

Если я правильно понимаю, за рестарт отвечает
https://github.com/s1lentq/ReGameDL...1/regamedll/dlls/multiplay_gamerules.cpp#L605
https://github.com/s1lentq/ReGameDL...f96c123f4574121/regamedll/dlls/util.cpp#L1494

Например у func_breakable
https://github.com/s1lentq/ReGameDL...b756447e37/regamedll/dlls/func_break.cpp#L132

А у func_wall, передвижение которого изначально не предусмотрено, своего рестарта нет.
 
  • Awesome
Реакции: Ayk
Сообщения
203
Реакции
324
Помог
3 раз(а)
func_wall вернуть на исходную позицию можно через engfunc(EngFunc_SetOrigin, ent, {0.0, 0.0, 0.0}). Я думаю, что такое распространяется на любой объект с брашевой моделью. Вкупе с Ham_CS_Restart, как сказали выше, должно быть идеально.
 
Сообщения
1,184
Реакции
2,156
Помог
57 раз(а)
Xelson, да, спасибо, это я знаю. Мне просто было интересно, работает ли Ham_CS_Restart для всего, ибо никогда не проверял.

upd.
Проверил. Как и думал, Ham_CS_Restart подойдёт не всегда. Классы, не имеющие Restart(), например func_plat или func_pendulum, так не сбросишь.
 
Последнее редактирование:

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу