Skip to content

Studio ​

Estúdio de fotos para a staff. Fotografa roupas, cortes, maquiagens, tatuagens, veículos e móveis e salva o .webp na pasta de cada loja. O painel mostra fila, progresso e prévia, e continua de onde parou.

Precisa de: ox_lib, krs_helper, screenshot-basic

O screenshot-basic não está no manifesto, mas o painel recusa abrir a leitura das lojas sem ele.

Instalação ​

cfg
add_filesystem_permission studio write skinshop
add_filesystem_permission studio write barbershop
add_filesystem_permission studio write tattooshop
add_filesystem_permission studio write kay_housing
add_filesystem_permission studio write krs

ensure screenshot-basic
ensure skinshop
ensure barbershop
ensure tattooshop
ensure kay_housing
ensure studio

Coloque depois do krs_helper e das lojas. As linhas add_filesystem_permission deixam o studio gravar dentro de cada loja. Deixe só as das lojas que você tem. Não há tabela no banco. Veja a ordem no server.cfg.

Lojas ​

Cada parte do painel depende de um resource. Com ele desligado, a parte fica apagada e o console avisa.

ParteResourcePasta das fotos
Roupasskinshopweb-side/photos
Barbeariabarbershopweb-side/photos
Tatuagenstattooshopweb-side/photos
Veículos no krskrsconfig/vehicles
Veículos nos outros frameworksstudioweb-side/vehicles
Móveiskay_housingweb-side/furniture

O studio lê o catálogo no formato de skinshop, barbershop e tattooshop. Outras lojas desses tipos não são suportadas.

Para mandar as fotos de veículos para outra loja, fora do krs:

lua
Config.Sources = {
	vehicles = {
		Outro = { Resource = "minha_loja", Folder = "html/carros" }
	}
}
cfg
add_filesystem_permission studio write minha_loja

Como usar ​

  1. Digite /estudio.
  2. Marque as partes e os modelos.
  3. Deixe Só o que falta ligado para pular o que já tem foto.
  4. Em Fotos por categoria, use 1 ou 2 para testar antes de rodar tudo.
  5. Clique em Começar.
  6. Não mexa no personagem até terminar, e deixe o jogo em primeiro plano. O studio tira print da tela.

Pode fechar a janela com Esc ou Minimizar. As fotos continuam, e o progresso fica no rodapé. Parar interrompe a rodada. Com Só o que falta ligado, a próxima rodada continua dali.

No fim, o painel mostra o restart de cada loja que recebeu fotos.

Permissão ​

O comando exige o grupo de Config.AdminGroup, que por padrão é Admin. Veja como virar Admin em cada framework.

Configuração ​

Tudo fica em config.lua. Deixe nele só o que mudou. O resto usa o padrão, e o console avisa opção nova, nome errado e tipo errado ao iniciar.

OpçãoPadrãoO que muda
Command"estudio"Nome do comando
AdminGroup"Admin"Grupo com acesso
Color"#d8b86b"Cor de destaque do painel
UploadRate5Fotos enviadas por segundo, por admin. Só aumente: baixo demais, as fotos param no meio, e no krs o anticheat registra rajada
Modelsmp_m_freemode_01, mp_f_freemode_01Modelos fotografados. Label aceita chave de locale ou texto
Screens{ 0,255,0 }, { 255,0,255 }Cores do fundo usadas no recorte, na 1ª e na 2ª passada
Tones.Skins0, 3Tom de pele em cada passada
Tones.Eyes0, 12Cor dos olhos em cada passada
Tones.Hair0, 29Cor do cabelo em cada passada
Orderclothes, barber, tattoos, vehicles, furniturePartes ligadas, na ordem do painel. Tire uma da lista para desligar

Config.Sources ​

Em toda parte, Resource é a loja e Folder é a pasta dentro dela. Folder aceita letras sem acento, números, _, - e / entre pastas, até 120 caracteres. Não pode ter ponto nem espaço, nem começar com /.

OpçãoPadrãoO que muda
clothes.Frameshead, body, back, legs, feet, fullCâmera por região: Height, Distance, Fov. Back = true fotografa de costas
clothes.Pants0 nos dois modelosCalça usada no 2º tom
barber.HairColor3Cor do cabelo
barber.Highlight3Cor da mecha
barber.HairPalette3Cor dos itens que usam a paleta de cabelo, como a barba
barber.MakeupPalette0Cor dos itens que usam a paleta de maquiagem
vehicles.Outrostudio, web-side/vehiclesDestino fora do krs
vehicles.Skip^bmx_%d+$, ^patinete_%d+$Modelos ignorados, em padrão Lua
vehicles.Fov30.0Zoom da câmera
vehicles.Fill1.05Folga do enquadramento. Maior afasta a câmera
vehicles.Angle-40.0Ângulo da câmera
vehicles.Pitch12.0Inclinação da câmera
vehicles.Settle1200Espera antes da foto, em ms
furniture.Filesarquivos de shared-side do kay_housingOnde o studio lê o catálogo de móveis
furniture.Fov30.0Zoom da câmera
furniture.Fill1.1Folga do enquadramento. Maior afasta a câmera
furniture.Angle35.0Ângulo da câmera
furniture.Pitch22.0Inclinação da câmera
furniture.Settle700Espera antes da foto, em ms

Textos em locales/*.json. O idioma vem de setr ox:locale "pt-br".

Para programadores ​

lua
-- servidor: grava um webp em base64 dentro do resource
local ok = exports.studio:Write(resource,caminho,base64)

-- servidor: lista os .webp de uma pasta do resource
local arquivos = exports.studio:List(resource,pasta)

Write e List não checam permissão nem o caminho. Use só com valores do próprio servidor, nunca com valores vindos do cliente.

Evento de cliente: studio:Open, que abre o painel. Callbacks, pelo krs_helper: studio:Allowed, studio:Files, studio:Started e studio:Upload.

Cada rodada vai para o canal de log Estudio, por exports.krs_helper:Log.

Problemas comuns ​

MensagemO que fazer
O screenshot-basic não está ligado.Adicione ensure screenshot-basic antes do studio
O estúdio não tem permissão para salvar fotos em ...Adicione a linha add_filesystem_permission indicada, antes dos ensure, e reinicie o servidor
... não está ligado no servidor: essa parte do estúdio fica de foraLigue a loja, ou tire a parte de Config.Order
O estúdio não iniciou direito.Reinicie o studio ou o servidor e tente de novo
Tudo que você marcou já tem foto.Desligue Só o que falta para refazer as fotos
Nada para fotografar com essa seleção.Marque outra parte ou outro modelo