Utilisation — foltone_elevator_builder
Fonctionnement général
Elevator Builder permet de créer et gérer des ascenseurs en jeu via une interface NUI. Les ascenseurs sont composés d’étages avec un nom et une position. Les joueurs peuvent se téléporter entre les étages via un panneau d’ascenseur interactif.
Menu d’administration
Ouvrir le menu
Tapez /fab dans le chat pour ouvrir le menu d’administration NUI.
Créer un ascenseur
- Ouvrez le menu admin (
/fab) - Cliquez sur “Créer un ascenseur”
- Définissez le nom de l’ascenseur
- Choisissez le nombre d’étages (1 à 20)
- Pour chaque étage :
- Cliquez sur “Définir le nom” et saisissez le nom (ex: “RDC”, “Étage 1”, “Toit”)
- Cliquez sur “Définir la position” — le menu se ferme, votre position actuelle est enregistrée
- Personnalisez le style de l’ascenseur (couleur d’accent du panneau, échelle, côté, apparence du marqueur)
- Cliquez sur “Créer l’ascenseur” pour valider
Les marqueurs de prévisualisation s’affichent en vert pendant la création pour vérifier les positions.
Modifier un ascenseur
- Ouvrez le menu admin (
/fab) - Cliquez sur “Modifier un ascenseur”
- Sélectionnez l’ascenseur à modifier
- Vous pouvez :
- Renommer l’ascenseur — Cliquez sur le bouton de renommage
- Modifier un étage — Sélectionnez l’étage, puis modifiez son nom ou sa position
- Supprimer un étage — Sélectionnez l’étage, puis cliquez sur “Supprimer”
- Supprimer l’ascenseur — Supprime l’ascenseur et tous ses étages
Personnalisation du style de l’ascenseur
Lors de la création ou de la modification, vous pouvez personnaliser l’apparence de chaque ascenseur :
- Couleur d’accent du panneau (RGB) — la couleur d’accentuation du panneau NUI
- Échelle du panneau — taille du panneau (0.7 à 1.3)
- Côté du panneau — affichage à gauche ou à droite de l’écran
- Type, échelle, couleur, opacité du marqueur — apparence des marqueurs d’étage
- Rebond/Rotation du marqueur — options d’animation
Un aperçu en temps réel s’affiche pendant les réglages.
Panneau de configuration
Depuis le menu admin, accédez au panneau de configuration pour modifier les paramètres globaux en temps réel :
- Couleur et type du marqueur
- Distances de rendu et d’interaction
- Activation/désactivation de ox_target
- Animation de téléportation (durée, fondu)
- Sons (activation, volume)
Les changements sont appliqués immédiatement pour tous les joueurs.
Utilisation joueur
Sans ox_target (touche E)
- Approchez-vous d’un marqueur d’ascenseur (distance configurable, par défaut 3.5m)
- Le texte “Appuyez sur E pour accéder à l’ascenseur” s’affiche
- Appuyez sur E
- Le panneau d’ascenseur NUI s’ouvre, affichant l’étage actuel et les étages disponibles
- Cliquez sur l’étage souhaité pour vous y téléporter
Avec ox_target
- Visez un point d’ascenseur avec ox_target
- Cliquez sur l’option d’ascenseur
- Le panneau s’ouvre — sélectionnez votre étage
Fermer le panneau
Appuyez sur Échap ou cliquez sur le bouton de fermeture.
Interface du panneau d’ascenseur
Le panneau affiche :
- L’étage actuel en temps réel (indicateur digital)
- La liste des étages disponibles avec leurs noms
- Des boutons pour chaque étage
L’indicateur d’étage se met à jour automatiquement lorsque le joueur se déplace entre les positions d’étages.
Animation de téléportation
Quand l’animation est activée, le processus est :
- Son de fermeture des portes
- Fondu noir
- Téléportation + son de déplacement
- Fondu clair + son d’arrivée (ding)
- Son d’ouverture des portes
Stockage des données
Les ascenseurs sont sauvegardés dans le fichier json/data.json. Ce fichier est lu/écrit automatiquement par le serveur. Format :
[
{
"label": "Ascenseur Principal",
"floors": [
{ "idEtage": 1, "name": "RDC", "position": { "x": 0.0, "y": 0.0, "z": 0.0 } },
{ "idEtage": 2, "name": "Étage 1", "position": { "x": 0.0, "y": 0.0, "z": 10.0 } }
],
"style": {
"panel_accent_r": 255,
"panel_accent_g": 180,
"panel_accent_b": 0,
"panel_scale": 1,
"panel_side": "right",
"marker_type": 25,
"marker_scale": 0.8,
"marker_red": 114,
"marker_green": 204,
"marker_blue": 114,
"marker_alpha": 180,
"marker_bob": false,
"marker_spin": true
}
}
]
Chaque ascenseur stocke son propre objet style contenant la personnalisation du panneau et du marqueur. Si non spécifié, les valeurs par défaut de Config.lua sont utilisées.
Exports disponibles
Le script expose des exports pour l’intégration avec d’autres scripts :
openElevator
Ouvre le panneau d’ascenseur pour un ascenseur spécifique.
-- Ouvre l'ascenseur avec l'ID 1
local success = exports['foltone-elevator-builder']:openElevator(1)
teleportToFloor
Téléporte directement le joueur à un étage spécifique.
-- Téléporte à l'étage 2 de l'ascenseur 1
local success = exports['foltone-elevator-builder']:teleportToFloor(1, 2)
getElevators
Récupère la liste de tous les ascenseurs et leurs étages.
local elevators = exports['foltone-elevator-builder']:getElevators()
-- Retourne : { { id = 1, label = "...", floors = { { idEtage = 1, name = "RDC" }, ... } }, ... }
getCurrentFloor
Récupère le nom de l’étage le plus proche du joueur.
local floorName = exports['foltone-elevator-builder']:getCurrentFloor()
-- Retourne : "RDC" ou nil si aucun étage à proximité