Início › Documentação › Capturas de ecrã · origen_clothing

Capturas de ecrã · origen_clothing

O origen_clothing_screenshot é um recurso complementar que gera as imagens de pré-visualização dos itens para a interface da loja de roupa. Cada item de origen_clothing_items precisa de um image_url, e este recurso trata disso automaticamente.


Como funciona

  1. O ped do jogador é teletransportado para uma localização de chroma key (Config.GreenScreenPos)
  2. Para cada peça de roupa, o ped é vestido com ela e é tirada uma captura com um ângulo de câmara próprio de cada componente
  3. O PNG é guardado localmente ou enviado para o Fivemanage
  4. A coluna image_url de origen_clothing_items é atualizada com o resultado
  5. No fim, a aparência e a posição originais do jogador são repostas

Configuração — config.lua

Localização do chroma key

As coordenadas onde os peds são colocados durante o processo de capturas:

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

É uma zona remota com chão plano. Não a alteres se não souberes o que estás a fazer: as condições de iluminação afetam a qualidade das imagens.

Destino de gravação

lua
Config.Save = {
    localFiles  = false,       -- true = save PNGs to resource images/ folder
    fiveManageAPI = "",        -- Fivemanage API key (required when localFiles = false)
}
Opção Descrição
localFiles = false Envia os PNG para o Fivemanage. Requer uma API key válida.
localFiles = true Guarda os PNG em origen_clothing_screenshot/images/. Sem dependências externas.

Se usares o Fivemanage (localFiles = false), define a tua API key em Config.Save.fiveManageAPI. Obtém a tua chave em docs.fivemanage.com.

Configuração das câmaras

Cada ID de componente e de prop tem um ângulo de câmara próprio, otimizado para essa parte do corpo. Estão definidos em 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 estes campos:

Campo Tipo Descrição
boneId number Osso do ped em que a câmara se centra (31086 = cabeça, 24818 = coluna)
camOffset vector4 Desvio da posição da câmara em relação ao osso
targetOffset vector4 Desvio do ponto para onde olha, em relação ao osso
fov number Campo de visão em graus

Comandos

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

Comando manual para tirar capturas. Executa-se a partir do cliente.

Argumento Por omissão Descrição
ped — Nome do modelo de ped (p. ex. mp_m_freemode_01)
collection all Nome da coleção ou all para todas as coleções
isProp 0 1 = props, 0 = componentes de roupa
component all Nome do componente ou all
variation -1 Índice de uma variação específica ou -1 para todas

Exemplo — captura de todas as camisolas do ped freemode masculino:

text
/screenshot mp_m_freemode_01 all 0 shirts

Exemplo — captura de uma coleção específica:

text
/screenshot mp_m_freemode_01 mp_m_2024_01 0 all

/stopscreenshot

Interrompe imediatamente um processo de capturas em curso.


Export do servidor — UpdateUrl

O origen_clothing_screenshot também expõe um export do servidor para atualizar manualmente o URL da imagem de um item:

lua
exports['origen_clothing_screenshot']:UpdateUrl(model, hash, url)
Parâmetro Tipo Descrição
model number Hash do modelo de ped
hash string Cadeia hash do item
url string Novo URL de imagem a guardar

Export do cliente — prepareScreenshot

Inicia o processo de capturas por código a partir de outro recurso (p. ex. a partir da interface de administração da roupa):

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 Descrição
ped string Nome do modelo de ped
collection string Nome da coleção ou 'all'
isProp boolean true = props, false = componentes de roupa
component string Nome da categoria de componente ou 'all'
variation number Índice global de uma variação específica ou -1 para todas
skipExisting boolean Se for true, os itens que já têm image_url são ignorados

Com skipExisting = true, o recurso consulta a base de dados em blocos de 500 itens para ver quais já têm foto antes de começar. Isto pode poupar muito tempo em catálogos grandes.