Mt2Hizmet 1
Mt2Hizmet
mavzermete 1
mavzermete
Vahsi Uzman 1
Vahsi Uzman
kralhakan2009 1
kralhakan2009
farkmt2official 1
farkmt2official
Bvural41 1
Bvural41
Fethi Polat 1
Fethi Polat
Hikaye Ekle
Kaynak ikonu

Oyuncu Engelleme Sistemi 2025-06-05

indirmek için izniniz yok
  • Konuyu başlatan Konuyu başlatan Mr. Kio
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 43
  • Görüntüleme Görüntüleme 9K
Bir sorum var. Engellenen kişi isim izi kullanarak isim değiştirdiğinde hala engelli olarak kalıyor mu yoksa engellenen listesinden siliniyor mu ?
Ben isim izi kullanmadığım için normalde bunla alakalı bir düzenleme yapmamıştım. Yabancı forumda bir kullanıcı isim izi kullandığını belirtti o yüzden güncelleme getirdim github'dan güncel versiyonunu indirirseniz problem olmayacaktır. Kişi ismini değiştirse bile hala engelli olarak kalır.
Yapmanız gerekenleri buraya da yazayım. (Github'dan yeni indirdiyseniz zaten dosyalarda bu düzenleme mevcut yapmanıza gerek yok)

Kod:
// Open player_block.h
// Search:

    auto DeletePlayerBlock(const std::string &strBlockingPlayerName, const std::string &strBlockedPlayerName) -> void;

// Add below:

    auto ChangeName(const std::string &strOldName, const std::string &strNewName) -> void;

// Open player_block.cpp
// Search:

auto CPlayerBlock::DeletePlayerBlock(const std::string &strBlockingPlayerName, const std::string &strBlockedPlayerName) -> void
{
    DBManager::Instance().DirectQuery("DELETE FROM player.player_block_list WHERE blockingplayername = '%s' AND blockedplayername = '%s'", strBlockingPlayerName.c_str(), strBlockedPlayerName.c_str());
}

// Add below:

auto CPlayerBlock::ChangeName(const std::string &strOldName, const std::string &strNewName) -> void
{
    auto it = m_map_PlayerBlock.find(strOldName);
    if (it != m_map_PlayerBlock.end())
    {
        m_map_PlayerBlock[strNewName] = std::move(it->second);
        m_map_PlayerBlock.erase(it);
    }

    for (auto &it : m_map_PlayerBlock)
    {
        auto it2 = it.second.find(strOldName);
        if (it2 != it.second.end())
        {
            it.second.erase(it2);
            it.second.emplace(strNewName);
        }
    }

    DBManager::Instance().DirectQuery("UPDATE player.player_block_list SET blockingplayername = '%s' WHERE blockingplayername = '%s'", strNewName.c_str(), strOldName.c_str());
    DBManager::Instance().DirectQuery("UPDATE player.player_block_list SET blockedplayername = '%s' WHERE blockedplayername = '%s'", strNewName.c_str(), strOldName.c_str());

    sys_log(0, "PLAYER_BLOCK: ChangeName: %s -> %s", strOldName.c_str(), strNewName.c_str());
}

// Open questlua_pc.cpp

// Add includes:

#ifdef ENABLE_PLAYER_BLOCK_SYSTEM
#include "player_block.h"
#endif

// Search:

        /* delete messenger list */
        MessengerManager::instance().RemoveAllList(ch->GetName());

// Add below:

#ifdef ENABLE_PLAYER_BLOCK_SYSTEM
        /* player block list */
        CPlayerBlock::Instance().ChangeName(ch->GetName(), szName);
#endif
 

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

Geri
Üst