- AdminCP
- #1
- 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:
Bu fonksiyonun hemen altına aşağıdaki kontrolü ekleyin:
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:
Fonksiyonun başına aşağıdaki kontrolü ekleyin:
Bu Sistem Ne Sağlar?
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
