From 94002da05be9e087e6c66d2c4c5152c62e928ce3 Mon Sep 17 00:00:00 2001 From: ASTROWwwW Date: Thu, 23 Jul 2026 20:51:21 +0200 Subject: [PATCH] feat(esx_lib): add isEnhanced game edition detection xLib.isEnhanced() returns whether the game runs GTA V Enhanced (server: gamename convar, client: IsGameEnhancedVersion native). es_extended reads it once and requires OneSync Infinity on Legacy only, since Enhanced runs OneSync natively. --- [core]/es_extended/server/main.lua | 3 ++- [core]/esx_lib/imports/isEnhanced/shared.lua | 17 +++++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 [core]/esx_lib/imports/isEnhanced/shared.lua diff --git a/[core]/es_extended/server/main.lua b/[core]/es_extended/server/main.lua index 96c5cc64..21d2f9fa 100644 --- a/[core]/es_extended/server/main.lua +++ b/[core]/es_extended/server/main.lua @@ -2,6 +2,7 @@ SetMapName("San Andreas") SetGameType("ESX Legacy") local oneSyncState = GetConvar("onesync", "off") +local isEnhanced = xLib.isEnhanced() local newPlayer = "INSERT INTO `users` SET `accounts` = ?, `identifier` = ?, `ssn` = ?, `group` = ?" local loadPlayer = "SELECT `accounts`, `ssn`, `job`, `job_grade`, `group`, `position`, `inventory`, `skin`, `loadout`, `metadata`" @@ -151,7 +152,7 @@ if not Config.Multichar then return deferrals.done(("[ESX] ESX Requires a minimum Artifact version of 10188, Please update your server.")) end - if oneSyncState == "off" or oneSyncState == "legacy" then + if not isEnhanced and (oneSyncState == "off" or oneSyncState == "legacy") then return deferrals.done(("[ESX] ESX Requires Onesync Infinity to work. This server currently has Onesync set to: %s"):format(oneSyncState)) end diff --git a/[core]/esx_lib/imports/isEnhanced/shared.lua b/[core]/esx_lib/imports/isEnhanced/shared.lua new file mode 100644 index 00000000..8adafe29 --- /dev/null +++ b/[core]/esx_lib/imports/isEnhanced/shared.lua @@ -0,0 +1,17 @@ +local ENHANCED_GAME_NAMES = { + ["gta5enhanced"] = true, + ["gta5_enhanced"] = true +} + +local isEnhanced + +if IsDuplicityVersion() then + isEnhanced = ENHANCED_GAME_NAMES[GetConvar("gamename", "gta5")] == true +else + isEnhanced = type(IsGameEnhancedVersion) == "function" and IsGameEnhancedVersion() == true +end + +---@return boolean +return function() + return isEnhanced +end