Paneles¶
Dos paneles principales, separados por permisos.
Panel admin — /nb_admin¶
Permiso: Config.AdminGroups.
Funciones¶
- Lista de concesionarios — nombre, job, cuenta de sociedad.
- Crear (o
/nb_createdealer) — modal con nombre + job. - Eliminar — con confirmacion; borra en cascada requests, stock y showroom (los vehiculos del showroom se eliminan del mundo).
Advertencia: al eliminar un concesionario el dinero society_<job> queda fuera del alcance del panel. Si necesitas recuperarlo, hazlo via esx_addonaccount directamente.
Panel boss — /nb_bossmenu¶
Permiso: ser boss del job del concesionario, o admin.
Cuatro pestanas:
1. Peticiones¶
Lista de nb_dealer_sell_requests con estado PENDING y COUNTERED.
- Aceptar — compra al vendedor por
asking_price. - Rechazar — descartar.
- Contra-oferta — introducir
counter_price; el vendedor vera la contra y decide.
Cada fila muestra:
- Nombre + identifier del vendedor.
- Modelo del vehiculo.
- Plate.
asking_price.- Timestamp.
2. Stock¶
Lista de nb_dealer_stock — los coches comprados pendientes de mover al showroom.
- Poner en showroom — abre modal con:
- Selector de slot libre (auto-sugiere el siguiente disponible).
- Precio de venta.
- Coordenadas (las coge del jugador que abre el menu; el coche se spawnea ahi).
- Eliminar — descartar del stock sin reembolso.
3. Dinero (society)¶
Balance de society_<job>. Solo boss o admin pueden depositar/retirar (v1.6).
- Depositar — transfiere cash/bank del jugador a la sociedad.
- Retirar — transfiere de la sociedad al bank del jugador.
4. Ajustes¶
- Mover sell point — el menu coge tu posicion actual y la guarda como punto de venta.
- Mover manage point — el menu coge tu posicion actual y la guarda como punto de gestion (donde se abre
/nb_bossmenu).
Modales auxiliares¶
Counter-offer¶
- Campo numerico con el
counter_price. - Validacion
1 <= counter_price <= Config.MaxPrice. - Submit envia el evento al servidor y actualiza el estado del request a
COUNTERED.
Showroom placement¶
- Preview del modelo con su spawn name.
- Slider de precio con cap
Config.MaxPrice. - Boton Colocar aqui para usar las coords del jugador, o Cancelar.
Admin details¶
- Detalles del concesionario seleccionado en
/nb_admin:- Job + sociedad.
- Contadores de requests, stock, showroom.
- Balance de la sociedad.
Seguridad del panel¶
- Todos los eventos del boss menu re-validan que el invocador sea boss del job, no solo que haya abierto la UI. Si un cliente modificado dispara un evento sin ser boss, el servidor lo descarta.
- Rate limiting (2s) en dealer actions y deposito/retiro.
- Locks anti-doble click — si dos bosses aceptan la misma peticion simultaneamente, solo uno gana.