Ir para o conteúdo
CXGdocs.GUIAS
Voltar à loja
cxg-tattoosConfiguração
CXG DOCUMENTATION

Configuração

Os ajustes desta página ficam em config.lua. Altere os campos das tabelas existentes e reinicie o recurso para aplicar as mudanças.

Valores iniciais e ajustes salvos

As lojas e regras de progressão do arquivo servem como configuração inicial. Depois que forem salvos pelo painel administrativo, os valores efetivos são mantidos entre reinicializações. Alterá-los no arquivo não substitui automaticamente o que foi salvo: use o painel para atualizar lojas, regras e opções do sistema já inicializadas.

Idioma, providers, bridges, câmera e roupa de prévia são configurados no arquivo. As fontes e tatuagens estão descritas em catálogo e packs.

Idioma global

Código
Config.Locale = 'es'
Config.LocaleFallback = 'en'

Locale define o idioma da interface e das mensagens para todos os jogadores. Reinicie o recurso após alterá-lo; o jogador não pode mudá-lo pela NUI. LocaleFallback é o idioma de reserva.

Idiomas incluídos: en, es, pt-BR, fr, de, it, pl, ru, tr, th e ar. A interface em árabe usa direção de leitura da direita para a esquerda.

Sistema de identidades

Config.Identity configura a integração com o sistema de identidades do servidor. Define como obter o identificador do personagem ou da conta usado pelo recurso para salvar e recuperar tatuagens, XP e blueprints.

Código
Config.Identity.mode = 'auto'
Config.Identity.qbxResource = 'qbx_core'
ModoUso
autoNo Qbox, usa o identificador do personagem ativo (citizenid). Em outros servidores, usa o identificador estável do FiveM.
qbx_characterUsa explicitamente o identificador de personagem do Qbox (citizenid).
licenseUsa a licença do FiveM como identificador da conta. Os personagens dessa conta compartilham tatuagens, XP e blueprints.

Escolha o modo antes de abrir o recurso aos jogadores. Alterá-lo depois muda a identidade consultada; os dados não são transferidos automaticamente entre modos. Não escolha license se quiser separar as tatuagens por personagem de uma conta.

Aviso de interação

Código
Config.HelpText.enabled = true
Config.HelpText.provider = 'auto'
Config.HelpText.position = 'left-center'
CampoValores ou efeito
enabledMostra ou oculta o aviso de interação das lojas com marcador.
providerauto, ox_lib ou native. auto usa TextUI quando disponível e o aviso nativo caso contrário.
positionleft-center, right-center, top-center ou bottom-center, para TextUI.
styleCores, borda, sombra, tipografia e espaçamento interno do TextUI.

Exemplo de estilo:

Código
Config.HelpText.style.backgroundColor = '#172328'
Config.HelpText.style.color = '#eef3f3'
Config.HelpText.style.fontSize = '15px'

Lojas iniciais

Config.Shops inclui seis locais. Para alterar uma entrada inicial, preserve sua estrutura:

Código
{
    label = 'Tattoo Studio',
    coords = vector3(322.62, 180.34, 103.59),
    heading = 156.2,
    drawDistance = 10.0,
    interactDistance = 1.5,
    shopRadius = 4.0,
    marker = {
        type = 1,
        scale = vector3(1.0, 1.0, 1.0),
        color = { r = 255, g = 100, b = 0, a = 100 },
    },
},
CampoUso
labelNome da loja.
coords, headingPosição e orientação.
drawDistanceDistância de exibição do marcador.
interactDistanceDistância para interagir.
shopRadiusRaio dentro do qual a operação da loja é autorizada.
marker.type, scale, colorAparência do marcador.

Mantenha interactDistance dentro de shopRadius. Para lojas já criadas, use a seção de lojas do painel administrativo; editar o arquivo não recria nem substitui essas lojas.

Níveis e XP

Ajuste de Config.LevelsValor inicialUso
enabledtrueAtiva progressão, requisitos e descontos.
maxLevel10Limite de nível.
defaultXpPerTattoo10XP para tatuagens sem Xp definido.
thresholdsNíveis 1 a 10XP acumulado necessário para cada nível.
formula.base, formula.exponent100, 1.5Parâmetros da fórmula alternativa de limiares de XP.
zoneRequirements1 para cada zonaRequisito por zona quando não há requisito individual.
discountsAtivado, 3 por nível e máximo 25Desconto percentual.
blueprintSlotsBase 5, incremento 3Vagas de blueprints conforme o nível.

Os limiares de XP devem começar no nível 1 com 0 XP, seguir sem lacunas e aumentar a XP necessária:

Código
Config.Levels.thresholds = {
    { level = 1, xpRequired = 0 },
    { level = 2, xpRequired = 100 },
    { level = 3, xpRequired = 250 },
}
Config.Levels.maxLevel = 3

O desconto é calculado como nível × perLevel, limitado por maxDiscount. Com os valores iniciais, o nível 5 recebe 15%, e o desconto máximo é 25%.

As vagas são calculadas como base + (nível - 1) × perLevel. Na configuração inicial, o nível 1 tem 5 vagas e o nível 5 tem 17.

Um RequiredLevel individual do catálogo tem prioridade sobre o requisito da zona. Consulte campos do catálogo.

Ao desativar os níveis, não há bloqueios por nível, XP nem descontos; o limite de blueprints usa Config.Blueprints.maxPerPlayer. Desativar o sistema preserva a XP salva. Em instalações já inicializadas, atualize também o estado efetivo pelo painel.

Blueprints

Os blueprints armazenam grupos de tatuagens e permitem compartilhá-los por códigos. Os limites iniciais estão em Config.Blueprints:

CampoValor inicialUso
enabledtrueAtiva o sistema.
codePrefixINKPrefixo dos códigos, por exemplo INK-A3X9.
codeLength4Número de caracteres após o prefixo.
maxPerPlayer20Vagas usadas quando não há progressão ativa.
maxTattoosPerBlueprint50Máximo de tatuagens por grupo.
nameMaxLength60Comprimento máximo do nome.

Resgatar um código prepara as tatuagens no fluxo de compra; isso não concede uma compra grátis. A economia é configurada em integrações.

Câmera

TabelaO que controla
CameraOffsetsOsso-alvo, distância, offsets e campo de visão por zona.
CameraFramingComposição geral e deslocamento do ponto de foco.
CameraFramingBySideAjustes adicionais para vistas frontal e traseira.
CameraManualControlsControles manuais, incrementos de movimento, rotação, zoom e limites.

As zonas configuradas são ZONE_HEAD, ZONE_TORSO, ZONE_LEFT_ARM, ZONE_RIGHT_ARM, ZONE_LEFT_LEG e ZONE_RIGHT_LEG.

Exemplos de alterações pontuais:

Código
Config.CameraOffsets['ZONE_TORSO'].fov = 50.0
Config.CameraFraming.screenOffset = 0.35
Config.CameraManualControls.enabled = true
Config.CameraManualControls.step = 0.035
Config.CameraManualControls.zoomStep = 0.08

Um screenOffset positivo posiciona o personagem à esquerda, reservando espaço para o menu à direita. lookAtOffsetX/Y/Z altera o ponto de foco; camOffsetX/Y/Z dos ajustes por lado altera a posição da câmera.

Nos controles manuais, horizontalDegrees e rotationStepDegrees ajustam a rotação. ranges.y/z, radialClamp e maxDistance limitam deslocamentos. zoomCompositionMinBias ajusta a centralização ao aproximar o zoom. Altere um valor por vez e teste as seis zonas com personagens masculinos e femininos.

Roupa de prévia

Config.PreviewOutfit permite liberar as áreas tatuadas enquanto a interface está aberta:

Código
Config.PreviewOutfit.enabled = true
Config.PreviewOutfit.useDefaultVariation = false
Config.PreviewOutfit.presets['mp_m_freemode_01'].components[11] = {
    drawable = 15,
    texture = 0,
}

Os presets incluídos diferenciam mp_m_freemode_01 e mp_f_freemode_01. Cada componente indica drawable e texture; clearProps remove acessórios durante a prévia. Ajuste os índices às roupas instaladas no servidor. Mantenha useDefaultVariation = false se quiser aplicar apenas os componentes do preset, sem redefinir a aparência globalmente.

Permissões, economia e Qbox

Config.Permissions, Config.AdminCommand, Config.Purchases e Config.QbxMulticharacterPreview são explicados em integrações. Configure os nomes reais dos recursos quando forem diferentes dos valores padrão.

Diagnóstico

Config.Debug ativa o diagnóstico geral. Config.Permissions.debug permite revisar decisões de acesso. Mantenha ambos desativados ao terminar.

Config.DebugCommands.clientTattooCommand vem desativado. Ative esse comando visual apenas para testes: ele não salva tatuagens nem substitui uma compra.

Continue para o catálogo.

CXG · DocumentaçãoUma boa base. Infinitas possibilidades.
Configuração · cxg-tattoos · CXG Docs