humbertomario Posted November 28, 2012 Group: Members Topic Count: 1 Topics Per Day: 0.00 Content Count: 1 Reputation: 0 Joined: 11/28/12 Last Seen: November 29, 2012 Share Posted November 28, 2012 no meu emulador 1 ponto distribuido causa 1 ponto de efeito EX:(1 ponto de int= 1 ponto de ATKM) queria deixar assim 1 ponto de int= 5 pontos de ATKM alguem poderia me ajuda a corrigir esse erro Quote Link to comment Share on other sites More sharing options...
Artanis Posted January 5, 2013 Group: Members Topic Count: 0 Topics Per Day: 0 Content Count: 12 Reputation: 9 Joined: 01/03/13 Last Seen: June 12, 2024 Share Posted January 5, 2013 (edited) Em primeiro lugar amigo, isso não é um erro. É a contagem padrão do ataque mágico para a renovação. Para deixar da forma que deseja, você deverá fazer uma edição na source (código fonte do emulador). arquivo: status.c procure a linha abaixo: unsigned short status_base_matk(const struct status_data* status, int level){ return status->int_+(status->int_/2)+(status->dex/5)+(status->luk/3)+(level/4); } Altere a formula da forma que desejar. Após mudar, não se esqueça de recompilar. Pessoalmente também não gostei dessa formula, então alterei para a seguinte: unsigned short status_base_matk(const struct status_data* status, int level){ return (status->int_*5)+(level/4)+(status->dex/2)+(status->luk/2); } Traduzindo: Ataque Mágico = (Inteligência * 5) + (Nível Base / 4 ) + (Destreza / 2 ) + ( Sorte / 2 ) Algo mais completo ficaria: unsigned short status_base_matk(const struct status_data* status, int level){ int matk = 0; if( status!=NULL ) { matk = (status->int_*5)+(level/4)+(status->dex/2)+(status->luk/2); if( matk > 60000 ) { matk = 60000; } } if( matk < 0 ) matk = 0; return (unsigned short)matk; } Att, Etherion. Edited January 5, 2013 by etherion 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.