Changelog¶
Historial de versiones de nb-restaurants. Descarga las actualizaciones desde tu area de cliente en neenbyss.tebex.io.
Semver:
- MAJOR — cambios incompatibles.
- MINOR — funcionalidad nueva, backwards-compatible.
- PATCH — bugfixes.
v2.1.0 — 2026-04-19¶
Ratings en dos niveles¶
En v2.0.0 todas las resenas iban contra el restaurante. v2.1.0 las ubica automaticamente:
- Nivel item — si el jugador compra un solo plato, el rating se asocia a ese plato.
- Nivel restaurante — si compra carrito multi-item o paga una factura sin item, el rating queda global.
Nueva seccion "Nota por plato" en la pestana Stats del boss menu. Los bosses ven que platos tienen buena nota y cuales no.
Public API para integraciones externas¶
6 nuevos exports pensados para que otros scripts (teléfonos tipo lb-phone/qs-smartphone, dashboards web, bots de Discord) puedan surface los restaurantes:
exports['nb-restaurants']:GetPublicRestaurants() -- listado + rating + is_open
exports['nb-restaurants']:GetRestaurantInfo(id) -- + reviews + item_ratings
exports['nb-restaurants']:GetRestaurantMenu(id) -- con precios de promo aplicados
exports['nb-restaurants']:GetItemRatings(id)
exports['nb-restaurants']:GetRecentRatings(id, n)
exports['nb-restaurants']:IsRestaurantOpen(id)
exports['nb-restaurants']:SubmitPhoneRating(src, data) -- con anti-review-bomb
Todos los payloads son "publicos": sin identificadores de staff/clientes, solo lo que una app muestra. GetRestaurantMenu incluye el descuento de promo activo ya aplicado.
SubmitPhoneRating valida que el jugador haya comprado al menos una vez — no hay review-bombing.
Ver exports.md para firma completa + ejemplo de app de telefono en 20 lineas.
Compatibilidad¶
100% compatible con v2.0.0. Sin cambios de schema, sin breaking. Aditivo.
v2.0.0 — 2026-04-19¶
Release grande de pulido que convierte el MVP en un sistema de negocio completo. Todo lo nuevo es opt-in via Config.Features.* — el admin decide que se activa.
Cocinar se siente cocinar¶
- Pulsar "Cocinar" reproduce progressbar + animacion + prop pegado a la mano (espátula en el grill, coctelera en el bar, sartén en la fryer). El servidor espera
duration_msantes de entregar. - Notificaciones con el icono real del item, no solo un check verde.
- Texto flotante 3D sobre cada marker cuando te acercas ("🍳 Grill Station").
Blips totalmente configurables y opcionales¶
Editor dentro de cada marker:
- Opt-in marker a marker — el admin decide cuales salen en el mapa.
- Sprite, color, escala, nombre y short-range con preview en vivo.
- Kill-switch global
Config.Features.Blips = false.
Dashboard de business intelligence¶
Nueva pestaña Stats en el boss menu:
- Ingresos rodantes 7 dias, transacciones, clientes unicos, gasto a proveedor.
- Grafico de barras diario de ingresos.
- Top 5 items mas vendidos.
- Leaderboard de staff por propinas.
- Ultimas reseñas de clientes.
Cada venta se registra en nb_restaurants_sales_log. Filas viejas se purgan automaticamente (Config.Stats.RetentionDays).
Propinas + Reseñas¶
Despues de cualquier compra, modal que ofrece:
- Propina con presets + campo custom. Va directa al staff que atendio si esta online, o a la sociedad si no.
- Rating 1-5 estrellas con comentario opcional.
Toggles independientes (Config.Features.Tips, Config.Features.Ratings).
Promociones / happy hour¶
Desde el boss menu:
- Target: todos los items (
*) o uno concreto. - Descuento 1%-100%.
- Ventana: absoluta (
start_at/end_at) o recurrente (dia de la semana + franja horaria). - Cap de promos activas concurrentes para evitar "todo gratis" accidental.
Se aplican solas al calcular precio en el autoservicio.
Tabla de toggles¶
Config.Features = {
Blips = true,
CraftingAnimation = true,
FloatingText = true,
ToastIcons = true,
StatsDashboard = true,
Ratings = true,
Tips = true,
Promotions = true,
FormalOrders = false,
}
Desactivar una feature oculta su UI, corta sus hooks de server y deja las filas de BD intactas. Puedes re-activar despues sin perder datos.
Nuevas tablas¶
Ejecuta [sql]/002_stats_tips_ratings_promos.sql:
nb_restaurants_sales_lognb_restaurants_tipsnb_restaurants_ratingsnb_restaurants_promotions
Compatibilidad¶
100% compatible con v1.1.0. No hay APIs eliminadas ni columnas modificadas. Todo gated por Config.Features.*.
v1.1.0 — 2026-04-19¶
Imagenes de items en cocina y autoservicio¶
Las UIs de crafting y self-service ahora muestran los iconos reales de cada item (los mismos que ves en tu inventario):
- Autoservicio: grid con artwork grande + precio destacado + hover con lift y acento rojo. Los slots agotados se ven atenuados en vez de desaparecer.
- Mesa de crafteo: tile grande con el icono del plato + badge
×Nsi produce mas de uno. Ingredientes como iconitos con badge de cantidad y tooltip. - Pixel-art nitido con
image-rendering: crisp-edges. - Fallback a icono de paquete si la imagen no carga.
Mejor soporte de inventarios¶
El resolver de imagenes respeta las mismas convenciones que el resto del ecosistema:
- origen_inventory: lee
client.imageYimage— el URL que pones al crear items conAddCustomItemse muestra sin config extra. - ox_inventory: respeta
client.image. - qb-inventory: usa
imagesi es URL completa. - Soporte para las dos versiones de origen_inventory — origen se distribuye en dos layouts (v1 usa
html/images/, v2 usaui/images/). El default apunta a v2 (a partir de nb-bridge v1.2.2). Si usas origen v1, override en tuConfig.InventoryImagePaths— ver configuracion de nb-bridge.
Compatibilidad¶
100% compatible con v1.0.0. El imageMap es additive — clientes antiguos siguen viendo placeholders.
v1.0.0 — 2026-04-19¶
Release inicial publica. Suite completa de gestion de restaurantes con paneles in-game, crafting, autoservicio, facturacion y lavado de dinero opcional.
Features principales¶
- Panel admin y panel staff Vue 3 con auto-deteccion del rol por job.
- 6 tipos de marker (boss menu, billing desk, crafting station, self-service, warehouse, supplier).
- Biblioteca de 15 plantillas de recetas + importacion a restaurantes concretos.
- Boss menu in-game con hire/fire, sociedad (deposit/withdraw), toggle de autoservicio y lavado.
- Crafting con ingredientes mixtos (warehouse + personal) y cooldown.
- Self-service con stock finito o infinito, multi-payment (cash/bank/both), can-carry check y checkout atomico.
- Billing desk con 3 modos de cobro (native / nb-billings / external) y picker de clientes cercanos.
- Lavado de dinero opcional por restaurante, con fuente configurable (item / cash / account), cap por operacion, cooldown y Discord webhook opcional.
- 4 integraciones opt-in con auto-deteccion: nb-jobmanagers, nb-billings, nb-shops, nb-consumibles.
- i18n estatico (EN/ES) + dinamico en BD (
db::prefix) editable desde el panel. - Hot reload de catalogo (marcadores + restaurantes) sin reiniciar el recurso.
- Escrow-ready:
shared/,bridge/,integrations/yui/**abiertos; core cifrado.