QBCore = exports['qb-core']:GetCoreObject() local test_vari = {} RegisterServerEvent('mh_garage:setMods') AddEventHandler('mh_garage:setMods', function(mods) if test_vari[mods.plate] == true then return else MySQL.query("SELECT mods FROM player_vehicles WHERE plate = ?", {mods.plate}, function(rs) -- Prüfen ob rs überhaupt Daten enthält if rs and rs[1] then -- Wenn mods ein String ist, konvertieren wir es zu einem Table local modsData = type(rs[1].mods) == "string" and json.decode(rs[1].mods) or rs[1].mods if not modsData or next(modsData) == nil then -- Hier sollten Sie wahrscheinlich auch die mods-Daten übergeben, nicht nur plate MySQL.query("UPDATE player_vehicles SET mods = ? WHERE plate = ?", {json.encode(mods), mods.plate}) test_vari[mods.plate] = true else test_vari[mods.plate] = true end end end) end end) QBCore.Functions.CreateCallback('mh_garage:storedVehicle', function(source, cb, veh, zone) local Player = QBCore.Functions.GetPlayer(source) if Player ~= nil then if Player.Functions.GetMoney('bank', zone.price) then MySQL.query("SELECT * FROM player_vehicles WHERE citizenid = ? AND plate = ?", {Player.PlayerData.citizenid, veh.plate}, function(rs) if rs[1] ~= nil then MySQL.query("UPDATE player_vehicles SET garage = ?, mods = ? WHERE plate = ?", {zone.name, json.encode(veh), veh.plate}) DelVehParking(veh.plate) cb({ status = true, text = "Fahrzeug erfolgreich eingeparkt!", type = "success", other = false, police = false }) else MySQL.query("SELECT * FROM vehicle_keys WHERE owner = ? AND plate = ?", {Player.PlayerData.citizenid, veh.plate}, function(rs) if rs[1] ~= nil then MySQL.query("UPDATE player_vehicles SET garage = ?, mods = ? WHERE plate = ?", {zone.name, json.encode(veh), veh.plate}) --TriggerEvent('mh_Parking:removeVehicle', source, veh.plate) --DelVehParking(veh.plate) cb({ status = true, text = "Fahrzeug erfolgreich eingeparkt!", type = "success", other = true, police = false }) else cb({ status = false, text = "Du besitzt kein Schlüssel für dieses Fahrzeug.", type = "warning", other = false, police = true }) end end) end end) end end end) function DelVehParking(plate) MySQL.query("SELECT * FROM vehicle_parking WHERE plate = ?", {plate}, function(rs) if rs[1] ~= nil then MySQL.query("DELETE FROM vehicle_parking WHERE plate = ?", {plate}) end end) end QBCore.Functions.CreateCallback('mh_garage:retrieveOwnerVehicle', function(source, cb, zone) local _source = source local Player = QBCore.Functions.GetPlayer(_source) local pedid = Player.PlayerData.citizenid local veh = {} MySQL.query("SELECT * FROM player_vehicles WHERE citizenid = ? and garage = ?", {pedid, zone}, function(rs) if rs ~= nil and rs[1] ~= nil then for k, v in pairs (rs) do table.insert(veh, { vehicle = v.vehicle, mods = v.mods, plate = v.plate, name = v.name }) end Wait(100) cb(veh) else cb(false) end end) end) QBCore.Functions.CreateCallback('mh_garage:retrieveKeyVehicle', function(source, cb, zone) local _source = source local Player = QBCore.Functions.GetPlayer(_source) local pedid = Player.PlayerData.citizenid local veh = {} MySQL.query("SELECT pv.* FROM player_vehicles pv JOIN vehicle_keys vk ON pv.plate = vk.plate WHERE vk.owner = ? AND vk.count > 0 AND pv.garage = ?", {pedid, zone}, function(vehicles) if vehicles and #vehicles > 0 then for _, vehicle in pairs(vehicles) do table.insert(veh, { vehicle = vehicle.vehicle, mods = vehicle.mods, plate = vehicle.plate, name = vehicle.name }) end Wait(100) cb(veh) else cb(false) end end) end) QBCore.Functions.CreateCallback('mh_garage:verwaltung', function(source, cb) local Player = QBCore.Functions.GetPlayer(source) local vehicles = {} MySQL.query("SELECT * FROM player_vehicles WHERE citizenid = ?", {Player.PlayerData.citizenid}, function(rs) if rs and rs[1] then for k, v in pairs(rs) do table.insert(vehicles, { current_garage = v.garage, current_in_garage = v.parking, current_name = v.name, current_plate = v.plate, }) end end end) return vehicles end) RegisterServerEvent('mh_garage:spawnedVehicle') AddEventHandler('mh_garage:spawnedVehicle', function(netID, plate) MySQL.query("UPDATE player_vehicles SET garage = ? WHERE plate = ?", {"OUT", plate}) end) QBCore.Functions.CreateCallback('mh_garage:CheckownerVehicles', function(source, cb, plate) MySQL.query("SELECT * FROM player_vehicles WHERE plate = ?", {plate}, function(rs) if rs ~= nil and rs[1] ~= nil then cb(true) else cb(false) end end) end)