1
0
Fork 0
forked from Simnation/Main
Main/resources/[carscripts]/mh_garage/client/vehicleadmin_integration.lua

57 lines
2 KiB
Lua
Raw Normal View History

2025-08-06 13:29:54 +02:00
-- vehicleadmin_integration.lua
-- Diese Datei integriert das Fahrzeugadmin-System mit dem Garagensystem
-- Füge einen Menüpunkt für das Fahrzeugadmin-System zum NPC-Menü hinzu
local function AddVehicleAdminOption()
-- Prüfe, ob der Spieler die Berechtigung hat
QBCore.Functions.TriggerCallback('vehicleadmin:getPlayerJob', function(jobData)
if jobData and jobData.hasPermission then
-- Füge den Menüpunkt zum NPC hinzu, wenn der Spieler berechtigt ist
if npcHandle and DoesEntityExist(npcHandle) then
exports['qb-target']:AddTargetEntity(npcHandle, {
options = {
{
type = "client",
event = "vehicleadmin:openMenu",
icon = "fas fa-car-mechanic",
label = "Fahrzeugverwaltung",
}
},
distance = 2.5
})
end
end
end)
end
-- Überschreibe die AddTargetOptions-Funktion, um unsere Option hinzuzufügen
local originalAddTargetOptions = AddTargetOptions
if originalAddTargetOptions then
AddTargetOptions = function()
originalAddTargetOptions()
AddVehicleAdminOption()
end
end
-- Registriere einen Event-Handler für das Hinzufügen der Target-Optionen
RegisterNetEvent('mh_garage:targetOptionsAdded')
AddEventHandler('mh_garage:targetOptionsAdded', function()
AddVehicleAdminOption()
end)
-- Füge einen Event-Handler hinzu, der nach dem Spawnen des NPCs ausgeführt wird
RegisterNetEvent('mh_garage:npcSpawned')
AddEventHandler('mh_garage:npcSpawned', function()
Wait(500) -- Warte kurz, damit der NPC vollständig gespawnt ist
AddVehicleAdminOption()
end)
-- Füge einen Hook in die SpawnGuardNPC-Funktion ein, um unseren Event auszulösen
local originalSpawnGuardNPC = SpawnGuardNPC
if originalSpawnGuardNPC then
SpawnGuardNPC = function(npc)
originalSpawnGuardNPC(npc)
TriggerEvent('mh_garage:npcSpawned')
end
end