Los cuatro ítems#
Mechanic Creator no añade ítems a tu inventario por ti — no puede, porque cada inventario los guarda de forma distinta. Estos cuatro tienen que existir antes de que un mecánico pueda hacer el trabajo correspondiente.
Ítem | Para qué sirve | Sin él |
|---|---|---|
| Abre la tablet de la tienda: pedidos, fondos, personal, dyno e historial. | El personal puede abrirla igualmente con la tecla, pero el ítem es la vía que prefiere la mayoría de servidores. |
| Reparaciones completas, de carrocería y de motor desde el menú radial. | Cada reparación se rechaza con "you need a repairkit". |
| Remolcar un vehículo detrás de otro. | Se rechaza el remolque. |
| Lavar un vehículo. | Se rechaza el lavado. |
Las imágenes#
Cuatro iconos vienen con el recurso, en .README/images/. Cópialos en la carpeta de imágenes de tu inventario antes de añadir los ítems, o aparecerán como cuadrados en blanco.
Inventario | Copia los cuatro PNG en |
|---|---|
|
|
|
|
|
|
Cualquier otro | La carpeta de la que ese inventario lea sus iconos. |
Añadir los ítems#
Elige tu inventario y pega el bloque. No hay que registrar nada más: el recurso declara él mismo los manejadores de uso.
Añade a ox_inventory/data/items.lua. La línea server.export es lo que hace que el ítem haga algo.
['mechanic_tablet'] = {
label = 'Mechanic Tablet',
weight = 1000,
stack = false,
close = true,
description = 'Digital tablet for managing your mechanic shop',
server = {
export = 'qs-mechanic-creator.useTablet'
}
},
['repairkit'] = {
label = 'Repair Kit',
weight = 500,
stack = true,
close = true,
description = 'A kit containing tools to repair vehicles',
server = {
export = 'qs-mechanic-creator.repairkit'
}
},
['rope'] = {
label = 'Rope',
weight = 300,
stack = true,
close = true,
description = 'A sturdy rope for towing vehicles',
server = {
export = 'qs-mechanic-creator.rope'
}
},
['sponge'] = {
label = 'Sponge',
weight = 100,
stack = true,
close = true,
description = 'A sponge for washing vehicles',
server = {
export = 'qs-mechanic-creator.sponge'
}
},Añade a qs-inventory/shared/items.lua — o a qb-core/shared/items.lua si usas qs-inventory en QBCore. Ten en cuenta que aquí el export es de cliente, y el nombre de la tablet difiere del de la versión de ox.
['mechanic_tablet'] = {
['name'] = 'mechanic_tablet',
['label'] = 'Mechanic Tablet',
['weight'] = 1000,
['type'] = 'item',
['image'] = 'mechanic_tablet.png',
['unique'] = false,
['useable'] = true,
['shouldClose'] = true,
['combinable'] = nil,
['description'] = 'Digital tablet for managing your mechanic shop',
['client'] = { ['export'] = 'qs-mechanic-creator.mechanic_tablet' }
},
['repairkit'] = {
['name'] = 'repairkit',
['label'] = 'Repair Kit',
['weight'] = 500,
['type'] = 'item',
['image'] = 'repairkit.png',
['unique'] = false,
['useable'] = true,
['shouldClose'] = true,
['combinable'] = nil,
['description'] = 'A kit containing tools to repair vehicle body damage',
['client'] = { ['export'] = 'qs-mechanic-creator.repairkit' }
},
['rope'] = {
['name'] = 'rope',
['label'] = 'Rope',
['weight'] = 300,
['type'] = 'item',
['image'] = 'rope.png',
['unique'] = false,
['useable'] = true,
['shouldClose'] = true,
['combinable'] = nil,
['description'] = 'A sturdy rope for towing vehicles',
['client'] = { ['export'] = 'qs-mechanic-creator.rope' }
},
['sponge'] = {
['name'] = 'sponge',
['label'] = 'Sponge',
['weight'] = 100,
['type'] = 'item',
['image'] = 'sponge.png',
['unique'] = false,
['useable'] = true,
['shouldClose'] = true,
['combinable'] = nil,
['description'] = 'A sponge for washing vehicles',
['client'] = { ['export'] = 'qs-mechanic-creator.sponge' }
},Añade a qb-core/shared/items.lua. No hace falta export — useable = true basta, y el recurso registra el manejador él mismo al arrancar.
['mechanic_tablet'] = {
['name'] = 'mechanic_tablet',
['label'] = 'Mechanic Tablet',
['weight'] = 1000,
['type'] = 'item',
['image'] = 'mechanic_tablet.png',
['unique'] = false,
['useable'] = true,
['shouldClose'] = true,
['combinable'] = nil,
['description'] = 'Digital tablet for managing your mechanic shop'
},
['repairkit'] = {
['name'] = 'repairkit',
['label'] = 'Repair Kit',
['weight'] = 500,
['type'] = 'item',
['image'] = 'repairkit.png',
['unique'] = false,
['useable'] = true,
['shouldClose'] = true,
['combinable'] = nil,
['description'] = 'A kit containing tools to repair vehicle body damage'
},
['rope'] = {
['name'] = 'rope',
['label'] = 'Rope',
['weight'] = 300,
['type'] = 'item',
['image'] = 'rope.png',
['unique'] = false,
['useable'] = true,
['shouldClose'] = true,
['combinable'] = nil,
['description'] = 'A sturdy rope for towing vehicles'
},
['sponge'] = {
['name'] = 'sponge',
['label'] = 'Sponge',
['weight'] = 100,
['type'] = 'item',
['image'] = 'sponge.png',
['unique'] = false,
['useable'] = true,
['shouldClose'] = true,
['combinable'] = nil,
['description'] = 'A sponge for washing vehicles'
},En un inventario ESX clásico los ítems están en la base de datos. Ejecuta esto una vez:
INSERT INTO `items` (`name`, `label`, `weight`, `rare`, `can_remove`) VALUES
('mechanic_tablet', 'Mechanic Tablet', 1, 0, 1),
('repairkit', 'Repair Kit', 500, 0, 1),
('rope', 'Rope', 300, 0, 1),
('sponge', 'Sponge', 100, 0, 1);Si tu servidor ESX usa en cambio un inventario moderno — ox_inventory es el habitual — usa esa pestaña en lugar de este SQL.
Renombrar un ítem#
No tienes que usar estos nombres. Si tu servidor ya tiene un kit de reparación con otro nombre, mantén el tuyo e indícaselo al recurso en la sección Items del panel de ajustes. Ahí hay cuatro nombres, uno por trabajo, y cambiar uno surte efecto de inmediato.
La misma sección decide si un ítem se consume o solo se exige, y si una prueba de habilidad fallida gasta el kit o lo conserva. Los requisitos también pueden desactivarse por completo, que es la elección habitual en un servidor con poco roleplay.
Si un ítem no hace nada#
Usarlo no produce ninguna reacción
El ítem existe pero no está conectado al recurso. En ox revisa la línea server.export; en qs revisa la línea client.export; en qb revisa useable = true. Luego confirma que la carpeta del recurso se llama exactamente qs-mechanic-creator, porque la ruta del export se construye a partir de ese nombre.
Dice que falta el ítem cuando lo tengo
El nombre en el panel de ajustes no coincide con el nombre en tu inventario. El mensaje cita el nombre que buscó — compara los dos carácter por carácter.
El icono es un cuadrado en blanco
Los PNG no se han copiado en la carpeta de imágenes de tu inventario, o el campo image no coincide con el nombre del archivo. Es solo estético — el ítem sigue funcionando.
Nada relacionado con los ítems funciona
Probablemente tu inventario se inició después de este recurso, así que nunca se detectó. Muévelo por encima de qs-mechanic-creator en server.cfg — consulta Instalación.



