Kod:
cmd_gm.cpp Açılır void operator () (LPDESC d) ARATILIR { if (!d->GetCharacter()) return; ALTINA EKLENİR #ifdef __ENABLE_COORDINATES_ON_COMMAND_USER__ TMapSetting& map_setting = SECTREE_MANAGER::instance().GetMap(d->GetCharacter()->GetMapIndex())->m_setting; int len = snprintf(str + str_len, sizeof(str) - str_len, "%s (%ld,%ld)%-16s", d->GetCharacter()->GetName(),(d->GetCharacter()->GetX() - map_setting.iBaseX)/100,(d->GetCharacter()->GetY() - map_setting.iBaseY)/100,""); #else int len = snprintf(str + str_len, sizeof(str) - str_len, "%-16s ", d->GetCharacter()->GetName()); #endif Servise.h #define __ENABLE_COORDINATES_ON_COMMAND_USER_ eklemeyi unutmayınız
<a role="button" tabindex="0">Genişletmek için tıkla</a> </blockquote>
Metin2 Server Geliştirme Serisi: User Komutuyla Oyuncu Yanında Koordinat Gösterme
Metin2 özel sunucularında geliştirme yaparken kullanıcı deneyimini artırmak adına birçok küçük ama etkili özellik eklenebilir. Bu yazıda, user komutu üzerinden bir oyuncunun mevcut koordinatlarını ekranda göstermeyi öğreneceksiniz. Bu özellikle geliştiricilerin veya test eden oyuncuların harita üzerindeki konumlarını takip etmesini kolaylaştırır.
Koordinat Gösterme Sisteminin Amacı
Metin2 oyununda bir karakterin harita üzerindeki X, Y ve Z koordinatları, harita düzenlemeleri, NPC yerleştirmeleri veya hata ayıklama süreçlerinde oldukça önemlidir. Sunucu tarafında geliştirilen bu sistem sayesinde, geliştirici ya da test oyuncusu, !koor gibi bir komutla kendi pozisyonunu anlık olarak görebilir.
Python Tarafında Basit Bir Uygulama
Koordinat gösterme sistemi genellikle game/core içindeki py root[/PYTHON] dosyalarında geliştirilir. Özellikle game.py veya player.py gibi dosyalarda kullanıcı komutları dinlenir. Aşağıda basit bir örnek kod parçası verilmiştir:
Bu örnekte F1 tuşuna basıldığında ana karakterin X ve Y koordinatları sohbette gösterilir. Ancak daha gelişmiş sistemlerde özel komutlar tanımlanabilir.
Komut Tanımı ve Entegrasyon
Kullanıcıya özel bir komut tanımlamak için cmd.py dosyasında değişiklik yapılması gerekir. Örneğin, !koor komutu için aşağıdaki gibi bir fonksiyon tanımlanabilir:
Bu komut, kullanıcı komut listesine entegre edildiğinde, oyuncu oyun içi sohbete !koor yazdığında konumunu görebilir.
C++ Tarafında Geliştirme
Daha ileri düzeyde entegrasyon için game/src/char.cpp veya client_src/ gibi C++ dosyalarında da değişiklik yapılabilir. Bu tür işlemler genellikle sunucu tarafında daha fazla kontrol sağlar. Ancak Python tarafında geliştirilen sistemlerle de çoğu zaman yeterli sonuç alınabilir.
Oyuncu Deneyimini Artırmak
Bu tip küçük ama faydalı sistemler, test sürecini hızlandırırken aynı zamanda özel sunucuların kalitesini artırır. Oyuncuların harita üzerindeki konumlarını bilmesi, PvP sistemlerinde stratejik planlamalar için de önemli olabilir. Özellikle PvP sunucularında, bazı bölgelerdeki koordinat değerleri stratejik olarak önemlidir.
Sonuç
Metin2 özel sunucularında user komutu kullanarak koordinat gösterimi oldukça basit ve etkili bir yöntemdir. Hem geliştiriciler hem de oyuncular için faydalı olan bu sistem, sunucu üzerinde daha fazla etkileşim ve kontrol imkanı sunar. Bu tarz sistemlerin geliştirilmesi, Metin2 lobby gibi platformlarda paylaşıldığında topluluk tarafından büyük takdir görür.
Metin2 Server Development Series: Displaying Coordinates Next to Player via User Command
When developing on Metin2 private servers, various small but effective features can be added to enhance user experience. In this article, you will learn how to display a player's current coordinates on screen through the user command. This feature helps developers or testers track their position on the map more easily.
Purpose of Coordinate Display System
In Metin2, a character's X, Y, and Z coordinates on the map are critical for tasks such as map editing, NPC placement, or debugging processes. With this system developed on the server-side, developers or testers can instantly view their location by typing a command like !coords.
Simple Implementation in Python
The coordinate display system is generally developed within the py root files inside game/core. Commands are typically listened for in files like game.py or player.py. Below is a simple code example:
In this example, pressing the F1 key displays the main character's X and Y coordinates in chat. However, custom commands can also be defined in more advanced systems.
Command Definition and Integration
To define a custom command for the user, modifications must be made in the cmd.py file. For example, the following function could be defined for the !coords command:
Once integrated into the user command list, players can type !coords in-game chat to view their current position.
Development in C++
For more advanced integration, modifications can be made in C++ files such as game/src/char.cpp or client_src/. Such operations often provide greater control on the server side. However, sufficient results can often be achieved with systems developed in Python as well.
Enhancing Player Experience
These types of small but useful systems accelerate the testing process while increasing the quality of private servers. Knowing their position on the map can also be important for strategic planning in PvP systems. Especially in PvP servers, coordinate values in certain regions may have strategic importance.
Conclusion
Displaying coordinates using a user command in Metin2 private servers is a simple and effective method. This type of system provides both developers and players with more interaction and control options on the server. Developing such systems, when shared on platforms like Metin2 lobby, receives great appreciation from the community.
Metin2 Server Geliştirme Serisi: User Komutuyla Oyuncu Yanında Koordinat Gösterme
Metin2 özel sunucularında geliştirme yaparken kullanıcı deneyimini artırmak adına birçok küçük ama etkili özellik eklenebilir. Bu yazıda, user komutu üzerinden bir oyuncunun mevcut koordinatlarını ekranda göstermeyi öğreneceksiniz. Bu özellikle geliştiricilerin veya test eden oyuncuların harita üzerindeki konumlarını takip etmesini kolaylaştırır.
Koordinat Gösterme Sisteminin Amacı
Metin2 oyununda bir karakterin harita üzerindeki X, Y ve Z koordinatları, harita düzenlemeleri, NPC yerleştirmeleri veya hata ayıklama süreçlerinde oldukça önemlidir. Sunucu tarafında geliştirilen bu sistem sayesinde, geliştirici ya da test oyuncusu, !koor gibi bir komutla kendi pozisyonunu anlık olarak görebilir.
Python Tarafında Basit Bir Uygulama
Koordinat gösterme sistemi genellikle game/core içindeki py root[/PYTHON] dosyalarında geliştirilir. Özellikle game.py veya player.py gibi dosyalarda kullanıcı komutları dinlenir. Aşağıda basit bir örnek kod parçası verilmiştir:
Kod:
def __OnKeyDown(self):[BR][/BR] if app.IsPressed(app.DIK_F1):[BR][/BR] x, y = player.GetMainCharacterPosition()[BR][/BR] chat.AppendChat(chat.CHAT_TYPE_INFO, 'X: {}, Y: {}'.format(int(x), int(y)))
Bu örnekte F1 tuşuna basıldığında ana karakterin X ve Y koordinatları sohbette gösterilir. Ancak daha gelişmiş sistemlerde özel komutlar tanımlanabilir.
Komut Tanımı ve Entegrasyon
Kullanıcıya özel bir komut tanımlamak için cmd.py dosyasında değişiklik yapılması gerekir. Örneğin, !koor komutu için aşağıdaki gibi bir fonksiyon tanımlanabilir:
Kod:
def cmd_koor():[BR][/BR] x, y = player.GetMainCharacterPosition()[BR][/BR] chat.AppendChat(chat.CHAT_TYPE_NOTICE, 'Koordinatlar: X: {} | Y: {}'.format(int(x), int(y)))
Bu komut, kullanıcı komut listesine entegre edildiğinde, oyuncu oyun içi sohbete !koor yazdığında konumunu görebilir.
C++ Tarafında Geliştirme
Daha ileri düzeyde entegrasyon için game/src/char.cpp veya client_src/ gibi C++ dosyalarında da değişiklik yapılabilir. Bu tür işlemler genellikle sunucu tarafında daha fazla kontrol sağlar. Ancak Python tarafında geliştirilen sistemlerle de çoğu zaman yeterli sonuç alınabilir.
Oyuncu Deneyimini Artırmak
Bu tip küçük ama faydalı sistemler, test sürecini hızlandırırken aynı zamanda özel sunucuların kalitesini artırır. Oyuncuların harita üzerindeki konumlarını bilmesi, PvP sistemlerinde stratejik planlamalar için de önemli olabilir. Özellikle PvP sunucularında, bazı bölgelerdeki koordinat değerleri stratejik olarak önemlidir.
Sonuç
Metin2 özel sunucularında user komutu kullanarak koordinat gösterimi oldukça basit ve etkili bir yöntemdir. Hem geliştiriciler hem de oyuncular için faydalı olan bu sistem, sunucu üzerinde daha fazla etkileşim ve kontrol imkanı sunar. Bu tarz sistemlerin geliştirilmesi, Metin2 lobby gibi platformlarda paylaşıldığında topluluk tarafından büyük takdir görür.
Metin2 Server Development Series: Displaying Coordinates Next to Player via User Command
When developing on Metin2 private servers, various small but effective features can be added to enhance user experience. In this article, you will learn how to display a player's current coordinates on screen through the user command. This feature helps developers or testers track their position on the map more easily.
Purpose of Coordinate Display System
In Metin2, a character's X, Y, and Z coordinates on the map are critical for tasks such as map editing, NPC placement, or debugging processes. With this system developed on the server-side, developers or testers can instantly view their location by typing a command like !coords.
Simple Implementation in Python
The coordinate display system is generally developed within the py root files inside game/core. Commands are typically listened for in files like game.py or player.py. Below is a simple code example:
Kod:
def __OnKeyDown(self):[BR][/BR] if app.IsPressed(app.DIK_F1):[BR][/BR] x, y = player.GetMainCharacterPosition()[BR][/BR] chat.AppendChat(chat.CHAT_TYPE_INFO, 'X: {}, Y: {}'.format(int(x), int(y)))
In this example, pressing the F1 key displays the main character's X and Y coordinates in chat. However, custom commands can also be defined in more advanced systems.
Command Definition and Integration
To define a custom command for the user, modifications must be made in the cmd.py file. For example, the following function could be defined for the !coords command:
Kod:
def cmd_coords():[BR][/BR] x, y = player.GetMainCharacterPosition()[BR][/BR] chat.AppendChat(chat.CHAT_TYPE_NOTICE, 'Coordinates: X: {} | Y: {}'.format(int(x), int(y)))
Once integrated into the user command list, players can type !coords in-game chat to view their current position.
Development in C++
For more advanced integration, modifications can be made in C++ files such as game/src/char.cpp or client_src/. Such operations often provide greater control on the server side. However, sufficient results can often be achieved with systems developed in Python as well.
Enhancing Player Experience
These types of small but useful systems accelerate the testing process while increasing the quality of private servers. Knowing their position on the map can also be important for strategic planning in PvP systems. Especially in PvP servers, coordinate values in certain regions may have strategic importance.
Conclusion
Displaying coordinates using a user command in Metin2 private servers is a simple and effective method. This type of system provides both developers and players with more interaction and control options on the server. Developing such systems, when shared on platforms like Metin2 lobby, receives great appreciation from the community.
