Ir para conteúdo

Featured Replies

Postado
  • Autor

no caso, eu com ml 156 pra passar pro 157 vai ser tipo 130% (nao sei se voce me entendeu)

 

ex: 1 % = 1 de mana gasta

 

eu uso exura aumenta 25% certo?

com 4 exura eu upo de ML pro 156

 

ai do 156 pro 157 precisa de tipo 5 exuras

que no caso seria 125% (130% pra passar pro proximo nivel)

 

seria isso?

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

  • Respostas 18
  • Visualizações 4.5k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Sim, pois voce ta limitando o ml maximo pra quando o requerimento for maior que 200 ._. (nem sei com oainda chegou a ml 86) Faz assim if(currReqMana > currReqMana * 2)  É matematicamente impossiv

  • Tenta diminuir a maglevel de quem ja atingiu o limite e/ou diminuir a mana spent(mana gasta) deles

Postado

Se o que você pretende é que apos o lv156 de ml custe 30% mais de mana do que custou no level passado, sucessivamente, creio que seria assim

{
if(!amount)
return;








uint64_t currReqMana = vocation->getReqMana(magLevel), nextReqMana = vocation->getReqMana(magLevel + 1);
if(currReqMana > 99999999999999999999999999999999999) //player has reached max magic level
return;








if(useMultiplier)
amount = uint64_t((double)amount * rates[SKILL__MAGLEVEL] * g_config.getDouble(ConfigManager::RATE_MAGIC));








bool advance = false;
while(manaSpent + amount >= nextReqMana)
{
amount -= nextReqMana - manaSpent;
manaSpent = 0;
magLevel++;








char advMsg[50];
sprintf(advMsg, "You advanced to magic level %d.", magLevel);
sendTextMessage(MSG_EVENT_ADVANCE, advMsg);








advance = true;
CreatureEventList advanceEvents = getCreatureEvents(CREATURE_EVENT_ADVANCE);
for(CreatureEventList::iterator it = advanceEvents.begin(); it != advanceEvents.end(); ++it)
(*it)->executeAdvance(this, SKILL__MAGLEVEL, (magLevel - 1), magLevel);








currReqMana = nextReqMana;
nextReqMana = vocation->getReqMana(magLevel + 1);
if(currReqMana >= nextReqMana)
{
amount = currReqMana * 1.3;
}
}








if(amount)
manaSpent += amount;








uint32_t newPercent = Player::getPercentLevel(manaSpent, nextReqMana);
if(magLevelPercent != newPercent)
{
magLevelPercent = newPercent;
sendStats();
}
else if(advance)
sendStats();
}



 tumblr_mwfeg45FIV1qk4cb3o4_500.gif

Postado

ae Danves esta dando erro quando vai compilar diz que o erro esta em if(currReqMana > 99999999999999999999999999999999999) //player has reached max magic level      ai eu coloquei if(currReqMana > 200) //player has reached max magic level   compilar certinho mas quando entra em um druid e upa a magic level so vai ate 86

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

Postado
  • Solução

Sim, pois voce ta limitando o ml maximo pra quando o requerimento for maior que 200 ._. (nem sei com oainda chegou a ml 86)
Faz assim
if(currReqMana > currReqMana * 2) 
É matematicamente impossivel limitar assim, hahaha

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



 tumblr_mwfeg45FIV1qk4cb3o4_500.gif

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.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo