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).
2. Coloque em resources
Extraia o zip dentro da pasta de resources do servidor:
resources/
├─ [qb]/ ...
├─ bluestore/ ← pode renomear (ex.: [loja]/entregas)
└─ bluestore_custom/ ← opcionalO 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 # opcionalUse set, nunca setr. Com setr o token seria enviado para os jogadores.
5. Reinicie e teste
- Reinicie o servidor. Em segundos ele aparece como Online no painel, em Servidores.
- No console,
bluestore:statusmostra a versão, o framework detectado e as entregas aguardando jogador. - 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.
| Base | ID pedido na compra | Observações |
|---|---|---|
| Creative (vRP) | Passaporte | Grupos, itens, dinheiro e veículos |
| vRP / vRPex | user_id | Grupos, itens, dinheiro e veículos |
| QBCore | citizenid | VIP reaplicado a cada login; itens via ox_inventory ou qb-inventory |
| Qbox | citizenid | Como o QBCore, com ox_inventory e qbx_vehicles |
| ESX Legacy | identifier | Contas, inventário e owned_vehicles |
| Standalone | license, discord ou steam | Qualquer 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.