– Define the variable used to open/close the tab
local tabEnabled = false
local tabLoaded = true --false
function REQUEST_NUI_FOCUS(bool)
SetNuiFocus(bool, bool) -- focus, cursor
if bool == true then
SendNUIMessage({showtab = true})
else
SendNUIMessage({hidetab = true})
end
return bool
end
RegisterNUICallback(
"tablet-bus",
function(data)
-- Do tablet hide shit
if data.load then
print("Loaded the tablet")
tabLoaded = true
elseif data.hide then
print("Hiding the tablet")
SetNuiFocus(false, false) -- Don't REQUEST_NUI_FOCUS here
tabEnabled = false
elseif data.click then
-- if u need click events
end
end
)
Citizen.CreateThread(
function()
-- Wait for nui to load or just timeout
local l = 0
local timeout = false
while not tabLoaded do
Citizen.Wait(0)
l = l + 1
if l > 500 then
tabLoaded = true --
timeout = true
end
end
if timeout == true then
print("Failed to load tablet nui...")
-- return ---- Quit
end
print("::The client lua for tablet loaded::")
REQUEST_NUI_FOCUS(false) -- This is just in case the resources restarted whilst the NUI is focused.
while true do
-- Control ID 20 is the 'Z' key by default
-- 244 = M
-- Use https://wiki.fivem.net/wiki/Controls to find a different key
if (IsControlJustPressed(0, 168)) and GetLastInputMethod( 0 ) then
tabEnabled = not tabEnabled -- Toggle tablet visible state
REQUEST_NUI_FOCUS(tabEnabled)
print("The tablet state is: " .. tostring(tabEnabled))
Citizen.Wait(0)
end
if (tabEnabled) then
local ped = GetPlayerPed(-1)
DisableControlAction(0, 1, tabEnabled) -- LookLeftRight
DisableControlAction(0, 2, tabEnabled) -- LookUpDown
DisableControlAction(0, 24, tabEnabled) -- Attack
DisablePlayerFiring(ped, tabEnabled) -- Disable weapon firing
DisableControlAction(0, 142, tabEnabled) -- MeleeAttackAlternate
DisableControlAction(0, 106, tabEnabled) -- VehicleMouseControlOverride
end
Citizen.Wait(0)
end
end
)