Ir para conteúdo
Entre para seguir isso  
LG

atk do summon baseado no lv do jogador

Recommended Posts

LG    1
LG

Testado em: tfs 0.4 (deve funcionar nos outros)

 

 

Neste codigo eu modifico o ataque do summon para ser baseado no level do jogador.

 

--Configurando o config.lua

em configmanager.cpp, depois de

m_confNumber[FIST_BASE_ATTACK] = getGlobalNumber("fistBaseAttack", 7);

 

adicione

m_confNumber[sUMMON_LEVEL_PERCENT] = getGlobalNumber("summonLevelPercent", 1);

 

em configmanager.h

depois de

FIST_BASE_ATTACK,

adicione

SUMMON_LEVEL_PERCENT,

--Configurando o monstro

 

em monster.cpp

substitua

   minCombatValue = (int32_t)(it->minCombatValue * multiplier);
            maxCombatValue = (int32_t)(it->maxCombatValue * multiplier);

por

 if(!isSummon())
          {
           minCombatValue = (int32_t)(it->minCombatValue * multiplier);
            maxCombatValue = (int32_t)(it->maxCombatValue * multiplier);
           }
                  else
                   {   
                       Creature* creature = getMonster();;
                 Player* player = creature->getPlayerMaster(); 


                       minCombatValue = (int32_t)(it->minCombatValue * multiplier);
                       maxCombatValue = (int32_t)(it->maxCombatValue * multiplier * ((player->getLevel() * g_config.getNumber(ConfigManager::SUMMON_LEVEL_PERCENT))/100));
                   }

 

pronto agora você deve adicionar a linha

summonLevelPercent = [color="Red"]1[/color]

na config.lua, basta mudar o numero para aumentar ou diminuir o ataque baseado no level.

 

 

 

23:27 Your Dragon deals 1959 damage to Morgaroth.
23:28 Your Dragon deals 1219 damage to Morgaroth.

:bye:

Compartilhar este post


Link para o post
Dark Skyllen    7
Dark Skyllen

Obrigado pela contribuição, movido.

Compartilhar este post


Link para o post
Saymon14    0
Saymon14

Muito bom, esse codigo vai ser uma "mao na roda" para servidores que utilizam Pet's (pokemon e etc)

 

flw

Compartilhar este post


Link para o post
Setz    0
Setz

ond q eu axo esse configmanager.cpp, onfigmanager.h, monster.cpp e em q parte add summonLevelPercent = 1

 

abrass

Compartilhar este post


Link para o post
Notorious    1
Notorious
ond q eu axo esse configmanager.cpp, onfigmanager.h, monster.cpp e em q parte add summonLevelPercent = 1

 

abrass

Nas sources do seu servidor

Compartilhar este post


Link para o post
notle.com    2
notle.com

Muito Bom Para Servers De Pokemon

Compartilhar este post


Link para o post
vyctor17    35
vyctor17

muito bom testei [8.54] The Forgotten Server 0.3.6pl1 (Crying Damson)

funciono perfeito

recomendo \o/

 

11:10 Your Priestess deals 1000 damage to a dragon.

Editado por vyctor17

Compartilhar este post


Link para o post
Kydrai    0
Kydrai

Muito bom para servidores com pet.

Acho que ainda tem uns erros, se der pra confirmar:

Creature* creature = getMonster();;

 

E esse aqui acho que pode derruba o srv, não sei:

if(!isSummon())

O certo seria usa isPlayerSummon(), se não vai dar erro na hora que pega o player e ver seu level, já que monstro também poder ter summon.

Compartilhar este post


Link para o post
vyctor17    35
vyctor17

vo reporta um bug ake exemplo se vc atk um summon com essa funçao aee deruba o server

eu usei um distro normal e um com a funçao para testar e sempre que eu cliko pra atk um summon da fatal error no server summon de criaturas tipo necromancer qeu sumona ghoul

 

@kydrai tentei troka lah o isPlayerSummon() funciono server o server nao cai so que o bixo fika loko corendo e um lado pro outro u.u e nao atk depois do 1 hit que o summon da

 

 

e tambem seria legal se o summon ganhace defesa pelo lv do player tambem pra complementar :D

Editado por vyctor17

Compartilhar este post


Link para o post
Paulgrande    2
Paulgrande

aee topico moreu ninguem sabe arumar o erro de derubar o server nao ?

Compartilhar este post


Link para o post
vyctor17    35
vyctor17

esse script e muito loko mais da crash no server bem que alguem podia arumar neh '-'

Compartilhar este post


Link para o post
Kaotar    5
Kaotar

Só fazer teste pra ver se "creature->getPlayerMaster()" é um player ou não.

Compartilhar este post


Link para o post
vyctor17    35
vyctor17

blz como faiz isso kkk '-'

Compartilhar este post


Link para o post
Eduardowm    0
Eduardowm

Na parte que ele diz pra colocar este código:

 

if(!isSummon())

{

minCombatValue = (int32_t)(it->minCombatValue * multiplier);

maxCombatValue = (int32_t)(it->maxCombatValue * multiplier);

}

else

{

Creature* creature = getMonster();;

Player* player = creature->getPlayerMaster();

 

 

minCombatValue = (int32_t)(it->minCombatValue * multiplier);

maxCombatValue = (int32_t)(it->maxCombatValue * multiplier * ((player->getLevel() * g_config.getNumber(ConfigManager::SUMMON_LEVEL_PERCENT))/100));

 

 

Coloque assim:

if(!isSummon())

{

minCombatValue = (int32_t)(it->minCombatValue * multiplier);

maxCombatValue = (int32_t)(it->maxCombatValue * multiplier);

}

 

else

{

Player* player = NULL;

 

if (player = this->getPlayerMaster())

{

minCombatValue = (int32_t)(it->minCombatValue * multiplier);

maxCombatValue = (int32_t)(it->maxCombatValue * multiplier * ((player->getLevel() * g_config.getNumber(ConfigManager::SUMMON_LEVEL_PERCENT))/100));

}

 

else

{

minCombatValue = (int32_t)(it->minCombatValue * multiplier);

maxCombatValue = (int32_t)(it->maxCombatValue * multiplier);

}

}

 

Deve resolver...

Compartilhar este post


Link para o post
vyctor17    35
vyctor17
maxCombatValue = (int32_t)(it->maxCombatValue * multiplier * ((player->getLevel() * g_config.getNumber(ConfigManager::SUMMON_LEVEL_PER CENT))/100));
depois que eu mudei o SUMMON_LEVEL_PER CENT pra SUMMON_LEVEL_PERCENT compilo agora vo testar

 

 

edit:o summon fika loko e para de atk quando atk outro summon

Editado por vyctor17

Compartilhar este post


Link para o post
iuniX    4
iuniX

Alguem descobriu como concertar, to querendo muito esse código :(

Compartilhar este post


Link para o post
vyctor17    35
vyctor17

nem para de dar crashs se vc usar as modificaçoes que os cara ali em cima manda mais o bixo fika loko O.o

Editado por vyctor17

Compartilhar este post


Link para o post
iuniX    4
iuniX
nem para de dar crahs se vc usar as modificaçoes que os cara ali em cima manda mais o bixo fika loko O.o

traduz plz? :S

 

 

@edit:

 

Consigui fazer funcionar, só fazer igual o kydrai falo.

Vlew kydrai, rep + :B

Editado por iuniX

Compartilhar este post


Link para o post
Raphael Carnaúba    1
Raphael Carnaúba

Tenta isso, deve funcionar eu acho..

 

if(isSummon()){
   if(Creature* creature = getMonster())
       if(Player* player = creature->getPlayerMaster())
           maxCombatValue = (int32_t)(it->maxCombatValue * multiplier * ((player->getLevel() * g_config.getNumber(ConfigManager::SUMMON_LEVEL_PERCENT))/100));     
}
else
{   
           maxCombatValue = (int32_t)(it->maxCombatValue * multiplier);
}
minCombatValue = (int32_t)(it->minCombatValue * multiplier);

Compartilhar este post


Link para o post
vyctor17    35
vyctor17

testarei asim que possivel

Compartilhar este post


Link para o post
Visitante
Este tópico está impedido de receber novos posts.
Entre para seguir isso  
  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×