- Duplicate ped selling fix
- Fixed a rare issue where the same ped could be sold to multiple times. Ped sale state is now tracked server-side with
drugSalepending/sold state bags, reserving the ped when the menu opens and marking it used on success, reject, or cancel.
- Fixed a rare issue where the same ped could be sold to multiple times. Ped sale state is now tracked server-side with
- DrugSold metadata parameter
DrugSold()inserver/functions.luanow receives item metadata as a parameter, making it easier for third-party scripts (gang systems, XP hooks, logging, etc.) to read purity, strain, or other item data at sale time.
- Missing metadata F8 warning
- When an item is listed in
Config.Metadatabut the sold item has no metadata (e.g. spawned items), the client now prints a multi-line amber warning in F8 explaining why pricing fell back and what to change in config.
- When an item is listed in
- Weed item name updates
- Updated config item names to match recent changes in the weed script (e.g. plain jane → OG Kush bag items).
- Server-authoritative pricing & sales
- Sale totals are no longer trusted from the client. Quotes are generated and stored on the server, and payment only uses the stored quote at finalize time, closing a price manipulation exploit.
- Open-source price generation
- Price calculation logic is now in
CreateSaleQuote()inserver/functions.lua, so server owners can view and customize how prices, quantities, police risk, rep boosts, and purity metadata affect payouts.
- Price calculation logic is now in
- Removed legacySelling option
- Removed the
legacySellingconfig toggle and its dual code paths. All sales now use the unified server-owned ped reservation and state bag flow.
- Removed the
- Non-networked ped handling
- Selling now requires a networked ped the server can resolve. Local-only or released script-spawned peds no longer show the sell prompt or spam F8 with network ID warnings when interacted with.
- Misc refactors
- Renamed internal sale flow events/callbacks and reformatted some files for readability, and other misc work.
2.3.0
- New Purity Pricing System
- Replaces the three separate
Config.LationCoke,Config.LationMeth, andConfig.LationWeedconfig blocks with a single, unifiedConfig.Metadatatable. Each item now has its own independentprice_per_purity,perfect_bonus, andkey(the metadata field to read the value from). This means weed strains can each have their own unique purity pricing, cocaine and crack can be priced separately, and any item from any script can be given metadata-based pricing - not just Lation Script items. To enable metadata pricing for an item, add it toConfig.Metadata. To disable it and fall back to the fixed min/max price range in the zone drugs table, simply remove it. - Breaking Change: The old
Config.LationCoke,Config.LationMeth, andConfig.LationWeedblocks have been removed. You must replace them with the newConfig.Metadatatable. Refer to the updatedconfig.luafor the new format.
- Replaces the three separate
- Fix
tgiann-inventoryError- Fixed a Lua error (“attempt to perform arithmetic on a nil value”) that could occur when using
tgiann-inventory.
- Fixed a Lua error (“attempt to perform arithmetic on a nil value”) that could occur when using
- New Config Option:
excludeScriptPeds- Added
excludeScriptPedstoConfig.Setup. Whentrue(default), only naturally spawned world/ambient peds can be sold to — this preserves existing behavior. Set tofalseto allow selling interactions on any ped regardless of origin, including peds spawned by other scripts.
- Added
- New Hook:
ItemsClaimed- Added an empty
ItemsClaimed(source, item, quantity)function toserver/functions.lua. This is triggered server-side when a player successfully claims back items that were stolen from them during a robbery. Can be used with XP systems, gang scripts, or any other custom integration. Default behavior is unchanged.
- Added an empty
changed-files
Added tgiann & jaksam inventory support
Config option to revert back to old selling backend
Fixed resource not starting properly on server start up
Config option to revert back to old selling backend
Fixed resource not starting properly on server start up
Fixed multiple players selling to a single ped (its now essentially server-synced, once a ped bought drugs, it no longer wants drugs from anyone)
Added “xpAdded” variable to DrugSold function
Added “xpAdded” variable to DrugSold function
Maintenance release for lation_ui
Fixed robbed coke items returning with no metadata
Added support for lation_coke
Added check for install folder/.sql file(s)
Update to new version checking API
Update docs url(s) to new path
Added check for install folder/.sql file(s)
Update to new version checking API
Update docs url(s) to new path
Add ability to add an iconColor field to drugs
Fix robbed items not returning
Fix robbed items not returning
Added metadata support for weed v3 items to sell based on purity
Fixed default rcore_dispatch implementation
Updated config with new item names and new section
Updated GetPlayerInventory function
Reduced the number of calls to GetData function
Fixed default rcore_dispatch implementation
Updated config with new item names and new section
Updated GetPlayerInventory function
Reduced the number of calls to GetData function
Fixed minor exploit reported today
Remove ped freezing during reject
Add meth prop for ls_meth items
Add meth prop for ls_meth items
Fix meth item not maintaining metadata after robbery
Fix PayPlayer function
Added new config options for lation_meth integration to price meth based on purity
Added new bridge with native support for QBox & ox_core
Added support for Fivemanage & Fivemerr logging systems
Added chance for “silent” police calls to give police more chances to catch sales in progress
Player character is now frozen in place during rejection animation
Fixed stolen items sometimes returning as a different item
Added new bridge with native support for QBox & ox_core
Added support for Fivemanage & Fivemerr logging systems
Added chance for “silent” police calls to give police more chances to catch sales in progress
Player character is now frozen in place during rejection animation
Fixed stolen items sometimes returning as a different item
Fix flawed logic regarding drug quantity minimums
Added ability to lock individual drugs by rep level
Initial v2 release
