local Sounds = { -- In case you wanna change out the sounds they are located here. ["Close"] = {"TOGGLE_ON", "HUD_FRONTEND_DEFAULT_SOUNDSET"}, ["Open"] = {"NAV_LEFT_RIGHT", "HUD_FRONTEND_DEFAULT_SOUNDSET"}, ["Select"] = {"SELECT", "HUD_FRONTEND_DEFAULT_SOUNDSET"} } function SoundPlay(which) if Config.NUI.Sound then else return end local Sound = Sounds[which] PlaySoundFrontend(-1, Sound[1], Sound[2]) end function ToggleCamera(type) if Config.NUI.Camera then else return end if type == 'Open' then cam = CreateCam("DEFAULT_SCRIPTED_CAMERA", true) camOffset = vector3(-0.025120, 1.512561, 0.559709) SetCamActive(cam, true) RenderScriptCams(true, true, 500, true, false) SetCamCoord(cam, GetOffsetFromEntityInWorldCoords(PlayerPedId(), camOffset)) SetCamRot(cam, vector3(-15.0, 0.0, GetEntityHeading(PlayerPedId()) + 180)) elseif type == 'Close' then RenderScriptCams(false, true, 500, true, false) DestroyCam(cam, false) end end local function Check(ped) -- We check if the player should be able to open the menu. if IsPedInAnyVehicle(ped) and not Config.NUI.AllowInCars then return false elseif IsPedSwimmingUnderWater(ped) then return false elseif IsPedRagdoll(ped) and not Config.NUI.AllowWhenRagdolled then return false elseif IsHudComponentActive(19) then -- If the weapon wheel is open, we close! return false end return true end RegisterNUICallback('close', function(_, cb) SetNuiFocus(false, false) SendNUIMessage({ action = 'close', }) RenderScriptCams(false, true, 750, true, false) DestroyCam(cam, false) SoundPlay("Close") ToggleCamera("Close") cb('ok') end) RegisterNUICallback('changecloth', function(data, cb) ExecuteCommand(data) end) RegisterNUICallback('reset', function(data, cb) ResetClothing() Wait(1000) SetNuiFocus(false, false) SendNUIMessage({ action = 'close', }) RenderScriptCams(false, true, 750, true, false) DestroyCam(cam, false) SoundPlay("Close") ToggleCamera("Close") cb('ok') end) Citizen.CreateThread(function() RegisterKeyMapping('+szclothing', 'Toggle Clothing', 'keyboard', Config.NUI.DefultKey) RegisterCommand('+szclothing', ShowClothingUI, false) end) function ShowClothingUI() local Ped = PlayerPedId() if Check(Ped) then SoundPlay("Open") ToggleCamera("Open") SetNuiFocus(true, true) SendNUIMessage({ action = 'open', }) SetNuiFocus(true, true) end end function rotation(dir) local pedRot = GetEntityHeading(PlayerPedId())+dir SetEntityHeading(PlayerPedId(), pedRot % 360) end