Ir para conteúdo

Featured Replies

Postado

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());
}
Postado

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!

Postado
  • Autor

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.

Postado

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!

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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo