Hızlı Komut Kullanımı Önlemi

lmaohw

Premium Üye
Premium Üye
MT Üye
Mesaj
418
Çözümler
23
Beğeni
209
Puan
744
Ticaret Puanı
0
cmd.cpp:
Genişlet Daralt Kopyala
//Bul

void interpret_command(LPCHARACTER ch, const char * argument, size_t len)
{

// Altına ekle
    
#ifdef ENABLE_ANTI_CMD_FLOOD
    if (ch && !ch->IsGM())
    {
        if (thecore_pulse() > ch->GetCmdAntiFloodPulse() + PASSES_PER_SEC(1))
        {
            ch->SetCmdAntiFloodCount(0);
            ch->SetCmdAntiFloodPulse(thecore_pulse());
        }
        if (ch->IncreaseCmdAntiFloodCount()>=10)
        {
            ch->GetDesc()->DelayedDisconnect(0);
            return;
        }
    }
#endif

//SON HALİ ŞÖYLE OLACAK
    
    
void interpret_command(LPCHARACTER ch, const char * argument, size_t len)
{
#ifdef ENABLE_ANTI_CMD_FLOOD
    if (ch && !ch->IsGM())
    {
        if (thecore_pulse() > ch->GetCmdAntiFloodPulse() + PASSES_PER_SEC(1))
        {
            ch->SetCmdAntiFloodCount(0);
            ch->SetCmdAntiFloodPulse(thecore_pulse());
        }
        if (ch->IncreaseCmdAntiFloodCount()>=10)
        {
            ch->GetDesc()->DelayedDisconnect(0);
            return;
        }
    }
#endif
    if (NULL == ch)
    {
        sys_err ("NULL CHRACTER");
        return ;
    }

char.h:
Genişlet Daralt Kopyala
// Başlara ekle

#define ENABLE_ANTI_CMD_FLOOD

//BUL

        void         SetItemAward_cmd(char* cmd) { strcpy(itemAward_cmd,cmd); }
        //void         SetItemAward_flag(bool flag) { itemAward_flag = flag; }

// ALTINA EKLE

#ifdef ENABLE_ANTI_CMD_FLOOD
private:
    int m_dwCmdAntiFloodPulse;
    DWORD m_dwCmdAntiFloodCount;
public:
    int GetCmdAntiFloodPulse() { return m_dwCmdAntiFloodPulse; }
    DWORD GetCmdAntiFloodCount() { return m_dwCmdAntiFloodCount; }
    DWORD IncreaseCmdAntiFloodCount() { return ++m_dwCmdAntiFloodCount; }
    void SetCmdAntiFloodPulse(int dwPulse) { m_dwCmdAntiFloodPulse = dwPulse; }
    void SetCmdAntiFloodCount(DWORD dwCount) { m_dwCmdAntiFloodCount = dwCount; }
#endif

char.cpp:
Genişlet Daralt Kopyala
//BUL

    m_fAttMul = 1.0f;
    m_fDamMul = 1.0f;

    m_pointsInstant.iDragonSoulActiveDeck = -1;

// ALTINA EKLE

#ifdef ENABLE_ANTI_CMD_FLOOD
    m_dwCmdAntiFloodCount = 0;
    m_dwCmdAntiFloodPulse = 0;
#endif

CommonDefines.h:
Genişlet Daralt Kopyala
// UYGUN YERE EKLE

#define ENABLE_ANTI_CMD_FLOOD                                                        // Hızlı Komut Kullanımı Önlemi
 
Geri
Üst