Loja dentro do jogo
O jogador digita /loja na sua cidade, escolhe os produtos, lê um QR com o
celular e recebe a entrega sem fechar o jogo.
É a mesma loja do site: preço, desconto, estoque, cupom e entrega saem da Nexify. O script não guarda catálogo nem preço — mudou no painel, mudou no jogo.
Um resource, duas funções
Este resource vende dentro do jogo e entrega as compras aprovadas,
venham elas do jogo ou do site. Cada metade liga ou desliga no
config.lua. É o mesmo "Script FiveM" da página do FiveM.
1. Instale#
Baixe o resource
Em Configurações → Integrações, clique em Script FiveM.
Coloque na pasta de resources
Extraia em
resources/nexify-lojae adicioneensure nexify-lojano seuserver.cfg. O nome da pasta importa: mudá-lo quebra a janela.Cole o token
No
config.lua, preenchatokencom o valor de Configurações → Integrações. Ele fica só no servidor — o jogador nunca recebe esse valor.Reinicie
Entre e digite
/loja, ou aperte F6.
O que você edita, e o que vem protegido
Você só mexe em dois arquivos: o config.lua (token e opções) e o
entregas.lua (o que fazer com cada compra). O resto — server.lua,
entrega.lua e adaptadores.lua — vem ofuscado e não precisa ser
tocado. Alterá-los faz o resource parar de funcionar.
2. O config.lua#
| Campo | Para que serve |
|---|---|
token | Token da loja, no painel |
entregarNesteServidor | Executa as compras aprovadas neste servidor |
mostrarEntregaNoConsole | Escreve cada entrega no console |
lojaNoJogo | Liga a loja dentro do jogo |
comando | Comando que abre a loja (padrão: loja) |
tecla | Tecla de atalho (padrão: F6); '' não registra nenhuma |
mostrarIdentificadorNoConsole | Mostra o identificador usado em cada compra |
A cor da janela é a cor da sua loja, definida no painel — não há o que configurar aqui.
Já usa o resource nexify antigo?
Pode deixar entregarNesteServidor ligado do mesmo jeito. Ao ver o
nexify no ar, este script desliga a própria entrega e avisa no
console, para o mesmo pedido não ser entregue duas vezes.
3. Quem recebe a entrega#
O identificador do comprador sai do servidor, nunca do jogador — ninguém digita nada, e ninguém compra em nome de outro.
O adaptadores.lua reconhece sozinho, nesta ordem:
- Bases conhecidas — vRP (incluindo forks que usam
vRP.Passport), QBCore, Qbox, ESX e ND_Core. - Bases próprias — procura os nomes de export mais usados
(
getUserId,getPassaporte,getPlayerId,getIdentifier…). - Steam, license ou Discord, para servidor sem framework.
Você não precisa mexer nisso — o adaptadores.lua vem protegido e funciona
sozinho.
Quando não reconhece
No console do servidor, com o jogador conectado:
nexifyid 1
O 1 é o id do jogador no servidor — não é o passaporte. Se você não
souber, rode nexifyid sem número e ele lista quem está online.
A resposta mostra o identificador que sairia numa compra e por que cada tentativa falhou: recurso parado, export com outro nome, evento que não respondeu, base que respondeu vazio. Esse mesmo relato sai sozinho no console sempre que uma compra falha em identificar o jogador.
Se nada responder, abra o config.lua e preencha o ajuste manual (no fim
do arquivo) — uma das três formas, a que a sua base usar:
AjusteManual = {
-- por export: exports['recurso']:metodo(source)
exportRecurso = 'minhabase',
exportMetodo = 'getUserId',
-- ou por evento que responde numa função de retorno
eventoNome = '',
eventoEspera = 2000,
-- ou na mão
naMao = nil
}
O ajuste manual sempre vence o reconhecimento automático.
O identificador precisa bater com a entrega
O que o nexifyid devolve é o que chega no entregas.lua na hora de
entregar. Numa vRP isso costuma ser o passaporte; numa ESX, o identifier.
Confira antes de divulgar a loja.
4. Como funciona a compra#
O jogador monta o carrinho
Só aparecem produtos publicados. Produto oculto no painel não aparece no jogo, como não aparece na vitrine.
O servidor pede o pagamento
Com o token da loja e o identificador do comprador. O preço, o cupom e o estoque são calculados pela Nexify — do jogo vai só a escolha.
O jogador paga pelo celular
A janela mostra o QR. Ninguém precisa fechar o jogo nem digitar cartão.
A entrega acontece
A cada 5 segundos o jogo pergunta se o pagamento caiu. Quando cai, os comandos rodam e o aviso aparece na tela.
Produto gratuito não gera QR: sai entregue na hora.
5. A entrega: o entregas.lua#
A cada 10 segundos o script pergunta à Nexify se há compra aprovada
esperando. Quando há, dispara os eventos fivemarket:* da
página do FiveM, e quem os executa é o entregas.lua — o único
arquivo de lógica aberto do resource.
Ele já vem pronto para:
- ESX, QBCore e Qbox — dinheiro, item e veículo funcionam sem você mexer.
- Standalone (sem framework) — dispara
nexify:standalone:*para você tratar do seu jeito. - vRP / Creative — blocos prontos; habilite no
AjusteManual (vRP)no topo do arquivo, já que o resource não carrega a lib da vRP de propósito. - VIP/grupo, casas e remoções — ponto de partida: onde estiver escrito
PREENCHA, coloque a função da sua base.
Cada execução é protegida: se a API da sua base recusar, a compra fica registrada no console como "não entregue", em vez de derrubar o resource. A confirmação é o último passo e é automática — se o servidor cair no meio, o pedido volta para a fila em vez de sumir.
Compra aprovada e nada chegou?
Abra o entregas.lua e veja o log no console. Se disser "preencha a lógica",
é um comando (VIP, casa, remoção) que ainda está como ponto de partida na sua
base — complete onde diz PREENCHA. Deixe mostrarEntregaNoConsole ligado
até a primeira venda funcionar.
6. Segurança#
- O token vive apenas no lado servidor; a janela nunca o recebe.
- Preço, desconto, cupom e estoque são calculados pela Nexify. Do jogo vem só quais produtos e quantas unidades.
- Loja suspensa, vencida ou em manutenção não vende, aqui como no site.
- Um pedido só pode ser consultado com o token da loja dele.
- Cada jogador faz no máximo uma chamada por segundo.
- A busca por bases próprias só olha recursos com cara de core, e chama tudo protegido: erro em script de terceiro não derruba a compra.
- O
nexifyidsó responde no console do servidor ou para quem tem a permissão ACEnexify.loja.
7. Problemas comuns#
| O que aparece | O que é |
|---|---|
| "Falta colocar o token da loja no config.lua" | O token não foi preenchido |
| "Token da loja inválido" | Token errado, ou trocado no painel |
| "Esta loja ainda não tem forma de pagamento configurada" | Configure um gateway em Pagamentos |
| "Não conseguimos identificar você no servidor" | Rode nexifyid e veja o relato |
| A loja abre vazia | Os produtos estão ocultos; publique-os |
| Pagou e nada chegou | Veja o console: preencha a lógica da sua base no entregas.lua |
Acentos no console
Os arquivos .lua são gravados sem acento de propósito. O FiveM lê o
console na codificação do Windows, e acento vira caractere quebrado no log
e no editor.