Manual › FH VIRTUAL PAINEL › Loja virtual (Shop)
Loja virtual (Shop)
Como o jogador compra, cada campo do Config.json e como montar o catálogo de cada aba — com o comportamento real de entrega.
Nesta páginaComo o jogador usaConfig.jsonCatálogo: um arquivo por abaEstrutura de um produtoVeículos e helicópterosVender VIP na lojaTutoriais rápidosMensagens, anúncios e webhookLog da loja
Como o jogador usa
- Segura I (padrão) para abrir a loja. Fecha com Esc ou no botão Fechar.
- A janela mostra nome, SteamID, saldo e as abas ativas.
- Clica no produto → confirma em Sim.
- Com saldo: "Boa compra! Gasto N moedas !" e som de moeda. Sem saldo: "Sem moedas, adquira mais moedas para continuar comprando !".
Itens são entregues no chão, aos pés do jogador — não no inventário. Veículos nascem 6 m à frente. Oriente os jogadores a comprar em lugar aberto e plano, e a pegar os itens logo.
Config.json
Caminho: profiles/FlameHost/Addons/Shop/Config.json — criado com os padrões se não existir.
| Campo | Padrão | O que faz |
|---|---|---|
StartCurrency | 0 | Saldo inicial de quem entra pela primeira vez. |
TeclaPadraoAbrirPainel | "" | Tecla de apertar enviada ao jogador. Veja como a tecla é aplicada. |
TeclaSegurarPadraoAbrirPainel | "kI" | Tecla de segurar (I). |
ActiveItem / ActiveClothing / ActiveVehicle / ActiveWeapons / ActiveBase / ActiveVIP / ActiveAmmo / ActiveParts | ligados | Mostram as abas Itens, Roupas, Veículos, Armas, Base, VIP, Munição e Peças. |
ActiveHeli | desligado | Aba Helicópteros. Os de fábrica precisam do mod RFFS. |
EnableButtonRecharge | ligado | Botão de recarga. Com a recarga real ativa, ele aparece sempre. |
UrlButtonRecharge | Sem recarga real, o botão abre este link (seu site, Discord, Pix manual...). | |
ActiveReward / TimeReward / CoinReward / MessageReward | off / 3600 / 0 / texto | Recompensa por tempo online. Ver DCoins. |
TittleStore | "VIRTUAL SHOP" | Título da janela, das notificações, dos anúncios e do webhook. |
NameCoin | "DCoins" | Nome da moeda. |
IconCoin_90x85 / IconLogo_790x120 | imagens do mod | Ícone da moeda e banner. Só troque se empacotar suas imagens. |
ActiveWebhook / WebhookURL / WebhookLogo | off / "#" / "#" | Manda cada compra para um canal do Discord. |
Admins | ID de exemplo | SteamID64 que compram sem gastar DCoins (para testar). |
Catálogo: um arquivo por aba
Pasta Shop/Settings/. Se um arquivo for apagado, volta com os produtos de fábrica no próximo start.
| Aba | Arquivo | Lista no JSON |
|---|---|---|
| Itens | StoreItems.json | ItemsSell |
| Roupas | StoreClothings.json | ClothingStore |
| Veículos | StoreVehicle.json | VehicleStore |
| Helicópteros | StoreHeli.json | HeliStore |
| Armas | StoreWeapons.json | WeaponStore |
| Base | StoreBase.json | BaseSell |
| Munição | StoreAmmo.json | AmmoStore |
| Peças | StoreParts.json | PartsStore |
| VIP | StorePanelVIP.json | StoreVIP |
Estrutura de um produto
{
"Name": "Kit AKM Camo",
"Price": 2500,
"Quantity": 1,
"ItemsSpawn": [
{
"Item": "AKM",
"Image_420x190": "",
"ItemAttachments": ["AK_WoodBttstck_Camo","AK_WoodHndgrd_Camo","AK_Suppressor","KobraOptic"],
"ItemInv": ["Mag_AKM_30Rnd","Mag_AKM_30Rnd"]
}
]
}
| Campo | O que faz |
|---|---|
Name | Nome na vitrine. |
Price | Preço em DCoins (inteiro), cobrado uma vez. |
Quantity | Quantas cópias completas são entregues (cada uma no chão). Em veículos é ignorado. |
ItemsSpawn | Lista, mas só o primeiro bloco é usado. Para kit, use ItemAttachments e ItemInv do item principal. |
Item | Classname do item principal (tem que existir no servidor). |
Image_420x190 | Imagem do card — só nas abas Veículos e Helicópteros. Vazio = prévia 3D. As outras abas sempre mostram a prévia 3D. |
ItemAttachments | Acoplados ao item (mira, coronha, supressor...). O que não encaixar é ignorado. |
ItemInv | Vai para dentro do item (mochila, roupa, porta-malas). Se não couber, cai no chão — em armas, que não têm espaço interno, tudo cai no chão ao lado. |
Quantidade grande (ex.: 100 tábuas) cria 100 objetos no chão. Prefira itens que empilham ou caixas (ex.:
NailBox).Veículos e helicópteros
- Nascem 6 m à frente do jogador, com combustível, óleo, freio e arrefecimento cheios e motor 100%.
"ItemAttachments": ["preset"]= carro completo (portas, rodas, bateria, vela, radiador). Outros itens da lista viram peças extras eItemInvvai no porta-malas.- Não há verificação de obstáculo: avise para comprar em área aberta.
- Helicópteros precisam ser de um mod cujo heli seja tratado como veículo pelo DayZ (ex.: RFFS).
{
"Name": "Sedan Vinho",
"Price": 15000,
"Quantity": 1,
"ItemsSpawn": [
{ "Item": "CivilianSedan_Wine", "Image_420x190": "", "ItemAttachments": ["preset"], "ItemInv": ["CanisterGasoline"] }
]
}
Vender VIP na loja
Arquivo StorePanelVIP.json, lista StoreVIP:
{ "Activate": 1, "Name": "VIP PAINEL GOLD 30 DIAS", "Price": 50000, "Days": 30,
"Image": "FH-SHOP/src/data/panelvip/panelvip.edds", "Type": "VIPGold" }
| Campo | O que faz |
|---|---|
Activate | 1 = aparece; 0 = escondido. |
Days | Dias somados. Comprar de novo estende o VIP (soma a partir da data que ainda vale). |
Type | Tem que ser o VipID de um plano em PainelVip/Vips/ (maiúsculas não importam). |
Confira o
Type com cuidado: se não existir plano com esse VipID, o jogador paga, vê "Boa compra!" e não recebe nada (e não há estorno automático). Depois de criar/renomear plano, teste a compra com seu ID em Admins.VIP Estático (
StoreStaticVIP.json) não funciona nesta versão: cobra e não entrega. Não crie esse arquivo — use só o Painel VIP.Tutoriais rápidos
Adicionar um produto
- Pare o servidor e abra o arquivo da aba (ex.:
StoreWeapons.json). - Copie um produto existente, cole no fim da lista (vírgula entre os blocos, nenhuma depois do último).
- Troque
Name,Pricee classnames. - Suba o servidor, entre e confira a aba. Teste a compra com seu ID em Admins.
Esconder uma aba inteira
No Config.json, coloque o Active… da aba em 0 e reinicie.
Mensagens, anúncios e webhook
- Comprar caixa misteriosa avisa todo o servidor: "[VIRTUAL SHOP]: Nick acabou de comprar uma Caixa de Presente Comum!" (ou Mítica/Épica).
- Webhook (se ligado): "Comprou um(a) classname." ou "Comprou [Nome do VIP] de N dias.", com nome e link do perfil Steam do jogador.
Log da loja
Shop/Logs/LogStore.log — formato DD.MM.AAAA HH:MM:SS [FHShop] texto:
O player Nick comprou o [AKM] e spawnou na posicao[...]O player [Nick] gastou 2500 moedas na loja !... tentou comprar [...] na loja, mas não possui fundos suficiente !... mas a loja falhou em spawnar! <-- !!!!!→ classname errado no catálogo (corrija; o jogador já pagou).
Ativações de VIP vão para o log do Painel VIP; recargas aparecem no console do servidor ([FHShop: Payment]).