Comandos#
Crutches registra dos comandos de chat.
Comando | Quién | Descripción |
|---|---|---|
| Trabajos en | Abre el menú de EMS para aplicar muletas a un paciente —cercano o por ID— o quitarlas. Consulta Uso. |
| Cualquiera que lleve una muleta | Suelta la muleta en el suelo. Un jugador con prescripción cae al suelo y se arrastra hasta recogerla con E. |
Exports de servidor#
Cómo otro recurso pone muletas a un jugador: un hospital que da el alta con una pierna rota, un script de daño por caída, un sistema de muerte o last stand, un historial médico que prescribe tratamiento. Ambos exports devuelven true si tienen éxito y false si el jugador no está conectado.
ForceCrutch
Pone muletas al jugador durante unos minutos, igual que haría un paramédico: se guarda en la base de datos, se restaura tras reconectarse, termina automáticamente cuando se acaba el tiempo y se registra en Discord como APPLY_EXPORT. Una prescripción en curso se reemplaza.
---@param targetId number the player's server ID
---@param minutes? number how long; 5 if omitted
---@param reason? string shown to the player after the duration
---@return boolean
exports['qs-crutches']:ForceCrutch(targetId, minutes, reason)-- A hospital discharging a patient with a broken leg
local ok = exports['qs-crutches']:ForceCrutch(source, 20, 'Broken leg')
if not ok then
print('Patient is no longer online')
endAl jugador se le indica Crutches applied for 20 minute(s). Reason: Broken leg.
RemoveCrutch
Termina la prescripción del jugador ahora: la muleta desaparece, vuelven la forma de caminar y los controles, se borra el estado guardado y se registra como REMOVE_EXPORT.
---@param targetId number the player's server ID
---@return boolean
exports['qs-crutches']:RemoveCrutch(targetId)-- A full heal, a revive or an admin command
RegisterCommand('healleg', function(source, args)
exports['qs-crutches']:RemoveCrutch(tonumber(args[1]))
end, true)Al jugador se le indica Your crutches have been removed.
Exports de cliente#
IsCrutchForced
Indica si el jugador local tiene una prescripción en este momento. Úsalo para impedir que un jugador herido haga cosas que los controles de la muleta no cubren: empezar un trabajo, entrar en una carrera, usar un emote.
---@return boolean
exports['qs-crutches']:IsCrutchForced()if exports['qs-crutches']:IsCrutchForced() then
return lib.notify({ description = 'You cannot do that on crutches.', type = 'error' })
endMuletas manuales#
Una muleta manual es la que el jugador lleva por decisión propia, sin temporizador: mismo prop, misma forma de caminar, mismas restricciones, pero puede guardarla cuando quiera y soltarla no le obliga a arrastrarse. Se recuerda entre reconexiones mediante la columna crutch_manual. No se registra en Discord.
No hay ningún comando para ella de serie. Lanza el evento de alternancia desde tu propio script: una opción de menú radial, un ítem de tienda, una farmacia:
-- From a client script: equip or put away
TriggerEvent('crutch:client:toggle')
-- From a server script, for a given player
TriggerClientEvent('crutch:client:toggle', source)
-- Optional: a message shown alongside
TriggerEvent('crutch:client:toggle', 'Use /dropcrutch to let go of it.')Mientras hay una prescripción activa, la alternancia no puede guardar la muleta. Solo le indica al jugador Crutch is prescribed by EMS; you can't remove it yet.
Sobre los errores#
Con un ID de servidor que no está conectado, ambos exports de servidor no hacen nada, devuelven false e imprimen una línea en la consola del servidor:
[qs-crutches] Invalid ID 27 for ForceCrutch
[qs-crutches] Invalid ID 27 for RemoveCrutchPasa un número, no un string: convierte primero los argumentos del chat con tonumber.



