ESX = Core QBCore = Core -- Buy here: (4€+VAT) https://store.brutalscripts.com function notification(title, text, time, type) if Config.BrutalNotify then exports['brutal_notify']:SendAlert(title, text, time, type) else -- Put here your own notify and set the Config.BrutalNotify to false SetNotificationTextEntry("STRING") AddTextComponentString(text) DrawNotification(0,1) -- Default ESX Notify: --TriggerEvent('esx:showNotification', text) Default QB Notify: TriggerEvent('QBCore:Notify', text, 'info', 5000) -- OKOK Notify: -- exports['okokNotify']:Alert(title, text, time, type, false) end end function TextUIFunction(type, text) if type == 'open' then if Config.TextUI:lower() == 'ox_lib' then lib.showTextUI(text) elseif Config.TextUI:lower() == 'okoktextui' then exports['okokTextUI']:Open(text, 'darkblue', 'right') elseif Config.TextUI:lower() == 'esxtextui' then ESX.TextUI(text) elseif Config.TextUI:lower() == 'qbdrawtext' then exports['qb-core']:DrawText(text,'left') elseif Config.TextUI:lower() == 'brutal_textui' then exports['brutal_textui']:Open(text, "blue") end elseif type == 'hide' then if Config.TextUI:lower() == 'ox_lib' then lib.hideTextUI() elseif Config.TextUI:lower() == 'okoktextui' then exports['okokTextUI']:Close() elseif Config.TextUI:lower() == 'esxtextui' then ESX.HideUI() elseif Config.TextUI:lower() == 'qbdrawtext' then exports['qb-core']:HideText() elseif Config.TextUI:lower() == 'brutal_textui' then exports['brutal_textui']:Close() end end end function AbleToOpenThePropertiesMenu() local able = true if Config.BrutalPoliceJob and GetResourceState("brutal_policejob") == "started" then if exports.brutal_policejob:IsHandcuffed() then able = false end end if Config['Core']:upper() == 'QBCORE' then if GetResourceState("qb-policejob") == "started" then if exports["qb-policejob"]:IsHandcuffed() then able = false end end end -- other blacklists can be added. return able end function OpenDressingMenu() if Config.Wardrobe == 'ak47_clothing' then exports['ak47_clothing']:openOutfit() -- if it doesn't work with this export use other event -- TriggerEvent('ak47_clothing:openOutfitMenu') -- Use this only if the first export doesn't work, depend of you'r version elseif Config.Wardrobe == 'codem_apperance' then TriggerEvent('codem-apperance:OpenWardrobe') elseif Config.Wardrobe == 'fivem_appearance' then exports['fivem-appearance']:openWardrobe() elseif Config.Wardrobe == 'illenium_appearance' then TriggerEvent('illenium-appearance:client:openOutfitMenu') elseif Config.Wardrobe == 'qb_clothing' then TriggerEvent('qb-clothing:client:openOutfitMenu') elseif Config.Wardrobe == 'raid_clothes' then TriggerEvent('raid_clothes:openmenu') elseif Config.Wardrobe == 'rcore_clothes' then TriggerEvent('rcore_clothes:openOutfits') elseif Config.Wardrobe == 'rcore_clothing' then TriggerEvent('rcore_clothing:openChangingRoom') elseif Config.Wardrobe == 'sleek_clothestore' then exports['sleek-clothestore']:OpenWardrobe() elseif Config.Wardrobe == 'tgiann_clothing' then TriggerEvent('tgiann-clothing:openOutfitMenu') end end function setPlayerSkin(skinTable) if Config['Core']:upper() == 'ESX' then TriggerEvent('skinchanger:loadSkin', skinTable.skin) elseif Config['Core']:upper() == 'QBCORE' then TriggerEvent("qb-clothes:loadSkin", false, tonumber(skinTable.model), skinTable.skin) TriggerServerEvent("brutal_housing:server:qbcore-loadPlayerSkin", tonumber(skinTable.model), skinTable.skin) end end function MiniGames(type, propertyID) if type == "raid" then if GetResourceState("ps-ui") == "started" then exports['ps-ui']:Circle(function(success) TriggerEvent('brutal_housing:client:raidMinigame', propertyID, success) end, 3, 10) else TriggerEvent('brutal_housing:client:raidMinigame', propertyID, true) end elseif type == "server-destroy" then if GetResourceState("ps-ui") == "started" then exports['ps-ui']:Scrambler(function(success) TriggerEvent('brutal_housing:client:serverdestroy', propertyID, success) end, "alphanumeric", 60, 2) else TriggerEvent('brutal_housing:client:serverdestroy', propertyID, true) end elseif type == "house-break-in-level_0" then if GetResourceState("ps-ui") == "started" then exports['ps-ui']:Scrambler(function(success) TriggerEvent('brutal_housing:client:breakInMinigame', propertyID, success) end, "alphanumeric", 60, 2) else TriggerEvent('brutal_housing:client:breakInMinigame', propertyID, true) end elseif type == "house-break-in-level_1" then if GetResourceState("ps-ui") == "started" then exports['ps-ui']:VarHack(function(success) TriggerEvent('brutal_housing:client:breakInMinigame', propertyID, success) end, 10, 30) else TriggerEvent('brutal_housing:client:breakInMinigame', propertyID, true) end elseif type == "house-break-in-level_2" then if GetResourceState("ps-ui") == "started" then exports['ps-ui']:Thermite(function(success) TriggerEvent('brutal_housing:client:breakInMinigame', propertyID, success) end, 30, 6, 10) else TriggerEvent('brutal_housing:client:breakInMinigame', propertyID, true) end elseif type == "house-break-in-level_3" then if GetResourceState("ps-ui") == "started" then exports['ps-ui']:Thermite(function(success) TriggerEvent('brutal_housing:client:breakInMinigame', propertyID, success) end, 30, 6, 10) else TriggerEvent('brutal_housing:client:breakInMinigame', propertyID, true) end end end function PoliceBurglarNotify(x,y,z, address) if Config.BrutalPoliceJob and GetResourceState("brutal_policejob") == "started" then TriggerServerEvent('brutal_policejob:server:citizencall', 'create', Config.Locales.BreakIn, {x,y,z}, address) else SendNotify(66) end end function InventoryOpenFunction(propertyID, objectID) if Config.Inventory:lower() == 'ox_inventory' then if exports.ox_inventory:openInventory('stash', { id = "stash_"..propertyID.."_"..objectID}) == false then TriggerServerEvent('brutal_housing:server:loadStash', propertyID, objectID) exports.ox_inventory:openInventory('stash', { id = "stash_"..propertyID.."_"..objectID}) end elseif Config.Inventory:lower() == 'qb_inventory_old' then TriggerServerEvent("inventory:server:OpenInventory", "stash", "stash_"..propertyID.."_"..objectID, {label = Config.Locales.Stash, maxweight = Config.Stash.Weight, slots = Config.Stash.Slots}) TriggerEvent("inventory:client:SetCurrentStash", "stash_"..propertyID.."_"..objectID) elseif Config.Inventory:lower() == 'qb_inventory_new' then TriggerServerEvent("brutal_housing:qb-inventory:server:OpenInventory", "stash_"..propertyID.."_"..objectID, {label = Config.Locales.Stash, maxweight = Config.Stash.Weight, slots = Config.Stash.Slots}) elseif Config.Inventory:lower() == 'quasar_inventory' then TriggerServerEvent("inventory:server:OpenInventory", "stash", "stash_"..propertyID.."_"..objectID, { label = Config.Locales.Stash, maxweight = Config.Stash.Weight, slots = Config.Stash.Slots }) TriggerEvent("inventory:client:SetCurrentStash", "stash_"..propertyID.."_"..objectID) elseif Config.Inventory:lower() == 'codem_inventory' then TriggerServerEvent("inventory:server:OpenInventory", "stash", "stash_"..propertyID.."_"..objectID, { label = Config.Locales.Stash, maxweight = Config.Stash.Weight, slots = Config.Stash.Slots }) TriggerEvent("inventory:client:SetCurrentStash", "stash_"..propertyID.."_"..objectID) elseif Config.Inventory:lower() == 'chezza_inventory' then TriggerEvent('inventory:openStorage', Config.Locales.Stash, "stash_"..propertyID.."_"..objectID, 1000, 1000) elseif Config.Inventory:lower() == 'core_inventory' then TriggerServerEvent('core_inventory:server:openInventory', "stash_"..propertyID.."_"..objectID, "big_storage") elseif Config.Inventory:lower() == 'origen_inventory' then exports.origen_inventory:openInventory("stash", "stash_"..propertyID.."_"..objectID, {label = Config.Locales.Stash, maxweight = Config.Stash.Weight, slots = Config.Stash.Slots}) elseif Config.Inventory:lower() == 'ps-inventory' then if GetResourceState('ps-inventory') == "started" then TriggerServerEvent("ps-inventory:server:OpenInventory", "stash_"..propertyID.."_"..objectID, {label = Config.Locales.Stash, maxweight = Config.Stash.Weight, slots = Config.Stash.Slots}) TriggerEvent("ps-inventory:client:SetCurrentStash", "stash_"..propertyID.."_"..objectID) else TriggerServerEvent("inventory:server:OpenInventory", "stash", "stash_"..propertyID.."_"..objectID, {label = Config.Locales.Stash, maxweight = Config.Stash.Weight, slots = Config.Stash.Slots}) TriggerEvent("inventory:client:SetCurrentStash", "stash_"..propertyID.."_"..objectID) end end end RegisterNetEvent('brutal_housing:client:utils:CreateVehicle') AddEventHandler('brutal_housing:client:utils:CreateVehicle', function(Vehicle) SetVehicleFuelLevel(Vehicle, 100.0) DecorSetFloat(Vehicle, "_FUEL_LEVEL", GetVehicleFuelLevel(Vehicle)) if Config['Core']:upper() == 'QBCORE' then TriggerEvent("vehiclekeys:client:SetOwner", QBCore.Functions.GetPlate(Vehicle)) end end) RegisterNetEvent('brutal_housing:client:utils:DeleteVehicle') AddEventHandler('brutal_housing:client:utils:DeleteVehicle', function(Vehicle) DeleteEntity(Vehicle) end) function OpenMenuUtil() InMenu = true SetNuiFocus(true, true) Citizen.CreateThread(function() while InMenu do N_0xf4f2c0d4ee209e20() -- it's disable the AFK camera zoom Citizen.Wait(15000) end end) DisplayRadar(false) end function DisableMinimap() DisplayRadar(false) -- Here you can add a trigger to hide your HUD system end function EnableMinimap() DisplayRadar(true) -- Here you can add a trigger to enable your HUD system end