ed
This commit is contained in:
parent
c0b4b32012
commit
cd17b66985
2 changed files with 148 additions and 4 deletions
|
@ -196,6 +196,14 @@ QBCore.Functions.CreateCallback('vehiclerental:server:returnVehicle', function(s
|
|||
-- 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
|
||||
|
||||
-- Benachrichtige alle Clients, dass das Fahrzeug zurückgegeben wurde
|
||||
TriggerClientEvent('vehiclerental:client:vehicleReturned', -1, plate)
|
||||
|
||||
|
@ -291,6 +299,12 @@ Citizen.CreateThread(function()
|
|||
|
||||
-- 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
|
||||
|
||||
|
@ -372,3 +386,42 @@ AddEventHandler('vehiclerental:server:checkRentalKeys', function()
|
|||
end
|
||||
end)
|
||||
end)
|
||||
|
||||
-- Funktion zum Löschen aller Mietfahrzeuge eines Spielers (z.B. bei Charakter-Löschung)
|
||||
exports('DeleteAllPlayerRentals', function(citizenid)
|
||||
if not citizenid then return false end
|
||||
|
||||
-- Hole alle aktiven Mietverhältnisse des Spielers
|
||||
MySQL.Async.fetchAll('SELECT * FROM vehicle_rentals WHERE citizenid = ? AND returned = FALSE', {
|
||||
citizenid
|
||||
}, function(rentals)
|
||||
if rentals and #rentals > 0 then
|
||||
for _, rental in ipairs(rentals) do
|
||||
-- Markiere als zurückgegeben
|
||||
MySQL.Async.execute('UPDATE vehicle_rentals SET returned = TRUE WHERE id = ?', {
|
||||
rental.id
|
||||
})
|
||||
|
||||
-- Entferne den Schlüssel
|
||||
RemoveRentalKey(citizenid, rental.vehicle_plate)
|
||||
|
||||
-- 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
|
||||
|
||||
print("[VehicleRental] Deleted all rental vehicles for player: " .. citizenid)
|
||||
return true
|
||||
end
|
||||
|
||||
return false
|
||||
end)
|
||||
end)
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue