Jump to content

[FIX] Duplicação de itens Great's Offlineshop


webnull

Recommended Posts

É um bug que acontece quando os jogadores mudam de CH da para duplicar os itens.

char.cpp

Procurar por:

quest::PC * pPC = quest::CQuestManager::instance().GetPCForce(GetPlayerID()); (CHARACTER::OpenMyShop)

E adicionar isto em baixo

    if (IsRestricted())

    {
        ChatPacket(CHAT_TYPE_INFO, "Trebuie sa astepti %d secunde pentru a face asta.", (GetQuestFlag("restrict.player") - get_global_time()) % 180);
        return;
    }

Procurar por

        if (days != 0)
            map_shop.push_back(pTable++);

Adicionar isto por baixo

        SetQuestFlag("restrict.player", get_global_time() + 10);    

Adicionar no final do ficheiro

bool CHARACTER::IsRestricted()
{    
    if (GetQuestFlag("restrict.player") < get_global_time())
        return false;
}


Agora em char.h

Procurar

};

ESex GET_SEX(LPCHARACTER ch);

Adicionar depois

    public:
        bool    IsRestricted();

 

Agora cmd_general.cpp

Mudar o 

ACMD(do_channel) 

para
 

#ifdef __CHANNEL_CHANGE_SYSTEM__
ACMD(do_channel)
{
    if (ch->IsRestricted())
    {
        ch->ChatPacket(CHAT_TYPE_INFO, "Você precisa aguardar %d segundos para fazer isso.", (ch->GetQuestFlag("restrict.player") - get_global_time()) % 180);
        return;
    }    

    char arg1[256];
    one_argument(argument, arg1, sizeof(arg1));
    if (!*arg1)
        return;
    
    int channel;
    str_to_number(channel, arg1);
    ch->ChannelChange(channel);
    ch->SetQuestFlag("restrict.player", get_global_time() + 5);
}
#endif


 

Edited by webnull
Link to comment
  • 7 months later...

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
×
×
  • Create New...