Here is also a silly workaround for the facial speaking animation which is not currently synchronized on onesync
Citizen.CreateThread(function()
RequestAnimDict("facials@gen_male@variations@normal")
RequestAnimDict("mp_facial")
local talkingPlayers = {}
while true do
Citizen.Wait(300)
for k,v in pairs(GetPlayers()) do
local boolTalking = NetworkIsPlayerTalking(v)
if v ~= PlayerId() then
if boolTalking and not talkingPlayers[v] then
PlayFacialAnim(GetPlayerPed(v), "mic_chatter", "mp_facial")
talkingPlayers[v] = true
elseif not boolTalking and talkingPlayers[v] then
PlayFacialAnim(GetPlayerPed(v), "mood_normal_1", "facials@gen_male@variations@normal")
talkingPlayers[v] = nil
end
end
end
end
end)