Jump to content

Bug Selo De Montada


Guest KemazI
 Share

Recommended Posts

Guest KemazI

Boas, recentemente adicionei um novo slot especial para montadas quando se está a usar... Mas tenho um problema que quando vou teleportar para outro mapa ou altero personagem automaticamente desmonta e o selo continua no slot, alguem sabe como posso resolver este bug?

 

Obrigado ^_^

Link to comment
Share on other sites

Guest KemazI

 

Objectivo é ao teleportar, quando ele desmonta o selo também sair ou simplesmente continuar montado e com o selo no sitio?

 

Continuar montado e com o selo equipado :S

Link to comment
Share on other sites

Guest KemazI

 

coloca isto nos ficheiros config:

TEST_SERVER : 1

 

Limpa logs e reinicia o servidor.

Após o teleporte, coloca aqui o syslog e syserr sff.

Para verificar se tens la algo assim: [DO_RIDE]

 

Syslog:

 

 

 

 

 

Syserr:

 

 

 

 

Link to comment
Share on other sites

Guest KemazI

 

Isso só acontece com o novo slot? Ou sempre aconteceu?

 

Com o novo slot :/

 

 

 

 

tens algum ficheiro chamado DEV_LOG ou assim? Se tiveres coloca-o também sff

 

 

 

Link to comment
Share on other sites

ACMD(do_ride)

{

dev_log(LOG_DEB0, "[DO_RIDE] start");

if (ch->IsDead() || ch->IsStun())

return;

 

// ³»¸®±â

{

if (ch->IsHorseRiding())

{

dev_log(LOG_DEB0, "[DO_RIDE] stop riding");

ch->StopRiding();

return;

}

 

if (ch->GetMountVnum())

{

dev_log(LOG_DEB0, "[DO_RIDE] unmount");

do_unmount(ch, NULL, 0, 0);

return;

}

}

 

Muda para:

ACMD(do_ride)
{
   dev_log(LOG_DEB0, "[DO_RIDE] start");
   if (ch->IsDead() || ch->IsStun())
return;

   // ³»¸®±â
   {
if (ch->IsHorseRiding())
{
    dev_log(LOG_DEB0, "[DO_RIDE] stop riding");
    //ch->StopRiding(); 
    return;
}

if (ch->GetMountVnum())
{
    dev_log(LOG_DEB0, "[DO_RIDE] unmount");
    //do_unmount(ch, NULL, 0, 0);
    return;
}
   }

Link to comment
Share on other sites

Guest KemazI

 

Vai no teu specil_item_group e procura se o id da montada está lá...

 

Sim está

 

 

 

 

 

ACMD(do_ride)

{

dev_log(LOG_DEB0, "[DO_RIDE] start");

if (ch->IsDead() || ch->IsStun())

return;

 

// ³»¸®±â

{

if (ch->IsHorseRiding())

{

dev_log(LOG_DEB0, "[DO_RIDE] stop riding");

ch->StopRiding();

return;

}

 

if (ch->GetMountVnum())

{

dev_log(LOG_DEB0, "[DO_RIDE] unmount");

do_unmount(ch, NULL, 0, 0);

return;

}

}

 

Muda para:

 

ACMD(do_ride)

{

dev_log(LOG_DEB0, "[DO_RIDE] start");

if (ch->IsDead() || ch->IsStun())

return;

 

// ³»¸®±â

{

if (ch->IsHorseRiding())

{

dev_log(LOG_DEB0, "[DO_RIDE] stop riding");

//ch->StopRiding();

return;

}

 

if (ch->GetMountVnum())

{

dev_log(LOG_DEB0, "[DO_RIDE] unmount");

//do_unmount(ch, NULL, 0, 0);

return;

}

}

 

 

Não funcionou :/ e o ctrl + g deixou de funcionar para desmontar

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...