Agency-Vending: máquinas expendedoras que venden de verdad en tu economía
Agency-Vending convierte objetos decorativos en parte real de la economía de tu servidor, con gestión de existencias y reposición por jugadores.
Agency Scripts
Fundador y desarrollador principal en Agency Scripts
El objeto decorativo menos aprovechado de GTA V
GTA V está lleno de máquinas expendedoras puramente decorativas en los servidores vanilla de FiveM. Agency-Vending hace que todas funcionen: los jugadores se acercan, interactúan, compran comida o bebida a precios razonables y reciben los efectos correspondientes. Es sencillo y está por todas partes, y hace que el mapa parezca más vivo que en vanilla.
Existencias que se agotan
Cada máquina tiene sus propias existencias, que disminuyen a medida que los jugadores compran productos. Las máquinas vacías muestran el estado «sin existencias» hasta que se reponen. Parece algo menor, pero crea un nuevo puesto de trabajo: repartidor de máquinas expendedoras. Los jugadores que reponen las máquinas reciben una parte de las ventas de los productos que han abastecido. De repente, todos los objetos decorativos generan actividad económica.
Variedad de productos según el tipo de máquina
Las máquinas expendedoras de refrescos venden bebidas con efectos leves contra la sed. Las máquinas de snacks venden comida que quita el hambre. Los quioscos de café venden bebidas calientes que alivian el cansancio. Agency-Vending identifica automáticamente el tipo de máquina según el modelo del prop y la abastece como corresponde. No hace falta configurar nada para las ubicaciones estándar.
Indicadores de precios
Los precios son intencionalmente más bajos que los de la comida de restaurante, pero más altos que los de cocinar en casa. Esto crea una jerarquía económica lógica: casa > máquinas expendedoras > comida rápida > restaurantes. Los jugadores se inclinan naturalmente por la opción que se ajusta a su situación, igual que en la vida real.
Informes para administradores
Los administradores del servidor reciben un resumen semanal de la actividad de las máquinas expendedoras: cuáles generan más ingresos, cuáles necesitan reabastecerse y qué barrios tienen demanda sin cubrir. Estos datos son muy valiosos para equilibrar el mapa e identificar nuevas oportunidades de juego sin tener que molestar a los jugadores con encuestas.
Instalación y configuración
Agency-Vending requiere oxmysql para llevar el control de existencias de cada máquina. Importa vending.sql , coloca el recurso en tu servidor y añade ensure agency-vending a server.cfg . En el primer inicio, el recurso escanea el mapa en busca de todos los props nativos de máquinas expendedoras y los registra automáticamente en la base de datos. No hace falta introducir coordenadas manualmente para las ubicaciones predeterminadas de las máquinas.
Los artículos que dispensan las máquinas deben existir en el registro de artículos de tu framework. La configuración incluye nombres estándar de artículos de comida y bebida para QBCore y ESX. Cambiar los nombres de artículos personalizados requiere modificar una sola línea por tipo de máquina.
Opciones de configuración
El config.lua cubre tanto el comportamiento de las máquinas como la configuración económica:
- Existencias por máquina, cuántas unidades contiene cada máquina antes de necesitar reabastecimiento. Valor predeterminado: 50.
- Método de reabastecimiento, reabastecimiento automático programado (sencillo), reabastecimiento a cargo de los jugadores (rol económico) o reabastecimiento solo para administradores.
- Requisito de empleo para reabastecer, restringe opcionalmente el reabastecimiento a jugadores con un trabajo de repartidor o vendedor.
- Reparto de ganancias, porcentaje de los ingresos por ventas que recibe el jugador que reabasteció la máquina por última vez.
- Excepciones por tipo de máquina, establece manualmente una lista de artículos diferente para modelos específicos de props de máquinas.
- Duración del efecto, cuánto duran los efectos de comida y bebida. Se puede configurar por tipo de artículo.
- Indicador visual de existencias agotadas, activa o desactiva el estado visual de «vacía» en los props de las máquinas.
Compatibilidad con frameworks
Los adaptadores de QBCore y ESX están incluidos. Para standalone, implementa Config.GiveItem(src, item, count) y Config.TakeMoney(src, amount). El escaneo de máquinas, la gestión de existencias, la economía del reabastecimiento y los informes para administradores son independientes del framework.
Por qué esto importa para el roleplay
La densidad del mapa es uno de los factores menos valorados en la calidad de un servidor de RP. Cuando los jugadores pueden interactuar con más props que ya existen en el mapa, como máquinas, bancos, contenedores y puertas, el mundo parece habitado en lugar de teatral. Agency-Vending es una de las formas más sencillas de lograrlo: cada prop de máquina expendedora se convierte en un punto económico interactivo sin trabajo adicional para el equipo del servidor.
El rol de operador de una ruta de máquinas expendedoras es quizás la experiencia de juego emergente más interesante que permite este script. Un personaje que se gana la vida reabasteciendo máquinas, gestionando rutas y siguiendo qué barrios tienen más movimiento: es un rol de RP cotidiano pero legítimo que algunos jugadores disfrutan de verdad. No todos los personajes tienen que ser delincuentes o policías.
La capa de informes para administradores es una herramienta práctica para mantener sana la economía del servidor. Si una máquina en una ubicación concreta suele estar vacía (mucha demanda), mientras que otra siempre está llena (poco tránsito), esa información te permite decidir dónde colocar NPC de tiendas personalizadas o ajustar los puntos de aparición de los jugadores. Los datos de las máquinas expendedoras te indican dónde pasan el tiempo realmente tus jugadores.
Preguntas frecuentes
¿Puedo añadir ubicaciones personalizadas para máquinas que no sean props nativos de GTA V?
Sí. Define máquinas personalizadas en Config.CustomMachines con coordenadas, modelo del prop y lista de artículos. Así puedes añadir máquinas expendedoras en interiores MLO personalizados donde el escáner de props nativo no puede llegar.
¿Los jugadores pueden robar máquinas expendedoras?
Hay una mecánica de robo opcional en config.lua. Actívala y configura la duración para forzar la máquina, la probabilidad de fallar y el rango del botín. Los robos exitosos entregan una parte del stock actual en forma de artículos y marcan la máquina como dañada hasta que se reponga. Esto añade un uso delictivo sin alterar la economía, la cantidad obtenida por máquina es intencionalmente pequeña.
¿Cómo funciona el reparto de ganancias cuando varios jugadores reabastecen la misma máquina?
El jugador que reabastece la máquina más recientemente es quien recibe las ganancias de esa máquina hasta que se vacía y alguien vuelve a reabastecerla. No se reparten las ganancias entre varios jugadores, quien hizo la última reposición recibe las ganancias del siguiente ciclo. Así la contabilidad es sencilla y se genera una competencia natural entre los operadores de rutas de reparto.
¿Funciona solo en el servidor (sin recurso de cliente)?
No. El escaneo de las máquinas y la interfaz de interacción funcionan en el cliente. Agency-Vending usa scripts de servidor y de cliente. El servidor gestiona el estado del stock y las transacciones de la economía; el cliente gestiona la detección de props, la representación de la interfaz y los activadores de proximidad de los jugadores.
Requisitos
- Servidor FiveM (QBCore, ESX o standalone)
- oxmysql
- Cuenta de cfx.re con una licencia válida de Agency-Vending
- Opcional: ox_lib (para los componentes de la interfaz, incluye una alternativa si no está presente)
Ampliar la economía de máquinas expendedoras
La economía de las máquinas expendedoras funciona mejor cuando es parte de un sistema más amplio de comida y bebida, en lugar de ser la única opción. Así puedes integrarla de forma efectiva:
Cocinar en casa (mediante un script de fabricación) debería ser la forma más barata de conseguir comida con los mejores valores de bonificación, pero requiere ingredientes y tiempo. Las máquinas expendedoras son la opción práctica: sin preparación, compra inmediata, coste moderado y bonificaciones moderadas. Los restaurantes gestionados por jugadores son la opción prémium: las mejores bonificaciones de comida, el coste más alto y requieren un chef jugador. Los locales de comida rápida con NPC quedan entre las máquinas expendedoras y los restaurantes.
Cuando existen los cuatro niveles, los jugadores toman decisiones económicas naturales según su situación. Un jugador en medio de una misión usa una máquina expendedora porque no puede parar en un restaurante. Un jugador con tiempo y dinero va a un restaurante gestionado por jugadores para vivir la experiencia de rol y obtener la bonificación. La estructura por niveles crea decisiones significativas en toda la economía, en lugar de una única opción dominante.
Agency-Vending también funciona bien como fuente de ingresos para los propietarios de negocios de barrio en el RP de la ciudad. Un dueño de tienda que «controla la ruta de máquinas expendedoras» de su barrio cuenta con una fuente de ingresos pasivos y un motivo para patrullar y defender su territorio.