Loja para FiveM
A entrega no FiveM é feita por um resource que roda no seu servidor. A Nexify avisa o resource quando um pagamento é aprovado, e ele executa a ação dentro da cidade.
Um resource, duas funções
O mesmo resource entrega as compras (venham do site ou do jogo) e, se
você quiser, abre a loja dentro do jogo com /loja e QR Code. As duas
metades ligam ou desligam no config.lua. A loja no jogo tem um passo a
passo próprio em Loja dentro do jogo.
1. Crie a loja#
Em Criar loja, escolha o tipo FiveM. O tipo define quais ações aparecem depois em Comandos — trocar depois é possível, em Configurações, mas os produtos já cadastrados continuam com a forma de entrega antiga.
2. Instale o resource#
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 loja no jogo.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 o servidor
Com
mostrarEntregaNoConsoleligado (padrão) você vê cada entrega no console — deixe assim até a primeira venda funcionar.
A base é reconhecida sozinha
Não há framework para escolher à mão: o resource detecta ESX, QBCore, Qbox,
vRP, ND_Core e bases próprias sozinho. Se ele não achar, o
ajuste manual fica no config.lua.
3. Monte os comandos#
Em Comandos, crie uma variável e adicione as ações. Cada ação tem um argumento, que é o valor.
| Ação | Argumento | Entrega |
|---|---|---|
fivemarket:addMoney | valor ou tipo:valor | Dinheiro |
fivemarket:addItem | item ou item:quantidade | Um item |
fivemarket:removeItem | item ou item:quantidade | Remove um item |
fivemarket:addVehicle | modelo do veículo | Um veículo |
fivemarket:addCarTemporary | modelo do veículo | Veículo por tempo |
fivemarket:removeCar | modelo do veículo | Remove o veículo |
fivemarket:addGroup | nome do grupo | Adiciona a um grupo/VIP |
fivemarket:removeGroup | nome do grupo | Remove do grupo |
fivemarket:addHouse | identificador da casa | Uma casa |
fivemarket:addHouseTemporary | identificador da casa | Casa por tempo |
fivemarket:removeHouse | identificador da casa | Remove a casa |
O que já vem pronto
Para ESX, QBCore e Qbox, o entregas.lua já entrega dinheiro, item e
veículo sem você escrever nada. Grupo/VIP, casas e as remoções vêm como
ponto de partida: abra o entregas.lua e preencha a função da sua base onde
estiver escrito PREENCHA. Até preencher, a compra é aprovada e o console
mostra "não entregue".
4. O prefixo fivemarket:#
É o nome antigo da plataforma, mantido de propósito: esses são os nomes dos
eventos que o entregas.lua escuta. Renomear no painel faria a Nexify
disparar um evento que o resource não escuta, e a entrega pararia de
funcionar sem aviso.
No painel você vê a ação em português, com o nome técnico entre parênteses.
5. Adapte ao seu servidor: o entregas.lua#
O entregas.lua é o único arquivo de lógica aberto do resource — os
outros vêm protegidos. É nele que cada compra vira dinheiro, item, VIP ou
veículo na sua base. O arquivo abre dizendo isso:
Este arquivo é aberto de propósito: ajuste a lógica à vontade conforme a sua base.
Se você usa um sistema de casas próprio, ou quer que o VIP faça algo a mais,
é ali que se mexe. Cada ação é um AddEventHandler que recebe o comprador e o
argumento, e já roda protegido: um erro na API da sua base vira um aviso no
console, nunca derruba o resource.
Sem framework reconhecido (standalone), os eventos viram
nexify:standalone:* — a lógica é toda sua. Para vRP/Creative, os blocos
estão no arquivo; como o resource não carrega a lib da vRP de propósito,
habilite-os no AjusteManual (vRP) no topo do entregas.lua.
A confirmação é automática
Você só executa a entrega no entregas.lua. Avisar a Nexify que a compra
saiu é feito sozinho pelo resource — não precisa chamar nada.
6. O campo "Comprador"#
Na compra pelo site, quem compra digita esse campo no checkout, e é ele que o resource usa para achar o jogador. O que preencher depende do framework: ESX resolve por identifier/license, e vRP/Creative por passaporte.
Na compra pelo jogo (/loja), ninguém digita nada: o servidor identifica
o comprador sozinho. É a forma mais à prova de erro — veja
Loja dentro do jogo.
Diga na descrição do produto
A causa mais comum de "comprei e não recebi" numa compra pelo site é o comprador digitar o dado errado. Escreva na descrição exatamente o que ele deve informar, com um exemplo.
7. Teste antes de divulgar#
Crie um produto de R$ 1, compre você mesmo e confira no jogo. Com
mostrarEntregaNoConsole ligado, o console mostra cada entrega — inclusive as
que falharam e por quê.
8. Vender dentro da cidade#
O mesmo resource abre a loja no jogo: o jogador digita /loja, lê um QR com o
celular e recebe na hora, sem sair do jogo. Aqui o comprador é identificado
pelo servidor — ninguém digita passaporte errado.
Basta manter lojaNoJogo ligado no config.lua. O passo a passo completo
está em Loja dentro do jogo.
Já usava o resource nexify antigo?
O resource novo entrega sozinho e também abre a loja no jogo. Se o antigo
nexify ainda estiver no ar, o novo desliga a própria entrega para o
mesmo pedido não sair duas vezes — então rode só um dos dois.