Postado Dezembro 8, 2014 10 anos 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
Postado Dezembro 8, 2014 10 anos 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 Dezembro 8, 2014 10 anos por elwyn (veja o histórico de edições)
Postado Dezembro 8, 2014 10 anos 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 Dezembro 8, 2014 10 anos por GoTheHell (veja o histórico de edições) Quer aprender a mapear? Discord: Natan#6301
Postado Dezembro 8, 2014 10 anos 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 Dezembro 8, 2014 10 anos por elwyn (veja o histórico de edições)
Postado Dezembro 8, 2014 10 anos Autor Então esta formula pode dar errado? Depois eu vou testar. Obrigado por ajudar. Quer aprender a mapear? Discord: Natan#6301
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.