Antes de empezar#
Antes de instalar Crutches, asegúrate de que tu servidor tiene todo lo que necesita. La lista es corta.
Requisito | Estado | Notas |
|---|---|---|
| Obligatorio | Guarda el estado de las muletas de cada jugador en su personaje. |
| Obligatorio | El menú de EMS, sus diálogos de entrada y las notificaciones por defecto. |
Framework | Obligatorio | ESX ( |
Inventario | Obligatorio | Cualquier inventario que funcione con los ítems usables de tu framework: qs-inventory, ox_inventory, qb-inventory o el de ESX por defecto. |
| Opcional | Si está en marcha, las notificaciones lo usan en lugar de ox_lib. |
Descargar Crutches#
Tras comprar Crutches, el recurso se vincula automáticamente a tu cuenta de Cfx.re. Inicia sesión en el Cfx.re Portal con la misma cuenta que usaste al finalizar la compra, abre Granted Assets y descarga Crutches. Con otra cuenta, el recurso no aparecerá en la lista y los archivos cifrados no cargarán.
Tras descomprimir la descarga, deberías tener las siguientes carpetas:
[crutches]/
├── crutches/ -- the crutch model (v_med_crutch01)
├── qs-crutches/ -- the script
│ ├── config.lua -- what you may edit
│ ├── locales/ -- the 29 translations
│ ├── client/custom/ -- notifications, pickup, framework hooks
│ └── server/webhook.lua -- Discord logs
├── [sql]/ -- esx.sql and qb.sql
└── [item]/ -- crutch.png and the item definitionSe necesitan ambos recursos.
qs-crutchessincrutchesfunciona, pero la muleta nunca aparece en la mano del jugador, porque el modelo que coloca no existe.
Instalar el recurso#
Mueve la carpeta [crutches] al directorio de recursos de tu servidor. Puede estar en cualquier lugar dentro de resources/.
resources/
└── [qs]/
└── [crutches]/
├── crutches/
└── qs-crutches/Después abre tu server.cfg y asegúrate de que todo lo que necesita Crutches se inicia antes:
ensure oxmysql
ensure ox_lib
# Framework
ensure es_extended
# ensure qb-core
# ensure qbx_core
# Your inventory
ensure qs-inventory
# Crutches
ensure crutches
ensure qs-crutchesEl orden de carga importa. El framework se detecta buscando un recurso que ya se ha iniciado, así que un framework que se inicia después de qs-crutches no se encuentra, y el ítem y el menú de EMS dejan de funcionar.
La base de datos#
Crutches añade dos columnas a la tabla de personajes de tu framework. Importa el archivo de tu framework desde [sql]/ con HeidiSQL o cualquier cliente de MariaDB/MySQL antes de iniciar el servidor.
ALTER TABLE `users`
ADD COLUMN `crutch_manual` TINYINT(1) NOT NULL DEFAULT 0,
ADD COLUMN `crutch_forced_until` INT(11) NOT NULL DEFAULT 0;ALTER TABLE `players`
ADD COLUMN `crutch_manual` TINYINT(1) NOT NULL DEFAULT 0,
ADD COLUMN `crutch_forced_until` INT(11) NOT NULL DEFAULT 0;Columna | Contiene |
|---|---|
| Cuándo termina la prescripción actual, como timestamp Unix. |
|
|
Añadir el ítem de la muleta#
El script registra un ítem usable llamado crutch. Añádelo a tu inventario y copia [item]/crutch.png en la carpeta de imágenes de tu inventario para que tenga icono.
qs-inventory/shared/items.lua
['crutch'] = {
['name'] = 'crutch',
['label'] = 'Crutch',
['weight'] = 250,
['type'] = 'item',
['image'] = 'crutch.png',
['unique'] = false,
['useable'] = true,
['shouldClose'] = true,
['rare'] = 'common', -- common, epic, legendary
['description'] = 'A medical crutch used to walk after an injury.'
},ox_inventory/data/items.lua
['crutch'] = {
label = 'Crutch',
weight = 250,
stack = true,
close = true,
description = 'A medical crutch used to walk after an injury.'
},qb-core/shared/items.lua
['crutch'] = { ['name'] = 'crutch', ['label'] = 'Crutch', ['weight'] = 250, ['type'] = 'item', ['image'] = 'crutch.png', ['unique'] = false, ['useable'] = true, ['shouldClose'] = true, ['combinable'] = nil, ['description'] = 'A medical crutch used to walk after an injury.' },INSERT INTO `items` (`name`, `label`, `weight`, `rare`, `can_remove`) VALUES
('crutch', 'Crutch', 250, 0, 1);Mantén el nombre del ítem exactamente como crutch. La etiqueta, el peso y la descripción puedes cambiarlos.
Configurar el recurso#
Todo lo que debes cambiar está en qs-crutches/config.lua. Cada línea lleva una etiqueta que indica lo seguro que es tocarla:
Etiqueta | Significado |
|---|---|
| Seguro de cambiar. Ajústalo a tu servidor. |
| Avanzado. Cámbialo solo si entiendes lo que hace. |
| Lo gestiona el script. No lo edites. |
Los valores que conviene revisar primero:
Config.Language = 'en' -- any of the 29 shipped locales
Config.AllowedJobs = { -- jobs that may use /crutchmenu
'ambulance',
'doctor',
'ems_chief'
}
Config.CrutchDurationMinutes = 5 -- how long the crutch item lasts
Config.CrutchModel = `v_med_crutch01` -- the prop held in the hand
Config.WalkClipset = 'move_lester_CaneUp' -- the injured walk
Config.Pickup = { -- the animation for picking the crutch up
dict = 'pickup_object',
name = 'pickup_low'
}
Config.Attach = { -- [ADV] where the prop sits on the body
useRawBone = true,
bone = 70,
pos = vec3(1.18, -0.36, -0.20),
rot = vec3(-20.0, -87.0, -20.0)
}
Config.Debug = true -- set to false on a live server
Config.Debugviene entrue, lo que imprime una línea[DEBUG]en la consola del servidor por cada acción con muletas. Desactívalo cuando hayas comprobado que la instalación funciona.
Los nombres de trabajo son el nombre interno, no la etiqueta que ven los jugadores. Los logs de Discord se configuran por separado en server/webhook.lua — consulta Integraciones.
Verificar la instalación#
Reinicia tu servidor y mira la consola mientras se inicia qs-crutches. Busca actualizaciones e imprime uno de estos mensajes:
You are using the latest version of qs-crutches!
New version available for qs-crutches!Cualquier error en rojo sobre ox_lib, MySQL o una columna desconocida significa que te saltaste un paso anterior. Después entra y sigue este primer recorrido:
Usa el ítem
Date un
crutchy úsalo. La muleta aparece en tu mano, tu forma de caminar cambia y una notificación te dice cuántos minutos la necesitas.Suéltala y arrástrate
Escribe
/dropcrutch. La muleta cae y tú caes al suelo para arrastrarte. Arrástrate hasta ella y pulsa E para recogerla.Abre el menú de EMS
Con uno de los
Config.AllowedJobs, escribe/crutchmenu, elige Remove crutches from player → By ID e introduce tu propio ID de servidor. Las muletas se quitan.
¿Todo funciona? Lee Uso para conocer el comportamiento completo, de modo que tu equipo de EMS sepa qué puede y qué no puede hacer el paciente.



