MultiChest es un script diseñado para ofrecer a los jugadores un sistema de cofres seguros en FiveM. Ya sea para almacenar objetos valiosos en un banco o personalizar ubicaciones específicas, esta herramienta enriquece la experiencia de RP al permitir una gestión intuitiva y segura de las posesiones de los jugadores.
Protegido por FiveM Escrow, MultiChest ofrece una configuración extremadamente detallada a través del archivo config.lua
. Puedes personalizar marcadores, notificaciones, webhooks y mucho más, manteniendo la seguridad de nuestro código fuente. 🚀
Para garantizar el correcto funcionamiento de MultiChest, asegúrate de tener instalados los siguientes recursos en tu servidor:
▪️ 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;
Al iniciar el programa, MultiChest se encarga de crear la base de datos que necesita.
ℹ️ Información:
▪️ id: El identificador del cofre, que se incrementa automáticamente con cada nueva entrada.
▪️ owner: El identificador del propietario del cofre.
▪️ name: Corresponde al tipo de cofre elegido por el jugador.
▪️ name_chest: Corresponde al nombre personalizado asignado por el jugador.
▪️ name_bank: Indica el banco al que está asociado el cofre.
▪️ weight: Representa la capacidad de carga del cofre.
▪️ password: Corresponde a la contraseña elegida por el jugador.
Este módulo configura los puntos de interacción para los cofres basándose en los parámetros definidos en Config.CoffreLocations
. Gestiona la visualización de marcadores visuales e indicadores en el mapa (blips), así como las interacciones del jugador al acercarse.
🔧 Detalles:
▪️ Para cada posición definida en Config.CoffreLocations
, se añaden blips personalizables (icono, tamaño, color, etiqueta) en el mapa.
▪️ Los marcadores visuales se muestran según los parámetros especificados en Config.Marker
(tipo, color, tamaño, rotación, etc.).
▪️ Las zonas interactivas detectan la presencia del jugador y permiten la interacción mediante la tecla [E].
Esta configuración ofrece una experiencia inmersiva y fluida para localizar e interactuar con los cofres en el juego. ➡️
Este módulo muestra un menú contextual que permite al jugador acceder a sus cofres existentes o alquilar uno nuevo, dependiendo de su cercanía a un punto de interacción.
🔧 Detalles:
▪️ El script identifica el banco más cercano comparando las coordenadas del jugador con las definidas en Config.CoffreLocations
.
▪️ Luego verifica si el jugador ya posee un cofre en ese banco.
▫️ Si es así, se ofrece una opción para acceder al cofre.
▫️ Si no, solo aparece la opción de alquiler.
▪️ Se muestra un menú contextual interactivo que ofrece las diferentes acciones disponibles.
Esta funcionalidad proporciona una interfaz intuitiva y adaptada a la posición del jugador para gestionar sus cofres. 🔓
Este módulo permite al jugador alquilar un cofre seleccionando entre las opciones disponibles para el banco actual, mediante una interfaz de entrada para definir el nombre y la contraseña.
🔧 Detalles:
▪️ Filtra los cofres en Config.Coffres
para mostrar solo los que corresponden al banco donde está el jugador, indicando nombre, precio, impuestos (basados en el peso), peso máximo y número de espacios.
▪️ Un cuadro de diálogo recoge el nombre y la contraseña del cofre antes del alquiler.
▪️ Se activa un evento para finalizar el alquiler enviando la información al servidor.
▪️ Si no hay cofres disponibles, se muestra un mensaje de error en el menú.
Esta interfaz clara y eficiente satisface las necesidades específicas de cada banco para el alquiler de cofres. 🛒
Este módulo muestra la lista de todos los cofres alquilados por el jugador en el banco correspondiente, y ofrece opciones para abrir, renombrar, cambiar la contraseña o eliminar un cofre.
🔧 Detalles:
▪️ Si el jugador no tiene cofres, se muestra una notificación de error.
▪️ El banco actual se identifica según la posición del jugador.
▪️ Un menú contextual lista cada cofre con su nombre (o un nombre predeterminado si no está definido).
▪️ Para cada cofre, un submenú ofrece las opciones: abrir (mediante contraseña), cambiar contraseña, renombrar o eliminar.
Esta gestión completa ofrece una interfaz rica y segura para seguir y administrar los cofres del jugador. 📦
Este módulo permite abrir el inventario de un cofre específico utilizando OX_Inventory, para mostrar y gestionar los objetos que contiene.
🔧 Detalles:
▪️ El cofre seleccionado se recupera a través de OX_Inventory, ofreciendo al jugador acceso directo a su contenido.
Esta funcionalidad garantiza una gestión fluida e integrada del inventario de los cofres, optimizando la experiencia del usuario. 📋
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,
}
Esta sección permite personalizar los marcadores visuales que indican las ubicaciones de los cofres en el juego. Estos sirven como puntos de interacción para los jugadores.
🔧 Opciones disponibles:
▪️ id_type: Tipo de marcador (ver documentación de FiveM para los IDs).
▪️ size_x, size_y, size_z: Dimensiones del marcador (longitud, anchura, altura).
▪️ color_red, color_green, color_blue: Colores RGB (0-255).
▪️ color_opacity: Opacidad (0-255).
▪️ rotate: Activa/desactiva la rotación (true/false).
¡Adapta los marcadores para que se integren perfectamente en tu servidor! 🎯
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 = "[Cofre]",
txt_blip_intro_simple = "[Cofre]",
}
Los blips son los iconos mostrados en el mapa para localizar los cofres. Esta sección permite configurarlos según tus preferencias.
🔧 Opciones disponibles:
▪️ activ_blips: Activa/desactiva los blips (true/false).
▪️ icon: ID del icono (ver documentación de FiveM).
▪️ display: Tipo de visualización (4 = mapa + minimapa).
▪️ scale: Tamaño del blip.
▪️ color: Color (ver documentación de FiveM).
▪️ activ_text_on_blip_bank_name: Muestra el nombre del banco.
▪️ txt_blip_intro_bank_name, txt_blip_intro_simple: Texto del blip.
¡Personaliza los blips para guiar a tus jugadores de manera efectiva! 🗺️
Config.Notifications = {
position_error = "center-left",
duration_error = 5000,
position_success = "center-left",
duration_success = 5000,
position_warning = "center-left",
duration_warning = 5000,
}
Las notificaciones informan a los jugadores sobre acciones o errores relacionados con los cofres. Ajusta su posición y duración para una mejor experiencia.
🔧 Opciones disponibles:
▪️ position_error, position_success, position_warning: Posición en la pantalla.
▪️ duration_error, duration_success, duration_warning: Duración en milisegundos.
¡Asegúrate de que los mensajes sean claros y estén bien ubicados! 📢
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 = "Alquiler de cofre",
txt_log_for_buy = "ha alquilado",
color_code_for_buy = 65280,
}
El webhook envía registros a Discord para seguir las acciones relacionadas con los cofres (compras, modificaciones, eliminaciones).
🔧 Opciones disponibles:
▪️ webhook_use_only_one_logo: Usa un solo logo o uno por banco.
▪️ webhook_logo_defaut, webhook_logo_fleeca_bank, etc.: URLs de los logos.
▪️ webhook_logs_activation: Activa los registros.
▪️ webhook_link_log: URL del webhook de Discord.
▪️ txt_log_title_for_buy, etc.: Títulos y textos de los registros.
▪️ color_code_for_buy, etc.: Colores de los embeds.
¡Mantén un control sobre las actividades con Discord! 🔗
Config.Text = {
txt_button = "[E] - Gestionar los cofres de",
txt_first_head_menu = "Gestión de cofres -",
txt_my_chest = "📦 Mis cofres -",
txt_access_chest = "📦 Acceder a mis cofres",
-- (lista completa en config.lua)
}
Personaliza todos los textos mostrados en la interfaz y las notificaciones para una inmersión total.
🔧 Opciones disponibles:
▪️ txt_button: Texto del botón de interacción.
▪️ txt_first_head_menu: Encabezado del menú.
▪️ txt_my_chest: Etiqueta de los cofres personales.
¡Adapta el idioma a tu comunidad! 📝
Config.Limit = {
chest_limit_per_player = 15,
}
Define un límite al número de cofres que un jugador puede poseer.
🔧 Opciones disponibles:
▪️ chest_limit_per_player: Número máximo de cofres.
¡Equilibra la economía y la jugabilidad! ⚖️
Config.CoffreLocations = {
{ coords = vector3(251.24, 220.82, 106.35),
bank_type = "FleecaBank",
bank_name = "Pacific Bank - Vinewood Blvd." },
-- (lista completa en config.lua)
}
Añade ubicaciones donde los jugadores puedan interactuar con los cofres.
🔧 Opciones disponibles:
▪️ coords: Coordenadas (x, y, z).
▪️ bank_type: Tipo de banco (FleecaBank, Mazebank o SavingBank).
▪️ bank_name: Nombre del banco.
¡Coloca tus cofres donde quieras! 📍
Config.Coffres = {
{ name = "Cofre pequeño",
weight = 50000,
price = 1000,
nb_slot = 10,
bank_name = "Pacific Bank - Vinewood Blvd." },
-- (lista completa en config.lua)
}
Define los tipos de cofres disponibles para alquilar.
🔧 Opciones disponibles:
▪️ name: Nombre del cofre.
▪️ weight: Capacidad (en gramos).
▪️ price: Precio de alquiler.
▪️ nb_slot: Número de espacios.
▪️ bank_name: Banco asociado.
¡Ofrece una variedad de cofres a tus jugadores! 🎁
Config.Taxes = {
enable = true,
percent = 2.0,
nb_hour_between_two_samples = 6,
}
Añade un sistema de impuestos para los cofres alquilados.
🔧 Opciones disponibles:
▪️ enable: Activa/desactiva los impuestos.
▪️ percent: Porcentaje de impuesto.
▪️ nb_hour_between_two_samples: Intervalo entre cobros (en horas).
¡Simula una economía realista! 💸