Installation Guide
Welcome to the **Z-Store** setup guide for your FiveM server using QBCore. Follow the steps carefully to ensure everything works smoothly
β οΈ Important Notice
Do not rename the resource folder! Renaming the resource fromz-notaryjob
will break functionality
π¦ Required Items
Add the following items to your qb-core/shared/items.lua
:
["notary_tablet"] = {
name = "notary_tablet",
label = "Notary Tablet",
weight = 500,
type = "item",
image = "notary_tablet.png",
unique = false,
useable = true,
description = "A tablet used for notary purposes."
},
["vehicle_contract"] = {
name = "vehicle_contract",
label = "Vehicle Contract Document",
weight = 50,
type = "item",
image = "contract.png",
unique = true,
useEvent = "notary:getDocument",
description = "A notarized vehicle transfer document."
},
["house_contract"] = {
name = "house_contract",
label = "House Contract",
weight = 50,
type = "item",
image = "contract.png",
unique = true,
useEvent = "notary:gethouseDocument",
description = "A notarized house transfer document."
},
π’ Add Notary Job
Insert this job configuration into qb-core/shared/jobs.lua
:
['notary'] = {
label = 'Notary',
defaultDuty = false,
offDutyPay = false,
grades = {
['0'] = { name = 'Stagiaire', payment = 280 },
['1'] = { name = 'Worker', payment = 300 },
['2'] = { name = 'Conseille', payment = 320 },
['3'] = { name = 'Superviseur', payment = 340 },
['4'] = { name = 'Manager', isboss = true, payment = 360 },
['5'] = { name = 'Owner', isboss = true, payment = 400 },
['6'] = { name = 'Admin', isboss = true, payment = 0 },
},
},
πΌοΈ Inventory Images
Copy all images from the resource folder :
html/inv_imgs
β Paste them into your inventory scriptβs image folder.
Make sure filenames match the image names defined in the items above
π§ Required Dependencies
Install the following required resources: https://github.com/overextended/ox_lib https://github.com/citizenfx/screenshot-basic Make sure these are up-to-date for best compatibility
π₯ Installation Steps
Once dependencies are installed: 1. Run the SQL file included in the resource :
CREATE TABLE IF NOT EXISTS `notary_rental_stock` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`vehicle_model` varchar(50) NOT NULL,
`count` int(11) NOT NULL DEFAULT 0,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
CREATE TABLE IF NOT EXISTS `rented_vehicles` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`citizenid` varchar(50) DEFAULT NULL,
`vehicle_model` varchar(50) DEFAULT NULL,
`rent_time` int(11) DEFAULT NULL,
`end_time` int(11) DEFAULT NULL,
`rented_by` varchar(50) DEFAULT NULL,
`plate` varchar(10) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=65 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
CREATE TABLE IF NOT EXISTS `notary_vehicles` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`vehicle_model` varchar(50) NOT NULL,
`count` int(11) NOT NULL DEFAULT 0,
PRIMARY KEY (`id`),
UNIQUE KEY `unique_vehicle_model` (`vehicle_model`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
CREATE TABLE transferred_vehicles (
id INT AUTO_INCREMENT PRIMARY KEY,
contract_id VARCHAR(50) NOT NULL UNIQUE,
plate VARCHAR(15) NOT NULL,
seller_cid VARCHAR(50) NOT NULL,
buyer_cid VARCHAR(50) NOT NULL,
seller_name VARCHAR(100) NOT NULL,
buyer_name VARCHAR(100) NOT NULL,
notary_name VARCHAR(100) NOT NULL,
sale_date DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
payment_method VARCHAR(50) NOT NULL,
vehicle_model VARCHAR(100) NOT NULL,
sell_price DECIMAL(10, 2) NOT NULL,
tax_amount DECIMAL(10, 2) NOT NULL
);
CREATE TABLE IF NOT EXISTS `transferred_houses` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`house_contract_id` VARCHAR(50) NOT NULL UNIQUE,
`house_name` varchar(255) NOT NULL,
`seller_cid` varchar(255) NOT NULL,
`buyer_cid` varchar(255) NOT NULL,
`seller_name` varchar(100) NOT NULL,
`buyer_name` varchar(100) NOT NULL,
`notary_name` varchar(100) NOT NULL,
`payment_method` varchar(50) NOT NULL,
`sale_price` decimal(15,2) NOT NULL,
`tax` decimal(15,2) NOT NULL,
`transfer_date` datetime NOT NULL,
PRIMARY KEY (`id`),
KEY `house_name` (`house_name`),
KEY `seller_cid` (`seller_cid`),
KEY `buyer_cid` (`buyer_cid`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
CREATE TABLE vehicle_sale_contracts (
id INT AUTO_INCREMENT PRIMARY KEY,
plate VARCHAR(15) NOT NULL,
seller_cid VARCHAR(50) NOT NULL,
buyer_cid VARCHAR(50) NOT NULL,
seller_name VARCHAR(100) NOT NULL,
buyer_name VARCHAR(100) NOT NULL,
notary_name VARCHAR(100) NOT NULL,
sale_date DATETIME NOT NULL,
payment_method VARCHAR(50) NOT NULL,
sell_price DECIMAL(10, 2) NOT NULL,
tax_amount DECIMAL(10, 2) NOT NULL,
contract_html TEXT NOT NULL
);
CREATE TABLE vehicle_registrations (
id INT AUTO_INCREMENT PRIMARY KEY,
citizen_id VARCHAR(50) NOT NULL,
seller_name VARCHAR(255) NOT NULL,
seller_phone VARCHAR(50) NOT NULL,
vehicle_model VARCHAR(255) NOT NULL,
vehicle_upgrades TEXT NOT NULL,
vehicle_type VARCHAR(50) NOT NULL,
price DECIMAL(15, 2) NOT NULL,
notary_name VARCHAR(255) NOT NULL,
image_url VARCHAR(255) NOT NULL,
timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
Configure
Config.lua
for basic settingsEdit
server/sv_utils.lua
to customize your server functions if neededSet Discord webhooks inside
server/webhooks.lua
In your
server.cfg
, ensure the resources are loaded in this order: ensure qb-core ensure ox_lib ensure z-notaryjob Placeensure z-notaryjob
at the end to ensure all dependencies are loaded first
Last updated