MultiChest est un script conçu pour offrir aux joueurs un système de coffres sécurisés dans FiveM. Que ce soit pour stocker des objets précieux dans une banque ou personnaliser des emplacements spécifiques, cet outil enrichit l’expérience RP en permettant une gestion intuitive et sécurisée des possessions des joueurs.
Protégé par FiveM Escrow, MultiChest offre une configuration extrêmement détaillée via le fichier config.lua
. Vous pouvez personnaliser les marqueurs, les notifications, les webhooks, et bien plus encore, tout en conservant la sécurité de notre code source. 🚀
Pour garantir le bon fonctionnement de MultiChest, assurez-vous d’avoir les ressources suivantes installées sur votre serveur :
▪️ es_extended
▪️ ox_lib
▪️ ox_inventory
▪️ oxmysql
CREATE TABLE IF NOT EXISTS `user_chest` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`owner` varchar(50) NOT NULL,
`name` varchar(50) NOT NULL,
`name_chest` varchar(100) NOT NULL,
`name_bank` varchar(100) NOT NULL,
`weight` int(11) NOT NULL,
`password` varchar(100) NOT NULL,
PRIMARY KEY (`id`),
INDEX `owner_index` (`owner`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
Dès le lancement du programme, MultiChest se charge de créer la base de données dont il a besoin.
ℹ️ Informations :
▪️ id : L'identifiant du coffre, qui s'auto-incrémente à chaque nouvelle entrée.
▪️ owner : L'identifiant du propriétaire du coffre.
▪️ name : Correspond au type de coffre choisi par le joueur.
▪️ name_chest : Correspond au nom personnalisé attribué par le joueur.
▪️ name_bank : Indique la banque à laquelle le coffre est associé.
▪️ weight : Représente la capacité de charge du coffre.
▪️ password : Correspond au mot de passe choisi par le joueur.
Ce module configure les points d’interaction pour les coffres en s’appuyant sur les paramètres définis dans Config.CoffreLocations
. Il gère l’affichage des marqueurs visuels et des indicateurs sur la carte (blips), ainsi que les interactions du joueur lorsqu’il s’approche.
🔧 Détails :
▪️ Pour chaque position définie dans Config.CoffreLocations
, des blips personnalisables (icône, taille, couleur, libellé) sont ajoutés sur la carte.
▪️ Les marqueurs visuels s’affichent selon les paramètres spécifiés dans Config.Marker
(type, couleur, taille, rotation, etc.).
▪️ Des zones interactives détectent la présence du joueur et permettent une interaction via la touche [E].
Cette configuration offre une expérience immersive et fluide pour repérer et interagir avec les coffres dans le jeu. ➡️
Ce module affiche un menu contextuel permettant au joueur d’accéder à ses coffres existants ou de louer un nouveau coffre, selon sa proximité avec un point d’interaction.
🔧 Détails :
▪️ Le script identifie la banque la plus proche en comparant les coordonnées du joueur à celles définies dans Config.CoffreLocations
.
▪️ Il vérifie ensuite si le joueur possède déjà un coffre dans cette banque.
▫️ Si c’est le cas, une option d’accès au coffre est proposée.
▫️ Sinon, seule l’option de location apparaît.
▪️ Un menu contextuel interactif s’affiche, offrant les différentes actions disponibles.
Cette fonctionnalité propose une interface intuitive et adaptée à la position du joueur pour gérer ses coffres. 🔓
Ce module permet au joueur de louer un coffre en sélectionnant parmi les options disponibles pour la banque actuelle, grâce à une interface de saisie pour définir le nom et le mot de passe.
🔧 Détails :
▪️ Il filtre les coffres dans Config.Coffres
pour n’afficher que ceux correspondant à la banque où se trouve le joueur, en indiquant nom, prix, taxes (basées sur le poids), poids maximum et nombre d’emplacements.
▪️ Une boîte de dialogue recueille le nom et le mot de passe du coffre avant la location.
▪️ Un événement est déclenché pour finaliser la location en transmettant les informations au serveur.
▪️ En l’absence de coffre disponible, un message d’erreur s’affiche dans le menu.
Cette interface claire et efficace répond aux besoins spécifiques de chaque banque pour la location de coffres. 🛒
Ce module affiche la liste de tous les coffres loués par le joueur dans la banque correspondante, et propose des options pour ouvrir, renommer, modifier le mot de passe ou supprimer un coffre.
🔧 Détails :
▪️ Si le joueur ne possède aucun coffre, une notification d’erreur est affichée.
▪️ La banque actuelle est identifiée en fonction de la position du joueur.
▪️ Un menu contextuel liste chaque coffre avec son nom (ou un nom par défaut si non défini).
▪️ Pour chaque coffre, un sous-menu propose les options : ouvrir (via un mot de passe), changer le mot de passe, renommer ou supprimer.
Cette gestion complète offre une interface riche et sécurisée pour suivre et administrer les coffres du joueur. 📦
Ce module permet d’ouvrir l’inventaire d’un coffre spécifique en s’appuyant sur ox_inventory, afin d’afficher et de gérer les items qu’il contient.
🔧 Détails :
▪️ Le coffre sélectionné est récupéré via ox_inventory, offrant ainsi au joueur un accès direct à son contenu.
Cette fonctionnalité garantit une gestion fluide et intégrée de l’inventaire des coffres, optimisant ainsi l’expérience utilisateur. 📋
Config.Marker = {
id_type = 27,
size_x = 0.3,
size_y = 0.3,
size_z = 0.3,
color_red = 0,
color_green = 150,
color_blue = 150,
color_opacity = 100,
rotate = true,
}
Cette section permet de personnaliser les marqueurs visuels qui indiquent les emplacements des coffres en jeu. Ces derniers servent de points d’interaction pour les joueurs.
🔧 Options disponibles :
▪️ id_type : Type de marqueur (voir doc FiveM pour les IDs).
▪️ size_x, size_y, size_z : Dimensions du marqueur (longueur, largeur, hauteur).
▪️ color_red, color_green, color_blue : Couleurs RVB (0-255).
▪️ color_opacity : Opacité (0-255).
▪️ rotate : Active/désactive la rotation (true/false).
Adaptez les marqueurs pour qu’ils s’intègrent parfaitement à votre serveur ! 🎯
Config.Blips = {
activ_blips = true,
icon = 272,
display = 4,
scale = 0.7,
color = 2,
activ_text_on_blip_bank_name = false,
txt_blip_intro_bank_name = "[Coffre]",
txt_blip_intro_simple = "[Coffre]",
}
Les blips sont les icônes affichées sur la carte pour localiser les coffres. Cette section permet de les configurer selon vos préférences.
🔧 Options disponibles :
▪️ activ_blips : Active/désactive les blips (true/false).
▪️ icon : ID de l’icône (voir doc FiveM).
▪️ display : Type d’affichage (4 = carte + mini-carte).
▪️ scale : Taille du blip.
▪️ color : Couleur (voir doc FiveM).
▪️ activ_text_on_blip_bank_name : Affiche le nom de la banque.
▪️ txt_blip_intro_bank_name, txt_blip_intro_simple : Texte du blip.
Personnalisez les blips pour guider vos joueurs efficacement ! 🗺️
Config.Notifications = {
position_error = "center-left",
duration_error = 5000,
position_success = "center-left",
duration_success = 5000,
position_warning = "center-left",
duration_warning = 5000,
}
Les notifications informent les joueurs des actions ou erreurs liées aux coffres. Ajustez leur position et durée pour une meilleure expérience.
🔧 Options disponibles :
▪️ position_error, position_success, position_warning : Position sur l’écran.
▪️ duration_error, duration_success, duration_warning : Durée en millisecondes.
Faites en sorte que les messages soient clairs et bien placés ! 📢
Config.Webhook = {
webhook_use_only_one_logo = false,
webhook_logo_defaut = "https://www.heickotv.xyz/multichest/multichest.png",
webhook_logo_fleeca_bank = "https://www.heickotv.xyz/multichest/fleeca_bank.png",
webhook_logs_activation = true,
webhook_link_log = "https://discord.com/api/webhooks/...",
txt_log_title_for_buy = "Location de coffre",
txt_log_for_buy = "a loué",
color_code_for_buy = 65280,
}
Le webhook envoie des logs vers Discord pour suivre les actions sur les coffres (achats, modifications, suppressions).
🔧 Options disponibles :
▪️ webhook_use_only_one_logo : Utilise un logo unique ou un par banque.
▪️ webhook_logo_defaut, webhook_logo_fleeca_bank, etc. : URLs des logos.
▪️ webhook_logs_activation : Active les logs.
▪️ webhook_link_log : URL du webhook Discord.
▪️ txt_log_title_for_buy, etc. : Titres et textes des logs.
▪️ color_code_for_buy, etc. : Couleurs des embeds.
Gardez un œil sur les activités avec Discord ! 🔗
Config.Text = {
txt_button = "[E] - Gérer les coffres de",
txt_first_head_menu = "Gestion des Coffres -",
txt_my_chest = "📦 Mes Coffres -",
txt_access_chest = "📦 Accéder à mes coffres",
-- (liste complète dans config.lua)
}
Personnalisez tous les textes affichés dans l’interface et les notifications pour une immersion totale.
🔧 Options disponibles :
▪️ txt_button : Texte du bouton d’interaction.
▪️ txt_first_head_menu : En-tête du menu.
▪️ txt_my_chest : Libellé des coffres personnels.
Adaptez le langage à votre communauté ! 📝
Config.Limit = {
chest_limit_per_player = 15,
}
Définissez une limite au nombre de coffres qu’un joueur peut posséder.
🔧 Options disponibles :
▪️ chest_limit_per_player : Nombre maximum de coffres.
Équilibrez l’économie et le gameplay ! ⚖️
Config.CoffreLocations = {
{ coords = vector3(251.24, 220.82, 106.35),
bank_type = "FleecaBank",
bank_name = "Pacific Bank - Vinewood Blvd." },
-- (liste complète dans config.lua)
}
Ajoutez des emplacements où les joueurs peuvent interagir avec les coffres.
🔧 Options disponibles :
▪️ coords : Coordonnées (x, y, z).
▪️ bank_type : Type de banque. (FleecaBank, Mazebank ou SavingBank)
▪️ bank_name : Nom de la banque.
Placez vos coffres là où vous voulez ! 📍
Config.Coffres = {
{ name = "Petit Coffre",
weight = 50000,
price = 1000,
nb_slot = 10,
bank_name = "Pacific Bank - Vinewood Blvd." },
-- (liste complète dans config.lua)
}
Définissez les types de coffres disponibles à la location.
🔧 Options disponibles :
▪️ name : Nom du coffre.
▪️ weight : Capacité (en grammes).
▪️ price : Prix de location.
▪️ nb_slot : Nombre d’emplacements.
▪️ bank_name : Banque associée.
Offrez une variété de coffres à vos joueurs ! 🎁
Config.Taxes = {
enable = true,
percent = 2.0,
nb_hour_between_two_samples = 6,
}
Ajoutez un système de taxes pour les coffres loués.
🔧 Options disponibles :
▪️ enable : Active/désactive les taxes.
▪️ percent : Pourcentage de taxe.
▪️ nb_hour_between_two_samples : Intervalle entre prélèvements (en heures).
Simulez une économie réaliste ! 💸