From 70a14874204abef3f9aa03c005fb9f4c73cc847a Mon Sep 17 00:00:00 2001 From: Andyyy7666 <86536434+Andyyy7666@users.noreply.github.com> Date: Sat, 9 Mar 2024 19:07:30 +0100 Subject: [PATCH] wip(compat/qb/server): basic functions --- compatibility/qb/server.lua | 72 +++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) diff --git a/compatibility/qb/server.lua b/compatibility/qb/server.lua index 54e6f48..5a29a41 100644 --- a/compatibility/qb/server.lua +++ b/compatibility/qb/server.lua @@ -1 +1,73 @@ if not lib.table.contains(Config.compatibility, "qb") then return end + +local QBCore = {} + +QBCore.Config = QBConfig +QBCore.Shared = QBShared +QBCore.ClientCallbacks = {} +QBCore.ServerCallbacks = {} + +QBCore.Players = {} +QBCore.Functions = {} +QBCore.Player_Buckets = {} +QBCore.Entity_Buckets = {} +QBCore.UsableItems = {} + +function QBCore.Functions.GetCoords(entity) + local coords = GetEntityCoords(entity) + local heading = GetEntityHeading(entity) + return vec4(coords.x, coords.y, coords.z, heading) +end + +function QBCore.Functions.GetIdentifier(source, idtype) + if GetConvarInt("sv_fxdkMode", 0) == 1 then return "license:fxdk" end + return GetPlayerIdentifierByType(source, idtype or "license") +end + +function QBCore.Functions.GetSource(identifier) + for src, _ in pairs(NDCore.players) do + local idens = GetPlayerIdentifiers(src) + for _, id in pairs(idens) do + if identifier == id then + return src + end + end + end + return 0 +end + +local function createPlayer(player) + +end + +function QBCore.Functions.GetPlayer(source) + if type(source) == "number" then + return createPlayer(NDCore.players[source]) + else + return createPlayer(NDCore.players[QBCore.Functions.GetSource(source)]) + end +end + +function QBCore.Functions.GetPlayerByCitizenId(citizenid) + for src in pairs(NDCore.players) do + if NDCore.players[src].id == citizenid then + return NDCore.players[src] + end + end +end + +-- function QBCore.Functions.GetOfflinePlayerByCitizenId(citizenid) +-- return QBCore.Player.GetOfflinePlayer(citizenid) +-- end + +-- function QBCore.Functions.GetPlayerByLicense(license) +-- return QBCore.Player.GetPlayerByLicense(license) +-- end + +function QBCore.Functions.GetPlayerByPhone(number) + for src in pairs(NDCore.players) do + if NDCore.players[src].phonenumber == number then + return createPlayer(NDCore.players[src]) + end + end +end