C++ [GM] oyuncuları kutsama engeli

  • Konbuyu başlatan Konbuyu başlatan Admin
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 0
  • Görüntüleme Görüntüleme 33

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0
Merhaba arkadaşlar, bugün sizlere yönetici şaman hesap ile oyuncuları kutsama engelini vereceğim, nasılmı işler örnek vermek gerekirse ; Bir oyuncuyu kutsadığınızda kutsama size geri döner. bukadar kolay gelsin.

Önlemleri nelerdir ? Eğer serveriniza yönetici aldığınızda statüleri yüksek gm şaman hesabların oyuncuyu kutsaması gibi durumları engellemektedir :)

Game src / char_skill.cpp aç //Arat;
Kod:
bool CHARACTER::UseSkill(DWORD dwVnum, LPCHARACTER pkVictim, bool bUseGrandMaster) {     if (false == CanUseSkill(dwVnum))         return false;

Hemen Altına Ekle;
Kod:
int pTableSkill[*] = {94, 95, 96, 109, 110, 111};     for (int skill = 0; skill < _countof(pTableSkill); skill++)     {         if (pTableSkill[skill] == dwVnum && IsGM() && !pkVictim->IsGM())         {             ChatPacket(CHAT_TYPE_NOTICE, "[%s] adlı oyuncu için buff atmaya çalışıyorsunuz ve bu oyuncu için bunu yapamazsınız, buff size geri döndü.", pkVictim->GetName());             pkVictim = this;         }     }

C++ [GM] Oyuncuları Kutsama Engeli Sistemi

Metin2 özel sunucularında geliştirilen sistemlerden biri olan kutsama engeli, genellikle yetkili oyuncuların oyun içi avantajlarını sınırlamak için kullanılır. Bu yazıda, C++ tabanlı bir Metin2 sunucusunda [GM] yetkisine sahip oyuncuların belirli kutsamaları kullanmasını engelleyen sistemi detaylıca ele alacağız.

Kutsama Engeli Nedir?
Kutsama engeli, oyuncuların belirli yetkilere sahip karakterlerin bazı özelliklerini veya yeteneklerini kullanmasını engelleyen bir mekanizmadır. Özellikle [GM] (Game Master) gibi yetkili hesaplar, normal oyunculara göre fazla avantaja sahip olabilir. Bu sebeple bazı özel eylemler, örneğin belirli kutsamaları kullanmak, bu yetkili karakterler için sınırlanabilir.

Neden Kutsama Engeli Kullanılır?
Yetkili oyuncuların normal oyun akışında fazla avantaj elde etmemesi için bazı sınırlamalar getirilmesi gerekir. Bu sayede oyun içi dengenin korunması sağlanır. Ayrıca, yetkili karakterlerin kötüye kullanım yapmaması için de bu tür kontroller önemlidir.

Sistem Nasıl Çalışır?
C++ üzerinde geliştirilen bu sistem, oyuncu kimliği kontrolü yaparak [GM] yetkisine sahip karakterlerin belirli kutsama numaralarını kullanmasını engeller. Öncelikle, oyuncu bir kutsama kullanmaya çalıştığında sistem, kullanıcının yetki seviyesini kontrol eder. Eğer kullanıcı [GM] yetkisine sahipse ve kullanmaya çalıştığı kutsama sistemde engellenmişse, işlem iptal edilir ve kullanıcıya bir uyarı mesajı gönderilir.

C++ Kod Yapısı
Sistemde, kutsama kullanımı sırasında devreye giren fonksiyonlar, oyuncunun yetki seviyesini kontrol eder. Örnek olarak:

Kod:
[BR][/BR]bool CheckBlessingBlock(DWORD playerID, int blessingID) {[BR][/BR]    if (IsGM(playerID)) {[BR][/BR]        if (IsBlockedBlessing(blessingID)) {[BR][/BR]            ChatPacket(playerID, 'Bu kutsamayi kullanma yetkiniz yoktur.');[BR][/BR]            return false;[BR][/BR]        }[BR][/BR]    }[BR][/BR]    return true;[BR][/BR}


Yukarıdaki örnek, yetkili oyuncuların belirli kutsamaları kullanmasını engelleyen temel yapıyı göstermektedir. Gerçek sistemde bu fonksiyon daha karmaşık olabilir ve farklı güvenlik önlemleri de eklenebilir.

Engellenen Kutsamalar Nasıl Tanımlanır?
Sistemde engellenmek istenen kutsamalar, genellikle bir yapılandırma dosyasında veya veritabanında tanımlanır. Bu liste, sunucu yöneticileri tarafından kolayca güncellenebilir. Örneğin, 'Power Blessing', 'Defense Blessing' gibi güçlü kutsamalar yetkili karakterler için engellenebilir.

Avantajları Nelerdir?
Bu sistem sayesinde yetkili karakterlerin oyun içi dengesizlik yaratması önlenir. Oyuncular, yetkililerin oyunu adil oynadığını hisseder. Bu da oyun deneyimini olumlu yönde etkiler.

Sonuç
C++ tabanlı bir Metin2 özel sunucusunda kutsama engeli sistemi, oyun içi dengeyi korumanın etkili yollarından biridir. Yetkili karakterlerin滥用 (abuse) yapmasını önlemek için bu tür sistemler geliştirilmeli ve test edilmelidir.


C++ [GM] Player Blessing Block System

One of the systems developed for Metin2 private servers is the blessing block, which is generally used to limit advantages of privileged players. In this article, we will examine in detail how to prevent [GM] (Game Master) characters from using certain blessings on a C++ based Metin2 server.

What is a Blessing Block?
A blessing block is a mechanism that prevents players from using certain attributes or abilities of privileged characters. Characters with [GM] privileges often have more advantages than regular players. Therefore, certain special actions, such as using specific blessings, can be restricted for these privileged characters.

Why Is a Blessing Block Used?
Certain restrictions must be placed so that privileged players do not gain excessive advantages during regular gameplay. This ensures the balance within the game is maintained. Additionally, such controls are important to prevent misuse by privileged characters.

How Does the System Work?
This system, developed on C++, checks the user's privilege level when a blessing is attempted. If the user has [GM] privileges and tries to use a blocked blessing, the action is canceled and a warning message is sent to the user.

C++ Code Structure
Functions involved during blessing usage check the player's permission level. For example:

Kod:
[BR][/BR]bool CheckBlessingBlock(DWORD playerID, int blessingID) {[BR][/BR]    if (IsGM(playerID)) {[BR][/BR]        if (IsBlockedBlessing(blessingID)) {[BR][/BR]            ChatPacket(playerID, 'You do not have permission to use this blessing.');[BR][/BR]            return false;[BR][/BR]        }[BR][/BR]    }[BR][/BR]    return true;[BR][/BR}


The above example demonstrates the basic structure preventing privileged players from using certain blessings. The actual system could be more complex and include additional security measures.

How Are Blocked Blessings Defined?
Blessings intended to be blocked are usually defined in a configuration file or database. This list can be easily updated by server administrators. For instance, powerful blessings like 'Power Blessing' or 'Defense Blessing' can be blocked for privileged characters.

What Are Its Advantages?
This system prevents privileged characters from creating imbalances within the game. Players feel that staff members are playing fairly, which enhances the overall gaming experience.

Conclusion
On a C++ based Metin2 private server, the blessing block system is an effective way to maintain in-game balance. Such systems should be developed and tested to prevent abuse by privileged characters.​
 

Şuan Bu Konuyu Görüntüleyen Kullanıcılar (Toplam : 0, Üye : 0, Misafir : 0)

Benzer konular

Geri
Üst Alt