MG Yaşı
2 Ay 1 Gün
Katılım
2 Şub 2026
Konular
224
Mesajlar
363
Tepkime puanı
54
Puan
53
Konum
İstanbul
Metin2 GM Karakterlerinin Pazardan Alışveriş Yapmasını Engelleme

Bazı sunucularda GM karakterlerin pazardan / NPC shoplardan alışveriş yapması istenmez.
Ekonomi dengesini korumak ve olası suiistimalleri önlemek için, GM yetkisine sahip hesapların satın alma işlemlerini tamamen kapatabilirsiniz.
Aşağıdaki düzenlemelerle GM karakter bir şey satın almaya çalıştığında işlem iptal olur ve bilgilendirme mesajı gider.




1) shop.cpp Düzenleme

Source içinde shop.cpp dosyasını açın ve satın alma fonksiyonunu bulun:

C++:
int CShop::Buy(LPCHARACTER ch, BYTE pos)

Bu fonksiyonun hemen altına aşağıdaki kontrolü ekleyin:

C++:
if (ch->GetGMLevel() > GM_PLAYER)
{
    ch->ChatPacket(CHAT_TYPE_INFO, "GameMaster karakterler pazardan alışveriş yapamaz.");
    return false;
}

Bu kontrol sayesinde GM yetkisi olan karakter satın alma denediğinde işlem durdurulur.




2) shopmanager.cpp Düzenleme

Aynı kontrolü yönetici tarafında da uygulamak daha sağlıklı olur.
Source içinde shopmanager.cpp dosyasını açın ve şu fonksiyonu bulun:

C++:
void CShopManager::Buy(LPCHARACTER ch, BYTE pos)

Fonksiyonun başına aşağıdaki kontrolü ekleyin:

C++:
if (ch->GetGMLevel() > GM_PLAYER)
{
    ch->ChatPacket(CHAT_TYPE_INFO, "GameMaster karakterler pazardan alışveriş yapamaz.");
    return;
}




Bu Sistem Ne Sağlar?
  • GM karakterlerin shop üzerinden item almasını engeller
  • Ekonomiye müdahale riskini azaltır
  • Yetkili hesapları sadece yönetim amaçlı tutar
  • Pazar/market düzenini oyunculara bırakır


 
Geri
Üst