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!
Uzun zamandır metin2 ile ilgilenmiyordum şu sıralar yine bi göz atasım geldi baktım @Luigina uzun zaman sonra
makara konusu açmış
gülüp keyfim yerine geldi bir kaç bir şey paylaşayım dedim o yüzden ona daha çok teşekkür edin 
Sisteme geçelim.
Başlıkta gördüğünüz gibi oyuncu engelleme sistemi lakin fazlasıyla kapsamlı yaklaşık 1 sene önce yazmıştım.
Metin2 kitlesi malum küfür şikayetleri bitmiyordu.
Şimdi bir dallama geldi size küfür etti engellediniz sonucu ne oluyor hemen açıklayalım.
EK
makara konusu açmış
gülüp keyfim yerine geldi bir kaç bir şey paylaşayım dedim o yüzden ona daha çok teşekkür edin 
Sisteme geçelim.
Başlıkta gördüğünüz gibi oyuncu engelleme sistemi lakin fazlasıyla kapsamlı yaklaşık 1 sene önce yazmıştım.
Metin2 kitlesi malum küfür şikayetleri bitmiyordu.
Şimdi bir dallama geldi size küfür etti engellediniz sonucu ne oluyor hemen açıklayalım.
* İki tarafta birbirine grup davetiyesi gönderemez.
* Eğer profil görüntüleme sisteminiz varsa iki tarafta birbirine istek atamaz.
* İki tarafta birbirine ticaret isteği gönderemez.
* İki tarafta birbirine lonca davetiyesi gönderemez.
* İki tarafta birbirine PM gönderemez.
* İki tarafa da normal chatte yazdıkları gözükmez.
* İki tarafın bağırması birbirine gözükmez.
* Engellediğiniz kişi arkadaşınızsa iki tarafta da arkadaşlık silinir.
* Eğer profil görüntüleme sisteminiz varsa iki tarafta birbirine istek atamaz.
* İki tarafta birbirine ticaret isteği gönderemez.
* İki tarafta birbirine lonca davetiyesi gönderemez.
* İki tarafta birbirine PM gönderemez.
* İki tarafa da normal chatte yazdıkları gözükmez.
* İki tarafın bağırması birbirine gözükmez.
* Engellediğiniz kişi arkadaşınızsa iki tarafta da arkadaşlık silinir.
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
EK
Sistemi yazarken messenger_managerde olan bir kaç hatayı düzelttim diye hatırlıyorum. Yanlış hatırlamıyorsam bir de sql leak çözmüş olmam gerekiyor.
Arkadaş listesinde engellenenler listesi mevcut.
Burdan engel attığınız kişiyi kaldırabilir veya isim yazarakta engelleyebilirsiniz.
Ek olarak targetta da engelleme seçeneği mevcut.
Arkadaş listesinde engellenenler listesi mevcut.
Burdan engel attığınız kişiyi kaldırabilir veya isim yazarakta engelleyebilirsiniz.
Ek olarak targetta da engelleme seçeneği mevcut.
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
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
@Luigina biraz paket nasıl yazılıyor görelim demi :XD
Son düzenleme:
En Çok Reaksiyon Alan Mesajlar
Official'a yakın her şeyi yapmaya çalışmışsınSanırım tek eksiği engellediğin karakterin dans animasyonlarını göstermemek kalmış.
onuda PythonNetworkStreamCommand.cpp içinde ActEmotion() kullanılan yerlerin üstüne ekledin mi eksiğin yok gibi.
Eline sağlık
Öğeyi görmek için üye olmalısınız.
Öğeyi görmek için üye olmalısınız.
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 ?
Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)
Benzer konular
- Cevaplar
- 5
- Görüntüleme
- 672
- Cevaplar
- 16
- Görüntüleme
- 1K
- Cevaplar
- 13
- Görüntüleme
- 1K

Sanırım tek eksiği engellediğin karakterin dans animasyonlarını göstermemek kalmış.