Skip to content
Atlas

From QBCore — easiest map

QB patterns → Atlas facades, with pictures. Not a fork — a clean remount.

Atlas inventory surface

What changes (30-second view)

QBCore habitAtlas way
QBCore.Functions.GetPlayer(src)Atlas.Players.Get(src)
Player.Functions.AddMoney('cash', n)Atlas.Money.Add(src, 'cash', n)
Player.Functions.RemoveMoney(...)Atlas.Money.Remove(src, 'cash', n)
exports['qb-inventory']:AddItem / ox digsAtlas.Inventory.Add(src, item, count)
QBCore.Functions.HasPermission / ace mixAtlas.Permissions.Has(src, 'perm')
Player.PlayerData.jobAtlas.Jobs.Get(src)
Client-trusted money eventsNever — server validates everything

Atlas is not QBCore with a paint job. Remount scripts onto Atlas.* contracts.

Easiest path

  1. Ensure atlas_core + atlas_inventory before your resource.
  2. Add shared_script '@atlas_core/imports.lua'.
  3. Replace money / item / job calls with the table above.
  4. Keep gameplay events resource-scoped (myjob:server:*).
  5. Test with atlas_health + one happy-path purchase.

Mini rewrite

QB-ish

lua
local Player = QBCore.Functions.GetPlayer(src)
Player.Functions.RemoveMoney('cash', 50)
exports.ox_inventory:AddItem(src, 'water', 1)

Atlas

lua
if not Atlas.Money.Remove(src, 'cash', 50) then return end
local r = Atlas.Inventory.Add(src, 'water', 1)
if not r.ok then
    Atlas.Money.Add(src, 'cash', 50)
end

Atlas HUD

Multichar / spawn

QB multichar / spawn selectors → use Atlas multichar + spawn selector. Don’t paste old client coord trust.

See also: Creating a Resource · Exports & API