Sistema moderno de diálogos para NPCs en FiveM con diseño elegante y funcionalidad completa.
✅ Diseño moderno y elegante con tema oscuro
✅ Soporte para múltiples opciones de diálogo
✅ Integración con ox_target o interacción por distancia
✅ Sistema de eventos para conectar con trabajos, tiendas, etc.
✅ Totalmente configurable
✅ Animaciones suaves
✅ Soporte para teclado numérico
- Coloca el recurso en tu carpeta
resources/[add]/ - Agrega
ensure mfl-dialoguea tuserver.cfg - Configura tus NPCs en
config/config.lua - Reinicia el servidor
Edita config/config.lua y agrega un nuevo NPC:
Config.NPCs = {
['mi_npc'] = {
name = 'Nombre del NPC',
model = 'modelo_del_ped', -- Ejemplo: 'mp_m_shopkeep_01'
coords = vector4(x, y, z, heading),
dialogue = {
text = 'Texto del diálogo que dirá el NPC',
options = {
{
label = 'Opción 1',
description = 'Descripción de la opción',
action = function()
-- Código que se ejecutará al seleccionar esta opción
TriggerEvent('mi_evento')
end
},
{
label = 'Opción 2',
description = 'Otra descripción',
action = function()
-- Otro código
end
}
}
}
}
}El NPC garbage_boss ya está configurado y listo para usar:
['garbage_boss'] = {
name = 'Carlos Rodríguez',
model = 's_m_y_garbage',
coords = vector4(-321.45, -1545.86, 31.02, 180.0),
dialogue = {
text = '¡Hola! ¿Buscas trabajo recogiendo basura? Paga bien y es fácil.',
options = {
{
label = 'Iniciar ruta',
description = 'Comenzar a trabajar ($250 depósito)',
action = function()
TriggerEvent('qb-garbagejob:client:RequestRoute')
end
},
{
label = 'Cobrar paga',
description = 'Recoger tu salario',
action = function()
TriggerEvent('qb-garbagejob:client:RequestPaycheck')
end
}
}
}
}Este NPC reemplaza la necesidad del cityhall y permite:
- ✅ Iniciar una ruta de basura
- ✅ Cobrar el salario
- ✅ Ver información del trabajo
{
label = 'Comprar',
description = 'Abrir la tienda',
action = function()
exports.ox_inventory:openInventory('shop', { type = '24_7' })
end
}{
label = 'Solicitar trabajo',
description = 'Trabajar como mecánico',
action = function()
TriggerEvent('qb-jobs:client:startJob', 'mechanic')
end
}{
label = 'Información',
description = 'Obtener información',
action = function()
lib.notify({
title = 'Título',
description = 'Mensaje',
type = 'info'
})
end
}{
label = 'Ver opciones',
description = 'Abrir menú de opciones',
action = function()
lib.registerContext({
id = 'mi_menu',
title = 'Mi Menú',
options = {
-- Opciones del menú
}
})
lib.showContext('mi_menu')
end
}- Click izquierdo: Seleccionar opción
- Teclas numéricas (1-4): Seleccionar opción rápidamente
- ESC: Cerrar diálogo
exports['mfl-dialogue']:OpenDialogue('id_del_npc', Config.NPCs['id_del_npc'])- ox_lib
- ox_target (opcional, si Config.UseTarget = true)
Creado por MFL Scripts
