This is a mobile optimized page that loads fast, if you want to load the real page, click this text.

Вопрос Как открывать рот персонажу во время использования войса?

infirmitive

Активный участник
Автор темы
8 Мар 2022
45
3
33
Видел среди анимаций:
JavaScript:
player.playAnimation('facials@gen_male@base', 'mood_talking_1', 1, 45);

Соответственно, как правильно реализовать? При каком эвенте с сервера отправлять на клиент это событие? Как засинхронить среди окружающих и по адекватному радиусу проигрывания анимки?
 

XDeveluxe

Модератор
Команда форума
high coder
30 Авг 2021
2,220
1,425
191
27
В клиент, для синхронизации открывания рта:
JavaScript:
mp.events.add('playerStartTalking', (player) =>
{
    if (!player || !mp.players.exists(player) || player.type !== 'player') return;
    player.playFacialAnim("mic_chatter", "mp_facial");
});

mp.events.add('playerStopTalking', (player) =>
{
    if (!player || !mp.players.exists(player) || player.type !== 'player') return;
    player.playFacialAnim("mood_normal_1", "facials@gen_male@variations@normal");
});

Для открывания у локального персонажа нужно в момент включения его микрофона проигрывать анимацию из первого метода и, соответственно, при выключении микрофона - анимацию из второго метода. Заметь, что в моём случае используется метод playFacialAnim, а не playAnimation, таким образом мы не сбиваем любую другую анимацию, которая может проигрываться при использовании микрофона.
 
Реакции: infirmitive

infirmitive

Активный участник
Автор темы
8 Мар 2022
45
3
33
эти эвенты реагируют на нажатие и обратное для кнопки? или же там еще учитывается поток войса и если тишина, то событие переключается на завершение?
 

XDeveluxe

Модератор
Команда форума
high coder
30 Авг 2021
2,220
1,425
191
27
Это автоматические клиентские ивенты, в которые рейдж отправляет данные игрока, который говорит или перестаёт говорить.
Работает только на тех, кто в зоне стрима игрока.
Он не работает на локального персонажа.
 

infirmitive

Активный участник
Автор темы
8 Мар 2022
45
3
33
а как можно для локального проигрывать? непосредственно, в коде, который за обработку кнопки войса добавлять проигрывание анимки или есть практики лучше?
 

infirmitive

Активный участник
Автор темы
8 Мар 2022
45
3
33
хотя куда уж проще, как мне кажется
 

XDeveluxe

Модератор
Команда форума
high coder
30 Авг 2021
2,220
1,425
191
27
В коде, который включает или выключает микрофон, да.