Comandos#
Lifeguard Job registra un único comando. Todo lo que hace un socorrista ocurre en las estaciones, así que los jugadores no tienen nada que escribir.
Comando | Dónde | Descripción |
|---|---|---|
| En el juego | Abre el panel de ajustes; escribirlo de nuevo lo cierra. Necesita el ACE |
| Consola del servidor | No es del trabajo, pero es el que usarás: aplica los ajustes guardados desde el panel. También termina todos los turnos en curso. |
El nombre del comando, su ACE y si el panel existe siquiera se definen en Config.AdminPanel:
Config.AdminPanel = {
Enabled = true, -- false turns the panel off entirely
Ace = 'command.lifeguard', -- checked on every action, server side
ConfigCommand = 'lifeguardadmin', -- '' removes the command
}Exports del servidor#
Para otro recurso que necesite saber si un socorrista está ocupado — antes de un cambio de trabajo, un teletransporte, un robo o el turno de un segundo trabajo.
IsPlayerOnMission
Si el jugador participa en el rescate cooperativo en curso ahora mismo. Lee la propia lista de participantes del servidor, nunca nada que haya informado un cliente.
local busy = exports['qs-lifeguard']:IsPlayerOnMission(source)
if busy then
-- in the middle of a shared rescue: refuse, warn or wait
end
-- returns true or falseSolo responde para rescates cooperativos, que el servidor sigue de principio a fin. Una llamada individual no se informa, así que un jugador que se desconectó en mitad de una nunca queda retenido por ella.
Eventos que puedes escuchar#
Dos eventos informan de lo que acaba de hacer el trabajo, para un sistema de logros, un battle pass, una app de teléfono o tus propios logs.
qs-lifeguard:internalRecordIncident (servidor)
Se lanza en el servidor tras cada llamada individual pagada, una vez otorgados el dinero y la experiencia. money es lo que realmente se pagó, bonificación de vehículo incluida.
AddEventHandler('qs-lifeguard:internalRecordIncident', function(src, incidentId, xp, money)
print(('%s cleared %s: $%d and %d XP'):format(GetPlayerName(src), incidentId, money, xp))
end)qs-lifeguard:progressionUpdated (cliente)
Se envía al cliente del jugador cada vez que recibe experiencia, individual o cooperativa.
RegisterNetEvent('qs-lifeguard:progressionUpdated', function(level, xp, xpRequired, leveledUp, earned)
-- level the level now
-- xp experience towards the next one
-- xpRequired what the next level costs
-- leveledUp true if this grant crossed a level
-- earned experience granted this time
if leveledUp then
-- celebrate
end
end)IDs de llamadas#
Los valores que puede tomar incidentId y el id de cada entrada en config/incidents.lua:
ID | Llamada | ID | Llamada |
|---|---|---|---|
| Jellyfish Sting |
| Rip Current |
| Swimmer in Danger |
| Drifting Boat |
| Fallen Warning Flag |
| Heatwave Victims |
| Illegal Campfire |
| Lost Pet |
| Disruptive Bather |
| Emergency Flags |
| Exhausted Swimmer |
| Shark Alert |
| Stranded Boat |
| Drowned Bather |
| Medical Supplies |
| Missing Surfer (co-op) |
| Missing Runner |
| Sinking Vessel · Shark Alert (co-op) |
Cada id se representa con una escena integrada en el trabajo. A una llamada se le puede cambiar el lugar o el precio, darle nuevos lugares o desactivarla (
weight = 0), pero una entrada con un id propio no tiene ninguna escena detrás y nunca aparece.



