Quando um jogador paga na loja, o recurso do FiveDash no servidor entrega a compra na cidade: o VIP, o carro na garagem, o dinheiro no banco, o item na mochila. Se o jogador estiver fora, a compra espera ele entrar. Esta página explica o caminho inteiro, o que cada framework faz e o que fazer quando algo não chega. É para quem cuida do servidor e da loja.
Quando o pagamento é confirmado, o FiveDash transforma cada entrega do produto numa ação exata (grupo, veículo, dinheiro, item ou comando) e manda para o servidor da cidade. Mudar o produto depois não muda o que esse pedido entrega.
O servidor guarda antes de responder
O recurso grava cada entrega na tabela fivedash_store_deliveries do banco da cidade antes de confirmar. Um restart, uma queda ou um jogador que só entra semana que vem não perde nada.
Entrega na hora ou espera o jogador
O que funciona com o jogador fora (depende do framework, veja abaixo) é entregue na hora. O que precisa do personagem na cidade, como itens e dinheiro na carteira, espera ele entrar.
O painel acompanha
O recurso conta ao painel o estado de cada entrega a cada sincronização. O pedido em Loja → Pedidos passa para Entregue quando tudo chega, ou Falhou quando algo dá errado.
O jogador é avisado
Com Notify = true, o jogador vê na tela “Sua compra #N chegou” com o que recebeu.
Na configuração da loja, no passo Entrega no jogo, você responde Como o comprador diz quem recebe?:
Opção
Como funciona
Pelo ID do framework
O jogador digita o ID dele na compra, e a cidade confere de quem é antes do pagamento. O nome do campo vem do framework (veja a tabela abaixo).
Conta do Discord
O jogador entra com o Discord, e a compra vai para o personagem da conta da cidade ligada a ele.
Como cada framework chama o ID:
Framework
ID que o jogador usa
ESX
ID (o id da tabela users)
QBCore
Citizen ID
Qbox
Citizen ID
ox_core
State ID
vRP / vRPex
ID (o id de vrp_users)
Creative Network Enchanted
Passaporte
Antes do pagamento, o checkout pergunta à cidade se o ID existe e mostra o nome do personagem. Um ID que não existe, ou uma conta do Discord sem personagem, é recusado. Se o servidor não responder a tempo (fora do ar, reiniciando), a venda não trava: a cidade confere quando o pedido chegar.
A loja só vende enquanto o servidor diz que a entrega está pronta. Se não estiver, o site para de vender e Loja → Visão geral mostra Vendas pausadas: a entrega na cidade está desligada.
Situação
O que o painel diz
Como resolver
Recurso nunca conectou
Instale o recurso do FiveDash no servidor: é ele que entrega as compras na cidade.
Espera SpawnDelay segundos (padrão 10) e entrega o que estava esperando.
Mochila cheia
A entrega fica na fila com o motivo “Mochila cheia: chega quando o jogador liberar espaço” e é tentada de novo a cada minuto enquanto ele estiver na cidade.
Jogador já está na cidade
A cada minuto o servidor tenta de novo as entregas de quem está online.
Várias entregas para o mesmo personagem
Rodam uma depois da outra, na ordem do produto. Até 4 personagens recebem ao mesmo tempo.
Servidor parou no meio de uma entrega
No próximo boot a entrega vira Falhou com o motivo “O servidor parou no meio desta entrega: confira no jogo se chegou antes de reenviar”. Ela nunca é refeita sozinha.
Pedido pago que não chegou ao servidor
O painel manda de novo a cada sincronização, por até 7 dias depois do pagamento.
Pedido reembolsado ou marcado como entregue
O que ainda estava esperando na cidade é descartado. O que já foi entregue fica.
Se o jogador compra mais de uma unidade, os dias de VIP e os valores de dinheiro e item somam (VIP até 3.650 dias), e um comando roda uma vez por unidade (até 100 vezes por entrega).
Um VIP ou cargo com Duração em dias é tirado sozinho quando vence. O servidor guarda os prazos na tabela fivedash_store_groups.
Situação
O que acontece
Compra de novo antes de vencer
Os dias somam por cima do que falta.
Compra Permanente
Fica para sempre, mesmo que antes tivesse prazo.
Grupo dado à mão pela equipe
O FiveDash nunca põe prazo nem tira.
Venceu
O servidor confere a cada minuto, tira o grupo e, se o jogador estiver na cidade, avisa: “Seu vip_ouro acabou. Renove na loja da cidade.” (com o nome do grupo).
No ESX, QBCore e Qbox, um nome de grupo que não é emprego nem gangue do framework vira um grupo ACE na licença Rockstar do jogador: group.<nome> no ESX e no Qbox, qbcore.<nome> no QBCore. O FiveDash guarda esses grupos na tabela fivedash_ace_groups e adiciona de novo a cada boot. Dê as permissões ao grupo no server.cfg:
O recurso detecta o framework sozinho (Framework = "auto" no config.lua). Veja também Frameworks.
ID: o id da tabela users.
Tipo
Como entrega
VIP ou cargo
Se existir em job_grades (police ou police.2 para o cargo 2), vira o emprego: setJob online ou direto em users offline. Outro nome vira o grupo ACE group.<nome>. Ao vencer, o emprego volta para unemployed.
Veículo
Uma linha em owned_vehicles, guardado, com placa livre. Se a tabela vehicles tiver a coluna model, o modelo precisa estar nela.
Dinheiro
Banco online (addAccountMoney) ou offline (users.accounts). Carteira só online.
Item
Só online. Usa o ox_inventory quando ele roda; senão, o inventário do ESX (canCarryItem e addInventoryItem).
O arquivo fivedash/loja.lua é criado no primeiro boot e só o servidor lê. Depois de mudar algo, rode restart fivedash. As atualizações nunca apagam nem mudam o que está nele.
Campo
O que faz
Padrão
Enabled
Liga a entrega nesta cidade. Desligada, o site da loja para de vender até você ligar de novo.
true
Notify
Avisa o jogador na tela quando a compra chega e quando um VIP vence.
true
NotifyTitle
Título do aviso, até 40 caracteres. Com "Loja", o título segue o idioma da cidade.
"Loja"
Announce
Anuncia para a cidade inteira quem comprou o quê. Presentes da equipe não são anunciados.
false
SpawnDelay
Segundos entre o jogador escolher o personagem e a entrega (dá tempo do inventário carregar). De 0 a 120.
10
AllowedCommands
Comandos que a loja pode rodar. Vazio libera qualquer um, menos os bloqueados. Para travar, liste o começo de cada um.
Em Loja → Pedidos, o pedido mostra A entrega falhou e o motivo de cada entrega.
Leia o motivo
Abra o pedido. Cada entrega mostra entregue, na fila ou falhou, com o motivo que a cidade mandou.
Corrija e reenvie
Se o ID estava errado, corrija em ID na cidade e clique em Reenviar para a cidade. Só as entregas que falharam voltam para a fila; o que já chegou não é entregue de novo.
Ou feche à mão
Se a equipe entregou no jogo, clique em Marcar como entregue. O que ainda esperava na cidade é descartado.
Motivos comuns:
Motivo
O que fazer
O ID não existe na cidade
Corrija o ID e reenvie.
A conta do Discord do comprador não tem personagem na cidade
Peça o ID e reenvie com ele.
O grupo, veículo ou item não existe na cidade (com o arquivo onde procurar)
Cadastre no framework ou corrija o nome no produto, depois reenvie.
O comando não está em AllowedCommands no loja.lua
Adicione o começo do comando em AllowedCommands e reenvie.
O servidor parou no meio desta entrega
Confira no jogo se chegou. Se não, reenvie; se sim, marque como entregue.
A framework da cidade ainda não entrega isso pelo FiveDash
O jogador comprou offline. Quando chega?
O que funciona offline chega na hora. Itens e dinheiro na carteira chegam SpawnDelay segundos depois de ele escolher o personagem.
Posso reiniciar o servidor com entregas na fila?
Pode. Elas estão no banco da cidade e continuam depois do boot.
Um jogador pode receber duas vezes se eu clicar em reenviar duas vezes?
Não. Só o que falhou volta para a fila, e cada entrega só é dada uma vez.
Por que o VIP do jogador não venceu?
Se a equipe tinha dado o grupo à mão antes da compra, o FiveDash não põe prazo nele.