Agency Docs
QBESXStandalone

Agency-Shops Instalacja

Każdy sklep 24/7, LTD, Rob's Liquor, sklep budowlany, Ammu-Nation i stacja paliw na mapie w jednym skrypcie dla FiveM.

v1.0.0Płatny5 StronyOd October 19, 2026, 20:00 CEST

01Instalacja

  1. 1Extract Agency-Shops into your resources folder
  2. 2Upewnij się, że OneSync jest włączony na Twoim serwerze
  3. 3Add ensure Agency-Shops to server.cfg, after your framework, your inventory and oxmysql
  4. 4Uruchom serwer: tabele w bazie danych utworzą się przy pierwszym starcie (plik install/agency_shop.sql jest potrzebny tylko wtedy, gdy użytkownik bazy nie ma uprawnień do tworzenia tabel)
  5. 5Dodaj add_ace group.admin agency.shop allow, aby nadać administratorom dostęp do panelu /ashops
  6. 6Używasz qb-shops, esx_shops lub sklepów z ox_inventory? Usuń ich wpisy 24/7, inaczej za tą samą ladą stanie dwóch kasjerów
  7. 7Używasz qb-storerobbery lub podobnego skryptu? Wyłącz jeden z nich albo ustaw Config.Robbery.Enabled = false
  8. 8Używasz skryptu paliwa z własnymi dystrybutorami? Wyłącz w nim interakcję z dystrybutorami albo ustaw Config.GasStations.Enabled = false
  9. 9Standalone: uzupełnij Config.Standalone dla pieniędzy i przedmiotów (zobacz stronę konfiguracji)
  10. 10Opcjonalnie: wpisz adresy webhooków Discord w config_server.lua, który nigdy nie jest wysyłany do graczy

02Zależności

  • oxmysql (wymagane)
  • OneSync (wymagane)
  • QBCore, QBox lub ESX (opcjonalnie, działa standalone bez żadnego z nich)
  • Ekwipunek (opcjonalnie: ox_inventory, qs-inventory lub z Twojego frameworka, wykrywany automatycznie)
  • Agency Phone (opcjonalnie, dodaje Agency Pay jako metodę płatności)
  • Agency-Notify (opcjonalnie, w przeciwnym razie sklep wyświetla własne powiadomienia)
  • ox_target lub qb-target (opcjonalnie, w przeciwnym razie używany jest komunikat klawisza)
  • ps-dispatch lub cd_dispatch (opcjonalnie, dla alertów o napadzie i kradzieży, w przeciwnym razie działa alert wbudowany)
  • Skrypt paliwa (opcjonalnie: LegacyFuel, ox_fuel, cdn-fuel, ps-fuel, lc_fuel, Renewed-Fuel, okokGasStation lub qs-fuelstations, w przeciwnym razie działa wbudowany system paliwa)

03Plik SQL

Opcjonalnie: resource tworzy te tabele automatycznie podczas uruchamiania. Zaimportuj ten plik tylko wtedy, gdy konfigurujesz bazę danych ręcznie:

-- ============================================================================= -- 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`) );

+Warto wiedzieć

Agency-Shops działa od razu po dodaniu linijki ensure. Przed pierwszym uruchomieniem warto zwrócić uwagę na cztery kwestie: kolejność uruchamiania, bazę danych, dostęp administratora oraz inne skrypty sklepów, napadów lub paliwa.

Kolejność uruchamiania i OneSync
Umieść ensure Agency-Shops po swoim frameworku, ekwipunku i oxmysql w server.cfg. OneSync musi być włączony, a oxmysql jest wymagany.
Baza danych
Tabele agency_shop_owned, agency_shop_orders, agency_shop_points, agency_shop_ledger, agency_shop_overrides oraz agency_shop_sales są tworzone przy pierwszym uruchomieniu. Plik install/agency_shop.sql jest potrzebny tylko wtedy, gdy użytkownik bazy danych nie ma uprawnień do tworzenia tabel, a opcja Config.AutoApplySql = false wyłącza krok automatyczny.
Dostęp administratora
Administratorzy to gracze z uprawnieniem ACE agency.shop, group.admin lub group.superadmin, albo z grupy z Config.Admin.Groups. Komenda add_ace group.admin agency.shop allow nadaje dostęp do panelu /ashops Twojej grupie administratorów. Na serwerach standalone Config.Standalone.admins zawiera listę licencji.
Inne skrypty sklepów
Usuń wpisy 24/7 ze skryptów qb-shops, esx_shops lub sklepów ox_inventory, inaczej za tą samą ladą stanie dwóch kasjerów. Wyłącz qb-storerobbery i podobne skrypty albo ustaw Config.Robbery.Enabled = false. W przypadku skryptu paliwa z własnymi dystrybutorami wyłącz jego interakcję z dystrybutorami lub ustaw Config.GasStations.Enabled = false.

?Często zadawane pytania

Gdzie trafiają webhooki Discord?

Do pliku config_server.lua, dla sekcji Ownership, Register, Deliveries, Shoplift oraz Robbery. Ten plik nigdy nie jest wysyłany do graczy.

Czy potrzebuję Agency Phone?

Nie. Gdy agency-phone jest uruchomiony, Agency Pay jest automatycznie oferowane przy kasie i przy dystrybutorze. Bez niego gracze płacą gotówką lub kartą.

Nadal nie idzie po tej stronie? Nasze wsparcie przejmuje sprawę.