Changelog
v1.1.1 — Correcciones de las correcciones de v1.1.0
Corregido
- Hot reload :
BM_Stateahora se persiste viaGlobalState['foltone_blackmarket:state']y se restaura al inicio del resource. ElonResourceStartre-broadcast anadido en v1.1.0 era inutil porque las variables Lua se resetean en cada reload del resource — el state ahora se recupera realmente y los jugadores ya conectados conservan su van. El scheduler tambien salta el delay inicial si un van fue restaurado. - Callbacks cliente : el sweep periodico que dropea callbacks expirados (timeout 30s) ahora notifica al caller con
nilen vez de simplemente eliminar la entry. Sin esto, un solo packet perdido al abrir el NUI dejabaNUI.opening = truepara siempre → menu imposible de reabrir hasta /restart.
v1.1.0 — Robustez i18n + correcciones
Anadido
- Locales aleman (
de.lua) y espanol (es.lua) completos - Nuevas claves de traduccion :
rui_price_format,rui_price_stock_format,rui_component_suffix,rui_tint_suffix,rui_weapon_list_title,ui_html_title,ui_close_tooltip,ui_select_weapon(reemplazan strings hardcodeados en RageUI y NUI) - Soporte del atributo HTML
data-i18n-titleen el NUI (tooltips traducibles) configuration.mdreescrita con todas las opciones Config : modosMenuType(nui/rageui), variantesTargetSystem, temas RageUI (classic/modern) con descripciones visuales, banners disponibles, opciones NUI Preview 3D, VanCustom, comportamiento de puertas, animaciones del ped, parametros del telefono (radios / jitter), categorias, etc.version.jsonconsumido por el version check (raw.githubusercontent.com/foltone/foltone_doc/main/foltone-blackmarket/version.json)
Corregido
- NUI :
RESOURCE_NAMEahora resuelto viaGetParentResourceName()→ todos los callbacks JS↔Lua siguen funcionando si el owner del servidor renombra la carpeta del resource (sino menu inerte, /restart obligatorio para liberar el focus NUI) - NUI :
state.customWeaponFilterse resetea en cada apertura (evita referencia stale a un arma vendida/eliminada siDefaultCategory = 'customs') - NUI : guard
NUI.openingcontra doble apertura rapida (dosgetCatalogen vuelo) - Servidor :
getCatalogahora envia un payload locale mergeado (en como base + locale activa como override), asi una clave faltante en una locale parcial cae sobre el ingles en vez de mostrar la clave bruta en la UI - Servidor : hot reload (
ensure foltone_blackmarketcon jugadores conectados) re-broadcastea estado a jugadores ya conectados - Servidor :
BM_State.heatse resetea en cada spawn (persistia entre ciclos de van) - Cliente : timeout 30s + limpieza de callbacks servidor huerfanos en network drop, pcall alrededor del callback para mantener la cola sana
- Cliente : log consola una vez cuando
Config.Localeapunta a una locale ausente, listando lo disponible - RageUI :
fmtMoneyusa separador de miles ($1,234,567) como el NUI - Bridge :
Bridge.HasItem(ESX/QB) mas robusto cuando el player object falta - Version check : movido a un endpoint JSON (
json.decodenativo + fallback regex)
Menor / seguridad
playerDroppedcapturasourceen una variable local (buena practica)applyCustomToOxInventory: eliminado un retorno multi-valor sin uso
v1.0.0 — Lanzamiento inicial
Anadido
- Van movil de armas ilegales con ciclo de spawn aleatorio
- Ubicaciones de spawn configurables (10 presets LS / campo)
- Soporte multi-framework (ESX / QBCore / QBox / standalone)
- Soporte multi-inventario (ox_inventory / qs-inventory / esx / qb)
- Soporte multi-target (ox_target / qb-target / qtarget) + fallback textUI
- Doble menu : RageUI (in-game) y NUI (HTML/CSS) elegible via
Config.MenuType - Preview 3D de los items con zoom de rueda
- Pestana de customizacion de armas (componentes + tints) para armas poseidas
- Preview en tiempo real al pasar por encima de un custom
- Selector de armas con flechas en la pestana customs
- Persistencia metadata ox_inventory (components + tint)
- Item telefono cifrado con sistema de blip de dos fases (busqueda 161 luego van 110)
- Sistema policia & heat (alertas, despawn automatico al umbral)
- Deteccion de policias cerca : el vendedor huye si hay policia cerca (radio 80m)
- Varianza de stock y precio por van (+/-30% / +/-10%)
- Gate de reputacion (opcional, hook
GetPlayerReputation) - Protecciones anti-cheat : check de distancia, cooldown, validacion source, transacciones atomicas
- Verificacion de posesion del arma en servidor para los customs
- Logging webhook de Discord en cada compra
- Comando admin
bm_van spawn/despawn/status - Soporte multi-idioma (fr / en / es)
- Verificacion de version automatica al inicio