Skip to main content
Shops Creator emits server events so other resources can react to shop activity, phones, banking, MDTs, tax or loan systems, analytics, without editing the resource. To read shop state on demand, see the Server Exports. Listen for any event with a standard handler:
Every event fires after the change is committed. The event runtime isolates a throwing handler, so a listener that errors never breaks the shop. It does not isolate latency: events are dispatched synchronously, and purchase, sale, deposit and withdraw fire inside a per-player money lock. A slow handler serializes that player’s transactions behind your code, so keep handlers fast and offload heavy work (a timer, a queue, an async call).

lation_shops:purchase

A customer bought items from a shop (fired after payment is taken, items are granted and revenue is credited).
shopRevenue is the intended credit. In the rare event the credit write fails, the purchase still completes and the value reflects intent, not confirmation.

lation_shops:sale

A customer sold items back to a shop (fired after the payout).

lation_shops:ownerChanged

A shop changed hands. Fires on every ownership path, identified by reason.
When a shop changes hands, its staff are wiped without a per-employee event. Treat ownerChanged as a full staff reset.

lation_shops:employeeChanged

A shop’s staff changed, identified by action.
updated is a role or permission change; compensation is a commission change.

lation_shops:balanceChanged

A shop’s balance moved. This is a catch-all: every balance movement emits exactly one event, so it fires alongside the richer events above (for example, a purchase emits both purchase and balanceChanged).
Common reason tags: sale_revenue, deposit, withdraw, stock_order, purchase_reset. Moves without a tag carry reason = nil.

lation_shops:orderPlaced

A restock order was placed (manual or auto-restock).

lation_shops:orderDelivered

A restock order was delivered and its stock applied.
Want an event we don’t emit yet? Contact us and we’ll do what we can!