Skip to content

Exports y eventos

API pública de Cuxial Diving: exports, el gancho de fin de trabajo y el estado del ancla del barco.

Lee el nivel de un buzo, comprueba si un jugador está en una tripulación y ejecuta tu propio código cuando se paga un trabajo. Cuxial Diving no expone eventos públicos.

Exports de servidor ​

IsInCrew ​

Dice si un jugador está en una tripulación de buceo. Un jugador tiene tripulación desde el momento en que abre el panel del trabajo.

lua
local inCrew = exports.cuxial_diving:IsInCrew(source)
ParámetroTipoDescripción
sourcenumberId de servidor del jugador.

Devuelve: boolean.

lua
if exports.cuxial_diving:IsInCrew(source) then
    -- el jugador está ocupado con el trabajo de buceo
end

GetProfile ​

Devuelve el nivel y la experiencia de buceo de un personaje. Funciona también con el personaje desconectado.

lua
local profile = exports.cuxial_diving:GetProfile(citizenid)
ParámetroTipoDescripción
citizenidstringIdentificador del personaje, tal como lo da tu framework.

Devuelve: { level: number, xp: number }, o nil cuando el personaje no tiene perfil de buceo o la base de datos no está lista.

lua
local profile = exports.cuxial_diving:GetProfile(citizenid)
if profile and profile.level >= 10 then
    -- desbloquea algo para buzos con experiencia
end

Gancho de fin de trabajo ​

server/hooks.lua está abierto para editar. Su función CuxialDiving.hooks.onFinish se ejecuta en el servidor una vez por cada miembro conectado, justo después de pagarle un trabajo entregado.

server/hooks.lua
lua
function CuxialDiving.hooks.onFinish(src, data)
    if data.region == 4 then
        exports.my_resource:AddReputation(src, 5)
    end
end
ParámetroTipoDescripción
srcnumberId de servidor del jugador.
data.runIdnumberId del trabajo en el historial. 0 cuando no se pudo guardar.
data.regionnumberid de la región, de data/regions.lua.
data.scorenumberPiezas obligatorias recogidas por este jugador.
data.moneynumberDinero pagado a este jugador.
data.xpnumberExperiencia dada a este jugador.
data.ownerstringIdentificador del personaje del dueño de la tripulación.

El gancho no se ejecuta en los trabajos reiniciados o cancelados, ni para los miembros desconectados en la entrega. Un error dentro de él se imprime en la consola y no detiene el pago.

Estado del barco ​

El barco de trabajo lleva dos state bags replicados que otros recursos pueden leer.

State bagTipoDescripción
divingAnchorbooleantrue mientras el ancla está echada. Solo lectura: el servidor restaura su valor si otro recurso lo cambia.
fuelnumberNivel de combustible puesto al aparecer el barco, de boat.fuel.
lua
local anchored = Entity(vehicle).state.divingAnchor == true

Motivos de los pagos ​

Los pagos pasan por tu framework con estos motivos, que puedes usar para filtrar tus propios registros de dinero.

MotivoCuándo
cuxial-divingPago de un trabajo entregado.
cuxial-diving-dailyRecompensa de una tarea diaria.
cuxial-diving-marketCompra o venta en el mercado.
cuxial-diving-refundDevolución de una compra que no se pudo entregar.

© Cuxial