7945 Commits

Author SHA1 Message Date
TostusUK 5b766b400c Merge remote-tracking branch 'upstream/esx_lib' into esx_lib 2026-07-15 23:01:45 -05:00
_Not_ 85a086f450 Merge pull request #1789 from ASTROWwwW/refactor/move-modules-to-lib
refactor(esx_lib): move streaming/scaleform/points/interactions/game/onesync helpers into the lib
2026-07-15 22:46:14 -05:00
_Not_ 420c76eca1 Merge pull request #1796 from ASTROWwwW/feat/esx-lib-pubsub
feat(esx_lib): add a pub/sub multicast module
2026-07-15 22:44:58 -05:00
_Not_ f47f758049 Merge pull request #1800 from ASTROWwwW/feat/xlib-waitfor
feat(esx_lib): add xLib.waitFor
2026-07-15 17:27:12 +02:00
Astrxw 40139a1a4a Update shared.lua 2026-07-15 17:20:18 +02:00
ASTROWwwW cf61bbd0c3 feat(esx_lib): add xLib.waitFor 2026-07-15 16:23:01 +02:00
_Not_ 4c8e26182f Merge pull request #1788 from SNAILX808/esx_lib
Moved esx.table from core to esx_lib
2026-07-15 15:40:11 +02:00
ASTROWwwW 2d1facf59d feat(esx_lib): add a pub/sub multicast module
Adds xLib.pubsub for server-driven topic multicast: a producer resource
subscribes players to a topic server-side and publishes data that is pushed
only to the subscribed players. Clients listen with xLib.pubsub.on and never
subscribe or publish themselves.

The subscription registry is a single shared instance in the esx_lib server VM,
reached cross-resource through exports; the client side is a per-VM listener
over one net event. Subscriptions are cleaned up on playerDropped, so a reused
serverId never inherits them, and on the owning resource stopping.

Also adds xLib.triggerClientEvent, which packs the payload once when sending to
many players; publish uses it so a broadcast to N subscribers serialises once.
2026-06-25 02:16:43 +02:00
ASTROWwwW 409c2ccc63 refactor(esx_lib): move the player-state cache into the lib
Adds a generic xLib.cache (ped, vehicle, seat, weapon, coords) modelled on
ox_lib cache and framework agnostic, and rewires es_extended to source ped and
weapon from it which removes the per-frame ped poll. The vehicle enter/exit
state machine and every esx: event are kept unchanged through a thin glue.
2026-06-24 18:39:07 +02:00
Astrxw 6acaedde1f refactor(esx_lib/game): preserve original networked guard in spawnVehicle move 2026-06-17 15:45:53 +02:00
ASTROWwwW 88a883973a chore(esx_lib/callback): gate callback ownership logs behind xLib:debug 2026-06-16 21:03:41 +02:00
ASTROWwwW c32138eedd feat(esx_lib/onesync): move onesync query helpers to xLib
Moved getPlayersInArea / getClosestPlayer / getPedsInArea / getObjectsInArea /
getVehiclesInArea / getClosestPed / getClosestObject / getClosestVehicle to
xLib; es_extended re-exposes them through server compat shims.

Flagged: getNearbyPlayers iterates ESX.Players (es_extended server state),
which is not portable across the lib boundary - the lib relies on that global
being present at call time.
2026-06-16 21:03:41 +02:00
ASTROWwwW 700b7a646b feat(esx_lib/game): move game spawn/pool/closest/area and vehicle properties to xLib
Integrated fix during the move:
- spawnVehicle uses the computed isNetworked for the network-id/migrate guard,
  fixing the original that branched on the raw networked argument

modSmokeEnabled preserved as-is in get/setVehicleProperties (flagged: the set
path toggles mod 20 without applying a smoke color, matching legacy behavior).

Non-portable substitution documented:
- ESX.PlayerData.ped -> PlayerPedId() (ESX.PlayerData is not available in the lib VM)
2026-06-16 21:03:41 +02:00
ASTROWwwW 3fd3bf7877 feat(esx_lib/interactions): move interactions to xLib 2026-06-16 21:03:41 +02:00
ASTROWwwW ca278be1da feat(esx_lib/points): move points and Point class to xLib
Integrated fixes during the move:
- monotonic handle counter (handleCount) instead of count+1; no handle
  collision after a point is removed
- unified single proximity loop: per-frame inside() plus a 500ms enter/leave
  scan, adaptive Wait(next(insidePoints) and 0 or 500), replacing the previous
  two separate loops
- emptiness detected via next() instead of # on a sparse-keyed table

Non-portable substitutions documented:
- ESX.PlayerData.ped -> PlayerPedId() (ESX.PlayerData is not available in the
  lib VM)
- GetGameTimer() used to gate the 500ms scan within the single loop
2026-06-16 21:03:41 +02:00
ASTROWwwW 6a72181992 feat(esx_lib/scaleform): move scaleform helpers to xLib 2026-06-16 21:03:41 +02:00
ASTROWwwW f4af0d90bd feat(esx_lib/streaming): move streaming request helpers to xLib 2026-06-16 21:03:41 +02:00
SNAILX 14995bb9e6 Merge branch 'esx-framework:esx_lib' into esx_lib 2026-06-15 02:09:51 +01:00
SNAILX d3868429ed Moved esx.table from the core to esx_lib 2026-06-15 02:08:30 +01:00
Kremu a5cf56f672 Merge pull request #1752 from SNAILX808/esx_lib
Refactor keybind registration to use xLib.addKeybind
2026-01-14 16:24:14 +01:00
Kremu 638a60ce7b Merge branch 'esx_lib' into esx_lib 2026-01-14 16:24:01 +01:00
Arctos. 79423f18fc Merge pull request #1758 from SNAILX808/Move-refactor-raycast-functions-esx-lib
(Move/refactor) raycast functions esx lib
2025-11-13 13:48:01 +01:00
Arctos. cae0f546bd Merge branch 'esx_lib' into Move-refactor-raycast-functions-esx-lib 2025-11-13 00:04:37 +01:00
Arctos. 26d57c5d85 Merge pull request #1759 from SNAILX808/Move-refactor-entity-functions-esx-lib
(Move/refactor) entity functions esx lib
2025-11-12 14:37:10 +01:00
SNAILX 9b9b4b3fa4 Move-refactor-entity-functions-esx_lib 2025-11-11 05:52:38 +01:00
SNAILX 109a5c6038 small fixes 2025-11-11 03:31:19 +01:00
SNAILX d908418637 Move-refactor-raycast-functions-esx_lib 2025-11-11 00:57:39 +01:00
Arctos. 2a16ffafb7 Merge pull request #1757 from Zuntie/esx_lib
feat(esx_lib) DUI Implementation
2025-11-09 22:56:33 +01:00
Zuntie 1a27c365b6 fix(esx_lib): changed runtime texture names; tiny performance optimizaion. Working, Finished. 2025-11-09 17:44:52 +01:00
Zuntie edcfa009fb feat(esx_lib): DUI development guidelines compliant 2025-11-09 02:49:24 +01:00
Zuntie 3c20728860 feat(esx_lib): initial DUI addition 2025-11-09 02:44:10 +01:00
zykem#0643 cb41916ad1 refactor(lib/addKeybind) Compat for old core structure 2025-10-30 19:14:24 +01:00
zykem#0643 7ebc92ec0f refactor(lib/keybind) Change args structure 2025-10-30 19:14:08 +01:00
SNAILX fa52482720 Fix keybind command order for proper validation 2025-10-29 01:54:53 +01:00
SNAILX ae19c7cd25 Refactor keybind registration to use xLib.addKeybind 2025-10-28 18:29:36 +01:00
Stane034 5e1445d94a hfix 2025-10-26 21:47:16 +01:00
Stane034 7772bc5277 hotfixes 2025-10-26 21:45:29 +01:00
zykem#0643 f4b951a173 feat(lib/timeout) Type validation for cb function 2025-10-26 15:37:11 +01:00
zykem#0643 fbd11c52fa refactor(lib/waitFor) Use verify instead of AssertType 2025-10-26 15:34:48 +01:00
Stane034 d5f8feafae Moved Timeouts and Await to esx_lib 2025-10-26 00:14:41 +02:00
zykem#0643 0f4b8088a9 refactor(es_extended/fxmanifest) Add compat files to manifest 2025-10-25 19:18:54 +02:00
zykem#0643 165c8530c3 feat: Add shared compat file 2025-10-25 19:18:03 +02:00
zykem#0643 ad7375991d refactor: Change comment in compat files 2025-10-25 19:17:56 +02:00
Stane034 27962a888f made streaming table in xLib 2025-10-25 18:53:09 +02:00
Kremu 54a532baaf Quick fix. 2025-10-25 12:27:47 +02:00
Stane034 b7153d4ffa moved ESX.Streaming to esx_lib 2025-10-25 09:44:06 +02:00
zykem bd30d9f744 Update compat.lua 2025-10-24 22:27:15 +02:00
zykem eee2b643e4 Create compat.lua 2025-10-24 22:26:58 +02:00
zykem 921fd13deb Create compat.lua 2025-10-24 22:26:24 +02:00
Kr3mu 23956e4a7f init 2025-10-23 16:55:17 +02:00