forked from Simnation/Main
ed
This commit is contained in:
parent
efe4028319
commit
f720b42a00
3 changed files with 258 additions and 3 deletions
|
@ -436,4 +436,68 @@ AddEventHandler('VKC:delvehkey', function(plate, owner)
|
|||
else
|
||||
MySQL.query("DELETE FROM vehicle_keys WHERE plate = ?", {plate})
|
||||
end
|
||||
end)
|
||||
end)
|
||||
|
||||
-- Fahrzeugbesitz an einen anderen Spieler übertragen
|
||||
CB:Register("VKC:transferVehicleOwnership", function(source, plate, targetPlayerId)
|
||||
local src = source
|
||||
|
||||
if (plate == nil or targetPlayerId == nil) then
|
||||
print("^1[ERROR] \"plate\" or \"targetPlayerId\" was nil while transferring vehicle ownership for id " .. tostring(src))
|
||||
return false
|
||||
end
|
||||
|
||||
local Player = QBCore.Functions.GetPlayer(src)
|
||||
local TargetPlayer = QBCore.Functions.GetPlayer(targetPlayerId)
|
||||
|
||||
if (not Player or not TargetPlayer) then
|
||||
print("^1[ERROR] Player or target player not found while transferring vehicle ownership")
|
||||
return false
|
||||
end
|
||||
|
||||
local trimmedPlate = plate:gsub("^%s*(.-)%s*$", "%1"):upper()
|
||||
|
||||
-- Überprüfen, ob der Spieler das Fahrzeug besitzt
|
||||
local isOwner = IsVehicleOwner(src, trimmedPlate)
|
||||
if not isOwner then
|
||||
return false
|
||||
end
|
||||
|
||||
-- Fahrzeugmodell für die Benachrichtigung abrufen
|
||||
local vehicleModel = nil
|
||||
local results = MySQL.Sync.fetchAll("SELECT vehicle FROM player_vehicles WHERE plate = @plate AND citizenid = @owner", {
|
||||
["@plate"] = trimmedPlate,
|
||||
["@owner"] = Player.PlayerData.citizenid
|
||||
})
|
||||
|
||||
if #results > 0 then
|
||||
vehicleModel = results[1].vehicle
|
||||
end
|
||||
|
||||
-- Besitz in der Datenbank übertragen
|
||||
local success = MySQL.Sync.execute("UPDATE player_vehicles SET citizenid = @newOwner WHERE plate = @plate AND citizenid = @oldOwner", {
|
||||
["@newOwner"] = TargetPlayer.PlayerData.citizenid,
|
||||
["@plate"] = trimmedPlate,
|
||||
["@oldOwner"] = Player.PlayerData.citizenid
|
||||
})
|
||||
|
||||
if success > 0 then
|
||||
-- Alle Schlüssel auf den neuen Besitzer übertragen
|
||||
MySQL.Sync.execute("DELETE FROM vehicle_keys WHERE plate = @plate", {
|
||||
["@plate"] = trimmedPlate
|
||||
})
|
||||
|
||||
-- Einen Schlüssel dem neuen Besitzer geben
|
||||
MySQL.Sync.execute("INSERT INTO vehicle_keys (owner, plate, count) VALUES (@owner, @plate, 1)", {
|
||||
["@owner"] = TargetPlayer.PlayerData.citizenid,
|
||||
["@plate"] = trimmedPlate
|
||||
})
|
||||
|
||||
-- Den Zielspieler benachrichtigen
|
||||
TriggerClientEvent("VKC:vehicleTransferNotif", targetPlayerId, trimmedPlate, vehicleModel)
|
||||
|
||||
return true
|
||||
end
|
||||
|
||||
return false
|
||||
end)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue