Jump to content

Recommended Posts

Posted

Здравствуйте, пытаюсь сделать прототип системы voice чата, для этого использую методы

enableVoiceTo
disableVoiceTo

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

Клиентский код(использую rpc) =>

mp.keys.bind(88, true, () => {
  this.rpc.callServer('voice-enable');
});

mp.keys.bind(88, false, () => {
  this.rpc.callServer('voice-disable');
});

Серверная часть кода =>

global.rpc.register('voice-enable', (players, info) => {
    console.log(`Включил voice ${info.player.name} ${info.player.id}`);
    
    if(info.player.id == 0) {
        let player = mp.players.at(0);
        mp.players.forEach((_player) => {
            if(player == _player) return false;
            
            player.enableVoiceTo(_player);
        });
    } else if(info.player.id == 1) {
        let player = mp.players.at(1);
        mp.players.forEach((_player) => {
            if(player == _player) return false;
            
            player.enableVoiceTo(_player);
        });
    }
});

global.rpc.register('voice-disable', (players, info) => {
    console.log(`Выключил voice ${info.player.name} ${info.player.id}`);

    if(info.player.id == 0) {
        let player = mp.players.at(0);
        mp.players.forEach((_player) => {
            if(player == _player) return false;
            
            player.disableVoiceTo(_player);
        });
    } else if(info.player.id == 1) {
        let player = mp.players.at(1);
        mp.players.forEach((_player) => {
            if(player == _player) return false;
            
            player.disableVoiceTo(_player);
        });
    }
});

P.S пока делаю это только для 2 игроков на сервере, что бы убедиться что это вообще работает, как в качестве прототипа.

P.S.S все условия отрабатывают, вроде все отрабатывает, но как будто вот именно методы rage не работают...

Posted

Проблема решена, и заключалась в том что в клиентской части необходимо было дописать свойства включения микрофона.

mp.voiceChat.muted != false; // размутит игрока, и включит ему микрофон

// При добавлении игрока в стрим voice прописать (параметры не обязательны)=>
player.voiceAutoVolume = true;
player.voiceVolume = 1.0;
player.voice3d = true;

 

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...