• Из-за обновления GTA 5 (был добавлен новый патч) может временно не работать вход в RAGE Multiplayer.

    ERROR: Your game version is not supported by RAGE Multiplayer.

    Данная ошибка говорит о том, что GTA V обновилась до новой версии (GTA Online тоже). Вам необходимо обновить саму игру в главном меню вашего приложения (Steam / Epic Games / Rockstar Games).
    Если после этого RAGE:MP все равно не работает - вам нужно дождаться выхода патча для самого мультиплеера (обычно это занимает от нескольких часов до нескольких дней).

    Новости и апдейты Rockstar Games - https://www.rockstargames.com/ru/newswire/
    Статус всех служб для Rockstar Games Launcher и поддерживаемых игр: https://support.rockstargames.com/ru/servicestatus


    Grand Theft Auto 5 (+ GTA Online) последний раз были обновлены:

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

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,424
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, таким образом мы не сбиваем любую другую анимацию, которая может проигрываться при использовании микрофона.
 
  • Like
Реакции: infirmitive

infirmitive

Активный участник
Автор темы
8 Мар 2022
45
3
33
В клиент, для синхронизации открывания рта:
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.
эти эвенты реагируют на нажатие и обратное для кнопки? или же там еще учитывается поток войса и если тишина, то событие переключается на завершение?
 

XDeveluxe

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

infirmitive

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

infirmitive

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

XDeveluxe

Модератор
Команда форума
high coder
30 Авг 2021
2,220
1,424
191
27
а как можно для локального проигрывать? непосредственно, в коде, который за обработку кнопки войса добавлять проигрывание анимки или есть практики лучше?
В коде, который включает или выключает микрофон, да.