Jump to content

Ajuda com Voice


Recommended Posts

  • Moderators

Você pode tentar o seguinte:

triggerEvent( "onClientPlayerVoiceStart", localPlayer, targetPlayer )

localPlayer : O jogador que começou falar; source do evento.

targetPlayer : O jogador que deverá ouvir o source do evento.

Fazendo o cancelamento para outros jogadores:

addEventHandler("onClientPlayerVoiceStart", root, function( targetPlayer )
	if targetPlayer and localPlayer ~= targetPlayer then
		cancelEvent()
	end
end)

A função triggerEvent você usa na sua função do comando. É uma forma paralela à padrão do voice para forçar a voz no modo ativado.
Para forçar a voz desativada faça o trigger com onClientPlayerVoiceStop

Não cheguei a testar se tudo isso funciona, só a parte do triggerEvent.

Link to comment
12 hours ago, DNL291 said:

Você pode tentar o seguinte:


triggerEvent( "onClientPlayerVoiceStart", localPlayer, targetPlayer )

localPlayer : O jogador que começou falar; source do evento.

targetPlayer : O jogador que deverá ouvir o source do evento.

Fazendo o cancelamento para outros jogadores:


addEventHandler("onClientPlayerVoiceStart", root, function( targetPlayer )
	if targetPlayer and localPlayer ~= targetPlayer then
		cancelEvent()
	end
end)

A função triggerEvent você usa na sua função do comando. É uma forma paralela à padrão do voice para forçar a voz no modo ativado.
Para forçar a voz desativada faça o trigger com onClientPlayerVoiceStop

Não cheguei a testar se tudo isso funciona, só a parte do triggerEvent.

Você pode me explicar por favor o porquê dessa condição? Se o localPlayer for diferente do targetPlayer cancela o evento, ou seja, só teria como falar consigo mesmo?

Link to comment
  • Moderators
4 hours ago, Boechat said:

Você pode me explicar por favor o porquê dessa condição? Se o localPlayer for diferente do targetPlayer cancela o evento, ou seja, só teria como falar consigo mesmo?

localPlayer representa o jogador local; ou seja, o jogador local pode ser qualquer um cliente (se você já tem um entendimento sobre client-server vai entender melhor).

localPlayer pode ser qualquer um jogador, e aquele código 'pertence' a ele, porque os clientsides executam individualmente. Outros jogadores não existem no ambiente de tal cliente, podem ser acessados apenas como jogadores remotos.

Falando sobre a condição: agora que está esclarecido, você deve entender que isso irá verificar se o jogador local é aquele que foi especificado no comando /voice, se não for, a transmissão de voz é desativada.

  • Thanks 1
Link to comment
1 hour ago, DNL291 said:

localPlayer representa o jogador local; ou seja, o jogador local pode ser qualquer um cliente (se você já tem um entendimento sobre client-server vai entender melhor).

localPlayer pode ser qualquer um jogador, e aquele código 'pertence' a ele, porque os clientsides executam individualmente. Outros jogadores não existem no ambiente de tal cliente, podem ser acessados apenas como jogadores remotos.

Falando sobre a condição: agora que está esclarecido, você deve entender que isso irá verificar se o jogador local é aquele que foi especificado no comando /voice, se não for, a transmissão de voz é desativada.

Humm acho q consegui compreender, só uma coisa que não entendi muito bem, se puder me explicar eu agradeço: o onClientPlayerVoiceStart é Clientside, certo? Quando você dá um 

 triggerEvent( "onClientPlayerVoiceStart", localPlayer, targetPlayer)

mesmo sendo um evento client-side ainda sim é enviado pra todos os players do servidor, pra que possa achar o targetPlayer?

Link to comment
  • Moderators

O evento só vai ser chamado no client. Esse triggerEvent deve estar também.

A linha do triggerEvent com o targetPlayer que fiz foi só como um exemplo, você precisa armazenar o elemento.

26 minutes ago, Boechat said:

mesmo sendo um evento client-side ainda sim é enviado pra todos os players do servidor, pra que possa achar o targetPlayer?

Sim, vai chamar para todos os clientes.

O targetPlayer (jogador que irá escutar o que deu o comando) pode ser armazenado com setElementData (útil se você precisar obtê-lo no lado server); Ou numa variável.

  • Thanks 1
Link to comment

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...