Config = {} Locales = Locales or {} Config.Framework = "esx" --[[ qb, qbox, esx, standalone | The framework you're using (QBCore, Qbox, ESX, or standalone) ]] Config.VersionChecker = true -- Enable version checker (checks for updates on resource start) Config.Debug = true -- Debug mode (prints messages to console for troubleshooting) Config.SyncFlash = true -- Flash sync (camera flash and Phone flashlights visible to other players) Config.DefaultPhoto = 'https://aiakos.net/codem/api.php?script=codem-phone&file=defaultavatar3.png' --[[ Default profile photo URL ]] Config.DefaultLanguage = 'de' --[[ en, tr | Default language (English or Turkish) ]] Config.UniquePhone = true -- Unique phone per character? (true = each character gets a different number) Config.AutoSql = true -- Auto SQL table creation (automatically creates tables on first setup) Config.Inventory = 'codem-inventory' --[[ qb-inventory ox_inventory tgiann-inventory codem-inventory s-inventory qs-inventory ]] Config.ItemRequired = true -- Is an item required in inventory to open the phone? Config.ItemName = 'phone' -- Name of the required item Config.HouseScript = '' --[[ qb-houses, bcs-housing, ps-housing ]] Config.BatterySystem = { enable = false, drainRate = 1, -- Battery drain rate (the higher the number, the faster it drains) drainInterval = 5, -- minutes between each drain powerBankItemName = 'powerbank', -- Name of the power bank item powerBankCharge = 80, -- Amount of battery charge restored by using a power bank powerBankChargeRate = 1, -- How much battery to add per interval when using power bank powerBankChargeInterval = 10, -- Seconds between each charge when using power bank } Config.VoiceSettings = { VoiceScript = 'salty', --[[ PLEASE DO NOT WRITE THE FULL NAME USING THE ABBREVIATED NAMES HERE pma : pma-voice salty : saltychat toko : TokoVoip mumble : Mumble-Voip ]] } Config.FacePassMaskRequired = true -- Is a face mask required when using FacePass? Config.Commands = { ['changenumber'] = 'changenumber', } Config.PhoneNumberPrefix = { "555", "444", "222", "333", "111" } Config.PhoneFormatType = "american" Config.PhoneNumberFormats = { { type = "standard", pattern = "{prefix}-{digits}", digitGroups = { 3, 4 }, -- 555-4545 separator = "-" }, { type = "extended", pattern = "{prefix}-{digits}-{digits}", digitGroups = { 3, 3, 4 }, -- 555-444-5887 separator = "-" }, { type = "double", pattern = "{prefix}-{digits}-{digits}", digitGroups = { 3, 2, 4 }, -- 555-00-4486 separator = "-" }, { type = "turkish", pattern = "{prefix} {digits} {digits} {digits}", digitGroups = { 3, 3, 2, 2 }, -- 555 444 22 33 separator = " " }, { type = "american", pattern = "({prefix}) {digits}-{digits}", digitGroups = { 3, 3, 4 }, -- (555) 444-5887 separator = "-" }, } Config.AdminPermissions = { ['admin'] = true, ['superadmin'] = true, ['god'] = true, } Config.DefaultApps = { { name = 'photos', label = 'apps.photos', icon = 'photos.webp', path = '/photos', }, { name = 'camera', label = 'apps.camera', icon = 'camera.webp', path = '/camera', }, { name = 'wallet', label = 'apps.wallet', icon = 'wallet.webp', path = '/bank', }, { name = 'map', label = 'apps.map', icon = 'map.webp', path = '/maps', }, { name = 'calculator', label = 'apps.calculator', icon = 'calculator.webp', path = '/calculator', }, { name = 'notes', label = 'apps.notes', icon = 'notes.webp', path = '/notes', }, { name = 'services', label = 'apps.services', icon = 'services.webp', path = '/service', }, { name = 'appstore', label = 'apps.appstore', icon = 'apps.webp', path = '/appstore', }, { name = 'voice', label = 'apps.voice', icon = 'voice.webp', path = '/voice', }, { name = 'mail', label = 'apps.mail', icon = 'mail.webp', path = '/mail', }, { name = 'billing', label = 'apps.billing', icon = 'billing.webp', path = '/billing', }, { name = 'home', label = 'apps.home', icon = 'home.webp', path = '/home', }, { name = 'call', label = 'apps.call', icon = 'call.webp', path = '/calls', }, { name = 'message', label = 'apps.message', icon = 'message.webp', path = '/messages', }, { name = 'settings', label = 'apps.settings', icon = 'settings.webp', path = '/settings', }, { name = 'music', label = 'apps.music', icon = 'music.webp', path = '/music', }, } Config.Notification = function(message, type, isServer, src) -- You can change here events for notifications if isServer then if Config.Framework == "esx" then TriggerClientEvent("esx:showNotification", src, message) else TriggerClientEvent('QBCore:Notify', src, message, type, 1500) end else if Config.Framework == "esx" then TriggerEvent("esx:showNotification", message) else TriggerEvent('QBCore:Notify', message, type, 1500) end end end Config.GiveVehicleKey = function(vehicle, plate) -- You can change here events for giving vehicle keys if GetResourceState("cd_garage") == "started" then TriggerEvent('cd_garage:AddKeys', exports['cd_garage']:GetPlate(vehicle)) elseif GetResourceState("qs-vehiclekeys") == "started" then model = GetDisplayNameFromVehicleModel(GetEntityModel(vehicle)) exports['qs-vehiclekeys']:GiveKeys(plate, model, true) elseif GetResourceState("wasabi_carlock") == "started" then exports.wasabi_carlock:GiveKey(plate) elseif GetResourceState("qb-vehiclekeys") == "started" then TriggerServerEvent('qb-vehiclekeys:server:AcquireVehicleKeys', plate) elseif GetResourceState("qbx-vehiclekeys") == "started" then TriggerServerEvent('qb-vehiclekeys:server:AcquireVehicleKeys', plate) elseif GetResourceState("Renewed-Vehiclekeys") == "started" then exports['Renewed-Vehiclekeys']:addKey(plate) else if Config.Framework == "esx" then local p = plate or (vehicle and ESX.Math.Trim(GetVehicleNumberPlateText(vehicle))) if p then TriggerEvent("vehiclekeys:client:SetOwner", p) end else TriggerEvent("vehiclekeys:client:SetOwner", plate) end end end