Agency Docs
QBESXStandalone

Agency-Shops Installation

Chaque 24/7, LTD, Rob's Liquor, quincaillerie, Ammu-Nation et station-service de la carte dans un seul script.

v1.0.0Payant5 PagesÀ partir du October 19, 2026, 20:00 CEST

01Installation

  1. 1Extract Agency-Shops into your resources folder
  2. 2Assurez-vous que OneSync est activé sur votre serveur
  3. 3Add ensure Agency-Shops to server.cfg, after your framework, your inventory and oxmysql
  4. 4Démarrez le serveur: les tables de base de données sont créées au premier démarrage (install/agency_shop.sql est requis uniquement si votre utilisateur de base de données ne peut pas créer de tables)
  5. 5Ajoutez add_ace group.admin agency.shop allow pour donner accès aux admins au panneau /ashops
  6. 6Vous utilisez qb-shops, esx_shops ou les boutiques ox_inventory? Supprimez leurs entrées 24/7, sinon deux caissiers se trouveront derrière le même comptoir
  7. 7Vous utilisez qb-storerobbery ou un script similaire? Désactivez l'un d'eux, ou définissez Config.Robbery.Enabled = false
  8. 8Vous utilisez un script de carburant avec ses propres pompes? Désactivez ses interactions de pompe, ou définissez Config.GasStations.Enabled = false
  9. 9Standalone: complétez Config.Standalone pour l'argent et les objets (voir la page de configuration)
  10. 10Optionnel: placez vos adresses de webhook Discord dans config_server.lua, qui n'est jamais envoyé aux joueurs

02Dépendances

  • oxmysql (requis)
  • OneSync (requis)
  • QBCore, QBox ou ESX (facultatif, fonctionne en standalone sans framework)
  • Un inventaire (optionnel: ox_inventory, qs-inventory ou celui de votre framework, détecté automatiquement)
  • Agency Phone (optionnel, ajoute Agency Pay comme moyen de paiement)
  • Agency-Notify (optionnel, sinon le magasin affiche ses propres messages)
  • ox_target ou qb-target (optionnel, sinon l'invite de touche est utilisée)
  • ps-dispatch ou cd_dispatch (optionnel, pour les alertes de braquage et de vol à l'étalage, sinon une alerte intégrée est utilisée)
  • Un script de carburant (optionnel: LegacyFuel, ox_fuel, cdn-fuel, ps-fuel, lc_fuel, Renewed-Fuel, okokGasStation ou qs-fuelstations, sinon le système de carburant intégré fonctionne)

03Fichier SQL

Optionnel : la ressource crée ces tables elle-même au démarrage. N'importez ce fichier que si vous préparez la base de données à la main :

-- ============================================================================= -- AGENCY SHOP - database tables -- Created automatically on start (Config.AutoApplySql = true). Run this file by -- hand only if your database user may not create tables. -- ============================================================================= CREATE TABLE IF NOT EXISTS `agency_shop_owned` ( `id` VARCHAR(64) NOT NULL, `kind` VARCHAR(16) NOT NULL DEFAULT 'store', `owner` VARCHAR(80) NOT NULL, `owner_name` VARCHAR(120) NOT NULL DEFAULT '', `name` VARCHAR(60) NULL DEFAULT NULL, `balance` INT NOT NULL DEFAULT 0, `prices` LONGTEXT NULL, `stock` LONGTEXT NULL, `staff` LONGTEXT NULL, `fuel` INT NOT NULL DEFAULT 0, `fuel_prices` LONGTEXT NULL, `sales_total` INT NOT NULL DEFAULT 0, `revenue_total` BIGINT NOT NULL DEFAULT 0, `last_sale` TIMESTAMP NULL DEFAULT NULL, `bought_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`), KEY `owner` (`owner`) ); CREATE TABLE IF NOT EXISTS `agency_shop_orders` ( `id` INT NOT NULL AUTO_INCREMENT, `shop` VARCHAR(64) NOT NULL, `kind` VARCHAR(16) NOT NULL DEFAULT 'goods', `items` LONGTEXT NULL, `crates` INT NOT NULL DEFAULT 0, `litres` INT NOT NULL DEFAULT 0, `cost` INT NOT NULL DEFAULT 0, `fee` INT NOT NULL DEFAULT 0, `status` VARCHAR(16) NOT NULL DEFAULT 'open', `courier` VARCHAR(80) NULL DEFAULT NULL, `courier_name` VARCHAR(120) NULL DEFAULT NULL, `eta` INT NULL DEFAULT NULL, `created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`), KEY `shop` (`shop`), KEY `status` (`status`) ); CREATE TABLE IF NOT EXISTS `agency_shop_points` ( `id` INT NOT NULL AUTO_INCREMENT, `shop` VARCHAR(64) NOT NULL, `kind` VARCHAR(16) NOT NULL, `x` DOUBLE NOT NULL, `y` DOUBLE NOT NULL, `z` DOUBLE NOT NULL, `h` DOUBLE NOT NULL DEFAULT 0, `category` VARCHAR(40) NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `shop` (`shop`) ); CREATE TABLE IF NOT EXISTS `agency_shop_ledger` ( `id` INT NOT NULL AUTO_INCREMENT, `shop` VARCHAR(64) NOT NULL, `kind` VARCHAR(24) NOT NULL, `amount` INT NOT NULL DEFAULT 0, `note` VARCHAR(160) NULL DEFAULT NULL, `created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`), KEY `shop` (`shop`) ); -- What admins change with /ashops: catalogs and store settings, laid over config.lua. CREATE TABLE IF NOT EXISTS `agency_shop_overrides` ( `kind` VARCHAR(16) NOT NULL, `id` VARCHAR(64) NOT NULL, `data` LONGTEXT NULL, `updated_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`kind`, `id`) ); -- Every sale of an owned store or station, line by line: the owner's analytics. CREATE TABLE IF NOT EXISTS `agency_shop_sales` ( `id` INT NOT NULL AUTO_INCREMENT, `shop` VARCHAR(64) NOT NULL, `sale` VARCHAR(24) NOT NULL, `item` VARCHAR(64) NOT NULL, `qty` INT NOT NULL DEFAULT 0, `amount` INT NOT NULL DEFAULT 0, `account` VARCHAR(16) NOT NULL DEFAULT 'cash', `created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`), KEY `shop_time` (`shop`, `created_at`) );

+Bon à savoir

Agency-Shops fonctionne dès l'ajout de la ligne ensure. Quatre points méritent d'être vérifiés avant le premier démarrage: l'ordre de démarrage, la base de données, l'accès admin et les autres scripts de boutique, de braquage ou de carburant.

Ordre de démarrage et OneSync
Placez ensure Agency-Shops après votre framework, votre inventaire et oxmysql dans server.cfg. OneSync doit être activé et oxmysql est requis.
Base de données
Les tables agency_shop_owned, agency_shop_orders, agency_shop_points, agency_shop_ledger, agency_shop_overrides et agency_shop_sales sont créées au premier démarrage. install/agency_shop.sql est uniquement requis si votre utilisateur de base de données ne peut pas créer de tables, et Config.AutoApplySql = false désactive cette étape automatique.
Accès administrateur
Les administrateurs sont les joueurs disposant de l'ACE agency.shop, group.admin ou group.superadmin, ou d'un groupe défini dans Config.Admin.Groups. add_ace group.admin agency.shop allow accorde l'accès au panneau /ashops à votre groupe d'administration. Sur les serveurs autonomes, Config.Standalone.admins liste les licences.
Autres scripts de magasins
Supprimez les entrées 24/7 de qb-shops, esx_shops ou des magasins de ox_inventory, sinon deux caissiers apparaîtront derrière le même comptoir. Désactivez qb-storerobbery et les scripts similaires, ou définissez Config.Robbery.Enabled = false. Pour un script de carburant disposant de ses propres pompes, désactivez l'interaction avec ses pompes ou définissez Config.GasStations.Enabled = false.

?Questions fréquentes

Où vont les webhooks Discord ?

Dans config_server.lua, pour Propriété, Caisse, Livraisons, Vol à l'étalage et Braquage. Ce fichier n'est jamais envoyé aux joueurs.

Ai-je besoin de Agency Phone ?

Non. Si agency-phone est lancé, Agency Pay est proposé automatiquement à la caisse et à la pompe. Sans cela, les joueurs paient en liquide ou par carte.

Toujours bloqué après cette page ? Notre support prend le relais.