Half-Life и Adrenaline Gamer форум
http://aghl.ru/forum/

заморозить модель игрока вместе с анимациями
http://aghl.ru/forum/viewtopic.php?f=20&t=1647
Страница 1 из 1

Автор:  unnamed [ 09 мар 2014, 18:32 ]
Заголовок сообщения:  заморозить модель игрока вместе с анимациями

Подскажите, как сделать чтоб в момент попадания выстрела модель игрока замерла в той позе, в которой находилась?

Сейчас имею вот что:

Код:
get_user_origin(victim, origin)
set_pev(victim, pev_flags, pev(victim, pev_flags) | FL_FROZEN)
set_user_origin(victim, origin)


set_user_origin() нужна для борьбы с предиктом. Иначе, игроки будут видеть модель остановленной в разных местах, в зависимости от пинга.
Бегущий игрок после применения фриза выглядит стоящим.
А вопрос в том, как сохранить положение конечностей, которое было в момент попадания.

Автор:  Lev [ 10 мар 2014, 19:17 ]
Заголовок сообщения:  Re: заморозить модель игрока вместе с анимациями

Мы тут с Кордом посовещались и решили что надо pev->framerate = 0; попробовать. Вьюуглы тоже не сложно заморозить, если надо.
Если не выйдет, то надо много пробовать разных вариантов установки анимы, фпсов и начальных кадров.
unnamed писал(а):
set_user_origin() нужна для борьбы с предиктом. Иначе, игроки будут видеть модель остановленной в разных местах, в зависимости от пинга.
Может и пусть видят в разных местах?

Автор:  unnamed [ 10 мар 2014, 19:29 ]
Заголовок сообщения:  Re: заморозить модель игрока вместе с анимациями

Lev писал(а):
Мы тут с Кордом посовещались и решили что надо pev->framerate = 0; попробовать. Вьюуглы тоже не сложно заморозить, если надо.
Если не выйдет, то надо много пробовать разных вариантов установки анимы, фпсов и начальных кадров.

Попробую. Вью углы модели тоже фризятся. Игрок мышкой крутить может, но модель не крутится.

Lev писал(а):
Может и пусть видят в разных местах?

Нет, мне надо под прицелом остановить в момент попадания.
А а с установкой координат, поскольку стреляющий игрок из-за рега видит попадание позади модели, в момент попадания игрока отдернет назад под прицел. В моем случае это допустимо.

Добавлено спустя 2 часа 59 минут 40 секунд:
Когда игрок в полете, анимация замораживается. А если по земле бежит, то просто останавливается и стоит.
Пытался принудительно выставить определенную анимацию. Похоже, где-то она переустанавливается. Видимо в его think. Все-равно чел стоит. Еще и сальто крутить иногда начинает

Автор:  Lev [ 10 мар 2014, 23:15 ]
Заголовок сообщения:  Re: заморозить модель игрока вместе с анимациями

Код:
void CBasePlayer::SetAnimation( PLAYER_ANIM playerAnim )
{
   if (pev->flags & FL_FROZEN)
   {
      speed = 0;
      playerAnim = PLAYER_IDLE;
   }
попробуй хамом перехватить и заблочить.

Автор:  unnamed [ 11 мар 2014, 15:20 ]
Заголовок сообщения:  Re: заморозить модель игрока вместе с анимациями

А чего перехватывать?
SetAnimation я так понимаю, хамом не зацепить.

Автор:  Lev [ 11 мар 2014, 16:53 ]
Заголовок сообщения:  Re: заморозить модель игрока вместе с анимациями

А, ну да, она не виртуальная.
Попробуй в постпостсинке восстановить
Цитата:
pev->gaitsequence
pev->sequence
pev->frame
pev->framerate

Автор:  unnamed [ 15 мар 2014, 03:39 ]
Заголовок сообщения:  Re: заморозить модель игрока вместе с анимациями

сделал. Движение на земле получилось остановить. А вот в воздухе теперь все плохо. Модель дергается. Как если убить игрока с которым пропала связь.
Временами игрок крутит сальто назад после остановки:)

Автор:  Lev [ 15 мар 2014, 07:27 ]
Заголовок сообщения:  Re: заморозить модель игрока вместе с анимациями

Если до этого в воздухе было норм, то можно разделить обработку по OnGround.
А какие параметры восстанавливаешь?

Автор:  unnamed [ 15 мар 2014, 16:17 ]
Заголовок сообщения:  Re: заморозить модель игрока вместе с анимациями

Lev писал(а):
А какие параметры восстанавливаешь?

pev->gaitsequence
pev->sequence
pev->frame
pev->framerate

в постсинке

и координаты один раз - после попадания выстрела.

Если framerate ставить в ноль, то в воздухе анимация все-равно на одном и том же кадре останавливается. Я первый раз не обратил внимания на это.

Добавлено спустя 22 минуты 45 секунд:
Записал демо этого дела. А демка не играется.


Host_EndGame: Demo message > MAX_POSSIBLE_MSG

Автор:  Lev [ 15 мар 2014, 22:58 ]
Заголовок сообщения:  Re: заморозить модель игрока вместе с анимациями

Можно попробовать какие-то не трогать из этих.
Ошибка даже не знаю с чем связана.
В инетах вроде пишут что на каких-то старых клиентах бывали баги.
Попробуй в стиме записать или ещё каким-нибудь, для теста.
А ещё попробуй через viewdemo.

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/