Funcionalidades
Temporadas com reset
Defina uma temporada com ID próprio. Ao trocar o ID, o progresso de todos os jogadores é reiniciado automaticamente no próximo acesso.
Trilhas Clássica e Premium
Cada nível tem duas recompensas: a clássica (gratuita) e a premium (liberada ao comprar o passe).
Benefícios adaptativos
Itens, dinheiro, diamantes, veículos ou lógica customizada. Crie novos tipos de recompensa adicionando um handler.
Sistema de XP e Níveis
Curva de XP configurável por função. O jogador sobe de nível por missões, XP por tempo online ou pelos exports.
Missões
Tarefas diárias, semanais e de temporada com reset automático e XP de recompensa ao resgatar.
XP por tempo online
Concede XP automaticamente a cada X minutos que o jogador permanece conectado.
Loja em diamantes
Compra de níveis avulsos e desbloqueio do passe premium usando a moeda do servidor (Gemstone).
Validação no servidor
Saldo, posse, nível e resgates são sempre conferidos no servidor. O cliente nunca decide nada.
Como funciona
1
O jogador abre o passe
Pelo comando
/battlepass, por uma tecla, por evento ou export.2
Ganha XP e sobe de nível
Concluindo missões, ficando online ou recebendo XP de outros scripts via exports. Cada nível desbloqueia as recompensas daquele degrau.
3
Resgata recompensas
A trilha clássica é gratuita; a premium exige o passe. O servidor confere nível, posse e se a recompensa já foi resgatada antes de entregar.
4
Compra níveis ou o premium
Opcionalmente, o jogador gasta diamantes para pular níveis ou liberar a trilha premium.
Trilhas e Recompensas
Cada nível da temporada possui duas recompensas, uma por tier:
O estado de cada recompensa (bloqueado, disponível ou resgatado) é calculado pelo próprio sistema a partir do nível do jogador e da lista de resgates. Você só define o quê cada nível entrega.
Sistema de Benefícios
Cada recompensa entrega uma lista de benefícios. Otype de cada benefício é resolvido em server/class/framework.lua (rewardHandlers), o que torna o sistema totalmente adaptável.
Tipos de benefício prontos
Tipos de benefício prontos
Criando um tipo novo de benefício
Criando um tipo novo de benefício
Basta registrar um handler em No
framework.rewardHandlers. O ctx recebe { source, passport, identifier, level, tier, spec }. Retorne true em sucesso (retornar false aborta e o resgate não é registrado).config.lua:Sistema de XP e Níveis
O XP necessário para avançar de nível é definido por uma função emglobalConfig.progression.xpForLevel(level), permitindo curva plana ou progressiva.
Missões
Ao resgatar uma missão concluída, o XP dela é creditado.
Tempo online
A cada intervalo configurado, todos os conectados recebem XP.
Exports
Outros scripts concedem XP ou níveis via exports.
Missões
As missões são divididas em três grupos, cada um com sua janela de reset:
O progresso de cada missão é avançado por outros scripts via o export
addMissionProgress. Ao atingir a meta, o jogador resgata o XP pela interface.
O reset de missões diárias e semanais é aplicado no carregamento dos dados do jogador (ao entrar ou abrir o passe). Um jogador que permanece online atravessando a virada só tem as missões zeradas no próximo carregamento.
Economia
O passe usa a moeda do servidor (diamantes / Gemstone) para duas compras opcionais:showBuyLevels ou showBuyPremium como false esconde os botões na interface, útil quando você quer liberar níveis ou o premium apenas por outros sistemas (loja, VIP, recompensas) usando os exports.
