EXOTICA NETWORKDocs

API para desarrolladores

Exports, eventos, Bridge y entrega de recompensas personalizada

Para tus integraciones usa los archivos abiertos client/cl_custom.lua y server/sv_custom.lua. No están cifrados y se cargan después del núcleo del recurso.

Exports (cliente)

OpenPauseMenu

Abre el menú. Si ya está abierto, lo cierra.

exports['EN-PausaMenu']:OpenPauseMenu()

IsOpen

Devuelve true si el menú está abierto.

if exports['EN-PausaMenu']:IsOpen() then
  -- el jugador está en el menú de pausa
end

Eventos (cliente)

EventoParámetrosCuándo se lanza
EN-PausaMenu:client:opened—El menú se abrió.
EN-PausaMenu:client:closed—El jugador cerró el menú.
EN-PausaMenu:client:onButtonbuttonSe pulsó un botón que sale del menú.

Valores de button:

ValorSignificado
'map'Abrió el mapa.
'settings'Abrió los ajustes de GTA.
'report'Abrió los reportes.
'store'Abrió la tablet VIP.
'report:unavailable'Pulsó Reportes, pero Config.ReportResource no está iniciado.
'store:unavailable'No se pudo abrir la tablet VIP.
client/cl_custom.lua
AddEventHandler('EN-PausaMenu:client:opened', function()
  -- ocultar tu HUD
  exports['mi_hud']:SetVisible(false)
end)

AddEventHandler('EN-PausaMenu:client:closed', function()
  exports['mi_hud']:SetVisible(true)
end)

Bridge (servidor)

server/sv_custom.lua tiene acceso a Bridge, una API común para ESX, QBCore y Qbox:

FunciónDevuelve
Bridge.name'esx', 'qbcore' o 'qbox'
Bridge.GetPlayer(src)El objeto de jugador del framework
Bridge.GetName(src)Nombre del personaje
Bridge.GetIdentifier(src)identifier (ESX) o citizenid (QBCore/Qbox)
Bridge.GetJob(src){ name, label, grade, gradeLabel, salary, onduty }
Bridge.SetJob(src, name, grade)true si se cambió
Bridge.AddMoney(src, account, amount)true si se entregó
Bridge.AddItem(src, item, amount)true si se entregó
Bridge.IsStaff(src)true si pertenece a ServerConfig.StaffGroups

Entrega de recompensas personalizada

Define ServerConfig.GiveTimeReward en server/sv_custom.lua para sustituir la entrega de todos los premios de la recompensa por tiempo:

server/sv_custom.lua
ServerConfig.GiveTimeReward = function(src, reward)
  -- reward = la entrada de ServerConfig.TimeReward.Rewards que ganó el jugador
  if reward.type == 'item' then
    return exports['mi_inventario']:AddItem(src, reward.item, reward.amount)
  end

  return Bridge.AddMoney(src, 'bank', reward.amount or 0)
end

Devuelve true si se entregó bien. Si devuelve false o da error, no se anuncia el ganador y en la consola aparece no se pudo entregar "<premio>".

En esta página