36 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
| local QBCore = exports['qb-core']:GetCoreObject()
 | |
| 
 | |
| -- Command Registration
 | |
| QBCore.Commands.Add('traffic', 'Öffne Verkehrssteuerung', {}, false, function(source)
 | |
|     local Player = QBCore.Functions.GetPlayer(source)
 | |
|     if not Player then return end
 | |
| 
 | |
|     -- Überprüfe Job-Berechtigung
 | |
|     if Config.AllowedJobs[Player.PlayerData.job.name] then
 | |
|         TriggerClientEvent('traffic:openMenu', source)
 | |
|     else
 | |
|         TriggerClientEvent('QBCore:Notify', source, 'Du hast keine Berechtigung dafür!', 'error')
 | |
|     end
 | |
| end)
 | |
| 
 | |
| -- Event für das Aufräumen der Absperrungen
 | |
| RegisterServerEvent('traffic:cleanupServer')
 | |
| AddEventHandler('traffic:cleanupServer', function()
 | |
|     local Player = QBCore.Functions.GetPlayer(source)
 | |
|     if not Player then return end
 | |
| 
 | |
|     if Config.AllowedJobs[Player.PlayerData.job.name] then
 | |
|         TriggerClientEvent('traffic:cleanup', -1)
 | |
|     end
 | |
| end)
 | |
| 
 | |
| -- Optional: Event für das Synchronisieren der Absperrungen zwischen allen Spielern
 | |
| RegisterServerEvent('traffic:syncBarriers')
 | |
| AddEventHandler('traffic:syncBarriers', function(coords, model)
 | |
|     local Player = QBCore.Functions.GetPlayer(source)
 | |
|     if not Player then return end
 | |
| 
 | |
|     if Config.AllowedJobs[Player.PlayerData.job.name] then
 | |
|         TriggerClientEvent('traffic:spawnBarrier', -1, coords, model)
 | |
|     end
 | |
| end)
 | 
