2026-04-14 17:41:39 +02:00

85 lines
2.1 KiB
Lua

ESX.Players = {}
ESX.Jobs = {}
ESX.Items = {}
Core = {}
Core.JobsPlayerCount = {}
Core.UsableItemsCallbacks = {}
Core.RegisteredCommands = {}
Core.Pickups = {}
Core.PickupId = 0
Core.PlayerFunctionOverrides = {}
Core.DatabaseConnected = false
Core.playersByIdentifier = {}
Core.JobsLoaded = false
---@type table<string, CVehicleData>
Core.vehicles = {}
Core.vehicleTypesByModel = {}
RegisterNetEvent("esx:onPlayerSpawn", function()
ESX.Players[source].spawned = true
end)
if Config.CustomInventory then
SetConvarReplicated("inventory:framework", "esx")
SetConvarReplicated("inventory:weight", tostring(Config.MaxWeight * 1000))
end
local function StartDBSync()
CreateThread(function()
local interval <const> = 10 * 60 * 1000
while true do
Wait(interval)
Core.SavePlayers()
end
end)
end
MySQL.ready(function()
Core.DatabaseConnected = true
if not Config.OxInventory then
ESX.Items = exports["codem-inventory"]:GetItemList()
while not next(ESX.Items) do
ESX.Items = exports["codem-inventory"]:GetItemList()
Wait(0)
end
else
TriggerEvent("__cfx_export_ox_inventory_Items", function(ref)
if ref then
ESX.Items = ref()
end
end)
AddEventHandler("ox_inventory:itemList", function(items)
ESX.Items = items
end)
while not next(ESX.Items) do
Wait(0)
end
end
ESX.RefreshJobs()
print(("[^2INFO^7] ESX ^5Legacy %s^0 initialized!"):format(GetResourceMetadata(GetCurrentResourceName(), "version", 0)))
StartDBSync()
if Config.EnablePaycheck then
StartPayCheck()
end
end)
RegisterNetEvent("esx:clientLog", function(msg)
if Config.EnableDebug then
print(("[^2TRACE^7] %s^7"):format(msg))
end
end)
RegisterNetEvent("esx:ReturnVehicleType", function(Type, Request)
if Core.ClientCallbacks[Request] then
Core.ClientCallbacks[Request](Type)
Core.ClientCallbacks[Request] = nil
end
end)
GlobalState.playerCount = 0