Fethi Polat 1
Fethi Polat
ShadowFon 1
ShadowFon
bikral 1
bikral
-TuRKuaZ- 1
-TuRKuaZ-
SLyFeLLowTR 1
SLyFeLLowTR
TGamesZeus 1
TGamesZeus
Best Studio 1
Best Studio
berkmenoo 1
berkmenoo
InfernoShade 1
InfernoShade
noisiv 1
noisiv
Manwe Work 1
Manwe Work
Agora Metin2 1
Agora Metin2
Hikaye Ekle

[C++] Agresif Item Düşürme Dupe Fix

  • Konuyu başlatan Konuyu başlatan MT2Dev
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 7
  • Görüntüleme Görüntüleme 4K
5.00 yıldız(lar) 2 Değerlendirme Değerlendirenler

MT2Dev

Cplusplus
Telefon Numarası Onaylanmış Üye TC Kimlik Numarası Doğrulanmış Üye
Fahri Üye
TM Üye
Katılım
30 Ocak 2020
Konular
50
Mesajlar
812
Çözüm
6
Online süresi
26d 15h
Reaksiyon Skoru
735
Altın Konu
1
Başarım Puanı
184
MmoLira
8,746
DevLira
123
Ticaret - 0%
0   0   0

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 TurkMMO,

Bugün ilk kimin akıl edipte denediğini merak ettiğim, item kopyalamaya sebebiyet veren bir açığın fixini paylaşacağım.

Alıntıdır, bu fix ve dupenin anlatımı için Metin2Downloads'dan Yuma'ya teşekkürler.

Nedir Bu Açık ?

Eski tarzda bir sunucu sahibiyseniz muhtemelen zalim karakterlerden item düşmesini ( item drop penalty ) kullanıyorsunuzdur, dupe tam olarak bununla alakalı kabaca nasıl yapıldığını anlatayım ;

Nasıl Yapılır ?

1- Negatif sıralamaya ( Zalim, Hileli vs. ) düşün ve ışınlanma yüzüğüne tıklayıp belirli bir haritanın üstünde tıkladığınızda hemen ışınlanacak şekilde hazırda bekleyin.
2- Karakterin slotlara veya başka bir karaktere ölmesine izin verin.
3- Karakter öldüğü ve itemi düşürdüğü milisaniyede kendinizi başka bir yere ışınlayın. ( Çok hızlı olmalısınız, bir kaç denemeye ihtiyaç olabilir. )
4- Eğer dupe sizin için çalışıyorsa hem yerde hemde envanterinizde aynı itemler duruyor olacak.
5- Eşyaları depoya koyup geri çıkartın ( off shop vs. de olabilir ) ve bu kadar artık itemlerinizi kopyalayabilirsiniz.

Nasıl Çözeriz ?

Kısaca, artı basma veya ticaret vs. gibi işlemlerden sonra belirli bir saniyede başka mape ışınlanamama engelini ( portal limit time ) item drop içinde ekleyeceğiz.

İndirme ;


-


Alternatif Çözüm ;
Bu kadar fantaziye ne gerek var ki?

void CHARACTER::ItemDropPenalty(LPCHARACTER pkKiller) // ara

if (CBattleArena::instance().IsBattleArenaMap(GetMapIndex()) == true)
{
return;
}

altına ekle

if (quest::CQuestManager::instance().GetPCForce(GetPlayerID())->IsRunning() == true || IsWarping() || m_pkTimedEvent)
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("¿ë½ÅÀÇ º¸È£·Î ¾ÆÀÌÅÛÀÌ ¶³¾îÁöÁö ¾Ê¾Ò½À´Ï´Ù."));
return;
}

fonksiyonun en altınada isterseniz
SetMyShopTime(); ekleyin

oldu bitti
 

Ekli dosyalar

Son düzenleme:

En Çok Reaksiyon Alan Mesajlar

Keşke sadece bunlarla sınırlı olsa. Kötü niyetli insanlar her zaman var. Paylaşım için teşekkürler.

İşini garantiye almak isteyenler için zalimken eşya düşürmeyi kapatma:
if (GetGMLevel() == GM_PLAYER || test_server)
{
//ItemDropPenalty(pkKiller);
}
Bu kadar fantaziye ne gerek var ki?

void CHARACTER::ItemDropPenalty(LPCHARACTER pkKiller) // ara

if (CBattleArena::instance().IsBattleArenaMap(GetMapIndex()) == true)
{
return;
}

altına ekle

if (quest::CQuestManager::instance().GetPCForce(GetPlayerID())->IsRunning() == true || IsWarping() || m_pkTimedEvent)
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("¿ë½ÅÀÇ º¸È£·Î ¾ÆÀÌÅÛÀÌ ¶³¾îÁöÁö ¾Ê¾Ò½À´Ï´Ù."));
return;
}

fonksiyonun en altınada isterseniz
SetMyShopTime(); ekleyin

oldu bitti
Paylaşım için teşekkürler
 
Teşekkürler
 
Paylaşım için teşekkürler
 
Keşke sadece bunlarla sınırlı olsa. Kötü niyetli insanlar her zaman var. Paylaşım için teşekkürler.

İşini garantiye almak isteyenler için zalimken eşya düşürmeyi kapatma:
if (GetGMLevel() == GM_PLAYER || test_server)
{
//ItemDropPenalty(pkKiller);
}
 

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

Geri
Üst