Ir para conteúdo
Entre para seguir isso  
dyegodb

Exani Hur Up/Down Fix

Recommended Posts

dyegodb    0
dyegodb

Ae pessoal! Eu tava com um problema com o Exani Hur Up/Down, ai pesquisei no otfans e achei. Então se alguem tiver com mesmo problema... ta ai o code ;D

 

spells.cpp:

em InstantSpell::Levitate(...)

 

Procure por:

ret = g_game.internalMoveCreature(player, player->getTile(), tmpTile);[/b]

 

OBS: Vai ter 2 vezes o code acima (uma para Up e outra para Down), substitua nas 2 ;D.

 

Substitua por:

ret = g_game.internalMoveCreature(player, player->getTile(), tmpTile, FLAG_NOLIMIT);[/b]

 

 

Créditos:

Code: LooS!k (otfans)

Tradução: dyegodb

 

Compartilhar este post


Link para o post
Nephastus    0
Nephastus

Ao menos testara?

Aposto que não, pois não é 100% ok.

Compartilhar este post


Link para o post
dyegodb    0
dyegodb

claro que testei neh... c n n tinha postado.. essa foi dãã pls

Compartilhar este post


Link para o post
dyegodb    0
dyegodb

claro que testei neh... c n n tinha postado.. essa foi dãã pls

Compartilhar este post


Link para o post
Nephastus    0
Nephastus

@dyegodb

Então não testou tudo, veja no post original da OTFans.

Compartilhar este post


Link para o post
Nephastus    0
Nephastus

@dyegodb

Então não testou tudo, veja no post original da OTFans.

Compartilhar este post


Link para o post
dyegodb    0
dyegodb

to dizendo q testei noobzada. kramba. se pra ti n funcionou te vira então. aki funcinou pros meus amigos funcionou.... então ó xiu

 

 

{Impactos POA}

Compartilhar este post


Link para o post
Nephastus    0
Nephastus

É retardado?

 

Noob é você sua anta, não sabe programar então cale a boca.

 

Com flag_nolimit dará alguns leaks porque não tem essa de limit se não daria muito pau, mas o cliente "conserta" isso, não é a melhor forma, é bem inapropriado, então cale a boca seu noob que não sabe programar.

Compartilhar este post


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

Nephastus,

 

So porque tu é programmer você não pode ficar humilhando... O client não tem nada haver com esses bugs os bugs são da SVN que tem programadores que não estão nem ai mais pro OTServ

Compartilhar este post


Link para o post
dyegodb    0
dyegodb

@Nephastus

Em nenhum momento eu disse que era programmer. Não sabe ler? Se te acha tão bom.. prova. E tu falo uma coisa e o Raphael Carnaúba disse outra. Ele sabe mais que você? bom, no comments pra ti.. n eh atoa q ninguem vai com tua cara. soh fala e n faz nd.

Compartilhar este post


Link para o post
Razor    1
Razor

@ Nephatus e dyego

 

Vamo parar essa briga senao vo alertar os 2.

Fim da historia.

 

esK~

Compartilhar este post


Link para o post
Nephastus    0
Nephastus

O verdadeiro fix é esse:

 

 

bool InstantSpell::Levitate(const InstantSpell* spell, Creature* creature, const std::string& param)
{
    Player* player = creature->getPlayer();
    if(!player){
        return false;
    }

    const Position& currentPos = creature->getPosition();
    const Position& destPos = Spells::getCasterPosition(creature, creature->getDirection());

    ReturnValue ret = RET_NOTPOSSIBLE;

    if(strcasecmp(param.c_str(), "up") == 0){
        if(currentPos.z != 8){
            Tile* tmpTile = g_game.getTile(currentPos.x, currentPos.y, currentPos.z - 1);
            if(tmpTile == NULL || (tmpTile->ground == NULL && !tmpTile->hasProperty(BLOCKSOLID))){
                tmpTile = g_game.getTile(destPos.x, destPos.y, destPos.z - 1);
                if(tmpTile && tmpTile->ground && !tmpTile->hasProperty(BLOCKINGANDNOTMOVEABLE)){
                    ret = g_game.internalMoveCreature(player, player->getTile(), tmpTile, FLAG_NOLIMIT);
                }
            }
        }
    }
    else if(strcasecmp(param.c_str(), "down") == 0){
        Tile* tmpTile = g_game.getTile(destPos.x, destPos.y, destPos.z);
        if(currentPos.z != 7 && (tmpTile == NULL || (tmpTile->ground == NULL && !tmpTile->hasProperty(BLOCKSOLID)))){
            tmpTile = g_game.getTile(destPos.x, destPos.y, destPos.z + 1);

            if(tmpTile && tmpTile->ground && !tmpTile->hasProperty(BLOCKINGANDNOTMOVEABLE)){
                ret = g_game.internalMoveCreature(player, player->getTile(), tmpTile, FLAG_NOLIMIT);
            }
        }
    }

    if(ret == RET_NOERROR){
        g_game.addMagicEffect(player->getPosition(), NM_ME_ENERGY_AREA);
    }
    else{
        player->sendCancelMessage(ret);
        g_game.addMagicEffect(player->getPosition(), NM_ME_PUFF);
    }

    return (ret == RET_NOERROR);
}

 

Sua mula

Compartilhar este post


Link para o post
dyegodb    0
dyegodb

EHUIEHUE, bom mula eh vc... e cmg funcionou soh com akilo c vc soh conseguiu assim problema nenhum... vc gosta de complica neh. criança

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.

×