Shop PvP
Boutique PvP complète avec système d'achat d'armes et équipements
Description
CN-ShopPVP est un système complet de boutique d'armes PvP pour QB-Core avec intégration QS-Inventory, incluant des vendeurs NPC, une gestion de stock en temps réel et une interface NUI moderne.
Fonctionnalités principales :
- Emplacements de boutiques multiples - Boutiques d'armes configurables avec NPCs et inventaires uniques
- Gestion de stock en temps réel - Système de réapprovisionnement automatique avec minuteries configurables
- Interface NUI moderne - Interface de boutique élégante et responsive avec images d'armes
- Système de paiement en espèces - Intégré avec le système d'argent de QB-Core
- Filtrage par catégories - Items organisés par catégories (armes, munitions, armures, etc.)
- Fonctionnalité de recherche - Recherche rapide d'items dans la boutique
- Système de revente - Les joueurs peuvent revendre des items aux boutiques à 60% de la valeur
- Commandes admin - Réapprovisionnement manuel et gestion des boutiques
- Intégration QB-Target - Support optionnel de qb-target pour les interactions NPC
Installation
Prérequis
Assurez-vous d'avoir les ressources suivantes installées :
- qb-core - Framework QB-Core
- qs-inventory - Système d'inventaire
- qb-target (optionnel) - Pour les interactions NPC
Étapes d'installation :
- Téléchargez et extrayez : Placez le dossier
cn-shoppvpdans votre répertoireresources - Ajoutez dans server.cfg :
ensure cn-shoppvp
Images d'armes
Ajoutez les images d'armes dans le répertoire nui/images/ :
- Format : PNG ou JPG
- Nommage : Utilisez le nom exact de l'item (ex:
weapon_pistol.png) - Taille recommandée : 256x256 pixels
Structure des fichiers
cn-shoppvp/
├── client/
│ ├── main.lua # Logique client principale
│ └── npc.lua # Spawn et interaction des NPCs
├── server/
│ ├── main.lua # Logique serveur de la boutique
│ └── stock.lua # Système de gestion de stock
├── nui/
│ ├── index.html # Interface de la boutique
│ ├── style.css # Styles de l'interface
│ ├── script.js # Fonctionnalités de l'interface
│ └── images/ # Répertoire des images d'armes
├── config.lua # Fichier de configuration
├── fxmanifest.lua # Manifest de la ressource
└── README.md # Documentation
Configuration
Configuration de la boutique
Éditez config.lua pour personnaliser :
- Emplacements des boutiques et NPCs
- Prix des items et niveaux de stock
- Minuteries de réapprovisionnement
- Pourcentages de revente
Ajouter de nouvelles boutiques
Config.Shops['new_shop'] = {
label = 'Nouvelle Boutique d\'Armes',
coords = vector3(x, y, z),
npc = {
model = 'npc_model',
coords = vector4(x, y, z, heading),
scenario = 'WORLD_HUMAN_GUARD_STAND'
},
items = {
['weapon_name'] = {
name = 'weapon_name',
label = 'Nom de l\'Arme',
price = 1000,
stock = 25,
maxStock = 50,
category = 'weapons',
image = 'weapon_name.png'
}
}
}
Emplacements de boutiques par défaut
- Black Market Weapons - Zone de Legion Square
- Coordonnées :
844.35, -1033.25, 28.19 - Items : Armes de base et munitions
- Coordonnées :
- Underground Arsenal - Sandy Shores
- Coordonnées :
-1117.32, 2698.61, 18.55 - Items : Armes avancées et munitions spécialisées
- Coordonnées :
Utilisation
Commandes Admin
/restockshop [shopid]- Réapprovisionner manuellement une boutique spécifique (Admin uniquement)
Exports Client
-- Ouvrir une boutique spécifique
exports['cn-shoppvp']:OpenShop(shopId)
-- Fermer la boutique actuelle
exports['cn-shoppvp']:CloseShop()
-- Vérifier si une boutique est ouverte
local isOpen = exports['cn-shoppvp']:IsShopOpen()
Exports Serveur
-- Obtenir le stock d'une boutique
local stock = exports['cn-shoppvp']:GetShopStock(shopId, itemName)
-- Définir le stock d'une boutique
exports['cn-shoppvp']:SetShopStock(shopId, itemName, amount)
Personnalisation
Ajouter des images d'armes
- Placez les images dans le répertoire
nui/images/ - Nommez les fichiers exactement comme le nom de l'item (ex:
weapon_pistol.png) - Taille recommandée : 256x256 pixels
- Formats supportés : PNG, JPG
Modifier le système de stock
- Minuterie de réapprovisionnement : Modifiez
Config.RestockTime(en minutes) - Stock maximum : Ajustez
Config.MaxStockou lemaxStockindividuel de chaque item - Taux de revente : Modifiez
Config.SellBackPercentage(par défaut 60%)
Mode Debug
Activez le mode debug dans la configuration :
Config.Debug = true
Dépannage
Problèmes courants
- NPCs ne spawnent pas : Vérifiez les coordonnées et les noms de modèles dans la configuration
- Images ne se chargent pas : Vérifiez que les noms d'images correspondent exactement aux noms d'items
- La boutique ne s'ouvre pas : Assurez-vous que qb-target est installé si
Config.UseTarget = true
Vérifications
- Vérifiez que toutes les dépendances sont installées (qb-core, qs-inventory)
- Vérifiez que la ressource est bien démarrée dans server.cfg
- Activez le mode debug pour voir les messages d'erreur
Support
Pour toute question ou problème, contactez-nous via Discord.