[C++]Fix dublicare iteme,Change ch Off Great

  • Autor subiect Ionut
  • Dată creare
  • Răspunsuri: Răspunsuri 3
  • Vizualizări: Vizualizări 2K
I

Ionut

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

Adauga deasupra


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

Cauta
Cod:
        if (days != 0)
            map_shop.push_back(pTable++);
Adauga deasupra

Cod:
        SetQuestFlag("restrict.player", get_global_time() + 10);
Adauga la final :
Cod:
bool CHARACTER::IsRestricted()
{
    if (GetQuestFlag("restrict.player") < get_global_time())
        return false;
}

Char.h
Cauta:
Cod:
}; 

 ESex GET_SEX(LPCHARACTER ch);

Adauga deasupra
Cod:
    public:
         bool    IsRestricted();

cmd_general.cpp
Cauta:

Cod:
ACMD(do_channel)
Schimba cu :

Cod:
#ifdef __CHANNEL_CHANGE_SYSTEM__
ACMD(do_channel)
{
    if (ch->IsRestricted())
    {
        ch->ChatPacket(CHAT_TYPE_INFO, "Trebuie sa astepti %d secunde pentru a face asta.", (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