Nexify docs

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#

  1. Baixe o resource

    Em Configurações → Integrações, clique em Script FiveM.

  2. Coloque na pasta de resources

    Extraia em resources/nexify-loja e adicione ensure nexify-loja no seu server.cfg. O nome da pasta importa: mudá-lo quebra a janela.

  3. Cole o token

    No config.lua, preencha token com o valor de Configurações → Integrações. Ele fica só no servidor — o jogador nunca recebe esse valor.

  4. 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#

CampoPara que serve
tokenToken da loja, no painel
entregarNesteServidorExecuta as compras aprovadas neste servidor
mostrarEntregaNoConsoleEscreve cada entrega no console
lojaNoJogoLiga a loja dentro do jogo
comandoComando que abre a loja (padrão: loja)
teclaTecla de atalho (padrão: F6); '' não registra nenhuma
mostrarIdentificadorNoConsoleMostra 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:

  1. Bases conhecidas — vRP (incluindo forks que usam vRP.Passport), QBCore, Qbox, ESX e ND_Core.
  2. Bases próprias — procura os nomes de export mais usados (getUserId, getPassaporte, getPlayerId, getIdentifier…).
  3. 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#

  1. O jogador monta o carrinho

    Só aparecem produtos publicados. Produto oculto no painel não aparece no jogo, como não aparece na vitrine.

  2. 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.

  3. O jogador paga pelo celular

    A janela mostra o QR. Ninguém precisa fechar o jogo nem digitar cartão.

  4. 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 nexifyid só responde no console do servidor ou para quem tem a permissão ACE nexify.loja.

7. Problemas comuns#

O que apareceO 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 vaziaOs produtos estão ocultos; publique-os
Pagou e nada chegouVeja 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.