Files
esx_core/[core]
Selt 7538debb6f fix(es_extended/server/main): add the weapon before restoring its tint and components
esx:giveInventoryItem applies the tint and the components to the receiving
player before calling addWeapon. Both setWeaponTint and addWeaponComponent
start with getWeapon and only proceed when the player already owns the weapon,
and the handler returns early a few lines above if the target does own it - so
at that point the target provably does not, and both calls do nothing.

The result is that handing a weapon to another player silently strips its
attachments and its paint. The pickup path in the same file already adds the
weapon first and then restores tint and components.

The values are snapshotted from the source weapon before any of this, and
removeWeapon already ran before addWeapon, so only the position of the two
restore blocks changes.

Verified on artifact 25770 by running both orders against a loadout:
  tint and component first -> both return false, weapon ends up tint 0 with no
                              components
  addWeapon first          -> both return true, weapon ends up tint 1 with the
                              component attached
2026-07-27 16:17:27 +02:00
..