Config = {} -- ══════════════════════════════════════════════════════════════ -- FRAMEWORK & DATABASE -- ══════════════════════════════════════════════════════════════ Config.Framework = "esx" -- "esx" | "newqb" | "oldqb" Config.NewESX = true Config.SQL = "oxmysql" -- ══════════════════════════════════════════════════════════════ -- FEATURES -- ══════════════════════════════════════════════════════════════ Config.Blip = true -- Map-Blips anzeigen Config.Debug = false -- Debug-Ausgaben in der Console -- Fahrzeug-Schlüssel System Config.Vehiclekey = true Config.VehicleKeySystem = "jaksam" -- jaksam | qs-vehiclekeys | wasabi-carlock | qb-vehiclekeys Config.VehicleRemoveKey = true Config.VehicleRemoveKeySystem = "jaksam" -- Kraftstoff System Config.EnableFuel = true Config.FuelSystem = "x-fuel" -- LegacyFuel | x-fuel | ox-fuel | nd-fuel | frfuel | cdn-fuel -- Impound Config.Impound = true Config.ImpoundPrice = 1500 Config.MoneyType = "bank" -- Marker Farbe (Einpark-Zone) Config.MarkerR = 255 Config.MarkerG = 165 Config.MarkerB = 0 Config.MarkerA = 200 -- NPC Einstellungen (standard) Config.DefaultNpcModel = "a_m_m_prolhost_01" Config.NpcInteractRadius = 2.5 -- Abstand zum NPC für E-Interaktion Config.ParkRadius = 6.0 -- Einpark-Radius -- Wie oft (ms) Fahrzeugpositionen gespeichert werden (Standard: 30 Sek.) Config.PersistSaveInterval = 1000 -- ══════════════════════════════════════════════════════════════ -- ADMIN -- ══════════════════════════════════════════════════════════════ -- ACE Permission die admins brauchen: add_ace group.admin mercyv-garage.admin allow Config.AdminAce = "mercyv-garage.admin" -- ══════════════════════════════════════════════════════════════ -- BENACHRICHTIGUNGEN -- ══════════════════════════════════════════════════════════════ Config.Notify = { GARAGE_OPEN_LATE = "Garage wird geladen...", NO_VEHICLE = "Du besitzt kein Fahrzeug.", NOT_OWNED = "Dieses Fahrzeug gehört dir nicht.", WRONG_CLASS = "Diese Fahrzeugklasse ist hier nicht erlaubt.", SPAWN_BLOCKED = "Spawn-Platz ist belegt.", PARKED_IN = "Fahrzeug eingeparkt.", TOOK_OUT = "Fahrzeug ausgeparkt.", NO_ACCESS = "Kein Zugang zu dieser Garage.", NO_MONEY = "Nicht genug Geld.", IMPOUND_PAID = "Gebühr bezahlt.", ALREADY_OUT = "Dieses Fahrzeug ist bereits draußen.", ADMIN_SAVED = "Garage gespeichert.", ADMIN_DELETED = "Garage gelöscht.", ADMIN_NO_PERM = "Keine Berechtigung.", } -- ══════════════════════════════════════════════════════════════ -- NOTIFICATION FUNCTIONS (anpassen wenn nötig) -- ══════════════════════════════════════════════════════════════ Config.ClientNotification = function(message, msgType, length) exports['hex_4_hud']:Notify("Garage", message, msgType or "info", length or 3000) end Config.ServerNotification = function(source, message, msgType, length) TriggerClientEvent("hex_4_hud:Notify", source, "Garage", message, msgType or "info", length or 3000) end -- ══════════════════════════════════════════════════════════════ -- FAHRZEUG-KLASSEN -- ══════════════════════════════════════════════════════════════ Config.AllowedClasses = { ["normal"] = {[0]=true,[1]=true,[2]=true,[3]=true,[4]=true,[5]=true, [6]=true,[7]=true,[8]=true,[9]=true,[10]=true,[11]=true, [12]=true,[13]=true,[17]=true,[18]=true,[19]=true,[20]=true}, ["aircraft"] = {[15]=true,[16]=true}, ["boat"] = {[14]=true}, ["jobgarage"]= {[0]=true,[1]=true,[2]=true,[3]=true,[4]=true,[5]=true, [6]=true,[7]=true,[8]=true,[9]=true,[10]=true,[11]=true, [12]=true,[13]=true,[14]=true,[15]=true,[16]=true, [17]=true,[18]=true,[19]=true,[20]=true}, ["impound"] = {[0]=true,[1]=true,[2]=true,[3]=true,[4]=true,[5]=true, [6]=true,[7]=true,[8]=true,[9]=true,[10]=true,[11]=true, [12]=true,[13]=true,[14]=true,[15]=true,[16]=true, [17]=true,[18]=true,[19]=true,[20]=true}, } -- ══════════════════════════════════════════════════════════════ -- JOB-FAHRZEUGE (für Jobgaragen) -- Diese Fahrzeuge werden in der Job-Garage angezeigt -- ══════════════════════════════════════════════════════════════ Config.JobVehicles = { ["police"] = { { model = "gbpolbisonhf", label = "Polizei Bison HF", grade = 0 }, { model = "police3", label = "Polizei Cruiser", grade = 0 }, { model = "police4", label = "Polizei Buffalo", grade = 0 }, { model = "police2", label = "Polizei Stanier", grade = 0 }, { model = "gbpolbisonstx", label = "Polizei Bison STX", grade = 0 }, }, ["ambulance"] = { { model = "ambulance", label = "Krankenwagen", grade = 0 }, { model = "frogger", label = "Frogger", grade = 0 }, }, } -- ══════════════════════════════════════════════════════════════ -- FUEL HELPER -- ══════════════════════════════════════════════════════════════ Config.SetVehicleFuel = function(vehicle, level) if not Config.EnableFuel then SetVehicleFuelLevel(vehicle, (level or 90) + 0.0) return end local fs = Config.FuelSystem if fs == 'LegacyFuel' then exports["LegacyFuel"]:SetFuel(vehicle, level) elseif fs == 'x-fuel' then exports["x-fuel"]:SetFuel(vehicle, level) elseif fs == 'ox-fuel' then SetVehicleFuelLevel(vehicle, level + 0.0) elseif fs == 'nd-fuel' then exports["nd-fuel"]:SetFuel(vehicle, level) elseif fs == 'frfuel' then exports.frfuel:setFuel(vehicle, level) elseif fs == 'cdn-fuel' then exports['cdn-fuel']:SetFuel(vehicle, level) else SetVehicleFuelLevel(vehicle, (level or 90) + 0.0) end end -- ══════════════════════════════════════════════════════════════ -- KEY HELPERS -- ══════════════════════════════════════════════════════════════ function GiveVehicleKeys(plate, model, vehicle) if not Config.Vehiclekey then return end local ks = Config.VehicleKeySystem if ks == 'jaksam' then TriggerServerEvent("vehicles_keys:selfGiveVehicleKeys", plate) elseif ks == 'qs-vehiclekeys' then exports['qs-vehiclekeys']:GiveKeys(plate, GetDisplayNameFromVehicleModel(model)) elseif ks == 'wasabi-carlock' then exports.wasabi_carlock:GiveKey(plate) elseif ks == 'qb-vehiclekeys' then TriggerServerEvent('qb-vehiclekeys:server:AcquireVehicleKeys', plate) end end function RemoveVehicleKeys(plate, model, vehicle) if not Config.VehicleRemoveKey then return end local ks = Config.VehicleRemoveKeySystem if ks == 'jaksam' then TriggerServerEvent("vehicles_keys:selfRemoveKeys", plate) elseif ks == 'qs-vehiclekeys' then exports['qs-vehiclekeys']:RemoveKeysAuto() elseif ks == 'wasabi-carlock' then exports.wasabi_carlock:RemoveKey(plate) elseif ks == 'qb-vehiclekeys' then TriggerServerEvent('qb-vehiclekeys:client:RemoveKeys', plate) end end