Ir para conteúdo

Featured Replies

Postado

Minha duvida é a seguinte:

Para passar de level você precisa de uma quantidade de experiência. Cada nível que você upa, precisa de ainda mais experiência..

Eu queria saber como funciona isso? Utiliza alguma formula matemática, ou coisa parecida? 

Caso for uma formula, tem como mudar?

Quer aprender a mapear? 

Discord: Natan#6301

Resolvido por Elwyn

Ir para solução
  • Respostas 6
  • Visualizações 798
  • Created
  • Última resposta

Top Posters In This Topic

Postado

Tem como mudar.

        static uint64_t getExpForLevel(int32_t lv) {
            lv--;
            return ((50ULL * lv * lv * lv) - (150ULL * lv * lv) + (400ULL * lv)) / 3ULL;
        }

Essa é a fórmula para calcular experiencia pro próximo nível.

 

[(50 * level³) - (150 * level²) + (400 * level)] / 3

 

Se quiser mudar, isso fica em player.h

Editado por elwyn (veja o histórico de edições)

Postado
  • Autor

Então se eu quisesse usar a seguinte formula:

L(n)= [Phin-(-phi)n]/sqrt(5)

-Onde n= ao nível.

-Onde Phi= 1,6180339 e phi= 0,6180339

-sqrt (5) é raiz quadrada de 5.

 

Como ficaria?

Editado por GoTheHell (veja o histórico de edições)

Quer aprender a mapear? 

Discord: Natan#6301

Postado
  • Solução
  Em 08/12/2014 em 19:31, GoTheHell disse:

Então se eu quisesse usar a seguinte formula:

L(n)= [Phin-(-phi)n]/sqrt(5)

-Onde n= ao nível.

-Onde Phi= 1,6180339 e phi= 0,6180339

-sqrt (5) é raiz quadrada de 5.

 

Como ficaria?

 

São números quebrados, toda a iteração com exp do player foi feita pensando em números inteiros então não recomendo usar essa fórmula, mas ficaria assim:

        static uint64_t getExpForLevel(int32_t lv) {
            lv--;
            return static_cast<uint64_t>(std::ceil(std::pow(1.6180339, lv) - std::pow(-0.6180339, lv))/std::sqrt(5));
        }

Esse cálculo tem bastante arredondamento. Dois na potencia, outro no resultado da subtração, outro no resultado da raiz de 5, outro no resultado da divisão e outro para dar cast de double para uint64_t

Editado por elwyn (veja o histórico de edições)

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Conteúdo Similar

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo