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

    Ошибка: Ваша версия Grand Theft Auto V не поддерживается 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/newswire/
    Статус всех служб для Rockstar Games Launcher и поддерживаемых игр: https://support.rockstargames.com/ru/servicestatus


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

Голосовой чат

Dale1ter

Новый участник
10 Окт 2022
14
0
58
пишу на С# серв сайд и клиент сайд, не нашел нормального вики где описывается работа войс чата. Это стандартная ГТА 5 войс чат или GTANetworkAPI? если так тогда подскажите, как она реализуется на стороне клиента или сервера и какие именно.

RAGE.Voice.Allowed;
прописал но на N в игре ничего не происходит, заранее спасибо
 

Jerry (ChatGPT)

AI-powered language model
VIP
helper
17 Окт 2023
2,762
271
100
В GTANetworkAPI голосовой чат реализуется через RAGE.Voice — на сервере контролируешь RAGE.Voice.Allowed и RAGE.Voice.Mode, на клиенте реакция появляется автоматически. Если N не работает, проверь, что RAGE.Voice.Enabled = true в настройках, и что микрофон доступен. Также убедись, что используешь последнюю версию API и правильно инициализируешь голос на клиенте.
 

ghostnuller

Новый участник
Мошенник
21 Июл 2025
24
1
13
пишу на С# серв сайд и клиент сайд, не нашел нормального вики где описывается работа войс чата. Это стандартная ГТА 5 войс чат или GTANetworkAPI? если так тогда подскажите, как она реализуется на стороне клиента или сервера и какие именно.

RAGE.Voice.Allowed;
прописал но на N в игре ничего не происходит, заранее спасибо
NAPI.Player.EnablePlayerVoiceTo(player, target); // Вкл

NAPI.Player.DisablePlayerVoiceTo(player, target); // Выкл
 

ghostnuller

Новый участник
Мошенник
21 Июл 2025
24
1
13
то есть можно включить только для определенного таргета а не для все кто поблизости?
Братан есть же сурс в открытом доступе, берёшь и переписываешь под себя просто

Client:
JavaScript:
const Use3d = true;
const UseAutoVolume = false;

const MaxRange = 50.0;

mp.keys.bind(0x73, true, function() {
    mp.voiceChat.muted = !mp.voiceChat.muted;
    mp.game.graphics.notify("Voice Chat: " + ((!mp.voiceChat.muted) ? "~g~enabled" : "~r~disabled"));
});

let g_voiceMgr =
{
    listeners: [],
    
    add: function(player)
    {
        this.listeners.push(player);
        
        player.isListening = true;       
        mp.events.callRemote("add_voice_listener", player);
        
        if(UseAutoVolume)
        {
            player.voiceAutoVolume = true;
        }
        else
        {
            player.voiceVolume = 1.0;
        }
        
        if(Use3d)
        {
            player.voice3d = true;
        }
    },
    
    remove: function(player, notify)
    {
        let idx = this.listeners.indexOf(player);
            
        if(idx !== -1)
            this.listeners.splice(idx, 1);
            
        player.isListening = false;       
        
        if(notify)
        {
            mp.events.callRemote("remove_voice_listener", player);
        }
    }
};

mp.events.add("playerQuit", (player) =>
{
    if(player.isListening)
    {
        g_voiceMgr.remove(player, false);
    }
});

setInterval(() =>
{
    let localPlayer = mp.players.local;
    let localPos = localPlayer.position;
    
    mp.players.forEachInStreamRange(player =>
    {
        if(player != localPlayer)
        {
            if(!player.isListening)
            {
                const playerPos = player.position;       
                let dist = mp.game.system.vdist(playerPos.x, playerPos.y, playerPos.z, localPos.x, localPos.y, localPos.z);
                
                if(dist <= MaxRange)
                {
                    g_voiceMgr.add(player);
                }
            }
        }
    });
    
    g_voiceMgr.listeners.forEach((player) =>
    {
        if(player.handle !== 0)
        {
            const playerPos = player.position;       
            let dist = mp.game.system.vdist(playerPos.x, playerPos.y, playerPos.z, localPos.x, localPos.y, localPos.z);
            
            if(dist > MaxRange)
            {
                g_voiceMgr.remove(player, true);
            }
            else if(!UseAutoVolume)
            {
                player.voiceVolume = 1 - (dist / MaxRange);
            }
        }
        else
        {
            g_voiceMgr.remove(player, true);
        }
    });
}, 500);

Server:

JavaScript:
mp.events.add("add_voice_listener", (player, target) =>
{
    if(target)
    {
        player.enableVoiceTo(target);
    }
});

mp.events.add("remove_voice_listener", (player, target) =>
{
    if(target)
    {
        player.disableVoiceTo(target);
    }
});
 

XDeveluxe

⚡️BackEnd Developer
Команда форума
Moderator
High developer
BackEnd developer
30 Авг 2021
3,221
1,928
216
28
Само по себе работать на кнопку ничего не будет.
Для этого тебе нужно создать бинд клавиши на клиентской стороне, внутри прописать её действие. Действием является mute и unmute локального игрока, а доступ к голосовому чату включается при входе в нужную зону. Есть публичные скрипты, есть игровые моды, скачиваешь и находишь решение.