Resumen
Un mercado completo entre jugadores para servidores ESX — con subastas, trueques, quedadas en persona y furgonetas de reparto que otros jugadores pueden atracar.
Lo más destacado
Sección titulada «Lo más destacado»- 7 formas de vender: precio fijo, subasta, subasta ciega, subasta holandesa, subasta inversa, trueque y lotes.
- 4 formas de entregar: instantánea, punto de recogida, repartidor NPC y quedada en persona.
- Entregas que se pueden robar: la furgoneta de reparto recorre la ciudad y cualquier jugador puede encañonar al conductor y forzar el maletero con un minijuego de puntería.
- Negociación de verdad: chat por anuncio, ofertas de precio, trueques de objeto por objeto y contraofertas.
- Identidad de vendedor: tiendas propias, valoraciones, reputación, insignia de verificado, seguidores y alertas de precio.
- Panel de administración completo y seguridad en el servidor: cada acción se valida en el servidor.
- Bilingüe de verdad: inglés y español por jugador —la interfaz y todos los mensajes del juego— y puedes añadir tu propio idioma.
- Interfaz moderna: 5 temas de color, sin necesidad de CDN externos para cargarla.
- Hecho para personalizarse:
config.luaabierto, 38 hooks de servidor y 21 eventos de cliente para conectar tus propios scripts.
Funcionalidades
Sección titulada «Funcionalidades»| Tipo de venta | Cómo funciona |
|---|---|
| Precio fijo | Anuncio clásico. Se compra al instante. |
| Subasta | Las pujas suben. El anti-snipe automático alarga la subasta si alguien puja en los últimos segundos. Precio de compra inmediata opcional. |
| Subasta ciega | Las pujas quedan ocultas hasta el final; gana la más alta. |
| Subasta holandesa | El precio empieza alto y baja cada pocos minutos hasta que alguien compra o llega al mínimo. |
| Subasta inversa | El comprador publica lo que busca y un presupuesto máximo (bloqueado en depósito); los vendedores compiten con ofertas. |
| Trueque | Objetos por objetos, con dinero encima si se quiere. |
| Lote | De 2 a 8 objetos en un solo anuncio. |
Además:
- Fotos hechas dentro del juego con una cámara libre (hasta 4 por anuncio), alojadas en Imgbb. Sin fotos, se usa el icono del objeto.
- Vehículos y armas: vende vehículos propios con todo su tuning, y armas con su munición y accesorios.
- Ofertas flash (descuento temporal del 10–70 %), anuncios destacados (de pago, arriba del todo) y bump (volver a subir un anuncio caducado).
- Historial de precios de cada objeto al publicar, para poner un precio justo.
- Categorías y rarezas detectadas automáticamente a partir de tu catálogo de objetos, con precio mínimo por rareza.
Comprar y pujar
Sección titulada «Comprar y pujar»- Puja automática: fijas un máximo y el script puja por ti hasta esa cantidad.
- Entrega a elección del comprador: el vendedor marca sus modos preferidos; si el comprador elige otro, paga un pequeño extra que va al vendedor.
- Buzón: todo lo que recibe un jugador (objetos, dinero, reembolsos) le espera ahí hasta que lo recoge.
- Valoraciones (1–5 ★) tras cada compra, que construyen la reputación del vendedor.
- Reembolsos: el comprador puede pedirlo dentro de un plazo; el vendedor lo acepta o lo rechaza, y se aprueba solo si el vendedor no contesta.
Modos de entrega
Sección titulada «Modos de entrega»| Modo | Qué pasa |
|---|---|
| Instantánea | El objeto va directo al inventario del comprador (o a su buzón si lo tiene lleno). |
| Punto de recogida | El comprador lo recoge de un NPC en uno de los puntos de recogida del mapa (configurables). |
| Repartidor NPC | Una furgoneta con conductor lleva el pedido al comprador — y se puede atracar por el camino. |
| En persona | Comprador y vendedor quedan en un sitio desde el chat y se encuentran en el mundo para el intercambio. |
Atracos al repartidor
Sección titulada «Atracos al repartidor»Cuando un comprador elige repartidor NPC, aparece una furgoneta cerca y conduce hasta él. Cualquier otro jugador que la encuentre puede robarla:
- Para al conductor. Apúntale con un arma de cerca y se rinde (motor apagado, manos arriba). Matarlo también sirve.
- Ve al maletero. Aparece un aviso de «pulsa E» en la parte trasera de la furgoneta.
- Supera el minijuego. Un anillo gira y hay un tramo de color en algún punto: pulsa la tecla que se indica cuando la aguja pase por el tramo. Hay 3 fases, cada una más rápida, más estrecha y con otra tecla (E, Q, R o F, barajadas cada vez).
- Aguanta el pulso. El intento se corta si te alejas de la furgoneta, corres, disparas o recibes daño.
- 3 intentos por jugador y furgoneta. Fallar una fase gasta un intento; que te disparen o que la furgoneta arranque, no. Gastados los tres, ese cierre queda reventado para ti — otro jugador todavía puede intentarlo.
Resultado:
| Quién | Qué pasa |
|---|---|
| Ladrón | Se lleva el paquete a su inventario. |
| Comprador | Pierde el pedido y se le avisa de quién se lo ha llevado. Si el comprador atraca su propia furgoneta, cuenta como entrega anticipada. |
| Vendedor | Solo cobra si el comprador contrató el seguro de envío al pagar (por defecto el vendedor recibe el 80 % del precio). |
Para el dueño del servidor:
- Desactiva los atracos del todo con
Interceptable = false, o pon un valor mínimo de pedido. - Por defecto no hay blip: los ladrones tienen que encontrar la furgoneta. Puedes avisar a un trabajo (por ejemplo
'robber') con un blip cuando sale una entrega robable (NotifyJob). - Conecta un aviso a la policía en
Config.OnDeliveryRobbedo en el handlerOnDeliveryRobbed. - El minijuego (velocidad, ancho del tramo, teclas, sonidos) se ajusta entero en
Config.SkillCheck. - Si la furgoneta se destruye o no llega a tiempo, al comprador se le reembolsa automáticamente.
- Todo se valida en el servidor: la distancia, los modelos, los tiempos y los intentos no se pueden falsear desde el cliente.
Chat, ofertas y trueques
Sección titulada «Chat, ofertas y trueques»- Chat por anuncio con bandeja de entrada, estado de lectura y mensajes del sistema.
- Ofertas de precio y ofertas de subasta inversa dentro del chat.
- Propuestas de trueque con objetos + dinero, contraofertas, aceptación y cancelación. Los objetos ofrecidos quedan en depósito para que nadie pueda estafar.
- Quedadas en persona: propón tu posición actual, un punto del mapa o un sitio predefinido; el otro jugador acepta o rechaza; el blip, la ruta y el plazo solo aparecen cuando los dos están de acuerdo.
- Comparte tu ubicación o tu contacto de teléfono desde el chat.
Perfiles y social
Sección titulada «Perfiles y social»- Perfil de tienda: nombre de tienda único, bio, color de avatar e idioma preferido.
- Escaparate: banner, descripción larga, hasta 3 anuncios fijados, y pestañas de anuncios activos, ventas, valoraciones y «sobre la tienda».
- Insignia de verificado, automática (por defecto: 50 ventas, media de 4,5 ★ y 10 valoraciones).
- Sigue a vendedores y recibe avisos de sus nuevos anuncios (los avisos se pueden silenciar por vendedor).
- Alertas de precio: te avisa cuando se publica un objeto por debajo del precio que marques.
- Favoritos, y reportes con motivos configurables (los anuncios se ocultan solos al acumular varios reportes).
Interfaz
Sección titulada «Interfaz»- 5 temas: Cash (por defecto), Indigo, Gold, Vice y Mono. Se guardan por separado para cada personaje en el dispositivo actual.
- Inglés y español, a elección de cada jugador: la interfaz, los avisos, las indicaciones en el mundo y las notas del buzón lo siguen. Añade cualquier idioma copiando un archivo de
locales/. - Paleta de comandos (Ctrl+K) para ir a cualquier sitio, filtros, orden y paginación.
- Notificaciones agrupadas como en un móvil, con sonidos en los momentos clave.
- Marcadores en el mundo y avisos de «pulsa E» dibujados por el script y anclados al repartidor, al punto de encuentro o a la furgoneta — siguen el tema del jugador.
- Vue 3, los iconos y las fuentes vienen dentro del recurso: la interfaz carga sin ningún CDN.
Administración
Sección titulada «Administración»/marketadmin abre un panel con:
- Resumen con indicadores en directo.
- Anuncios (buscar, previsualizar, cancelar), reportes (revisar, descartar), usuarios (banear, desbanear), reembolsos (forzar).
- Historial y operaciones (entregas y trueques), en solo lectura.
- Cada acción pide confirmación y el servidor comprueba el permiso
marketplace.admin.
Además: límites de uso por acción, limpieza automática de datos antiguos y logs de Discord opcionales por evento.
Para desarrolladores
Sección titulada «Para desarrolladores»- 38 hooks de servidor en
server/handlers.lua: 8 guardas que pueden bloquear una acción (CanCreateListing,CanBuyListing,CanPlaceBid…) y 30 avisos (OnSaleCompleted,OnDeliveryRobbed…). Un error en tu código se captura y se registra; nunca rompe la venta. - 21 eventos de cliente en
client/handlers.lua(sl-marketplace:onPurchaseCompleted,onOutbid,onSkillCheckFinished…), para sonidos, HUD o notificaciones de teléfono. Config.Notifypara usar tu propio sistema de notificaciones (ox_lib, okokNotify…)./markethandlersmuestra qué hooks se han ejecutado, sus errores y las llamadas lentas.