85 lines
2.1 KiB
Lua
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
|