Aller au contenu principal

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 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 personnage
  • hunger - Niveau de faim
  • thirst - Niveau de soif
  • alcohol - Alcoolémie
  • stress - 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)


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 menu
  • SetMenuElement() - Ajouter un élément
  • OpenMenu() - Ouvrir le menu
  • CloseMenu() - Fermer le menu
  • GetCurrentMenu() - 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:

  1. Vérifier les conflits entre librairies
  2. Tester les exports avant utilisation
  3. 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
  • 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

Compatibilité

Certaines librairies peuvent entrer en conflit. Teste toujours après installation.

Performance

Les librairies modernes (ox_lib, feather-menu) sont optimisées pour la performance.

Updates

Garde les librairies à jour pour bénéficier des derniers fixes et features.