quickxd 1
quickxd
noisiv 1
noisiv
Manwe Work 1
Manwe Work
Scarlet 1
Scarlet
Bvural41 1
Bvural41
mavzermete 1
mavzermete
Hikaye Ekle

Cevaplandı Offlineshop searchtime ayarlama [İkarus]

  • Konuyu başlatan Konuyu başlatan abdullahaltnbs
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 3
  • Görüntüleme Görüntüleme 239

HERAKLES Otomatik Avlı kalıcı sunucu. 19 Haziran'da açılıyor. Atius & Wizard güvencesiyle hemen kayıt ol, ön kayıt ödülleri aktif. HEMEN TIKLA!

Merhaba İkarus offlineshopta 15 saniyede 1 item araması yapılıyor bunu düşürmek istiyorum.
Offer sisteminde 15 saniyeydi 10 saniyeye düşürdüm aşağıdaki kodlamada zaten mevcut ama 'searchtime' kısmında ayarlama yapamadım.


[CODE title="new_offlineshop_manager.cpp"]// fix flooding offers
bool CShopManager::CheckOfferCooldown(DWORD dwPID) {
DWORD now = get_dword_time();
const DWORD cooldown_seconds = 10; // BURASI KAÇ SANİYEDE BİR TEKLİF(OFFER) GÖNDERİLECEĞİ

itertype(m_offerCooldownMap) it = m_offerCooldownMap.find(dwPID);
if (it == m_offerCooldownMap.end()) {
m_offerCooldownMap[dwPID] = now + cooldown_seconds *1000;
return true;
}

if (it->second > now)
return false;

it->second = now + cooldown_seconds * 1000;
return true;
}

// OFFSHOP ARAMA SÜRESİ KISMI
bool CShopManager::CheckSearchTime(DWORD dwPID)
{
itertype(m_searchTimeMap) it = m_searchTimeMap.find(dwPID);
if (it == m_searchTimeMap.end())
{
m_searchTimeMap.insert(std::make_pair(dwPID, get_dword_time()));
return true;
}

if(it->second + OFFLINESHOP_SECONDS_PER_SEARCH*1000 > get_dword_time())
return false;

it->second = get_dword_time();
return true;
}[/CODE]
 
Çözüm
Kod:
// fix flooding offers
    bool CShopManager::CheckOfferCooldown(DWORD dwPID) {
        DWORD now = get_dword_time();
        const DWORD cooldown_seconds = 10; // BURASI KAÇ SANİYEDE BİR TEKLİF(OFFER) GÖNDERİLECEĞİ

        itertype(m_offerCooldownMap) it = m_offerCooldownMap.find(dwPID);
        if (it == m_offerCooldownMap.end()) {
            m_offerCooldownMap[dwPID] = now + cooldown_seconds *1000;
            return true;
        }

        if (it->second > now)
            return false;

        it->second = now + cooldown_seconds * 1000;
        return true;
    }

// OFFSHOP ARAMA SÜRESİ KISMI
    bool CShopManager::CheckSearchTime(DWORD dwPID)
    {
        const DWORD search_cooldown_seconds = 5; // Arama süresini 5 saniyeye...
Kod:
// fix flooding offers
    bool CShopManager::CheckOfferCooldown(DWORD dwPID) {
        DWORD now = get_dword_time();
        const DWORD cooldown_seconds = 10; // BURASI KAÇ SANİYEDE BİR TEKLİF(OFFER) GÖNDERİLECEĞİ

        itertype(m_offerCooldownMap) it = m_offerCooldownMap.find(dwPID);
        if (it == m_offerCooldownMap.end()) {
            m_offerCooldownMap[dwPID] = now + cooldown_seconds *1000;
            return true;
        }

        if (it->second > now)
            return false;

        it->second = now + cooldown_seconds * 1000;
        return true;
    }

// OFFSHOP ARAMA SÜRESİ KISMI
    bool CShopManager::CheckSearchTime(DWORD dwPID)
    {
        const DWORD search_cooldown_seconds = 5; // Arama süresini 5 saniyeye düşürdük

        itertype(m_searchTimeMap) it = m_searchTimeMap.find(dwPID);
        if (it == m_searchTimeMap.end())
        {
            m_searchTimeMap.insert(std::make_pair(dwPID, get_dword_time()));
            return true;
        }

        if(it->second + search_cooldown_seconds * 1000 > get_dword_time())
            return false;

        it->second = get_dword_time();
        return true;
    }

Arama süresini 5 saniyeye düşürdüm. Eğer farklı bir süre istersen, search_cooldown_seconds değişkenini düzenleyebilirsin. Değişiklikten sonra game source'u yeniden derlemeyi ve sunucuyu yeniden başlatmayı unutma.
 
Çözüm
Kod:
// fix flooding offers
    bool CShopManager::CheckOfferCooldown(DWORD dwPID) {
        DWORD now = get_dword_time();
        const DWORD cooldown_seconds = 10; // BURASI KAÇ SANİYEDE BİR TEKLİF(OFFER) GÖNDERİLECEĞİ

        itertype(m_offerCooldownMap) it = m_offerCooldownMap.find(dwPID);
        if (it == m_offerCooldownMap.end()) {
            m_offerCooldownMap[dwPID] = now + cooldown_seconds *1000;
            return true;
        }

        if (it->second > now)
            return false;

        it->second = now + cooldown_seconds * 1000;
        return true;
    }

// OFFSHOP ARAMA SÜRESİ KISMI
    bool CShopManager::CheckSearchTime(DWORD dwPID)
    {
        const DWORD search_cooldown_seconds = 5; // Arama süresini 5 saniyeye düşürdük

        itertype(m_searchTimeMap) it = m_searchTimeMap.find(dwPID);
        if (it == m_searchTimeMap.end())
        {
            m_searchTimeMap.insert(std::make_pair(dwPID, get_dword_time()));
            return true;
        }

        if(it->second + search_cooldown_seconds * 1000 > get_dword_time())
            return false;

        it->second = get_dword_time();
        return true;
    }

Arama süresini 5 saniyeye düşürdüm. Eğer farklı bir süre istersen, search_cooldown_seconds değişkenini düzenleyebilirsin. Değişiklikten sonra game source'u yeniden derlemeyi ve sunucuyu yeniden başlatmayı unutma.
Teşekkürler hocam sorun çözüldü
 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst