Postado Agosto 28, 2014 10 anos 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 Agosto 28, 2014 10 anos por poko360 (veja o histórico de edições)
Postado Agosto 28, 2014 10 anos 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(); }
Postado Agosto 28, 2014 10 anos 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 Agosto 28, 2014 10 anos por 574747 (veja o histórico de edições)
Postado Agosto 28, 2014 10 anos 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 assimif(currReqMana > currReqMana * 2) É matematicamente impossivel limitar assim, hahaha Editado Agosto 28, 2014 10 anos por Danves (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.