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.
local inCrew = exports.cuxial_diving:IsInCrew(source)| Parámetro | Tipo | Descripción |
|---|---|---|
source | number | Id de servidor del jugador. |
Devuelve: boolean.
if exports.cuxial_diving:IsInCrew(source) then
-- el jugador está ocupado con el trabajo de buceo
endGetProfile
Devuelve el nivel y la experiencia de buceo de un personaje. Funciona también con el personaje desconectado.
local profile = exports.cuxial_diving:GetProfile(citizenid)| Parámetro | Tipo | Descripción |
|---|---|---|
citizenid | string | Identificador 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.
local profile = exports.cuxial_diving:GetProfile(citizenid)
if profile and profile.level >= 10 then
-- desbloquea algo para buzos con experiencia
endGancho 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.
function CuxialDiving.hooks.onFinish(src, data)
if data.region == 4 then
exports.my_resource:AddReputation(src, 5)
end
end| Parámetro | Tipo | Descripción |
|---|---|---|
src | number | Id de servidor del jugador. |
data.runId | number | Id del trabajo en el historial. 0 cuando no se pudo guardar. |
data.region | number | id de la región, de data/regions.lua. |
data.score | number | Piezas obligatorias recogidas por este jugador. |
data.money | number | Dinero pagado a este jugador. |
data.xp | number | Experiencia dada a este jugador. |
data.owner | string | Identificador 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 bag | Tipo | Descripción |
|---|---|---|
divingAnchor | boolean | true mientras el ancla está echada. Solo lectura: el servidor restaura su valor si otro recurso lo cambia. |
fuel | number | Nivel de combustible puesto al aparecer el barco, de boat.fuel. |
local anchored = Entity(vehicle).state.divingAnchor == trueMotivos de los pagos
Los pagos pasan por tu framework con estos motivos, que puedes usar para filtrar tus propios registros de dinero.
| Motivo | Cuándo |
|---|---|
cuxial-diving | Pago de un trabajo entregado. |
cuxial-diving-daily | Recompensa de una tarea diaria. |
cuxial-diving-market | Compra o venta en el mercado. |
cuxial-diving-refund | Devolución de una compra que no se pudo entregar. |
