Commit Graph

8028 Commits

Author SHA1 Message Date
_Not_ b5cbfb9841 Merge pull request #1856 from seltonmt012/fix/billing-target-length
fix(es_extended): widen the identifier columns that are too short
2026-08-07 21:52:38 -05:00
_Not_ fd2a1a037d Merge pull request #1857 from seltonmt012/fix/multichar-default-skin
fix(esx_multicharacter): correct the chin_3 typo in the default skins
2026-08-07 21:39:21 -05:00
_Not_ 08d83d238d Merge pull request #1859 from rwixy/centralize-admin
feat(commands): centralize admin permissions via Config.AdminGroups
2026-08-07 15:29:24 -05:00
Ihsan 4a22b68511 refactor(commands): simplify group filtering and update deprecation notice for AdminGroups 2026-08-08 00:16:03 +05:30
_Not_ 519d9fe6b2 Merge pull request #1862 from rwixy/ox-inv
refactor(oxinventory): improve inventory module initialization and cleanup
2026-08-06 13:27:35 -05:00
Ihsan 1a430fe604 refactor(ox_inventory): validate module methods and fix hasItem return contract 2026-08-06 23:43:48 +05:30
Ihsan 87003d41aa refactor(oxinventory): improve error handling and streamline inventory functions 2026-08-06 21:17:52 +05:30
Ihsan e85b05558c feat: per-command group permissions for admin commands 2026-08-05 13:54:44 +05:30
_Not_ cedac84504 Merge pull request #1811 from ASTROWwwW/feat/edition-detection
feat(esx_lib): add isEnhanced game edition detection
2026-08-04 18:26:44 -05:00
_Not_ e4887027dd Merge pull request #1861 from rwixy/sql-update
refactor(legacy.sql): consolidate addon_account entries and remove legacy Banker Job SQL
2026-08-04 18:26:15 -05:00
_Not_ 85936f0c4d Merge pull request #1803 from rwixy/medal-lib
feat: integrate Medal.tv globally
2026-08-04 18:21:33 -05:00
Ihsan 3aa3bf27d6 fix(legacy.sql): add missing bank_savings entry to addon_account and remove redundant banker job inserts 2026-08-01 20:52:52 +05:30
Ihsan 9128ad5857 feat(commands): centralize admin permissions via Config.AdminGroups 2026-08-01 20:18:23 +05:30
Selt 760f31eb6c fix(esx_multicharacter): correct the chin_3 typo in the default skins
Both default skins spell the chin width key chin_13. skinchanger only
knows chin_1 through chin_4, so the value never reaches the ped and the
key is stored as junk in users.skin.

It also breaks the ped. SetFace reads every feature through
Normalise(weight, 10), which divides, so a missing chin_3 raises
"attempt to perform arithmetic on a nil value" at feature index 17.
Everything after that in ApplySkin is skipped: the remaining features,
the eye colour, the head overlays, the components and the props.
2026-07-30 01:50:20 +02:00
Selt ad195a6516 fix(es_extended): widen rented_vehicles.owner to hold an identifier
The column is varchar(22), which is a leftover from Steam identifiers.
esx_vehicleshop writes a player identifier into it, and on a
multicharacter server those are 46 characters long, so renting a vehicle
out fails.

The stock vehicle is deleted from cardealer_vehicles before the insert
runs, so the dealer loses the car and the customer never gets a rental
contract. Neither side is told anything, because the handler dies on the
insert.

esx_vehicleshop's own esx_vehicleshop.sql already declares varchar(60).
2026-07-30 01:22:37 +02:00
Selt 6c50d22615 fix(es_extended): widen billing.target to hold an identifier
The column is varchar(40) but esx_billing writes an identifier into it, and
those are 46 characters once multicharacter is on, so the insert fails with
1406 and the handler dies before notifying either player. The other two
identifier columns in the same table are already varchar(60).
2026-07-28 03:06:20 +02:00
zykem 5354e278de Merge pull request #1786 from rock1565/main
fix SQL parameter passing in setProps to save complex modifications
2026-07-27 16:31:59 +02:00
zykem 490a6cbfdd Merge pull request #1809 from ASTROWwwW/fix/esx-lib-resource-name
fix(esx_lib): load imports from the correct resource name
2026-07-27 16:24:05 +02:00
ASTROWwwW 477b71384f fix(esx_lib): load imports from the correct resource name
xLib.name was "xLib", which is not a resource, so the import metatable fed it to LoadResourceFile and resolved nothing. It failed silently on Legacy and hard-errored on Enhanced (Resource 'xLib' not found). Point it at the real resource name.
2026-07-27 00:25:14 +02:00
ASTROWwwW 94002da05b 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.
2026-07-23 20:51:21 +02:00
Ihsan ca597cf6f4 Merge pull request #1805 from rwixy/main
feat(server.cfg): add esx_lib to default resources
2026-07-21 12:30:28 +05:30
Arctos. f331465bbe Merge pull request #1807 from esx-framework/chore/bump-1.14.0
chore: bump manifest version to 1.14.0
2026-07-18 17:01:23 +02:00
ASTROWwwW 511f5fc74e chore: bump manifest version to 1.14.0 2026-07-18 16:58:18 +02:00
Ihsan d80a38c485 feat(server.cfg): add esx_lib to default resources 2026-07-18 15:37:12 +05:30
Ihsan e7788b2bb4 feat: integrate Medal.tv globally 2026-07-18 14:42:02 +05:30
_Not_ 116d045b98 Merge pull request #1801 from esx-framework/1.14.0
feat(esx_lib): upgrade esx_core to 1.14.0
1.14.0
2026-07-17 08:16:34 -05:00
_Not_ e4ec1a66e7 Merge pull request #1802 from ASTROWwwW/fix/xlib-table-clobber
fix(esx_lib): stop the table module from overwriting the stdlib
2026-07-16 23:47:09 -05:00
ASTROWwwW a33913aa41 fix(esx_lib): stop the table module from overwriting the stdlib 2026-07-16 14:51:53 +02:00
_Not_ 915332b092 Fix typo in ESX.Table.SizeOf assignment in compat.lua 2026-07-16 00:58:00 -05:00
_Not_ 9a4c492b51 Add initialization for ESX.Table in compat.lua 2026-07-16 00:55:38 -05:00
_Not_ 48e19810ce Merge remote-tracking branch 'Astro/feat/xlib-waitfor' into 1.14.0 2026-07-15 23:51:13 -05:00
_Not_ 65961a4740 Merge remote-tracking branch 'Astro/feat/esx-lib-pubsub' into 1.14.0 2026-07-15 23:49:28 -05:00
_Not_ 2a303f4e41 Merge remote-tracking branch 'Astro/refactor/move-modules-to-lib' into 1.14.0 2026-07-15 23:48:51 -05:00
_Not_ 51ada6d4f5 Merge remote-tracking branch 'Snail/esx_lib' into 1.14.0 2026-07-15 23:44:49 -05:00
_Not_ 72c13cd08f Merge remote-tracking branch 'Zuntie/esx_lib' into 1.14.0 2026-07-15 23:42:23 -05:00
_Not_ 5cf6a78111 Merge remote-tracking branch 'Stane/esx_lib' 2026-07-15 23:39:44 -05: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
rockDEV 16e33d0d4c 提供更好的SQL处理模式 2026-06-26 00:55:58 +08: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