EXOTICA NETWORKDocs

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:

ExportLadoDescripción
OpenTablet()ClienteAbre la tienda o tablet VIP.
GetPauseMenuData(src)ServidorDevuelve { coins, currencyLabel, membership } para el panel del jugador.
Tu recurso VIP (servidor)
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.

Tu recurso de reportes (cliente)
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:

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.lua envía al servidor el estado de servicio de cada agente (IsOnDuty() y el evento origen_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

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 item y coins (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_money si no existe esa cuenta.

En esta página