Skip to content

Loja de animações ​

Loja de animações pagas com diamantes, que são as gemas do krs_helper. O jogador compra pela raridade, gira uma roleta ou usa uma escolha grátis do VIP. A animação vendida fica trancada no menu do anim até o jogador ter.

Precisa de: oxmysql, ox_lib, krs_helper. O manifesto não exige o anim, mas é ele que tranca as animações, mostra os detalhes e faz o "Experimentar".

Instalação ​

cfg
ensure anim
ensure kay_animshop

Coloque depois do krs_helper. As tabelas são criadas sozinhas. Veja a ordem no server.cfg.

Krs e Creative usam os diamantes do framework. QBCore, vRP e o modo sem framework usam os do krs_helper.

Pacote opcional de animações ​

O catálogo procura um pacote separado de animações. Inicie o pacote antes do anim e da loja.

Sem o pacoteCom o pacote
CatálogoAs 2 animações de shared-side/catalogo.luaAs mesmas, mais as do pacote, inclusive exclusivas
RoletaSorteia só entre essas 2Sorteia em todas as raridades com animação à venda
Trava no animSó as 2Também as do pacote

Como usar ​

ComandoO que faz
/animshopAbre a loja em tela cheia. Esc ou o X fecham

Com o resource phone ligado, a loja também vira um app do tablet.

  • Comprar: clique na animação, em Comprar e confirme. Experimentar mostra a animação antes, se o anim estiver ligado.
  • Roleta: cada giro cobra Spin e sorteia só o que o jogador ainda não tem. Primeiro a raridade, pelo peso, depois uma animação dela.
  • Escolha grátis: cada compra de VIP dá 1 e elas acumulam. Vale para qualquer animação à venda, não para as exclusivas.
  • Exclusiva: não é vendida nem sai na roleta. Só chega por outro script.

Não há comando de admin para dar animação.

Configuração ​

Tudo fica em config.lua.

OpçãoPadrãoO que muda
Pricecomum = 1000, raro = 2000, epico = 3500, lendario = 6000Preço em diamantes. Mínimo 1
Spin500Preço do giro. Mínimo 1
Ratescomum = 70, raro = 22, epico = 6, lendario = 2Peso na roleta. 0 tira a raridade. Tudo 0 desliga a roleta
Preview20000Duração do "Experimentar", em ms
Command"animshop"Comando da tela cheia. "" desliga
Vip.Resource"pause"Resource que pode disparar o evento do VIP
Vip.Event"pause:PremiumBought"Evento do VIP. "" desliga
Vip.PlansBronze, Prata, OuroPlanos que dão escolha grátis
Grantorspause, kay_missoesResources que podem usar Grant e AddFree. Apagar a linha tira a permissão
App.Identifier"animshop"Nome interno do app
App.Name, App.Description"app.name", "app.description"Texto ou chave de locales/*.json
App.Developer"Kroma Systems"Desenvolvedor mostrado no app
App.DefaulttrueApp já instalado no tablet
NotifyColor = "verde", Time = 8000Aviso da escolha grátis

O arquivo shared-side/catalogo.lua tem uma linha por animação vendida. O anim lê esse arquivo, então não mude o nome, o lugar nem o formato.

lua
{ Id = "dance1007", Nome = "Boate em roda · M5", Raridade = "comum" },
CampoO que é
IdNome da animação no anim
NomeTexto mostrado ou chave de locales/*.json
Raridadecomum, raro, epico ou lendario
ExclusivoOpcional. O valor escolhe o texto exclusive.<valor> dos locales

Animação fora do catálogo fica livre para todos no menu.

Para programadores ​

Servidor:

lua
exports.kay_animshop:Grant(charId, "dance1007", "missao")  -- só Grantors; true também se ele já tinha
exports.kay_animshop:AddFree(charId)                       -- só Grantors; dá 1 escolha grátis e avisa
exports.kay_animshop:Owns(charId, "dance1007")             -- true/false
TriggerEvent("pause:PremiumBought", charId, "Ouro")        -- só vale vindo de Config.Vip.Resource

Outro sistema de VIP pode chamar AddFree ou apontar Vip.Resource e Vip.Event para um evento que mande (charId, plano).

Cliente:

lua
exports.kay_animshop:AnimacaoLiberada("dance1007")  -- false se é vendida e o jogador não tem
exports.kay_animshop:AnimacoesLiberadas()           -- { [id] = true }

O evento de cliente kay_animshop:Owned traz a lista nova a cada compra ou ganho. client-side/ganchos.lua tem as funções do tablet.

Problemas comuns ​

MensagemCausa
catálogo: animação X ignorada (raridade Y não existe em Config.Price).Raridade fora das quatro
A roleta está desligada neste servidor.Todos os pesos de Rates em 0
Você já tem todas as animações da roleta.Nada mais a sortear. Sem o pacote, acontece com só 2 animações
Diamantes insuficientes.Falta saldo ou o preço está em 0
[DEVOLUÇÃO FALHOU] no logDevolva os diamantes ou a escolha grátis à mão