Ir al contenido

Referencia de config.lua

Todas las opciones de config.lua, en el mismo orden que el archivo. config.lua se comparte con los clientes de los jugadores, así que nunca pongas secretos en él: las API keys y los webhooks van en server.cfg con set (ver Instalación). Reinicia el recurso después de cualquier cambio (ensure sl-marketplace).

Opción Por defecto Qué hace
Config.Command 'market' Comando de chat que abre el marketplace
Config.OpenKey 'F6' Tecla que abre el marketplace
Config.AdminCommand 'marketadmin' Comando del panel de administración (solo administradores, ver Administración)
Config.Debug false Activa /marketdebug y /markettest para administradores. Déjalo en false en producción
Config.DefaultLang 'en' Idioma de los jugadores que no han elegido uno, y de los textos que no van a un solo jugador (logs de Discord, textos de anuncios, notas de reembolso). Cada archivo de locales/ añade un idioma

Comportamiento del sistema de hooks. Explicado en Cómo funcionan los hooks.

Opción Por defecto Qué hace
Debug false Muestra cada ejecución de hook y su duración
SlowWarningMs 100 Avisa cuando un hook tarda más (ms). 0 lo desactiva
TrackMetrics true Guarda contadores para /markethandlers
ValidateOnStart true Comprueba al arrancar que existen todos los hooks
EnableDiagnosticsCommand true Registra el comando de diagnóstico
DiagnosticsCommand 'markethandlers' Su nombre
GuardFailurePolicy 'deny' Si un guard lanza un error: 'deny' bloquea la acción, 'allow' la deja pasar
DefaultDenyMessage (sin definir) Mensaje fijo cuando un guard bloquea sin motivo. Sin definir = texto traducido de locales/
Opción Por defecto Qué hace
Config.ServerFee 0.05 Comisión de cada venta (5%). Se retira de la economía, no se le da a nadie
Config.MinPrice 10 Precio mínimo de un anuncio o una puja
Config.MaxPrice 10000000 Precio máximo
Opción Por defecto Qué hace
Config.MaxListingsPerPlayer 10 Anuncios activos a la vez por jugador
Config.MaxImagesPerListing 4 Fotos por anuncio
Config.PageSize 24 Anuncios por página en el buscador
Config.BannedItems money, black_money Objetos que no se pueden anunciar nunca. Añade ['nombre_objeto'] = true
Config.InventoryBackend 'auto' 'auto' lo detecta; 'ox_inventory' o 'esx' fuerzan uno
Config.BumpCost 500 Coste de volver a subir un anuncio arriba del todo. 0 = gratis

Los anuncios destacados se quedan fijos arriba durante un tiempo.

Opción Por defecto Qué hace
Enabled true Permite destacar
Cost 5000 Lo que paga el vendedor
DurationHours 24 Cuánto tiempo sigue destacado

Extra que paga el comprador por elegir un modo de entrega que el vendedor no marcó como preferido. 0 hace que ese modo sea gratis.

Modo Por defecto Significado
mailbox 0 El objeto llega al buzón del juego
meetup 100 El vendedor tiene que ir a un punto de recogida
npc 0 La tarifa del repartidor (NPCDelivery.Cost) se cobra aparte igualmente
person 300 El vendedor tiene que quedar con el comprador en persona

Config.RateLimits limita cuántas veces puede hacer algo cada jugador: max acciones cada window segundos.

Acción Por defecto Limita
photoUpload 8 / 300 s Subidas de fotos
createListing 3 / 60 s Anuncios nuevos
bid 10 / 60 s Pujas
proxyBid 10 / 60 s Cambios del máximo automático
buy 10 / 60 s Compras
message 20 / 60 s Mensajes del chat
bump 1 / 300 s Subidas de anuncios
meet 6 / 30 s Acciones del punto de encuentro (proponer, aceptar, cancelar)
follow 20 / 60 s Seguir / dejar de seguir y alertas de vendedores
deliverySpawn 4 / 60 s Reintentos de registro de la furgoneta
deliveryClaim 6 / 30 s Confirmaciones de llegada / fallo
deliveryRobbery 8 / 30 s Intentos de atraco

Config.Cleanup: registros antiguos que se borran solos (se revisa cada hora).

Opción Por defecto Qué hace
CancelledHistoryDays 30 Días que se guardan los anuncios cancelados y caducados
ExpiredMailboxDays 90 Días que se guardan las entradas del buzón ya recogidas
Opción Por defecto Qué hace
MinLength 3 Longitud mínima del nombre de la tienda
MaxLength 24 Longitud máxima
Pattern '^[%w%s_%-%.]+$' Caracteres permitidos (patrón de Lua): letras, números, espacios, _, - y .

Lista de colores hexadecimales que los jugadores pueden elegir para su avatar. Añade o quita los que quieras.

Se aplica a las subastas normales (ascendentes).

Opción Por defecto Qué hace
MinDurationMinutes 15 Subasta más corta
MaxDurationMinutes 1440 Subasta más larga (24 h)
MinBidIncrement 50 Subida mínima sobre la puja actual…
MinBidIncrementPercent 0.02 …o este porcentaje de ella, lo que sea mayor
AntiSnipeSeconds 60 Una puja en los últimos N segundos alarga la subasta N segundos
Opción Por defecto Qué hace
Blind.Enabled true Subastas a ciegas: las pujas quedan ocultas hasta el final
ProxyBidding.Enabled true Puja automática hasta un máximo
Dutch.Enabled true El precio empieza alto y baja con el tiempo
Dutch.MinStepPercent / MaxStepPercent 5 / 25 Rango de la bajada por intervalo (%)
Dutch.MinIntervalMinutes / MaxIntervalMinutes 5 / 60 Rango del intervalo entre bajadas
Dutch.MinFloorRatio 0.10 El precio mínimo tiene que ser al menos el 10% del de salida
Reverse.Enabled true Los compradores publican una solicitud y los vendedores compiten
Reverse.MaxDurationMinutes 4320 Solicitud más larga (3 días)
Reverse.DepositRequired true El máximo del comprador queda retenido hasta que termina la solicitud

Niveles que se muestran como insignias de color: common, uncommon, rare, epic, legendary. Puedes cambiar color, minPrice (precio mínimo de ese nivel), label y labels (por idioma). No renombres las claves.

Fuerza la rareza de objetos concretos: ['weapon_pistol'] = 'uncommon'. Los que no estén en la lista son common.

Categorías por las que navegan los jugadores: weapons, ammo, food, drinks, drugs, vehicles, tools, materials, electronics, clothes, other. Puedes cambiar label, labels e icon. No renombres las claves.

Fuerza la categoría de objetos concretos: ['bread'] = 'food'. Las categorías se detectan solas a partir de tu inventario; añade solo los objetos que se detecten mal.

Opción Por defecto Qué hace
Enabled true Permite fotos en los anuncios
Provider 'imgbb' Servicio de imágenes. 'imgbb' es gratis y el recomendado
ImgbbExpiration 0 Cuánto tiempo guarda Imgbb las imágenes, en segundos. 0 = para siempre
Encoding 'jpg' 'jpg' (más ligero) o 'png' (más calidad)
Quality 0.85 De 0.0 a 1.0
MaxBase64Length 8 MB Tamaño máximo de una subida

La key va en server.cfg: set sl_marketplace_imgbb_key "…".

Config.Photo.Camera: cámara libre para hacer las fotos.

Opción Por defecto Qué hace
MoveSpeed 8.0 Velocidad de movimiento (unidades/s)
FastMultiplier 3.0 Multiplicador manteniendo Mayús
RotSpeed 4.0 Sensibilidad del ratón
MoveLerp 12.0 Suavizado (más alto = responde más rápido)
MaxDistance 50.0 Distancia máxima desde el jugador
FovDefault / FovMin / FovMax 60 / 20 / 90 Campo de visión: inicial, zoom máximo, zoom mínimo
FovStep 5.0 Grados por paso de la rueda

Config.ItemIcons: imágenes de los anuncios sin foto. Se prueban en orden: iconos de ox_inventory, html/images/<objeto>.png del recurso y un CDN externo.

Opción Por defecto Qué hace
Enabled true Muestra los iconos
UrlPatterns ox_inventory, después html/images/ Rutas locales que se prueban en orden (%s = nombre del objeto)
Bitcode.Enabled true Usa el CDN externo como último recurso
Bitcode.CategoryMap, FallbackCategories — Carpetas del CDN por categoría
VehicleFallback, WeaponFallback Imágenes incluidas Iconos genéricos de vehículos y armas

Para añadir un icono, pon un PNG de 96×96 con el nombre del objeto en html/images/.

Anillo que marca el NPC de recogida y los puntos de encuentro en persona. Su color sale del tema del marketplace del jugador.

Opción Por defecto Qué hace
Radius 1.1 Radio del anillo (m)
FadeStart / FadeEnd 20.0 / 4.0 Distancia a la que empieza a verse / se ve del todo
MinAlpha / MaxAlpha 45 / 170 Opacidad lejos / cerca (0–255; nunca 255)
PulseMs 2200 Duración de un pulso
FallbackColor { 168, 255, 62 } Color hasta que se conoce el tema
PickupColor, MeetColor nil Pon uno para forzar un color fijo

El anillo de puntería para forzar el maletero de una furgoneta de reparto.

Opción Por defecto Qué hace
Phases 3 fases Cada una con duracion (tiempo de la vuelta en ms) y arco (ancho de la zona buena en grados). Por defecto: 1700/58, 1250/42, 950/30
Keys E, Q, R, F Teclas que usan las fases, barajadas cada vez (control = ID de control de GTA)
ZoneMin / ZoneMax 110 / 300 Dónde puede aparecer la zona buena (grados)
Pause 320 Pausa entre fases (ms)
ResultMs 260 Cuánto se queda el resultado en pantalla (ms)
LockMovement true Deja quietos los pies del jugador durante el minijuego
Sounds 4 sonidos phase, hit, miss, passed. false = sin sonido
LatencyMs 30 Sincronía entre el juego y la interfaz; súbelo si las pulsaciones parecen adelantarse

Más fácil: sube duracion o arco. Más difícil: bájalos.

Puntos de recogida del modo de entrega meetup. En cada uno aparece un NPC y un blip en el mapa.

Campo Significado
id Número único
coords Posición vector3
heading Hacia dónde mira el NPC
label Nombre en el blip y en la interfaz
sprite, color Icono y color del blip

Por defecto hay cuatro: Downtown LS, Legion Square, Pillbox Hill y Vinewood.

Config.Discord. El webhook va en server.cfg: set sl_marketplace_discord_webhook "…".

Opción Por defecto Qué hace
Enabled false Envía logs a Discord
Username, Avatar 'Marketplace' Nombre y avatar del bot
Color 0x4cc9f0 Color del embed
Events.listed true Anuncio nuevo
Events.sold true Venta
Events.bid false Puja
Events.cancelled false Anuncio cancelado
Events.expired false Anuncio caducado
Events.rated true Valoración
Events.featured true Anuncio destacado
Events.offer false Oferta de precio

Config.Admin

Opción Por defecto Qué hace
AceGroup 'marketplace.admin' Permiso ACE del panel. En server.cfg: add_ace group.admin marketplace.admin allow
Identifiers {} Administradores extra por identificador ('license:…', 'steam:…')

Descuentos temporales que un vendedor puede lanzar en sus anuncios.

Opción Por defecto Qué hace
Enabled true Permite las ofertas flash
MinDiscount / MaxDiscount 10 / 70 Rango del descuento (%)
MinDurationMinutes / MaxDurationMinutes 10 / 120 Rango de la duración
Opción Por defecto Qué hace
Enabled true Permite los lotes
MinItems / MaxItems 2 / 8 Objetos por lote

La furgoneta de reparto que lleva el objeto al comprador y que se puede atracar.

Opción Por defecto Qué hace
Enabled true Permite la entrega por repartidor
Cost 500 Lo paga el comprador
InsuranceCost 0.10 Seguro opcional: 10% del precio
InsurancePayout 0.80 Si atracan o destruyen una furgoneta asegurada, el vendedor cobra igualmente el 80%
Interceptable true Otros jugadores pueden atracar la furgoneta
MinValueForIntercept 10 Los pedidos más baratos no se pueden atracar
NotifyJob nil Trabajo que recibe un aviso y un blip cuando empieza un reparto atracable (por ejemplo 'robber')
NotifyJobBlipSprite 67 Blip para ese trabajo
MinDistance / MaxDistance 100.0 / 200.0 Distancia del punto de salida de la furgoneta al comprador (m)
Speed 15.0 Velocidad máxima (m/s)
DeliveryTimeout 600 Segundos antes de que el reparto falle y se reembolse al comprador
ArrivalRadius 10.0 Distancia que cuenta como llegada
IntimidationDistance 6.0 Distancia máxima para amenazar al conductor
ExtractionMinSeconds 1 Tiempo mínimo que acepta el servidor entre empezar y terminar el atraco (anti-trampas)
ExtractionAttempts 3 Intentos por jugador para forzar el maletero
ExtractionAnim mini@repair Animación mientras lo fuerza. false = ninguna
PoliceAlertOnKill true Matar al conductor cuenta como atraco (dispara OnDeliveryRobbed)
ShowBlipToBuyer true El comprador ve la furgoneta en el mapa
BlipSpriteBuyer 280 Ese blip
Models.Peds, Models.Vehicles 4 peds, 3 furgonetas Modelos elegidos al azar
Opción Por defecto Qué hace
Enabled true Página pública de tienda por vendedor
MaxPinned 3 Anuncios fijados
LongDescriptionMaxLen 1500 Caracteres de la descripción
BannerAllowed true Los vendedores pueden poner un banner
Opción Por defecto Qué hace
Enabled true Permite pedir reembolsos
WindowDays 7 Días después de la compra para pedirlo
AutoApproveAfterHours 72 Las solicitudes sin respuesta se aprueban solas (se revisa cada hora). 0 lo desactiva
AllowForSeller false El vendedor puede iniciar un reembolso
ServerFeeRefunded true También se devuelve la comisión de la plataforma
Opción Por defecto Qué hace
Enabled true Permite el modo de entrega en persona
ProximityMeters 3.0 Lo cerca que tienen que estar los dos para intercambiar
LocationRadiusMeters 20.0 Tamaño de la zona de encuentro
TimeoutMinutes 120 Tiempo para completar el intercambio antes de cancelarlo y reembolsar
AllowCustomLocation true Cualquier punto del mapa (false = solo puntos de recogida)
AbandonTimeoutSeconds 60 Tiempo fuera de la zona antes de cancelar el intercambio
MeetRequestTimeoutSeconds 300 Tiempo para responder a una propuesta de encuentro
MeetWindowSeconds 600 Tiempo para intercambiar cuando los dos han llegado
Opción Por defecto Qué hace
Enabled true Permite los anuncios de trueque
AllowMoneyComponent true Las propuestas pueden incluir dinero
MaxItemsPerProposal 6 Objetos distintos por cada parte
DurationMinutes 4320 Duración de un anuncio de trueque (3 días)

Insignia de verificado, que se da sola cuando un vendedor cumple los tres umbrales.

Opción Por defecto
Enabled true
MinSales 50
MinRatingAvg 4.5
MinRatingCount 10
Opción Por defecto Qué hace
Enabled true Permite reportar anuncios
Reasons 8 motivos scam, fraud, fake_item, inappropriate, overpriced, wrong_category, duplicate, other
AutoHideThreshold 5 Reportes abiertos que ocultan un anuncio hasta que se revise
Opción Por defecto Qué hace
Enabled true Permite las listas de deseos
MaxPerPlayer 20 Entradas por jugador

Config.Phone

Opción Por defecto Qué hace
Enabled false Registra el marketplace como app del móvil
Resource 'lb-phone' Recurso del móvil. Solo lb-phone funciona sin configuración extra
Opción Qué hace
Config.Notify(src, msg) Muestra una notificación a un jugador. Cámbialo por tu sistema. Detalles
Config.OnDeliveryRobbed(thiefSrc, deliveryId, value, trigger) Se llama cuando atracan una furgoneta de reparto. Detalles