Hızlı Komut Kullanımı Önlemi

lmaohw

https://valoduo.com.tr/
Gold Üye
Yardımsever Üye
Usta Üye
Mesaj
684
Çözümler
37
Beğeni
884
Puan
919
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
 
Uyarı: Bu konu açıldığından bu yana baya zaman geçmiş.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.
Geri
Üst