Integraciones
Tienda VIP, reportes, origen_police, avatar de Discord y ox_inventory
Tienda VIP
El botón Tienda abre la tablet de tu recurso VIP si Config.VipResource está iniciado. Si no, abre Config.Branding.Store.Url en el navegador.
Tu recurso VIP debe exponer estos exports:
| Export | Lado | Descripción |
|---|---|---|
OpenTablet() | Cliente | Abre la tienda o tablet VIP. |
GetPauseMenuData(src) | Servidor | Devuelve { coins, currencyLabel, membership } para el panel del jugador. |
exports('GetPauseMenuData', function(src)
return {
coins = GetCoins(src),
currencyLabel = 'ExoticaCoins',
membership = { active = true, label = 'VIP Oro', secondsLeft = 86400 },
}
end)Si GetPauseMenuData no existe o falla, se usan ServerConfig.CurrencyItem, ServerConfig.CurrencyLabel y ServerConfig.GetMembership (ver config_server.lua).
Reportes
El botón Reportes llama al export de cliente OpenReportMenu() de Config.ReportResource.
exports('OpenReportMenu', function()
-- abre tu menú de reportes
end)Si el recurso no está iniciado, se lanza el evento EN-PausaMenu:client:onButton con 'report:unavailable'. Así puedes abrir otro sistema desde client/cl_custom.lua:
AddEventHandler('EN-PausaMenu:client:onButton', function(button)
if button == 'report:unavailable' then
ExecuteCommand('report')
end
end)origen_police
Compatible de serie. Con origen_police iniciado en ESX:
- Los contadores de policía y médicos usan
exports['origen_police']:GetPlayersInDuty()para contar solo a quien está realmente de servicio. client/cl_custom.luaenvía al servidor el estado de servicio de cada agente (IsOnDuty()y el eventoorigen_police:esx:SetDuty).
No tienes que configurar nada.
Avatar de Discord
El panel del jugador puede mostrar su foto de perfil de Discord. Necesitas:
Un bot de Discord
Créalo en el Discord Developer Portal (New Application → Bot → Reset Token). No hace falta invitarlo a ningún servidor ni darle permisos.
El token en server.cfg
set en_pausamenu_bot_token "TOKEN_DEL_BOT_DE_DISCORD"Discord abierto al entrar
El jugador debe tener Discord abierto al conectarse, para que FiveM vincule su identificador discord:.
Los avatares se guardan en caché 10 minutos. Sin token o sin Discord vinculado, se muestra la imagen por defecto.
ox_inventory
Opcional, pero recomendado:
- Imágenes automáticas de los premios
itemycoins(nui://ox_inventory/web/images/<item>.png). - Entrega de items con
exports.ox_inventory:AddItem. Sin ox_inventory se usa el inventario del framework. - En QBCore/Qbox, el dinero negro se lee del item
black_moneysi no existe esa cuenta.
