Documentação

Instalar o script no servidor

Uns 2 minutos. Depois disso, cada compra aprovada é entregue no jogo sozinha, com o jogador online ou não.

Antes de começar

  • Uma loja criada na Central BS (crie grátis).
  • Acesso aos arquivos do servidor (pasta resources) e ao server.cfg, ou ao txAdmin.
  • FXServer com Node 22 (artefatos recentes já vêm com ele). Funciona em Windows e Linux.

1. Baixe o script

O pacote tem duas pastas: bluestore (o script de entrega) e bluestore_custom (opcional, para as suas ações personalizadas).

Baixar bluestore.zip

2. Coloque em resources

Extraia o zip dentro da pasta de resources do servidor:

resources/
├─ [qb]/ ...
├─ bluestore/          ← pode renomear (ex.: [loja]/entregas)
└─ bluestore_custom/   ← opcional

O nome da pasta pode ser qualquer um. Um nome genérico ajuda a não chamar atenção.

3. Gere o token

No painel, abra Servidores → Adicionar servidor, dê um nome e clique em Gerar token. Copie na hora: por segurança, ele não aparece de novo (dá para gerar outro quando quiser, e o antigo para de funcionar).

4. Configure o server.cfg

Adicione as linhas abaixo depois do seu framework:

# depois do framework (ex.: ensure qb-core / ensure vrp)
set bluestore_token "bs_gs_..."
ensure bluestore
ensure bluestore_custom   # opcional

Use set, nunca setr. Com setr o token seria enviado para os jogadores.

5. Reinicie e teste

  1. Reinicie o servidor. Em segundos ele aparece como Online no painel, em Servidores.
  2. No console, bluestore:status mostra a versão, o framework detectado e as entregas aguardando jogador.
  3. Ainda em Servidores, Testar um comando executa um comando no seu personagem e mostra o resultado. Ideal antes de colocar o produto à venda.

Frameworks suportados

O framework escolhido no painel tem prioridade. Sem escolha, o script detecta sozinho; para forçar, edite Config.Framework no config.lua.

BaseID pedido na compraObservações
Creative (vRP)PassaporteGrupos, itens, dinheiro e veículos
vRP / vRPexuser_idGrupos, itens, dinheiro e veículos
QBCorecitizenidVIP reaplicado a cada login; itens via ox_inventory ou qb-inventory
QboxcitizenidComo o QBCore, com ox_inventory e qbx_vehicles
ESX LegacyidentifierContas, inventário e owned_vehicles
Standalonelicense, discord ou steamQualquer servidor: VIP por permissão ACE, mensagens e console

Comandos dos produtos

Em cada produto você define o que acontece na compra, no vencimento e no reembolso. As variáveis {user} (ID do jogador), {customer} (nome do comprador, ou "Jogador" se ele não informar), {qty}, {days} e {order} são preenchidas na hora.

group.add {user} vip-ouroDá o grupo ou VIP ao jogador.
group.remove {user} vip-ouroRemove o grupo (use no vencimento ou reembolso).
vehicle.add {user} zentornoColoca o veículo na garagem. Placa opcional no fim.
item.add {user} radio 2Entrega itens no inventário.
money.add {user} 50000 bankCredita dinheiro do jogo (bank ou cash).
priority.add {user} 50Prioridade na fila de conexão.
notify {user} Valeu pelo apoio, {customer}!Mensagem só para quem comprou.
broadcast {customer} comprou VIP Ouro!Anúncio no chat para todo o servidor.

Vindo de outra plataforma? addGroup, addVehicle, addItem, addMoney e parecidos são aceitos como estão.

Ações personalizadas

Usa um script próprio de VIP, garagem ou inventário? Registre a ação no bluestore_custom/actions.lua. Esse resource nunca é sobrescrito nas atualizações.

exports.bluestore:registerAction('meuvip.add', function(source, target, args, ctx)
    exports['meu_vip']:DarVip(source, args[1], tonumber(args[2]))
    return true
end)

No produto, use meuvip.add {user} ouro 30. Também dá para sobrescrever ações padrão, como vehicle.add.

Loja dentro do jogo

O jogador digita /loja e compra num tablet com Pix na tela. Configure no config.lua:

Config.Shop = {
    Enabled = true,
    Command = 'loja',
    Key = '',   -- ex.: 'F7' para abrir com uma tecla
}

Problemas comuns

O servidor não aparece como Online
Confira se o token está no server.cfg com set (não setr), se o resource iniciou sem erro no console e se o servidor tem acesso à internet.
O framework detectado está errado
Escolha o framework nas configurações da loja ou force em Config.Framework. O bluestore precisa iniciar depois do framework.
O jogador pagou mas não recebeu
Abra o pedido no painel: a linha do tempo mostra cada comando. Se ele estava offline, a entrega acontece quando ele entrar. Dá para reenviar ou corrigir o ID ali mesmo.
Uma entrega ficou como “incerta”
O servidor caiu no meio de uma entrega de dinheiro ou item. Para não duplicar, nada é repetido sozinho: confira no jogo e decida no painel.