local QBCore = exports['qb-core']:GetCoreObject() -- Plaka oluşturucu local function GeneratePlate() local plate = tostring(math.random(100, 999)) .. string.char(math.random(65, 90)) .. string.char(math.random(65, 90)) .. tostring(math.random(10, 99)) return plate end -- Anahtar verme fonksiyonu local function GiveKeysToPlayer(src, plate, model) -- Önce event’leri dene for _, evt in ipairs(Config.VehicleKeyEvents) do local ok = pcall(TriggerEvent, evt, src, plate, model) if ok then print(("[arabaver] Event tetiklendi: %s | Plate: %s | Src: %s"):format(evt, plate, src)) end end -- Export destekleyenler için deneme pcall(function() if exports['qb-vehiclekeys'] and exports['qb-vehiclekeys'].CreateKey then exports['qb-vehiclekeys'].CreateKey(src, plate, model) end if exports['qb-vehiclekeys'] and exports['qb-vehiclekeys'].GiveKeys then exports['qb-vehiclekeys'].GiveKeys(src, plate) end end) end -- /arabaver komutu QBCore.Commands.Add('arabaver', 'Araba ver (admin)', { {name = 'model', help = 'Arabanın modeli (örn: sultan)'} }, true, function(source, args) local src = source local model = args[1] if not model or model == '' then TriggerClientEvent('QBCore:Notify', src, 'Lütfen model girin. /arabaver sultanrs', 'error') return end local Player = QBCore.Functions.GetPlayer(src) if not Player then TriggerClientEvent('QBCore:Notify', src, 'Oyuncu bulunamadı.', 'error') return end local plate = GeneratePlate():upper() local citizenid = Player.PlayerData.citizenid local license = Player.PlayerData.license or Player.PlayerData.identifier or "" -- DB'ye kaydet local insertQuery = [[ INSERT INTO ]] .. Config.DBTable .. [[ (`license`, `citizenid`, `vehicle`, `hash`, `mods`, `plate`, `state`) VALUES (?, ?, ?, ?, ?, ?, ?) ]] local success, insertId = pcall(function() return MySQL.insert.await(insertQuery, { license, citizenid, model, "unknown", -- hash "{}", -- boş mods json plate, Config.DefaultState }) end) if not success then print("[arabaver] DB insert hata:", insertId) TriggerClientEvent('QBCore:Notify', src, 'Veritabanına ekleme başarısız.', 'error') return end TriggerClientEvent('QBCore:Notify', src, model .. ' verildi! Plate: ' .. plate, 'success') -- Anahtar ver GiveKeysToPlayer(src, plate, model) -- Aracı spawnla TriggerClientEvent('arabaver:client:spawnVehicle', src, model, plate) end, Config.CommandPermission)