1
0
Fork 0
forked from Simnation/Main
Main/resources/[carscripts]/mh_garage/server/server.lua
2025-06-09 15:23:24 +02:00

143 lines
No EOL
5.5 KiB
Lua

QBCore = exports['qb-core']:GetCoreObject()
local test_vari = {}
RegisterServerEvent('mh_garage:setMods')
AddEventHandler('mh_garage:setMods', function(mods)
if test_vari ~= nil then
for k, v in pairs(test_vari) do
if v.plate ~= mods.plate then
MySQL.query("SELECT * FROM player_vehicles WHERE plate = ?", {mods.plate}, function(rs)
if rs[1].mods == nil then
MySQL.query("UPDATE player_vehicles SET mods = ? WHERE plate = ?", {mods, mods.plate})
table.insert(test_vari, {plate = mods.plate})
end
end)
end
end
else
MySQL.query("SELECT * FROM player_vehicles WHERE plate = ?", {mods.plate}, function(rs)
if rs[1].mods == nil then
MySQL.query("UPDATE player_vehicles SET mods = ? WHERE plate = ?", {mods, mods.plate})
table.insert(test_vari, {plate = mods.plate})
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 = ? AND parking = ? WHERE plate = ?", {zone.name, true, 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 = ? AND parking = ? WHERE plate = ?", {zone.name, true, 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:CallVehicles', function(source, cb, zone)
local _source = source
local Player = QBCore.Functions.GetPlayer(_source)
local vehicles = {}
local vehicle_keys = {}
if Config.CallKeyVehicles then
MySQL.query("SELECT plate FROM vehicle_keys WHERE owner = ?", {Player.PlayerData.citizenid}, function(rs)
if rs[1] ~= nil then
for k, v in pairs(rs) do
table.insert(vehicle_keys, {plate = v.plate})
end
end
end)
Wait(100)
if vehicle_keys[1] ~= nil then
print(json.encode(vehicle_keys))
for k, v in pairs(vehicle_keys) do
MySQL.query("SELECT vehicle, plate, mods, name FROM player_vehicles WHERE plate = ?", {v.plate}, function(rs)
table.insert(vehicles, {
vehicle = rs[1].vehicle,
mods = rs[1].mods,
plate = rs[1].plate,
name = rs[1].name
})
end)
end
end
end
MySQL.query("SELECT vehicle, plate, mods FROM player_vehicles WHERE citizenid = ? AND garage = ?", {Player.PlayerData.citizenid, zone}, function(rs)
if rs[1] ~= nil then
for k, v in pairs(rs) do
table.insert(vehicles, {
vehicle = v.vehicle,
mods = v.mods,
plate = v.plate,
name = v.name
})
end
end
end)
Wait(100)
cb(vehicles)
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[1] ~= nil 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)