Files
esx_core/client/main.lua
T
2020-01-04 13:05:17 +01:00

59 lines
1.5 KiB
Lua

local voice = {default = 5.0, shout = 12.0, whisper = 1.0, current = 0, level = nil}
function drawLevel(r, g, b, a)
SetTextFont(4)
SetTextScale(0.5, 0.5)
SetTextColour(r, g, b, a)
SetTextDropshadow(0, 0, 0, 0, 255)
SetTextDropShadow()
SetTextOutline()
BeginTextCommandDisplayText('STRING')
AddTextComponentSubstringPlayerName(_U('voice', voice.level))
EndTextCommandDisplayText(0.175, 0.92)
end
AddEventHandler('onClientMapStart', function()
if voice.current == 0 then
NetworkSetTalkerProximity(voice.default)
elseif voice.current == 1 then
NetworkSetTalkerProximity(voice.shout)
elseif voice.current == 2 then
NetworkSetTalkerProximity(voice.whisper)
end
end)
Citizen.CreateThread(function()
while true do
Citizen.Wait(1)
if IsControlJustPressed(1, 74) and IsControlPressed(1, 21) then
voice.current = (voice.current + 1) % 3
if voice.current == 0 then
NetworkSetTalkerProximity(voice.default)
voice.level = _U('normal')
elseif voice.current == 1 then
NetworkSetTalkerProximity(voice.shout)
voice.level = _U('shout')
elseif voice.current == 2 then
NetworkSetTalkerProximity(voice.whisper)
voice.level = _U('whisper')
end
end
if voice.current == 0 then
voice.level = _U('normal')
elseif voice.current == 1 then
voice.level = _U('shout')
elseif voice.current == 2 then
voice.level = _U('whisper')
end
if NetworkIsPlayerTalking(PlayerId()) then
drawLevel(41, 128, 185, 255)
else
drawLevel(185, 185, 185, 255)
end
end
end)