241 lines
		
	
	
		
			No EOL
		
	
	
		
			11 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			241 lines
		
	
	
		
			No EOL
		
	
	
		
			11 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
| 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 | 
