Tekken

Local voice chat

Recommended Posts

I have default voice chat from mta team, and anybody can hear it, but i want to be only local on 50 meters how i can do it ?

Share this post


Link to post

Maybe you can change dxDrawVoice distance to something like that

local local_Voice_range = 50 

then you can ad this

if  (getDistanceBetweenPoints3D(camX, camY, camZ, headX, headY, headZ)<= local_Voice_range) then 
  
-- Your code here  
  
  

Share this post


Link to post

I wouldn't bother, the voice resource needs significant updating.

I once made a resource for it which let you create rooms, and only people within the rooms would hear one another. But the volume of that voice resource is so ridiculously quiet - it's practically of no use whatsoever.

Unless they've fixed it since I brought it up :lol:

Share this post


Link to post
I wouldn't bother, the voice resource needs significant updating.

I once made a resource for it which let you create rooms, and only people within the rooms would hear one another. But the volume of that voice resource is so ridiculously quiet - it's practically of no use whatsoever.

Unless they've fixed it since I brought it up :lol:

Your resource is exactly wath i need.., you have ti now ?

Share this post


Link to post

i tried like this:

addEventHandler ( "onClientPlayerVoiceStart", root, 
    function() 
        local voice_range = 50 
        local distance = getDistanceBetweenPoints3D (camX, camY, camZ, headX, headY, headZ) 
        if distance <= voice_range then 
            voicePlayers[source] = true 
        end 
    end     
) 

  • Like 1

Share this post


Link to post

it's not correct simply because u didn't add camX , CamY , camY , headX, headY , headY more than that i think SkatCh got confused between Draw voice image and the voice.

it can be like this:

local voice_range = 50 
  
addEventHandler ( "onClientPlayerVoiceStart", root, 
    function() 
       if (source and isElement(source) and getElementType(source) == "player") then 
        local sX, sY, sZ = getElementPosition(localPlayer) 
        local rX, rY, rZ = getElementPosition(source) 
        local distance = getDistanceBetweenPoints3D(sX, sY, sZ, rX, rY, rZ) 
        if distance <= voice_range then 
            voicePlayers[source] = true 
        end 
     end 
  end     
)  

Share this post


Link to post

Try

  
local voice_range = 50 
  
addEventHandler ( "onClientPlayerVoiceStart", root, 
    function() 
       if (source and isElement(source) and getElementType(source) == "player") and localPlayer ~= source then 
        local sX, sY, sZ = getElementPosition(localPlayer) 
        local rX, rY, rZ = getElementPosition(source) 
        local distance = getDistanceBetweenPoints3D(sX, sY, sZ, rX, rY, rZ) 
        if distance <= voice_range then 
            voicePlayers[source] = true 
        end 
     end 
  end     
)  
  

Share this post


Link to post

Now nowbody can hear me

local range = 50 
  
addEventHandler ( "onClientPlayerVoiceStart", root, 
function() 
    if (source and isElement(source) and getElementType(source) == "player") and localPlayer ~= source then 
        local sX, sY, sZ = getElementPosition(localPlayer) 
        local rX, rY, rZ = getElementPosition(source) 
        local distance = getDistanceBetweenPoints3D(sX, sY, sZ, rX, rY, rZ) 
        if distance <= range then 
            voicePlayers[source] = true 
        else 
            voicePlayers[source] = nil 
        end 
    end 
end     
) 

Share this post


Link to post

Found it, thank you guys for the support :D

local range = 50 
  
addEventHandler ( "onClientPlayerVoiceStart", root, 
function() 
    if (source and isElement(source) and getElementType(source) == "player") and localPlayer ~= source then 
        local sX, sY, sZ = getElementPosition(localPlayer) 
        local rX, rY, rZ = getElementPosition(source) 
        local distance = getDistanceBetweenPoints3D(sX, sY, sZ, rX, rY, rZ) 
        if distance <= range then 
            voicePlayers[source] = true 
        else 
            cancelEvent()--This was the shit 
        end 
    end 
end 
) 

Share this post


Link to post

Well I am trying this and now everyone can hear me every where I am even with the last reply.

Share this post


Link to post
11 hours ago, UltraGaming said:

Well I am trying this and now everyone can hear me every where I am even with the last reply.

Posted February 11, 2015

Share this post


Link to post
On 28-2-2017 at 04:36, UltraGaming said:

Well I am trying this and now everyone can hear me every where I am even with the last reply.

Did you put this client side?

Share this post


Link to post

If you want it very sophisticated, it won't be as easy as setting down the volume. My brother made a 3D-position-local VOIP which also calculates all sound pan from camera to source. It was a pain in the arse, so idk if he'll share it for free.

Share this post


Link to post

I'll take a look on this cause i might use it within Dynasty Network to use this ingame For normal local chat and Group chat rooms

Share this post


Link to post

@Resmurf, this is quite an old post, I don't think it's up to date.

Share this post


Link to post

I know it's old, but i'm trying to i mean they said they achieved it which i highly doubt because all the servers would be flooded with voice chats.

Share this post


Link to post
10 hours ago, Resmurf said:

I know it's old, but i'm trying to i mean they said they achieved it which i highly doubt because all the servers would be flooded with voice chats.

  
local nearbyPlayers = {} 
  
addEventHandler("onPlayerVoiceStart", root, 
    function() 
        local r = 50 
        local posX, posY, posZ = getElementPosition(source) 
        local chatSphere = createColSphere(posX, posY, posZ, r) 
        nearbyPlayers = getElementsWithinColShape(chatSphere, "player") 
        destroyElement(chatSphere) 
        local empty = exports.voice:getNextEmptyChannel() 
        exports.voice:setPlayerChannel(source, empty) 
        for index, player in ipairs(nearbyPlayers) do 
            exports.voice:setPlayerChannel(player, empty) 
        end 
    end 
) 
addEventHandler("onPlayerVoiceStop", root, 
    function() 
        exports.voice:setPlayerChannel(source) 
        for index, player in ipairs(nearbyPlayers) do 
            exports.voice:setPlayerChannel(player) 
        end 
        nearbyPlayers = {} 
    end 
) 

 

  • Like 1

Share this post


Link to post

where do i add thoese codes? idk because im begginer in this and i'm trying to mage a good script from the old owl script

 

Edited by eFFecT1

Share this post


Link to post
Posted (edited)

has anyone found a way to make this, why can't MTA have a good Local Voice chat like in FiveM for roleplay purposes, 

Edited by Mr.Solo

Share this post


Link to post
Posted (edited)
 

del

Edited by XaskeL

Share this post


Link to post

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.