Dépendances et Librairies
Documentation des dépendances essentielles utilisées par le serveur.
Vue d'Ensemble
Ces ressources sont obligatoires pour le bon fonctionnement du serveur. Elles fournissent des utilitaires, menus, et fonctionnalités de base.
BCC Utils
Description
Librairie d'utilitaires pour les scripts BCC.
Fonctionnalités
- ✅ Version checker automatique
- ✅ Helpers pour scripts
- ✅ Fonctions communes BCC
- ✅ Intégration Discord
- ✅ Gestion d'erreurs
Services Fournis
Version Checker
Vérifie automatiquement les updates disponibles pour les scripts BCC.
-- Les scripts BCC vérifient automatiquement les versions
-- Logs dans console serveur
Discord Integration
Permet l'intégration Discord pour les logs et webhooks.
-- Utilisation dans un script
exports['bcc-utils']:Discord(webhook, title, message, color)
Configuration
Fichier: bcc-utils/server/helpers/setup.lua
Dépendances
Aucune (ressource de base)
BCC Minigames
Description
Collection de mini-jeux pour scripts interactifs.
Mini-jeux Disponibles
🎯 Lockpicking
Mini-jeu de crochetage de serrure.
-- Lancer le mini-jeu côté client
exports['bcc-minigames']:Lockpicking(difficulty, callback)
Difficulté: easy, medium, hard
🎪 Circle Game
Jeu de timing circulaire.
exports['bcc-minigames']:CircleGame(speed, callback)
📍 KeyPress
Jeu de pression de touches.
exports['bcc-minigames']:KeyPress(keys, time, callback)
Usage dans Scripts
-- Exemple: Lockpicking
TriggerEvent('bcc-minigames:LockpickingStart', 'medium', function(success)
if success then
-- Succès
else
-- Échec
end
end)
Configuration
Fichier: bcc-minigames/server/main.lua
Dépendances
- vorp_core
BCC Crypt
Description
Système de cryptage pour sécuriser les données sensibles.
Fonctionnalités
- ✅ Cryptage AES
- ✅ Hash sécurisé
- ✅ Génération de clés
- ✅ API simple
Utilisation
Crypter une Chaîne
local encrypted = exports['bcc-crypt']:Encrypt(data, key)
Décrypter une Chaîne
local decrypted = exports['bcc-crypt']:Decrypt(encryptedData, key)
Hash
local hashed = exports['bcc-crypt']:Hash(data)
Usage Typique
- Mots de passe
- Données sensibles en base de données
- Communications sécurisées
Configuration
Fichier: bcc-crypt/server/api.lua
Dépendances
Aucune (librairie standalone)
Feather Menu
Description
Système de menu moderne et performant utilisé par les scripts BCC.
Fonctionnalités
- ✅ Interface intuitive
- ✅ Sous-menus
- ✅ Sliders
- ✅ Inputs
- ✅ Listes déroulantes
- ✅ Customisation complète
Création de Menu
-- Côté client
local MyMenu = FeatherMenu:RegisterMenu('my_menu', {
top = '5%',
left = '5%',
['720width'] = '500px',
['1080width'] = '600px',
['2kwidth'] = '700px',
['4kwidth'] = '900px',
style = {
['background-color'] = '#1a1a1a'
}
})
Ajouter des Éléments
Bouton Simple
MyMenu:AddButton({
label = "Mon Bouton",
OnClick = function()
print("Cliqué!")
end
})
Slider
MyMenu:AddSlider({
label = "Volume",
min = 0,
max = 100,
value = 50,
OnChange = function(value)
-- Valeur changée
end
})
Input
MyMenu:AddInput({
label = "Nom",
placeholder = "Entrez votre nom",
OnInput = function(input)
-- Input reçu
end
})
Navigation
- Navigation clavier supportée
- Pas de clic souris dans certains menus BCC
- Flèches gauche/droite pour navigation
Configuration
Fichier: feather-menu/server/main.lua
Dépendances
Aucune (librairie standalone)
Feather Progressbar
Description
Barres de progression visuelles pour actions chronométrées.
Fonctionnalités
- ✅ Personnalisable
- ✅ Animations
- ✅ Pourcentage visible
- ✅ Annulable
- ✅ Callbacks
Utilisation
-- Côté client
exports['feather-progressbar']:Start({
name = "action_name",
label = "Action en cours...",
duration = 5000, -- millisecondes
icon = "fa-icon",
color = "rgb(255, 255, 255)",
canCancel = true,
OnFinish = function()
-- Action terminée
end,
OnCancel = function()
-- Action annulée
end
})
Exemples d'Usage
- Craft d'items
- Réparations
- Minage/Cueillette
- Interactions longues
Configuration
Styles et couleurs customisables via CSS.
Dépendances
Aucune (librairie UI)
Fred Metabolism
Description
Système complet de métabolisme et besoins des joueurs.
Fonctionnalités
- ✅ Faim et soif
- ✅ Alcoolémie
- ✅ Stress
- ✅ Température corporelle
- ✅ Cores (santé, stamina)
- ✅ Effets visuels
Système de Cores
Health Cores
- Inner Core - Santé de base
- Outer Core - Santé actuelle
- Gold Core - Bonus temporaire
Stamina Cores
- Inner Core - Stamina de base
- Outer Core - Stamina actuelle
- Gold Core - Boost temporaire
Configuration des Items
Fichier: fred_metabolism/config/items.lua
{
dbName = "apple",
displayName = "Pomme",
hunger = 20,
thirst = 20,
metabolism = 10,
alcohol = 0,
stress = -15,
animation = "eat",
propName = "p_apple02x",
VFX = nil
}
Effets d'Alcool
Niveaux d'alcoolémie:
- 0-25 - Légèrement éméché
- 25-50 - Ivre
- 50-75 - Très ivre
- 75-100 - Complètement saoul
Base de Données
Table: metabolism
Colonnes:
charid- ID du personnagehunger- Niveau de faimthirst- Niveau de soifalcohol- Alcoolémiestress- Niveau de stress
Exports Disponibles
-- Obtenir le status d'un joueur
exports['fred_metabolism']:GetPlayerStatus(source)
-- Modifier la faim
exports['fred_metabolism']:SetHunger(source, value)
-- Modifier la soif
exports['fred_metabolism']:SetThirst(source, value)
Dépendances
- vorp_core
- vorp_inventory
Gum Notify
Description
Système de notifications visuelles élégant.
Types de Notifications
Success
exports['gum_notify']:Send("Succès!", "Action réussie", 5000, "success")
Error
exports['gum_notify']:Send("Erreur!", "Quelque chose a mal tourné", 5000, "error")
Warning
exports['gum_notify']:Send("Attention!", "Sois prudent", 5000, "warning")
Info
exports['gum_notify']:Send("Info", "Information utile", 5000, "info")
Paramètres
- Titre - Texte en gras
- Message - Texte descriptif
- Durée - En millisecondes
- Type - success/error/warning/info
Configuration
Styles customisables via gum_notify/config.lua
Dépendances
Aucune (librairie UI)
MenuAPI
Description
API de menu générique pour compatibilité entre frameworks.
Fonctionnalités
- ✅ Menus natifs
- ✅ Compatibilité multi-framework
- ✅ API simple
- ✅ Performant
Création de Menu
MenuAPI.CreateMenu("my_menu", "Mon Menu", "Sous-titre")
MenuAPI.SetMenuElement("my_menu", "addbutton", {
name = "Mon Bouton",
label = "Description",
value = nil,
onselected = function()
-- Action
end
})
Méthodes Principales
CreateMenu()- Créer un menuSetMenuElement()- Ajouter un élémentOpenMenu()- Ouvrir le menuCloseMenu()- Fermer le menuGetCurrentMenu()- Menu actuel
Configuration
Fichier: menuapi/config.lua
Dépendances
Aucune (API standalone)
Ox_lib
Description
Librairie complète par Overextended avec multiples utilitaires.
Modules Disponibles
🔔 Notify
lib.notify({
title = 'Titre',
description = 'Message',
type = 'success'
})
📋 Context Menu
lib.registerContext({
id = 'my_menu',
title = 'Mon Menu',
options = {
{
title = 'Option 1',
onSelect = function()
-- Action
end
}
}
})
lib.showContext('my_menu')
⏱️ Progress Bar
lib.progressBar({
duration = 5000,
label = 'Action...',
useWhileDead = false,
canCancel = true
})
🎯 Target (Interaction)
exports.ox_target:addBoxZone({
coords = vec3(0, 0, 0),
size = vec3(2, 2, 2),
options = {
{
label = 'Interagir',
onSelect = function()
-- Action
end
}
}
})
📝 Input Dialog
local input = lib.inputDialog('Formulaire', {
{type = 'input', label = 'Nom', required = true},
{type = 'number', label = 'Âge', min = 0, max = 100}
})
Configuration
Fichier: ox_lib/resource/interface/server/txadmin.lua
Dépendances
Aucune (librairie complète)
ProgressBars
Description
Système alternatif de barres de progression.
Utilisation
exports['progressBars']:startUI(duration, text)
-- Callback
AddEventHandler('progressBars:complete', function()
-- Terminé
end)
Configuration
Minimal, plug-and-play.
Dépendances
Aucune (librairie standalone)
Installation et Configuration
Ordre de Chargement
Dans server.cfg:
# Base de données
ensure oxmysql
# Framework
ensure vorp_core
ensure vorp_inventory
ensure vorp_menu
# Utilitaires
ensure bcc-utils
ensure bcc-crypt
ensure bcc-minigames
# UI
ensure feather-menu
ensure feather-progressbar
ensure gum_notify
ensure menuapi
ensure progressBars
# Métabolisme
ensure fred_metabolism
# Librairies avancées
ensure ox_lib
Configuration Globale
Chaque librairie a son propre config.lua ou fichier de configuration. Assure-toi de:
- Vérifier les conflits entre librairies
- Tester les exports avant utilisation
- Lire la documentation de chaque lib
Dépannage
Erreur "Export not found"
- Vérifie que la ressource est started
- Vérifie l'ordre de chargement
- Redémarre le serveur
Menu ne s'affiche pas
- Vérifie les permissions UI
- Clear le cache NUI
- Vérifie la console client (F8)
Progressbar ne fonctionne pas
- Vérifie qu'une seule lib de progressbar est active
- Évite les conflits entre feather-progressbar et progressBars
Ressources Externes
Documentation Ox_lib
https://overextended.dev/ox_lib
GitHub BCC Utils
https://github.com/BryceCanyonCounty/bcc-utils
Feather Menu Docs
Voir README dans le dossier du script.
Notes Importantes
Certaines librairies peuvent entrer en conflit. Teste toujours après installation.
Les librairies modernes (ox_lib, feather-menu) sont optimisées pour la performance.
Garde les librairies à jour pour bénéficier des derniers fixes et features.