This commit is contained in:
Nordi98 2025-08-09 11:04:25 +02:00
parent cd17b66985
commit 2ecbbdc6c4
3 changed files with 69 additions and 71 deletions

View file

@ -9,19 +9,21 @@ function AddRentalKey(citizenid, plate, model)
1
}, function(rowsChanged)
if rowsChanged > 0 then
print("Schlüssel für Mietfahrzeug hinzugefügt: " .. plate .. " für Spieler " .. citizenid)
print("[VehicleRental] Schlüssel für Mietfahrzeug hinzugefügt: " .. plate .. " für Spieler " .. citizenid)
end
end)
end
-- Entferne einen Schlüssel für ein Mietfahrzeug
function RemoveRentalKey(citizenid, plate)
-- Entferne einen Schlüssel für ein Mietfahrzeug (gleiche Struktur wie AddRentalKey)
function RemoveRentalKey(citizenid, plate, model)
MySQL.Async.execute('DELETE FROM vehicle_keys WHERE owner = ? AND plate = ?', {
citizenid,
plate
}, function(rowsChanged)
if rowsChanged > 0 then
print("Schlüssel für Mietfahrzeug entfernt: " .. plate .. " für Spieler " .. citizenid)
print("[VehicleRental] Schlüssel für Mietfahrzeug entfernt: " .. plate .. " für Spieler " .. citizenid)
else
print("[VehicleRental] Kein Schlüssel zum Entfernen gefunden: " .. plate .. " für Spieler " .. citizenid)
end
end)
end
@ -32,7 +34,7 @@ Citizen.CreateThread(function()
MySQL.Async.fetchAll('SELECT * FROM vehicle_rentals WHERE returned = FALSE', {}, function(results)
if results and #results > 0 then
print("Lade " .. #results .. " aktive Mietfahrzeuge...")
print("[VehicleRental] Lade " .. #results .. " aktive Mietfahrzeuge...")
for _, rental in ipairs(results) do
activeRentals[rental.vehicle_plate] = rental
@ -193,16 +195,8 @@ QBCore.Functions.CreateCallback('vehiclerental:server:returnVehicle', function(s
-- Aus dem aktiven Cache entfernen
activeRentals[plate] = nil
-- Entferne den Schlüssel für das Mietfahrzeug
RemoveRentalKey(Player.PlayerData.citizenid, plate)
-- Check if AdvancedParking is available and delete the vehicle from its system
local advancedParkingSuccess = false
if GetResourceState('AdvancedParking') == 'started' then
-- Try to delete using AdvancedParking exports
advancedParkingSuccess = exports["AdvancedParking"]:DeleteVehicleUsingData(nil, nil, plate, false)
print("[VehicleRental] AdvancedParking vehicle deletion: " .. (advancedParkingSuccess and "successful" or "failed") .. " for plate " .. plate)
end
-- Entferne den Schlüssel für das Mietfahrzeug (mit gleicher Struktur wie beim Hinzufügen)
RemoveRentalKey(Player.PlayerData.citizenid, plate, rental.vehicle_model)
-- Benachrichtige alle Clients, dass das Fahrzeug zurückgegeben wurde
TriggerClientEvent('vehiclerental:client:vehicleReturned', -1, plate)
@ -241,7 +235,7 @@ QBCore.Functions.CreateCallback('vehiclerental:server:getPlayerRentals', functio
end
end
cb(result)
cb(result)
end)
end)
@ -295,16 +289,10 @@ Citizen.CreateThread(function()
})
-- Entferne den Schlüssel für das Mietfahrzeug
RemoveRentalKey(rental.citizenid, plate)
RemoveRentalKey(rental.citizenid, plate, rental.vehicle_model)
-- Füge es zur Liste der zu entfernenden Fahrzeuge hinzu
table.insert(overdueVehicles, plate)
-- Versuche, das Fahrzeug mit AdvancedParking zu löschen
if GetResourceState('AdvancedParking') == 'started' then
exports["AdvancedParking"]:DeleteVehicleUsingData(nil, nil, plate, false)
print("[VehicleRental] Auto-deleted overdue vehicle with AdvancedParking: " .. plate)
end
end
end
@ -403,16 +391,11 @@ exports('DeleteAllPlayerRentals', function(citizenid)
})
-- Entferne den Schlüssel
RemoveRentalKey(citizenid, rental.vehicle_plate)
RemoveRentalKey(citizenid, rental.vehicle_plate, rental.vehicle_model)
-- Entferne aus dem Cache
activeRentals[rental.vehicle_plate] = nil
-- Versuche, das Fahrzeug mit AdvancedParking zu löschen
if GetResourceState('AdvancedParking') == 'started' then
exports["AdvancedParking"]:DeleteVehicleUsingData(nil, nil, rental.vehicle_plate, false)
end
-- Benachrichtige alle Clients
TriggerClientEvent('vehiclerental:client:vehicleReturned', -1, rental.vehicle_plate)
end