Ir para conteúdo

[c++] passive system


Posts Recomendados

6 horas atrás, Josegvb disse:

acho que o @Ceetros tb deberia falar, pidiu permiçao do autor do topico pra postar, ele deu mas o ceetros nao respondeu mais

Eu falei com o Ceetros um dia desses (uns 2 dias dps de ele pedir permisão) ele disse q tava viajando

Link para o comentário
Compartilhar em outros sites

@dalvorsn ou @Kilowog ou qual quer outro programador experiente ae vê se está certo o code:

 

http://hastebin.com/yegeqaqeqe.coffee

 

Vi oq o Kilowog disse e tentei usar a ideia dele, só não sei se está correto, teria como vcs dizerem se está correto? se não, oq tem q fazer para corrigir?

Link para o comentário
Compartilhar em outros sites

1 hour ago, Drazyn1291 said:

@dalvorsn ou @Kilowog ou qual quer outro programador experiente ae vê se está certo o code:

 

http://hastebin.com/yegeqaqeqe.coffee

 

Vi oq o Kilowog disse e tentei usar a ideia dele, só não sei se está correto, teria como vcs dizerem se está correto? se não, oq tem q fazer para corrigir?

Mas isso foi o que eu fiz na primeira, o unico problema ai é que em outros lugares onde ele usa o damage map vai ter que adaptar também, até a nivel de script, a deathlist por exemplo vai ta passando  o guid quando for player

Link para o comentário
Compartilhar em outros sites

Agora, dalvorsn disse:

Mas isso foi o que eu fiz na primeira, o unico problema ai é que em outros lugares onde ele usa o damage map vai ter que adaptar também, até a nivel de script, a deathlist por exemplo vai ta passando  o guid quando for player

Não tem como fazer tipo, na hora de setar o lasthit repetir o processo só que ao invés de usar o guid usar o uid, dai iria enviar o guid (só pra dizer que atacou) e o uid (como lasthit) para o deathList funfar normalmente

Link para o comentário
Compartilhar em outros sites

12 minutes ago, Drazyn1291 said:

Não tem como fazer tipo, na hora de setar o lasthit repetir o processo só que ao invés de usar o guid usar o uid, dai iria enviar o guid (só pra dizer que atacou) e o uid (como lasthit) para o deathList funfar normalmente

Ah sim, agora que notei, pode sim, mas não muda a lista do onDeath ainda

Link para o comentário
Compartilhar em outros sites

4 horas atrás, dalvorsn disse:

Ah sim, agora que notei, pode sim, mas não muda a lista do onDeath ainda

Então iria contiuar sem sem mandar a msg de loot neh

Link para o comentário
Compartilhar em outros sites

9 horas atrás, dalvorsn disse:

Provavelmente, chegou a testar?

A minha teoria não, pq não sei fazer codes muito complexos, eu sei o basico de C então consigo entender e modificar algumas coisas em C++, caso você possa ajudar nisso T.T

Link para o comentário
Compartilhar em outros sites

  • 2 weeks later...
Em 29/06/2016 at 10:22, Josegvb disse:

ou o @Ceetros que disse q ia compartilhar se o autor permitia e ainda nao compartilhou nd ;/: sera q ainda ta vialhando?

 

0.3.6:

 

Em  monster.cpp acha:

bool Monster::canUseAttack(const Position& pos, const Creature* target) const

E deleta a parte que tem

!isHostile()

Não lembro como é

Link para o comentário
Compartilhar em outros sites

2 hours ago, Ceetros said:

 

0.3.6:

 

Em  monster.cpp acha:

bool Monster::canUseAttack(const Position& pos, const Creature* target) const

E deleta a parte que tem

!isHostile()

Não lembro como é

 

eliminei oq vc falou:

Spoiler

bool Monster::canUseAttack(const Position& pos, const Creature* target) const

{

    if(!isHostile())

        return true;

    const Position& targetPos = target->getPosition();

    for(SpellList::iterator it = mType->spellAttackList.begin(); it != mType->spellAttackList.end(); ++it)

    {

        if((*it).range != 0 && std::max(std::abs(pos.x - targetPos.x), std::abs(pos.y - targetPos.y)) <= (int32_t)(*it).range)

            return g_game.isSightClear(pos, targetPos, true);

    }

    return false;

}

ficando assim:

Spoiler

bool Monster::canUseAttack(const Position& pos, const Creature* target) const

{

    const Position& targetPos = target->getPosition();

    for(SpellList::iterator it = mType->spellAttackList.begin(); it != mType->spellAttackList.end(); ++it)

    {

        if((*it).range != 0 && std::max(std::abs(pos.x - targetPos.x), std::abs(pos.y - targetPos.y)) <= (int32_t)(*it).range)

            return g_game.isSightClear(pos, targetPos, true);

    }

    return false;

}

 

porem o bixo ainda fica andando sem atacar  quando é targetado nem qndo leva dano...

Link para o comentário
Compartilhar em outros sites

17 horas atrás, Josegvb disse:

 

eliminei oq vc falou:

  Ocultar conteúdo

bool Monster::canUseAttack(const Position& pos, const Creature* target) const

{

    if(!isHostile())

        return true;

    const Position& targetPos = target->getPosition();

    for(SpellList::iterator it = mType->spellAttackList.begin(); it != mType->spellAttackList.end(); ++it)

    {

        if((*it).range != 0 && std::max(std::abs(pos.x - targetPos.x), std::abs(pos.y - targetPos.y)) <= (int32_t)(*it).range)

            return g_game.isSightClear(pos, targetPos, true);

    }

    return false;

}

ficando assim:

  Ocultar conteúdo

bool Monster::canUseAttack(const Position& pos, const Creature* target) const

{

    const Position& targetPos = target->getPosition();

    for(SpellList::iterator it = mType->spellAttackList.begin(); it != mType->spellAttackList.end(); ++it)

    {

        if((*it).range != 0 && std::max(std::abs(pos.x - targetPos.x), std::abs(pos.y - targetPos.y)) <= (int32_t)(*it).range)

            return g_game.isSightClear(pos, targetPos, true);

    }

    return false;

}

 

porem o bixo ainda fica andando sem atacar  quando é targetado nem qndo leva dano...

 

Cola a sua função

bool Monster::selectTarget(Creature* creature)

 

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...