Cómo funcionan las integraciones#
Restaurant Creator no deja fijos en el código tu framework, tu inventario ni tu target. Cada uno se detecta al iniciar buscando un recurso iniciado, y todo lo específico de cada recurso vive en pequeños archivos puente sin cifrar dentro de client/custom/, server/custom/ y custom/.
Capa | Compatibles | Sin él |
|---|---|---|
Framework |
| Obligatorio. |
Inventario |
| Obligatorio — los ingredientes, los platos y las neveras lo necesitan. La alternativa standalone solo muestra una advertencia. |
Target |
| Texto 3D y la tecla E ( |
Text UI |
| La interfaz de texto de ox_lib y el texto 3D nativo. |
Barras de progreso · HUD |
| El círculo de progreso de ox_lib; solo se oculta el minimapa mientras hay un menú abierto. |
Sonido 3D |
| La freidora queda en silencio. |
La detección solo ve los recursos que ya están en ejecución, así que inicia cada uno de ellos antes de qs-restaurant-creator en server.cfg.
Recursos renombrados#
¿Usas un framework o inventario con otro nombre de carpeta? Añade el nombre a la lista correspondiente en config/main.lua, apuntando al puente que debe usar:
local frameworks = {
['es_extended'] = 'esx',
['qb-core'] = 'qb',
['qbx_core'] = 'qb',
['my-core'] = 'qb', -- a renamed qb-core
}
local inventories = {
['qs-inventory'] = 'qs',
['ox_inventory'] = 'ox',
['qb-inventory'] = 'qb',
['tgiann-inventory'] = 'tgiann',
['codem-inventory'] = 'codem',
['origen_inventory'] = 'origen',
}Notificaciones#
Por defecto, los mensajes se muestran en la propia interfaz del script. Para enviarlos a otro sistema, edita Notification en custom/client.lua — ya hay ejemplos listos para qs-interface y ox_lib, comentados:
-- custom/client.lua
function Notification(msg, type) -- type: 'info' | 'error' | 'success'
lib.notify({ title = 'Restaurant', description = msg, type = type })
endEl mismo archivo contiene las funciones de interfaz de texto, barra de progreso, HUD y sonido 3D, así que cualquiera de ellas se puede cambiar por tu propio recurso.
Hambre y sed#
Comer llena el hambre y beber llena la sed, sin configurar nada. En ESX pasa por esx_status; en QBCore y Qbox establece los metadatos hunger y thirst del jugador y actualiza el HUD. Las cantidades son un porcentaje (0–100) definido en config/consumable.lua: 30 % por defecto para la comida y para las bebidas.
-- config/consumable.lua
Config.ConsumableOutputs = {
food = { hunger = 30, thirst = 0, ... }, -- every dish
drink = { hunger = 0, thirst = 30, ... }, -- every drink
items = {
-- any item can override the amounts of its template
['cooked_pizza'] = { inherit = 'food', hunger = 50 },
['cooked_fries'] = { inherit = 'food', hunger = 20 },
['cola_drink'] = { inherit = 'drink', thirst = 40 },
},
}Tus propios platos de varios pasos y bebidas personalizadas usan las cantidades food o drink salvo que los añadas a items. Pon ambos a 0 para desactivarlo. ¿Usas otro sistema de estado? Edita framework:addNeeds en custom/esx/server.lua o custom/qb/server.lua — recibe al jugador y los dos porcentajes.
Logs de Discord#
Pega una URL de webhook de Discord por categoría en server/webhooks.lua. Las categorías vacías simplemente no se registran.
Categoría | Qué se registra |
|---|---|
| Restaurantes creados, editados y eliminados. |
| Depósitos y retiros. |
| Contrataciones, despidos y cambios de rango. |
| Rangos creados, editados y eliminados. |
| Pedidos del kiosco, cambios de estado y entregas; compras y recogidas de suministros. |
| Abierto/cerrado, imagen y sistemas de cocina activados o desactivados. |
| Recetas creadas, editadas y eliminadas. |
-- server/webhooks.lua
Config.ShowWebhookIP = false -- show players' IPs in log embeds
_G['webhook'] = {
creator = 'https://discord.com/api/webhooks/...',
finance = 'https://discord.com/api/webhooks/...',
workers = '',
ranks = '',
orders = '',
settings = '',
recipes = '',
}Añadir un inventario#
Dar soporte a un inventario que no está en la lista requiere dos archivos y una línea:
Copia el puente más parecido
Duplica el par más parecido — por ejemplo
client/custom/inventory/qb-inventory.luayserver/custom/inventory/qb.lua— y renómbralos con el nombre de tu inventario.Sustituye las llamadas
Cambia los exports internos por los de tu inventario: abrir un almacén (
OpenStash), y en el servidor la lista de objetos y la ruta de las imágenes.Regístralo
Añade
['your-inventory'] = 'yourname'a la listainventoriesenconfig/main.luay reinicia.
Idiomas y formato de precios#
Se incluyen 41 traducciones en locales/: ar, bg, bn, ca, cs, da, de, el, en, es, et, fa, fi, fr, he, hi, hr, hu, id, it, ja, ko, lt, lv, ms, nl, no, pl, pt, ro, ru, sk, sl, sv, sw, th, tr, uk, ur, vi y zh. Elige una con Config.Locale, o copia en.json a un nuevo código para escribir la tuya.
Los precios de todos los menús siguen Config.Intl — configura locales = 'es-ES' y currency = 'EUR' para mostrar 1.250 €, por ejemplo. Solo cambia cómo se ven los números, nunca las cantidades.



