Inicio › Documentación › Capturas · origen_clothing

Capturas · origen_clothing

origen_clothing_screenshot es un recurso complementario que genera las imágenes de previsualización de los objetos para la interfaz de la tienda de ropa. Cada objeto de origen_clothing_items necesita un image_url, y este recurso se encarga de generarlo automáticamente.


Cómo funciona

  1. El ped del jugador se teletransporta a una ubicación de croma (Config.GreenScreenPos)
  2. Para cada prenda, se viste al ped con ella y se hace una captura con un ángulo de cámara propio de cada componente
  3. El PNG se guarda en local o se sube a Fivemanage
  4. La columna image_url de origen_clothing_items se actualiza con el resultado
  5. Al terminar se restauran la apariencia y la posición originales del jugador

Configuración — config.lua

Ubicación del croma

Las coordenadas donde se colocan los peds durante el proceso de capturas:

lua
Config.GreenScreenPos = vector4(1339.42, 5864.18, 2.57, 357.78)

Es una zona remota con suelo plano. No la cambies si no sabes lo que haces: las condiciones de iluminación afectan a la calidad de las imágenes.

Destino de guardado

lua
Config.Save = {
    localFiles  = false,       -- true = save PNGs to resource images/ folder
    fiveManageAPI = "",        -- Fivemanage API key (required when localFiles = false)
}
Opción Descripción
localFiles = false Sube los PNG a Fivemanage. Necesita una API key válida.
localFiles = true Guarda los PNG en origen_clothing_screenshot/images/. Sin dependencias externas.

Si usas Fivemanage (localFiles = false), indica tu API key en Config.Save.fiveManageAPI. Consigue tu clave en docs.fivemanage.com.

Configuración de cámaras

Cada ID de componente y de prop tiene un ángulo de cámara propio, optimizado para esa parte del cuerpo. Se definen en Config.ScreenshotCameras:

lua
Config.ScreenshotCameras = {
    clothes = {
        [1]  = { boneId = 31086, ... },  -- masks (head bone)
        [3]  = { boneId = 24818, ... },  -- torsos
        [4]  = { boneId = 24818, ... },  -- legs
        [5]  = { boneId = 24818, ... },  -- bags
        [6]  = { boneId = 24818, ... },  -- shoes
        [7]  = { boneId = 24818, ... },  -- neck
        [8]  = { boneId = 24818, ... },  -- shirts
        [9]  = { boneId = 24818, ... },  -- vest
        [10] = { boneId = 24818, ... },  -- decals
        [11] = { boneId = 24818, ... },  -- jackets
    },
    props = {
        [0] = { boneId = 31086, ... },   -- hats (head bone)
        [1] = { boneId = 31086, ... },   -- glasses
        [2] = { boneId = 31086, ... },   -- earrings
        [6] = { boneId = 24818, ... },   -- watches
        [7] = { boneId = 24818, ... },   -- bracelets
    }
}

Cada entrada de cámara usa estos campos:

Campo Tipo Descripción
boneId number Hueso del ped en el que se centra la cámara (31086 = cabeza, 24818 = columna)
camOffset vector4 Desplazamiento de la posición de la cámara respecto al hueso
targetOffset vector4 Desplazamiento del punto al que mira, respecto al hueso
fov number Campo de visión en grados

Comandos

/screenshot [ped] [collection] [isProp] [component] [variation]

Comando manual para hacer capturas. Se ejecuta desde el cliente.

Argumento Por defecto Descripción
ped — Nombre del modelo de ped (p. ej. mp_m_freemode_01)
collection all Nombre de la colección o all para todas las colecciones
isProp 0 1 = props, 0 = componentes de ropa
component all Nombre del componente o all
variation -1 Índice de una variación concreta o -1 para todas

Ejemplo — captura de todas las camisetas del ped freemode masculino:

text
/screenshot mp_m_freemode_01 all 0 shirts

Ejemplo — captura de una colección concreta:

text
/screenshot mp_m_freemode_01 mp_m_2024_01 0 all

/stopscreenshot

Detiene de inmediato un proceso de capturas en marcha.


Export del servidor — UpdateUrl

origen_clothing_screenshot también expone un export del servidor para actualizar manualmente la URL de la imagen de un objeto:

lua
exports['origen_clothing_screenshot']:UpdateUrl(model, hash, url)
Parámetro Tipo Descripción
model number Hash del modelo de ped
hash string Cadena hash del objeto
url string Nueva URL de imagen que se guardará

Export del cliente — prepareScreenshot

Lanza el proceso de capturas por código desde otro recurso (p. ej. desde la interfaz de administración de la ropa):

lua
exports['origen_clothing_screenshot']:prepareScreenshot({
    ped          = 'mp_m_freemode_01',
    collection   = 'all',   -- collection name or 'all'
    isProp       = false,
    component    = 'all',   -- component name or 'all'
    variation    = -1,
    skipExisting = true,    -- skip items that already have an image_url
})
Campo Tipo Descripción
ped string Nombre del modelo de ped
collection string Nombre de la colección o 'all'
isProp boolean true = props, false = componentes de ropa
component string Nombre de la categoría de componente o 'all'
variation number Índice global de una variación concreta o -1 para todas
skipExisting boolean Si es true, se omiten los objetos que ya tienen image_url

Con skipExisting = true, el recurso consulta la base de datos en bloques de 500 objetos para ver cuáles ya tienen foto antes de empezar. Esto puede ahorrar mucho tiempo en catálogos grandes.