Agency Docs
QBESXStandalone

Agency-Banking Instalacja

Kompletny bank dla FiveM działający na QBCore, Qbox, ESX lub w pełni standalone.

v1.3.1Płatny6 Strony

01Instalacja

  1. 1Umieść Agency-Banking w folderze resources
  2. 2Dodaj ensure Agency-Banking do server.cfg, po oxmysql i twoim frameworku
  3. 3Uruchom resource: każda tabela i kolumna tworzy się automatycznie, agency_banking.sql służy wyłącznie do instalacji ręcznej
  4. 4Dostosuj config.lua: język, wygląd, framework, konta standalone, warunki lokat terminowych i lokalizacje
  5. 5Opcjonalnie: add_ace group.admin agency.banking allow dla uprawnień administratora, takich jak /openbank
  6. 6Aktualizacja ze starszej wersji: zrób kopię zapasową wartości konfiguracyjnych, użyj nowego config.lua i zrestartuj zasób. Konta, karty i lokaty pozostają w bazie danych.

02Zależności

  • oxmysql (wymagane)
  • QBCore, Qbox lub ESX (opcjonalnie, wykrywane automatycznie, działa standalone bez żadnego z nich)
  • qb-target lub ox_target (opcjonalnie, w przeciwnym razie markery z [E])
  • agency-phone (opcjonalnie, współdzieli portfel standalone i aktualne ceny rynkowe)
  • Agency-Notify (opcjonalnie)

03Plik SQL

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

-- ============================================================================= -- Agency Banking: database schema -- ----------------------------------------------------------------------------- -- You do NOT have to import this file. The resource creates every table and -- every missing column by itself on start (MariaDB and MySQL 8). -- It is here for servers that prefer to set up the database by hand. -- ============================================================================= CREATE TABLE IF NOT EXISTS `agency_transactions` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `identifier` VARCHAR(60) NOT NULL, `type` VARCHAR(50) NOT NULL, -- deposit, withdraw, transfer, fixed_deposit, card_added, ... `amount` DECIMAL(15,2) NOT NULL, `target_identifier` VARCHAR(60) DEFAULT NULL, `reason` VARCHAR(255) DEFAULT NULL, `date` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`), KEY `identifier` (`identifier`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; CREATE TABLE IF NOT EXISTS `agency_cards` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `identifier` VARCHAR(60) NOT NULL, `card_number` VARCHAR(16) NOT NULL, `card_pin` VARCHAR(4) NOT NULL, `card_type` VARCHAR(50) DEFAULT 'Visa', `card_color` VARCHAR(50) DEFAULT 'ultra-blue', `is_active` TINYINT(1) DEFAULT 1, `card_name` VARCHAR(50) DEFAULT 'Main Account', `card_holder` VARCHAR(50) DEFAULT 'Card Holder', PRIMARY KEY (`id`), KEY `identifier` (`identifier`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; CREATE TABLE IF NOT EXISTS `agency_fixed_deposits` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `identifier` VARCHAR(60) NOT NULL, `amount` DECIMAL(15,2) NOT NULL, `interest_rate` FLOAT NOT NULL, `duration_days` INT(11) NOT NULL, `start_date` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, `end_date` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, `is_claimed` TINYINT(1) DEFAULT 0, `source` VARCHAR(16) NOT NULL DEFAULT 'bank', -- 'bank' = paid out by the bank, 'phone' = a copy of an Agency Phone wallet deposit `external_ref` VARCHAR(64) DEFAULT NULL, -- the phone's own id for a 'phone' deposit PRIMARY KEY (`id`), KEY `identifier` (`identifier`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; CREATE TABLE IF NOT EXISTS `agency_atm_pins` ( `identifier` VARCHAR(60) NOT NULL, `pin` VARCHAR(4) NOT NULL, PRIMARY KEY (`identifier`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; -- Standalone only (no QBCore / Qbox / ESX): balance and cash per Rockstar licence. CREATE TABLE IF NOT EXISTS `agency_bank_accounts` ( `identifier` VARCHAR(60) NOT NULL, `bank` DECIMAL(15,2) NOT NULL DEFAULT 0, `cash` DECIMAL(15,2) NOT NULL DEFAULT 0, `created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`identifier`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; -- Standalone and ESX only: the stock and crypto portfolio. The same table Agency -- Phone and Agency Pad use; on QBCore / Qbox the portfolio lives in the -- character's metadata instead. CREATE TABLE IF NOT EXISTS `agency_phone_settings` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `identifier` VARCHAR(60) NOT NULL, `setting_key` VARCHAR(60) NOT NULL, `setting_value` TEXT DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `identifier_key` (`identifier`, `setting_key`), KEY `identifier` (`identifier`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; -- Agency Companion app (created by server/companion.lua as well). CREATE TABLE IF NOT EXISTS `agency_banking_cmp_meta` ( `k` VARCHAR(64) NOT NULL PRIMARY KEY, `v` TEXT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; CREATE TABLE IF NOT EXISTS `agency_banking_cmp_devices` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `identifier` VARCHAR(60) NOT NULL, `player_name` VARCHAR(80) DEFAULT NULL, `token_hash` CHAR(64) NOT NULL, `device_name` VARCHAR(64) DEFAULT NULL, `created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, `last_seen` TIMESTAMP NULL DEFAULT NULL, `revoked` TINYINT(1) NOT NULL DEFAULT 0, PRIMARY KEY (`id`), UNIQUE KEY `token_hash` (`token_hash`), KEY `identifier` (`identifier`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

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