814 lines
		
	
	
		
			No EOL
		
	
	
		
			32 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			814 lines
		
	
	
		
			No EOL
		
	
	
		
			32 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
| -- FOR OX_TARGET --
 | |
| local OXGroups = {['marshal'] = 0, ['vagos'] = 0}
 | |
| 
 | |
| -- FOR QB-TARGET --
 | |
| local QBCoreJobs = {['marshal'] = 1}
 | |
| local QBCoreGangs = {['vagos'] = 100}
 | |
| 
 | |
| --------------------------------------FOR OX_TARGET AND CUSTOM TARGET--------------------------------------
 | |
| local groups = (target.system == 'ox' or target.system == 'custom') and (target.enabledGroups and OXGroups) or nil
 | |
| -----------------------------------------------------------------------------------------
 | |
| 
 | |
| --#####################################################################################--
 | |
| 
 | |
| --------------------------------------FOR QB-TARGET--------------------------------------
 | |
| -- Use QBJobs OR QBGangs ! If both are enabled, you will need to have both the gang AND the job
 | |
| local QBJobs = target.system == 'qb' and (target.enabledGroups and QBCoreJobs) or nil
 | |
| --local QBGangs = target.system == 'qb' and target.enabledGroups and QBCoreGangs or nil
 | |
| -----------------------------------------------------------------------------------------
 | |
| local useAuthorizedCharacters = target.useAuthorizedCharacters
 | |
| 
 | |
| local authorizedCharacters = {
 | |
|     ---@QB_FORMAT
 | |
|     ["license:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"] = true,
 | |
|     ["license:yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy"] = true,
 | |
|     ---@ESX_FORMAT
 | |
|     ["char1:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"] = true,
 | |
|     ["char2:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"] = true,
 | |
|     -- Add your licenses here
 | |
|     ["license:0eafabe308cf0eaca0b0fbf5c1ca13f756d224f2"] = true,
 | |
|     ["license:fff901d8f6568f356416076df59251aede9c6b68"] = true,
 | |
|     ["license:dae8d3f44cc7de24638a82ff53a7643475267ef0"] = true,
 | |
|     ["license:af732c42d19a3d8b6a0169ebb13fc135e1d26859"] = true,
 | |
|     ["license:7670072db4258a31e67f66e432cd307d9e3495bd"] = true,
 | |
| }
 | |
| 
 | |
| local function isCharacterAuthorized()
 | |
|     if Framework == 'qb' or Framework == 'qbx' then
 | |
|         local license = CORE.Functions.GetPlayerData().license
 | |
| 
 | |
|         return authorizedCharacters[license] or false
 | |
|     elseif Framework == 'esx' then
 | |
|         return authorizedCharacters[ESX.PlayerData.identifier] or false
 | |
|     end
 | |
| end
 | |
| 
 | |
| --------------------DO NOT TOUCH IF YOU DON'T KNOW WHAT YOU'RE DOING---------------------
 | |
| return {
 | |
|     {
 | |
|         name = 'patoche_call_lift_up',
 | |
|         coords = vec3(-1142.63, 355.56, 71.72),
 | |
|         size = vec3(0.3, 1.1, 2.2),
 | |
|         rotation = 328,
 | |
|         debug = false,
 | |
|         options = {
 | |
|             {
 | |
|                 groups = groups,
 | |
|                 onSelect = function()
 | |
|                     if useAuthorizedCharacters and not isCharacterAuthorized() then Notification(locale('notif.notAuthorized'), 'error', 5000) return end
 | |
|                     TriggerServerEvent('patoche:interact:server:setDoorState', {map = 'bunker', doorName = 'lift', auto = false})
 | |
|                 end,
 | |
|                 icon = 'fa-solid fa-elevator',
 | |
|                 label = locale('label.lift_ed'),
 | |
|                 job = QBJobs,
 | |
|                 gang = QBGangs,
 | |
|                 distance = target.distance
 | |
|             }
 | |
|         },
 | |
|     },
 | |
|     {
 | |
|         name = 'patoche_call_lift_down',
 | |
|         coords = vec3(-1137.94, 353.68, 68.8),
 | |
|         size = vec3(0.4, 0.4, 0.8),
 | |
|         rotation = 328,
 | |
|         debug = false,
 | |
|         options = {
 | |
|             {
 | |
|                 groups = groups,
 | |
|                 onSelect = function()
 | |
|                     if useAuthorizedCharacters and not isCharacterAuthorized() then Notification(locale('notif.notAuthorized'), 'error', 5000) return end
 | |
|                     TriggerServerEvent('patoche:interact:server:setDoorState', {map = 'bunker', doorName = 'lift', auto = false})
 | |
|                 end,
 | |
|                 icon = 'fa-solid fa-elevator',
 | |
|                 label = locale('label.lift_ed'),
 | |
|                 job = QBJobs,
 | |
|                 gang = QBGangs,
 | |
|                 distance = target.distance
 | |
|             }
 | |
|         }
 | |
|     },
 | |
|     {
 | |
|         name = 'patoche_lift_down',
 | |
|         coords = vec3(-1138.69, 351.37, 72.0),
 | |
|         size = vec3(0.2, 0.25, 0.75),
 | |
|         rotation = 330,
 | |
|         debug = false,
 | |
|         options = {
 | |
|             {
 | |
|                 groups = groups,
 | |
|                 onSelect = function()
 | |
|                     if useAuthorizedCharacters and not isCharacterAuthorized() then Notification(locale('notif.notAuthorized'), 'error', 5000) return end
 | |
|                     TriggerServerEvent('patoche:interact:server:setDoorState', {map = 'bunker', doorName = 'lift', auto = false})
 | |
|                 end,
 | |
|                 icon = 'fa-solid fa-down-long',
 | |
|                 label = locale('label.lift_down'),
 | |
|                 job = QBJobs,
 | |
|                 gang = QBGangs,
 | |
|                 distance = target.distance
 | |
|             }
 | |
|         }
 | |
|     },
 | |
|     {
 | |
|         name = 'patoche_lift_up',
 | |
|         coords = vec3(-1138.66, 351.37, 69.0),
 | |
|         size = vec3(0.2, 0.25, 0.95),
 | |
|         rotation = 330,
 | |
|         debug = false,
 | |
|         options = {
 | |
|             {
 | |
|                 groups = groups,
 | |
|                 onSelect = function()
 | |
|                     if useAuthorizedCharacters and not isCharacterAuthorized() then Notification(locale('notif.notAuthorized'), 'error', 5000) return end
 | |
|                     TriggerServerEvent('patoche:interact:server:setDoorState', {map = 'bunker', doorName = 'lift', auto = false})
 | |
|                 end,
 | |
|                 icon = 'fa-solid fa-up-long',
 | |
|                 label = locale('label.lift_up'),
 | |
|                 job = QBJobs,
 | |
|                 gang = QBGangs,
 | |
|                 distance = target.distance
 | |
|             }
 | |
|         }
 | |
|     },
 | |
|     {
 | |
|         name = 'patoche_quadDoors',
 | |
|         coords = vec3(-1138.51, 357.48, 68.3),
 | |
|         size = vec3(0.5, 0.5, 1.0),
 | |
|         rotation = 331,
 | |
|         debug = false,
 | |
|         options = {
 | |
|             {
 | |
|                 groups = groups,
 | |
|                 onSelect = function()
 | |
|                     if useAuthorizedCharacters and not isCharacterAuthorized() then Notification(locale('notif.notAuthorized'), 'error', 5000) return end
 | |
|                     TriggerServerEvent('patoche:interact:server:setDoorState', {map = 'bunker', doorName = 'quadDoors', auto = false})
 | |
|                 end,
 | |
|                 icon = 'fa-solid fa-door-open',
 | |
|                 label = locale('label.doors'),
 | |
|                 job = QBJobs,
 | |
|                 gang = QBGangs,
 | |
|                 distance = target.distance
 | |
|             },
 | |
|             {
 | |
|                 groups = groups,
 | |
|                 onSelect = function()
 | |
|                     if useAuthorizedCharacters and not isCharacterAuthorized() then Notification(locale('notif.notAuthorized'), 'error', 5000) return end
 | |
|                     TriggerServerEvent('patoche:interact:server:setDoorState', {map = 'bunker', doorName = 'quadDoors', auto = true})
 | |
|                 end,
 | |
|                 icon = 'fa-solid fa-door-open',
 | |
|                 label = locale('label.auto'),
 | |
|                 job = QBJobs,
 | |
|                 gang = QBGangs,
 | |
|                 distance = target.distance
 | |
|             }
 | |
|         }
 | |
|     },
 | |
|     {
 | |
|         name = 'patoche_weapons',
 | |
|         coords = vec3(-1134.43, 358.6, 67.9),
 | |
|         size = vec3(0.5, 0.55, 2.0),
 | |
|         rotation = 328,
 | |
|         debug = false,
 | |
|         options = {
 | |
|             {
 | |
|                 groups = groups,
 | |
|                 onSelect = function()
 | |
|                     if useAuthorizedCharacters and not isCharacterAuthorized() then Notification(locale('notif.notAuthorized'), 'error', 5000) return end
 | |
|                     TriggerServerEvent('patoche:interact:server:setDoorState', {map = 'bunker', doorName = 'weaponDoor', auto = false})
 | |
|                 end,
 | |
|                 icon = 'fa-solid fa-gun',
 | |
|                 label = locale('label.weapon_doors'),
 | |
|                 job = QBJobs,
 | |
|                 gang = QBGangs,
 | |
|                 distance = target.distance
 | |
|             }
 | |
|         }
 | |
|     },
 | |
|     {
 | |
|         name = 'patoche_clothes',
 | |
|         coords = vec3(-1134.04, 354.28, 68.2),
 | |
|         size = vec3(0.35, 0.3, 1.0),
 | |
|         rotation = 12.5,
 | |
|         debug = false,
 | |
|         options = {
 | |
|             {
 | |
|                 groups = groups,
 | |
|                 onSelect = function()
 | |
|                     if useAuthorizedCharacters and not isCharacterAuthorized() then Notification(locale('notif.notAuthorized'), 'error', 5000) return end
 | |
|                     TriggerServerEvent('patoche:interact:server:setDoorState', {map = 'bunker', doorName = 'clothesDoor', auto = false})
 | |
|                 end,
 | |
|                 icon = 'fa-solid fa-shirt',
 | |
|                 label = locale('label.clothes_doors'),
 | |
|                 job = QBJobs,
 | |
|                 gang = QBGangs,
 | |
|                 distance = target.distance
 | |
|             }
 | |
|         }
 | |
|     },
 | |
|     {
 | |
|         name = 'patoche_target_button',
 | |
|         coords = vec3(-1141.9, 350.89, 68.3),
 | |
|         size = vec3(0.4, 0.4, 0.8),
 | |
|         rotation = 328,
 | |
|         debug = false,
 | |
|         options = {
 | |
|             {
 | |
|                 groups = groups,
 | |
|                 onSelect = function()
 | |
|                     if useAuthorizedCharacters and not isCharacterAuthorized() then Notification(locale('notif.notAuthorized'), 'error', 5000) return end
 | |
|                     TriggerServerEvent('patoche:interact:server:setDoorState', {map = 'bunker', doorName = 'targetButton', auto = false})
 | |
|                 end,
 | |
|                 icon = 'fa-solid fa-bullseye',
 | |
|                 label = locale('label.target_button'),
 | |
|                 job = QBJobs,
 | |
|                 gang = QBGangs,
 | |
|                 distance = target.distance
 | |
|             }
 | |
|         }
 | |
|     },
 | |
|     {
 | |
|         name = 'patoche_target',
 | |
|         coords = vec3(-1141.48, 349.86, 68.35),
 | |
|         size = vec3(0.25, 0.8, 1.6),
 | |
|         rotation = 328,
 | |
|         debug = false,
 | |
|         options = {
 | |
|             {
 | |
|                 event = 'patoche:interact:client:animClearArea',
 | |
|                 icon = 'fa-solid fa-bullseye',
 | |
|                 label = locale('label.target'),
 | |
|             }
 | |
|         }
 | |
|     },
 | |
|     {
 | |
|         name = 'patoche_ordidoor',
 | |
|         coords = vec3(-1147.89, 352.33, 68.2),
 | |
|         size = vec3(0.6, 0.2, 1.0),
 | |
|         rotation = 331,
 | |
|         debug = false,
 | |
|         options = {
 | |
|             {
 | |
|                 groups = groups,
 | |
|                 onSelect = function()
 | |
|                     if useAuthorizedCharacters and not isCharacterAuthorized() then Notification(locale('notif.notAuthorized'), 'error', 5000) return end
 | |
|                     TriggerServerEvent('patoche:interact:server:setDoorState', {map = 'bunker', doorName = 'computerDoor1', auto = false})
 | |
|                 end,
 | |
|                 icon = 'fa-solid fa-door-open',
 | |
|                 label = locale('label.doors'),
 | |
|                 job = QBJobs,
 | |
|                 gang = QBGangs,
 | |
|                 distance = target.distance
 | |
|             },
 | |
|             {
 | |
|                 groups = groups,
 | |
|                 onSelect = function()
 | |
|                     if useAuthorizedCharacters and not isCharacterAuthorized() then Notification(locale('notif.notAuthorized'), 'error', 5000) return end
 | |
|                     TriggerServerEvent('patoche:interact:server:setDoorState', {map = 'bunker', doorName = 'computerDoor1', auto = true})
 | |
|                 end,
 | |
|                 icon = 'fa-solid fa-door-open',
 | |
|                 label = locale('label.auto'),
 | |
|                 job = QBJobs,
 | |
|                 gang = QBGangs,
 | |
|                 distance = target.distance
 | |
|             }
 | |
|         }
 | |
|     },
 | |
|     {
 | |
|         name = 'patoche_ordidoor2',
 | |
|         coords = vec3(-1147.77, 354.62, 68.2),
 | |
|         size = vec3(0.6, 0.2, 1.0),
 | |
|         rotation = 331,
 | |
|         debug = false,
 | |
|         options = {
 | |
|             {
 | |
|                 groups = groups,
 | |
|                 onSelect = function()
 | |
|                     if useAuthorizedCharacters and not isCharacterAuthorized() then Notification(locale('notif.notAuthorized'), 'error', 5000) return end
 | |
|                     TriggerServerEvent('patoche:interact:server:setDoorState', {map = 'bunker', doorName = 'computerDoor2', auto = false})
 | |
|                 end,
 | |
|                 icon = 'fa-solid fa-door-open',
 | |
|                 label = locale('label.doors'),
 | |
|                 job = QBJobs,
 | |
|                 gang = QBGangs,
 | |
|                 distance = target.distance
 | |
|             },
 | |
|             {
 | |
|                 groups = groups,
 | |
|                 onSelect = function()
 | |
|                     if useAuthorizedCharacters and not isCharacterAuthorized() then Notification(locale('notif.notAuthorized'), 'error', 5000) return end
 | |
|                     TriggerServerEvent('patoche:interact:server:setDoorState', {map = 'bunker', doorName = 'computerDoor2', auto = true})
 | |
|                 end,
 | |
|                 icon = 'fa-solid fa-door-open',
 | |
|                 label = locale('label.auto'),
 | |
|                 job = QBJobs,
 | |
|                 gang = QBGangs,
 | |
|                 distance = target.distance
 | |
|             }
 | |
|         }
 | |
|     },
 | |
|     {
 | |
|         name = 'patoche_secretdoors',
 | |
|         coords = vec3(-1126.44, 357.09, 71.29),
 | |
|         size = vec3(0.5, 0.5, 1.1),
 | |
|         rotation = 328,
 | |
|         debug = false,
 | |
|         options = {
 | |
|             {
 | |
|                 groups = groups,
 | |
|                 onSelect = function()
 | |
|                     if useAuthorizedCharacters and not isCharacterAuthorized() then Notification(locale('notif.notAuthorized'), 'error', 5000) return end
 | |
|                     TriggerServerEvent('patoche:interact:server:setDoorState', {map = 'bunker', doorName = 'secretDoors', auto = false})
 | |
|                 end,
 | |
|                 icon = 'fa-solid fa-door-open',
 | |
|                 label = locale('label.doors'),
 | |
|                 job = QBJobs,
 | |
|                 gang = QBGangs,
 | |
|                 distance = target.distance
 | |
|             }
 | |
|         }
 | |
|     },
 | |
|     {
 | |
|         name = 'patoche_bookdoor',
 | |
|         coords = vec3(-1128.82, 358.95, 71.6),
 | |
|         size = vec3(0.6, 0.7, 1.15),
 | |
|         rotation = 330,
 | |
|         debug = false,
 | |
|         options = {
 | |
|             {
 | |
|                 groups = groups,
 | |
|                 onSelect = function()
 | |
|                     if useAuthorizedCharacters and not isCharacterAuthorized() then Notification(locale('notif.notAuthorized'), 'error', 5000) return end
 | |
|                     TriggerServerEvent('patoche:interact:server:setDoorState', {map = 'bunker', doorName = 'bookDoor', auto = false})
 | |
|                 end,
 | |
|                 icon = 'fa-solid fa-door-open',
 | |
|                 label = locale('label.doors'),
 | |
|                 job = QBJobs,
 | |
|                 gang = QBGangs,
 | |
|                 distance = target.distance
 | |
|             }
 | |
|         }
 | |
|     },
 | |
|     {
 | |
|         name = 'patoche_doors1',
 | |
|         coords = vec3(-1141.93, 365.97, 71.32),
 | |
|         size = vec3(1.0, 3.0, 2.55),
 | |
|         rotation = 59,
 | |
|         debug = false,
 | |
|         options = {
 | |
|             {
 | |
|                 groups = groups,
 | |
|                 onSelect = function()
 | |
|                     if useAuthorizedCharacters and not isCharacterAuthorized() then Notification(locale('notif.notAuthorized'), 'error', 5000) return end
 | |
|                     TriggerServerEvent('patoche:interact:server:setDoorState', {map = 'bunker', doorName = 'doors1', auto = false})
 | |
|                 end,
 | |
|                 icon = 'fa-solid fa-door-open',
 | |
|                 label = locale('label.doors'),
 | |
|                 job = QBJobs,
 | |
|                 gang = QBGangs,
 | |
|                 distance = target.distance
 | |
|             }
 | |
|         }
 | |
|     },
 | |
|     {
 | |
|         name = 'patoche_doors2',
 | |
|         coords = vec3(-1121.14, 364.7, 71.32),
 | |
|         size = vec3(1.7, 1.0, 2.6),
 | |
|         rotation = 328,
 | |
|         debug = false,
 | |
|         options = {
 | |
|             {
 | |
|                 groups = groups,
 | |
|                 onSelect = function()
 | |
|                     if useAuthorizedCharacters and not isCharacterAuthorized() then Notification(locale('notif.notAuthorized'), 'error', 5000) return end
 | |
|                     TriggerServerEvent('patoche:interact:server:setDoorState', {map = 'bunker', doorName = 'doors2', auto = false})
 | |
|                 end,
 | |
|                 icon = 'fa-solid fa-door-open',
 | |
|                 label = locale('label.doors'),
 | |
|                 job = QBJobs,
 | |
|                 gang = QBGangs,
 | |
|                 distance = target.distance
 | |
|             }
 | |
|         }
 | |
|     },
 | |
|     {
 | |
|         name = 'patoche_doors3',
 | |
|         coords = vec3(-1136.01, 375.41, 71.3),
 | |
|         size = vec3(1.0, 3.05, 2.55),
 | |
|         rotation = 59,
 | |
|         debug = false,
 | |
|         options = {
 | |
|             {
 | |
|                 groups = groups,
 | |
|                 onSelect = function()
 | |
|                     if useAuthorizedCharacters and not isCharacterAuthorized() then Notification(locale('notif.notAuthorized'), 'error', 5000) return end
 | |
|                     TriggerServerEvent('patoche:interact:server:setDoorState', {map = 'bunker', doorName = 'doors3', auto = false})
 | |
|                 end,
 | |
|                 icon = 'fa-solid fa-door-open',
 | |
|                 label = locale('label.doors'),
 | |
|                 job = QBJobs,
 | |
|                 gang = QBGangs,
 | |
|                 distance = target.distance
 | |
|             }
 | |
|         }
 | |
|     },
 | |
|     {
 | |
|         name = 'patoche_doors4',
 | |
|         coords = vec3(-1143.44, 371.58, 74.93),
 | |
|         size = vec3(1.0, 3.0, 2.55),
 | |
|         rotation = 59,
 | |
|         debug = false,
 | |
|         options = {
 | |
|             {
 | |
|                 groups = groups,
 | |
|                 onSelect = function()
 | |
|                     if useAuthorizedCharacters and not isCharacterAuthorized() then Notification(locale('notif.notAuthorized'), 'error', 5000) return end
 | |
|                     TriggerServerEvent('patoche:interact:server:setDoorState', {map = 'bunker', doorName = 'doors4', auto = false})
 | |
|                 end,
 | |
|                 icon = 'fa-solid fa-door-open',
 | |
|                 label = locale('label.doors'),
 | |
|                 job = QBJobs,
 | |
|                 gang = QBGangs,
 | |
|                 distance = target.distance
 | |
|             }
 | |
|         }
 | |
|     },
 | |
|     {
 | |
|         name = 'patoche_doors5',
 | |
|         coords = vec3(-1130.81, 370.57, 74.93),
 | |
|         size = vec3(1.0, 3.0, 2.55),
 | |
|         rotation = 59,
 | |
|         debug = false,
 | |
|         options = {
 | |
|             {
 | |
|                 groups = groups,
 | |
|                 onSelect = function()
 | |
|                     if useAuthorizedCharacters and not isCharacterAuthorized() then Notification(locale('notif.notAuthorized'), 'error', 5000) return end
 | |
|                     TriggerServerEvent('patoche:interact:server:setDoorState', {map = 'bunker', doorName = 'doors5', auto = false})
 | |
|                 end,
 | |
|                 icon = 'fa-solid fa-door-open',
 | |
|                 label = locale('label.doors'),
 | |
|                 job = QBJobs,
 | |
|                 gang = QBGangs,
 | |
|                 distance = target.distance
 | |
|             }
 | |
|         }
 | |
|     },
 | |
|     {
 | |
|         name = 'patoche_secretdoors_underground',
 | |
|         coords = vec3(-1123.32, 361.65, 68.3),
 | |
|         size = vec3(0.2, 0.2, 1.1),
 | |
|         rotation = 328,
 | |
|         debug = false,
 | |
|         options = {
 | |
|             {
 | |
|                 groups = groups,
 | |
|                 onSelect = function()
 | |
|                     if useAuthorizedCharacters and not isCharacterAuthorized() then Notification(locale('notif.notAuthorized'), 'error', 5000) return end
 | |
|                     TriggerServerEvent('patoche:interact:server:setDoorState', {map = 'bunker', doorName = 'secretDoors', auto = false})
 | |
|                 end,
 | |
|                 icon = 'fa-solid fa-door-open',
 | |
|                 label = locale('label.doors'),
 | |
|                 job = QBJobs,
 | |
|                 gang = QBGangs,
 | |
|                 distance = target.distance
 | |
|             }
 | |
|         }
 | |
|     },
 | |
|     {
 | |
|         name = 'patoche_cloakdoors',
 | |
|         coords = vec3(-1128.39, 356.57, 68.2),
 | |
|         size = vec3(0.5, 1.7, 1.8),
 | |
|         rotation = 329,
 | |
|         debug = false,
 | |
|         options = {
 | |
|             {
 | |
|                 groups = groups,
 | |
|                 onSelect = function()
 | |
|                     if useAuthorizedCharacters and not isCharacterAuthorized() then Notification(locale('notif.notAuthorized'), 'error', 5000) return end
 | |
|                     TriggerServerEvent('patoche:interact:server:setDoorState', {map = 'bunker', doorName = 'cloakDoors', auto = false})
 | |
|                 end,
 | |
|                 icon = 'fa-solid fa-door-open',
 | |
|                 label = locale('label.doors'),
 | |
|                 job = QBJobs,
 | |
|                 gang = QBGangs,
 | |
|                 distance = target.distance
 | |
| 
 | |
|             },
 | |
|             {
 | |
|                 groups = groups,
 | |
|                 onSelect = function()
 | |
|                     if useAuthorizedCharacters and not isCharacterAuthorized() then Notification(locale('notif.notAuthorized'), 'error', 5000) return end
 | |
|                     TriggerServerEvent('patoche:interact:server:setDoorState', {map = 'bunker', doorName = 'cloakDoors', auto = true})
 | |
|                 end,
 | |
|                 icon = 'fa-solid fa-door-open',
 | |
|                 label = locale('label.auto'),
 | |
|                 job = QBJobs,
 | |
|                 gang = QBGangs,
 | |
|                 distance = target.distance
 | |
|             }
 | |
|         }
 | |
|     },
 | |
|     -- --PROPS
 | |
|     {
 | |
|         name = 'patoche_security_room01_top',
 | |
|         coords = vec3(-1144.89, 372.67, 74.93),
 | |
|         size = vec3(0.55, 0.4, 2.0),
 | |
|         rotation = 330,
 | |
|         debug = false,
 | |
|         options = {
 | |
|             {
 | |
|                 groups = groups,
 | |
|                 onSelect = function()
 | |
|                     if useAuthorizedCharacters and not isCharacterAuthorized() then Notification(locale('notif.notAuthorized'), 'error', 5000) return end
 | |
|                     TriggerServerEvent('patoche:interact:server:setPropsState', {map = 'bunker', class = 'doors'})
 | |
|                 end,
 | |
|                 icon = 'fa-solid fa-door-open',
 | |
|                 label = locale('label.close_doors'),
 | |
|                 job = QBJobs,
 | |
|                 gang = QBGangs,
 | |
|                 distance = target.distance
 | |
|             },
 | |
|             {
 | |
|                 groups = groups,
 | |
|                 onSelect = function()
 | |
|                     if useAuthorizedCharacters and not isCharacterAuthorized() then Notification(locale('notif.notAuthorized'), 'error', 5000) return end
 | |
|                     TriggerServerEvent('patoche:interact:server:setPropsState', {map = 'bunker', class = 'windows'})
 | |
|                 end,
 | |
|                 icon = 'fa-solid fa-door-open',
 | |
|                 label = locale('label.close_windows'),
 | |
|                 job = QBJobs,
 | |
|                 gang = QBGangs,
 | |
|                 distance = target.distance
 | |
|             },
 | |
|             {
 | |
|                 groups = groups,
 | |
|                 onSelect = function()
 | |
|                     if useAuthorizedCharacters and not isCharacterAuthorized() then Notification(locale('notif.notAuthorized'), 'error', 5000) return end
 | |
|                     TriggerServerEvent('patoche:interact:server:setPropsState', {map = 'bunker', class = 'full'})
 | |
|                 end,
 | |
|                 icon = 'fa-solid fa-house-lock',
 | |
|                 label = locale('label.full_close'),
 | |
|                 job = QBJobs,
 | |
|                 gang = QBGangs,
 | |
|                 distance = target.distance
 | |
|             }
 | |
|         }
 | |
|     },
 | |
|     {
 | |
|         name = 'patoche_security_room01_pillar',
 | |
|         coords = vec3(-1136.13, 371.15, 71.7),
 | |
|         size = vec3(1.0, 1.0, 2.0),
 | |
|         rotation = 328,
 | |
|         debug = false,
 | |
|         options = {
 | |
|             {
 | |
|                 groups = groups,
 | |
|                 onSelect = function()
 | |
|                     if useAuthorizedCharacters and not isCharacterAuthorized() then Notification(locale('notif.notAuthorized'), 'error', 5000) return end
 | |
|                     TriggerServerEvent('patoche:interact:server:setPropsState', {map = 'bunker', class = 'doors'})
 | |
|                 end,
 | |
|                 icon = 'fa-solid fa-door-open',
 | |
|                 label = locale('label.close_doors'),
 | |
|                 job = QBJobs,
 | |
|                 gang = QBGangs,
 | |
|                 distance = target.distance
 | |
|             },
 | |
|             {
 | |
|                 groups = groups,
 | |
|                 onSelect = function()
 | |
|                     if useAuthorizedCharacters and not isCharacterAuthorized() then Notification(locale('notif.notAuthorized'), 'error', 5000) return end
 | |
|                     TriggerServerEvent('patoche:interact:server:setPropsState', {map = 'bunker', class = 'windows'})
 | |
|                 end,
 | |
|                 icon = 'fa-solid fa-door-open',
 | |
|                 label = locale('label.close_windows'),
 | |
|                 job = QBJobs,
 | |
|                 gang = QBGangs,
 | |
|                 distance = target.distance
 | |
|             },
 | |
|             {
 | |
|                 groups = groups,
 | |
|                 onSelect = function()
 | |
|                     if useAuthorizedCharacters and not isCharacterAuthorized() then Notification(locale('notif.notAuthorized'), 'error', 5000) return end
 | |
|                     TriggerServerEvent('patoche:interact:server:setPropsState', {map = 'bunker', class = 'full'})
 | |
|                 end,
 | |
|                 icon = 'fa-solid fa-house-lock',
 | |
|                 label = locale('label.full_close'),
 | |
|                 job = QBJobs,
 | |
|                 gang = QBGangs,
 | |
|                 distance = target.distance
 | |
|             }
 | |
|         }
 | |
|     },
 | |
|     {
 | |
|         name = 'patoche_security_room03', 
 | |
|         coords = vec3(-1129.26, 369.4, 75.3),
 | |
|         size = vec3(0.8, 0.8, 2.0),
 | |
|         rotation = 328,
 | |
|         debug = false,
 | |
|         options = {
 | |
|             {
 | |
|                 groups = groups,
 | |
|                 onSelect = function()
 | |
|                     if useAuthorizedCharacters and not isCharacterAuthorized() then Notification(locale('notif.notAuthorized'), 'error', 5000) return end
 | |
|                     TriggerServerEvent('patoche:interact:server:setPropsState', {map = 'bunker', class = 'doors'})
 | |
|                 end,
 | |
|                 icon = 'fa-solid fa-door-open',
 | |
|                 label = locale('label.close_doors'),
 | |
|                 job = QBJobs,
 | |
|                 gang = QBGangs,
 | |
|                 distance = target.distance
 | |
|             },
 | |
|             {
 | |
|                 groups = groups,
 | |
|                 onSelect = function()
 | |
|                     if useAuthorizedCharacters and not isCharacterAuthorized() then Notification(locale('notif.notAuthorized'), 'error', 5000) return end
 | |
|                     TriggerServerEvent('patoche:interact:server:setPropsState', {map = 'bunker', class = 'windows'})
 | |
|                 end,
 | |
|                 icon = 'fa-solid fa-door-open',
 | |
|                 label = locale('label.close_windows'),
 | |
|                 job = QBJobs,
 | |
|                 gang = QBGangs,
 | |
|                 distance = target.distance
 | |
|             },
 | |
|             {
 | |
|                 groups = groups,
 | |
|                 onSelect = function()
 | |
|                     if useAuthorizedCharacters and not isCharacterAuthorized() then Notification(locale('notif.notAuthorized'), 'error', 5000) return end
 | |
|                     TriggerServerEvent('patoche:interact:server:setPropsState', {map = 'bunker', class = 'full'})
 | |
|                 end,
 | |
|                 icon = 'fa-solid fa-house-lock',
 | |
|                 label = locale('label.full_close'),
 | |
|                 job = QBJobs,
 | |
|                 gang = QBGangs,
 | |
|                 distance = target.distance
 | |
|             }
 | |
|         }
 | |
|     },
 | |
|     {
 | |
|         name = 'patoche_security_room02',
 | |
|         coords = vec3(-1122.1, 365.16, 71.49),
 | |
|         size = vec3(0.55, 0.5, 1.8),
 | |
|         rotation = 330,
 | |
|         debug = false,
 | |
|         options = {
 | |
|             {
 | |
|                 groups = groups,
 | |
|                 onSelect = function()
 | |
|                     if useAuthorizedCharacters and not isCharacterAuthorized() then Notification(locale('notif.notAuthorized'), 'error', 5000) return end
 | |
|                     TriggerServerEvent('patoche:interact:server:setPropsState', {map = 'bunker', class = 'doors'})
 | |
|                 end,
 | |
|                 icon = 'fa-solid fa-door-open',
 | |
|                 label = locale('label.close_doors'),
 | |
|                 job = QBJobs,
 | |
|                 gang = QBGangs,
 | |
|                 distance = target.distance
 | |
|             },
 | |
|             {
 | |
|                 groups = groups,
 | |
|                 onSelect = function()
 | |
|                     if useAuthorizedCharacters and not isCharacterAuthorized() then Notification(locale('notif.notAuthorized'), 'error', 5000) return end
 | |
|                     TriggerServerEvent('patoche:interact:server:setPropsState', {map = 'bunker', class = 'windows'})
 | |
|                 end,
 | |
|                 icon = 'fa-solid fa-door-open',
 | |
|                 label = locale('label.close_windows'),
 | |
|                 job = QBJobs,
 | |
|                 gang = QBGangs,
 | |
|                 distance = target.distance
 | |
|             },
 | |
|             {
 | |
|                 groups = groups,
 | |
|                 onSelect = function()
 | |
|                     if useAuthorizedCharacters and not isCharacterAuthorized() then Notification(locale('notif.notAuthorized'), 'error', 5000) return end
 | |
|                     TriggerServerEvent('patoche:interact:server:setPropsState', {map = 'bunker', class = 'full'})
 | |
|                 end,
 | |
|                 icon = 'fa-solid fa-house-lock',
 | |
|                 label = locale('label.full_close'),
 | |
|                 job = QBJobs,
 | |
|                 gang = QBGangs,
 | |
|                 distance = target.distance
 | |
|             }
 | |
|         }
 | |
|     },
 | |
|     {
 | |
|         name = 'patoche_security_room_WD_villa_bunker',
 | |
|         coords = vec3(-1152.64, 351.91, 67.9),
 | |
|         size = vec3(1.0, 1.0, 2.0),
 | |
|         rotation = 328,
 | |
|         debug = false,
 | |
|         options = {
 | |
|             {
 | |
|                 groups = groups,
 | |
|                 onSelect = function()
 | |
|                     if useAuthorizedCharacters and not isCharacterAuthorized() then Notification(locale('notif.notAuthorized'), 'error', 5000) return end
 | |
|                     TriggerServerEvent('patoche:interact:server:setPropsState', {map = 'bunker', class = 'doors'})
 | |
|                 end,
 | |
|                 icon = 'fa-solid fa-door-open',
 | |
|                 label = locale('label.close_doors'),
 | |
|                 job = QBJobs,
 | |
|                 gang = QBGangs,
 | |
|                 distance = target.distance
 | |
|             },
 | |
|             {
 | |
|                 groups = groups,
 | |
|                 onSelect = function()
 | |
|                     if useAuthorizedCharacters and not isCharacterAuthorized() then Notification(locale('notif.notAuthorized'), 'error', 5000) return end
 | |
|                     TriggerServerEvent('patoche:interact:server:setPropsState', {map = 'bunker', class = 'windows'})
 | |
|                 end,
 | |
|                 icon = 'fa-solid fa-door-open',
 | |
|                 label = locale('label.close_windows'),
 | |
|                 job = QBJobs,
 | |
|                 gang = QBGangs,
 | |
|                 distance = target.distance
 | |
|             },
 | |
|             {
 | |
|                 groups = groups,
 | |
|                 onSelect = function()
 | |
|                     if useAuthorizedCharacters and not isCharacterAuthorized() then Notification(locale('notif.notAuthorized'), 'error', 5000) return end
 | |
|                     TriggerServerEvent('patoche:interact:server:setPropsState', {map = 'bunker', class = 'full'})
 | |
|                 end,
 | |
|                 icon = 'fa-solid fa-house-lock',
 | |
|                 label = locale('label.full_close'),
 | |
|                 job = QBJobs,
 | |
|                 gang = QBGangs,
 | |
|                 distance = target.distance
 | |
|             }
 | |
|         }
 | |
|     },
 | |
|     {
 | |
|         name = 'patoche_pool_doors',
 | |
|         coords = vec3(-1150.18, 356.3, 71.6),
 | |
|         size = vec3(1.0, 1.0, 2.0),
 | |
|         rotation = 328,
 | |
|         debug = false,
 | |
|         options = {
 | |
|             {
 | |
|                 groups = groups,
 | |
|                 onSelect = function()
 | |
|                     if useAuthorizedCharacters and not isCharacterAuthorized() then Notification(locale('notif.notAuthorized'), 'error', 5000) return end
 | |
|                     TriggerServerEvent('patoche:interact:server:setPropsState', {map = 'bunker', class = 'doorsPool'})
 | |
|                 end,
 | |
|                 icon = 'fa-solid fa-door-open',
 | |
|                 label = locale('label.roofpool_doors'),
 | |
|                 job = QBJobs,
 | |
|                 gang = QBGangs,
 | |
|                 distance = target.distance
 | |
|             }
 | |
|         }
 | |
|     },
 | |
|     --CAMERA
 | |
|     {
 | |
|         name = 'patoche_cameras_01',
 | |
|         coords = vec3(-1151.82, 353.43, 67.9),
 | |
|         size = vec3(1.6, 0.6, 1.65),
 | |
|         rotation = 60,
 | |
|         debug = false,
 | |
|         options = {
 | |
|             {
 | |
|                 groups = groups,
 | |
|                 event = 'patoche:interact:client:cameraMenu',
 | |
|                 icon = 'fa-solid fa-video',
 | |
|                 label = locale('label.camera'),
 | |
|                 job = QBJobs,
 | |
|                 gang = QBGangs,
 | |
|                 distance = target.distance
 | |
|             }
 | |
|         }
 | |
|     },
 | |
|     {
 | |
|         name= 'patoche_cameras_02',
 | |
|         coords = vec3(-1127.87, 358.38, 71.49),
 | |
|         size = vec3(1.05, 0.25, 1.8),
 | |
|         rotation = 328,
 | |
|         debug = false,
 | |
|         options = {
 | |
|             {
 | |
|                 groups = groups,
 | |
|                 event = 'patoche:interact:client:cameraMenu',
 | |
|                 icon = 'fa-solid fa-video',
 | |
|                 label = locale('label.camera'),
 | |
|                 job = QBJobs,
 | |
|                 gang = QBGangs,
 | |
|                 distance = target.distance
 | |
|             }
 | |
|         }
 | |
|     }
 | |
| },
 | |
| 
 | |
| lib.zones.poly({
 | |
|     points = {
 | |
|         vec3(-1180.4207763672, 340.18664550781, 60.0),
 | |
|         vec3(-1190.1365966797, 350.82202148438, 60.0),
 | |
|         vec3(-1196.0961914062, 371.77169799805, 60.0),
 | |
|         vec3(-1198.7802734375, 412.01794433594, 60.0),
 | |
|         vec3(-1064.8665771484, 405.42504882812, 60.0),
 | |
|         vec3(-1072.6895751953, 279.83306884766, 60.0),
 | |
|         vec3(-1147.7784423828, 270.69509887695, 60.0)
 | |
|     },
 | |
|     thickness = 75,
 | |
|     onEnter = function()
 | |
|         TriggerEvent('patoche_interact:client:spawnProps', 'bunker')
 | |
|     end,
 | |
|     onExit = function()
 | |
|         TriggerEvent('patoche_interact:client:deleteProps', 'bunker')
 | |
|     end,
 | |
|     debug = false,
 | |
| }) | 
