Ir para conteúdo
  • Cadastre-se

Programação [0.3.6pl1] Correção para o !disband


Posts Recomendados

Não me lembro bem mas acho que esse bug foi fixado só na versão 8.62, então pode ajudar muita gente...

O comando !disband não funcionava direito, o player continuava na guild e acho que dava pra clonar items também.

Os créditos vão para o slawkens.

 

No arquivo ioguild.cpp, troque:

bool IOGuild::disbandGuild(uint32_t guildId)
{
    Database* db = Database::getInstance();

    DBQuery query;
    query << "UPDATE `players` SET `rank_id` = '' AND `guildnick` = '' WHERE `rank_id` = " << getRankIdByLevel(guildId, GUILDLEVEL_LEADER) << " OR rank_id = " << getRankIdByLevel(guildId, GUILDLEVEL_VICE) << " OR rank_id = " << getRankIdByLevel(guildId, GUILDLEVEL_MEMBER);
    if(!db->executeQuery(query.str()))
        return false;

    for(AutoList<Player>::iterator it = Player::autoList.begin(); it != Player::autoList.end(); ++it)
    {
        if(it->second->getGuildId() == guildId)
            it->second->leaveGuild();
    }

    query.str("");
    query << "DELETE FROM `guilds` WHERE `id` = " << guildId << " LIMIT 1";
    if(!db->executeQuery(query.str()))
        return false;

    query.str("");
    query << "DELETE FROM `guild_invites` WHERE `guild_id` = " << guildId;
    if(!db->executeQuery(query.str()))
        return false;

    query.str("");
    query << "DELETE FROM `guild_ranks` WHERE `guild_id` = " << guildId;
    return db->executeQuery(query.str());
}

Por:

bool IOGuild::disbandGuild(uint32_t guildId)
{
    Database* db = Database::getInstance();

    DBQuery query;
    query << "UPDATE `players` SET `rank_id` = '' AND `guildnick` = '' WHERE `rank_id` = " << getRankIdByLevel(guildId, GUILDLEVEL_LEADER) << " OR rank_id = " << getRankIdByLevel(guildId, GUILDLEVEL_VICE) << " OR rank_id = " << getRankIdByLevel(guildId, GUILDLEVEL_MEMBER);
    if(!db->executeQuery(query.str()))
        return false;

    InvitedToGuildsList::iterator iit;
    for(AutoList<Player>::iterator it = Player::autoList.begin(); it != Player::autoList.end(); ++it)
    {
        if(it->second->getGuildId() == guildId)
            it->second->leaveGuild();
        else
        {
         iit = std::find(it->second->invitedToGuildsList.begin(), it->second->invitedToGuildsList.end(), guildId);
            if(iit != it->second->invitedToGuildsList.end())
                 it->second->invitedToGuildsList.erase(iit);
        }
    }

    query.str("");
    query << "DELETE FROM `guilds` WHERE `id` = " << guildId << db->getUpdateLimiter();
    if(!db->executeQuery(query.str()))
        return false;

    query.str("");
    query << "DELETE FROM `guild_invites` WHERE `guild_id` = " << guildId;
    if(!db->executeQuery(query.str()))
        return false;

    query.str("");
    query << "DELETE FROM `guild_ranks` WHERE `guild_id` = " << guildId;
    return db->executeQuery(query.str());
}
Link para o post
Compartilhar em outros sites

Amigo, por se tratar de uma correção relacionada à uma talkaction, coloque o script da talkaction em questão apenas para esclarecer que talkaction é essa, já que nem todo server vem com essa talkaction.

Te ajudei?? REP + e ficamos quites... <ahttp://www.tibiaking.com/forum/uploads/emoticons/default_happyy.png' alt=';D'>

Atenciosamente,

Daniel.

Abraços!

Link para o post
Compartilhar em outros sites

Amigo, por se tratar de uma correção relacionada à uma talkaction, coloque o script da talkaction em questão apenas para esclarecer que talkaction é essa, já que nem todo server vem com essa talkaction.

O script da talkaction é na source, e o servidor que citei (0.3.6pl1) já possui em sua versão oficial.

Link para o post
Compartilhar em outros sites

Então tudo bem.

 

Seu tutorial foi aprovado, você recebeu um ponto de reputação e o tópico será movido para a seção correta. :accept:

Te ajudei?? REP + e ficamos quites... <ahttp://www.tibiaking.com/forum/uploads/emoticons/default_happyy.png' alt=';D'>

Atenciosamente,

Daniel.

Abraços!

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por Muvuka
      Alguem tem anti-nuker igual a esse 
       

       
    • Por Muvuka
      [SQLite] -=[TFS]=- 0.4 8.60 Alguem faz apk mobile pra mim ip: dexsoft.ddns.net
       
      pra mim
       
      https://www.mediafire.com/file/5klqnyy6k7jda0u/OTClientV8.rar/file
       
      TA TUDO AI
    • Por yuriowns
      Salve rapazes, estou precisando de um client próprio para o meu servidor 7.4, preciso que algum programador experiente e com referências faça um client do jeito que eu procuro. Responda aqui para fazermos um orçamento, obrigado!

      Não sei se estou no lugar certo, se não me desculpem e peço que movam por gentileza!
    • Por paulo thush
      Pessoal to com um grande problema, estou com um servidor TFS 1.4x 10.98, recentemente começou dar um problema, sempre quando falava "trade" com o npc dava um erros, com qual quer npc, o erro e o seguinte.
       
       
      me falaram que o problema e nas sourcer que precisava mudar umas coisas me passaram um link no github esse aqui 
      https://github.com/otland/forgottenserver/pull/3996/files
       
      porem eu vi vídeos no youtube ensinando a compilar, já vi muitos tópicos como compilar a sourcer, ai quando vou compilar da esse erro
      já tentei instalar, desinstala muitas coisas, alterar também não vai, minha sourcer e essa 
      https://github.com/otland/forgottenserver
       
       
      Alguém poderia me ajuda com esse erro, ou ate compilar 100% as sourcer. os Tópicos que eu tentei para compilar e esse daqui, se não poder o link me desculpe.
      https://forums.otserv.com.br/index.php?/forums/topic/169234-windowsvc2019-compilando-sources-tfs-14-vcpkg/
       
      alguém me da uma luz por favor kkk
    • Por Ryzek
      Uso tfs 0.4 trunk3884 bem simples.
      Queria acrescentar magic effects para 255 pois o meu só vai até 69. Encontrei um tópico que falava sobre porém parece ter sido removido, não consigo acessar!
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo