1

Base de données

Importez le fichier SQL dans votre base de données MySQL (via phpMyAdmin, HeidiSQL ou CLI) :

SQL
source sql/install.sql

Ce fichier crée automatiquement les 5 tables nécessaires et insère les véhicules + points de location par défaut.

2

Placer la resource

Copiez le dossier perfect_rentals dans vos resources :

resources/[addons]/perfect_rentals/
3

server.cfg

Ajoutez dans votre server.cfg :

ensure perfect_rentals
Important : cette ligne doit être placée après les dépendances (oxmysql, ox_lib, es_extended / qb-core).
4

Configuration de base

Ouvrez config.lua et modifiez les 3 lignes essentielles :

config.lua
Config.Framework    = 'esx'          -- 'esx', 'qbcore' ou 'standalone'
Config.TargetSystem = 'ox_target'    -- 'ox_target', 'qtarget' ou 'none'
Config.Locale       = 'fr'           -- 'fr' ou 'en'
Consultez la page Configuration pour le détail complet de toutes les options.
5

Item contract

Le joueur reçoit un item contract dans son inventaire à chaque location. Ajoutez-le selon votre système d'inventaire :

ESX (base de données)

SQL
INSERT INTO items (name, label, weight, rare, can_remove)
VALUES ('contract', 'Contract', 1, 0, 1);

QBCore (qb-core/shared/items.lua)

Lua
contract = {
    name        = 'contract',
    label       = 'Contract',
    weight      = 1,
    type        = 'item',
    image       = 'contract.png',
    unique      = false,
    useable     = true,
    shouldClose = true,
    combinable  = nil,
    description = 'Contrat de location — Utilisez pour montrer'
}

ox_inventory (data/items.lua)

Lua
["contract"] = {
    label  = "Contract",
    weight = 1,
    stack  = true,
    close  = true
},

Quasar Inventory

Lua
["contract"] = {
    name        = 'contract',
    label       = 'Contract',
    weight      = 1,
    type        = 'item',
    image       = 'contract.png',
    unique      = false,
    useable     = true,
    shouldClose = true,
    description = 'Contrat de location — Utilisez pour montrer'
}
L'item est donné automatiquement à la signature et retiré à la restitution (ou retour forcé admin).
6

Démarrer le serveur

Redémarrez votre serveur ou exécutez ensure perfect_rentals dans la console. Vous devriez voir :

[perfect_rentals] Loaded 22 vehicles, 2 locations.
C'est prêt ! Rendez-vous à l'un des points de location pour tester.