forked from Simnation/Main
56 lines
2 KiB
Lua
56 lines
2 KiB
Lua
-- 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
|