Böyle düşük bir kodlamaya bile "250 TL" isteyen adamlar varmış.
bir müşteri yapıldı. Ücretsiz
Forumda yararlansın diye ekliyeyim dedim.
char_item.cpp açılır.
#aratılır
#Altına eklenir.
#aratılır
bool CHARACTER PickUpItem(DWORD dwVID)
{
LPITEM item = ITEM_MANAGER::instance().FindByVID(dwVID);
#Altına eklenir
if (GetMapIndex() == 43 )
{
if(int(quest::CQuestManager::instance().GetEventFlag("harita_drop")) == 1)
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("guvenlik_engel"));
return false;
}
}
#filesin locale_string.txt açılır
"guvenlik_engel";
"<Sistem>Bu haritada item toplama devredışı bırakılmıştır..";
Gm hesabıyla açmak için.
kod : /e harita_drop 1
NOT : if (GetMapIndex() == 43 ) Map index kodudur. ( hangi harita engeliyecekseniz ise map index oraya yazın )
Haritada Yerden Item Toplamayı Kapatma - C++ ile Metin2 Geliştirme
Metin2 özel sunucularında oyun deneyimini şekillendiren birçok sistem vardır. Bunlardan birisi de haritada yere düşen eşyaların toplanabilmesidir. Ancak bazı sunucu yapılandırmalarında bu özelliğin devre dışı bırakılması istenebilir. Bu yazıda, C++ tabanlı Metin2 sunucu kaynak kodlarında yer alan item toplama özelliğini nasıl kapatabileceğimizi adım adım inceleyeceğiz.
Item Toplama Sistemi Nedir?
Metin2 oyununda, savaşlar sonucunda düşman karakterlerden veya sandıklardan eşyalar düşebilir. Bu eşyalar harita üzerinde belirir ve oyuncular tarafından toplanabilir. Bu sistem, PvP (Player versus Player) ve PvE (Player versus Environment) oyun akışının önemli bir parçasıdır. Ancak bazı özel sunucularda, item toplama özelliği dengesizlik yaratmaması için kapatılır.
C++ Kaynak Kodlarda Değişiklik Yapma
Metin2 özel sunucularında oyun davranışlarını kontrol eden temel dosyalar C++ dilinde yazılmıştır. Item toplama sistemi de bu dosyalarda tanımlanmıştır. Bu işlem genellikle game/src/ dizinindeki dosyalarda yapılır. Özellikle char_item.cpp veya input_main.cpp gibi dosyalar incelenmelidir.
Item Toplama İşlevini Devre Dışı Bırakmak
Öncelikle, oyuncunun haritada bir iteme tıkladığında çalışan fonksiyonu bulmalıyız. Bu genellikle CInputMain::OnClickGroundItem veya benzeri bir isimle tanımlanmıştır. Fonksiyonun içeriği şu şekilde görünebilir:
Bu fonksiyonun içeriğini boşaltarak veya sadece bir return; ifadesi ekleyerek, item toplama işlemini tamamen engelleyebiliriz:
Sunucuyu Derleme ve Test Etme
Değişiklikleri yaptıktan sonra, projeyi derlemek için Visual Studio veya Linux üzerinde GCC gibi araçları kullanmalısınız. Derleme başarılıysa, sunucuyu başlatıp test yapabilirsiniz. Haritada bir item düşürüldüğünde, artık oyuncuların onu alamayacağını göreceksiniz.
Alternatif Yöntemler
Başka bir yöntem olarak, item toplama iznini belirli haritalarda devre dışı bırakmak da mümkündür. Örneğin, PvP haritalarında toplama kapatılıp, PvE haritalarında açık bırakılabilir. Bu durumda, fonksiyonun içine harita adını kontrol eden bir koşul eklenmelidir:
Sonuç
Metin2 özel sunucularında item toplama sistemini kapatmak, oyun deneyimini özelleştirmenin önemli bir yoludur. C++ bilgisiyle bu işlem oldukça kolayca yapılabilir. Bu makale sayesinde, hem temel hem de gelişmiş seviyede item toplama sistemini yönetebilirsiniz.
Disabling Ground Item Pickup on Map - C++ for Metin2 Development
There are many systems that shape the gaming experience in Metin2 private servers. One of them is the ability to pick up items dropped on the ground. However, in some server configurations, this feature may need to be disabled. In this article, we will examine step by step how to disable the item pickup feature in C++ based Metin2 server source codes.
What is the Item Pickup System?
In the Metin2 game, items can drop from enemy characters or chests after battles. These items appear on the map and can be collected by players. This system is an important part of PvP (Player versus Player) and PvE (Player versus Environment) gameplay. However, in some private servers, the item pickup feature is turned off to avoid imbalances.
Making Changes in C++ Source Codes
The files controlling game behaviors in Metin2 private servers are written in C++. The item pickup system is also defined in these files. This process is generally done within files located in the game/src/ directory. Files such as char_item.cpp or input_main.cpp should be examined carefully.
Disabling the Item Pickup Function
First, we must find the function that runs when a player clicks on an item on the map. It is usually named something like CInputMain::OnClickGroundItem. The function might look like this:
By emptying the function's content or adding just a return; statement, we can completely block the item pickup action:
Compiling and Testing the Server
After making the changes, you should use tools like Visual Studio or GCC on Linux to compile the project. If the compilation is successful, you can start the server and run tests. You will see that players cannot pick up items dropped on the map anymore.
Alternative Methods
Another method is to disable item pickup only in specific maps. For example, pickup can be turned off in PvP maps but kept active in PvE maps. In this case, you should add a condition inside the function to check the current map name:
Conclusion
Disabling the item pickup system in Metin2 private servers is an important way to customize the gaming experience. With C++ knowledge, this task can be accomplished quite easily. Thanks to this article, you can manage the item pickup system at both basic and advanced levels.
bir müşteri yapıldı. Ücretsiz
Forumda yararlansın diye ekliyeyim dedim.
char_item.cpp açılır.
#aratılır
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
"db.h"#Altına eklenir.
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
"questmanager.h"#aratılır
bool CHARACTER PickUpItem(DWORD dwVID)
{
LPITEM item = ITEM_MANAGER::instance().FindByVID(dwVID);
#Altına eklenir
if (GetMapIndex() == 43 )
{
if(int(quest::CQuestManager::instance().GetEventFlag("harita_drop")) == 1)
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("guvenlik_engel"));
return false;
}
}
#filesin locale_string.txt açılır
"guvenlik_engel";
"<Sistem>Bu haritada item toplama devredışı bırakılmıştır..";
Gm hesabıyla açmak için.
kod : /e harita_drop 1
NOT : if (GetMapIndex() == 43 ) Map index kodudur. ( hangi harita engeliyecekseniz ise map index oraya yazın )
Haritada Yerden Item Toplamayı Kapatma - C++ ile Metin2 Geliştirme
Metin2 özel sunucularında oyun deneyimini şekillendiren birçok sistem vardır. Bunlardan birisi de haritada yere düşen eşyaların toplanabilmesidir. Ancak bazı sunucu yapılandırmalarında bu özelliğin devre dışı bırakılması istenebilir. Bu yazıda, C++ tabanlı Metin2 sunucu kaynak kodlarında yer alan item toplama özelliğini nasıl kapatabileceğimizi adım adım inceleyeceğiz.
Item Toplama Sistemi Nedir?
Metin2 oyununda, savaşlar sonucunda düşman karakterlerden veya sandıklardan eşyalar düşebilir. Bu eşyalar harita üzerinde belirir ve oyuncular tarafından toplanabilir. Bu sistem, PvP (Player versus Player) ve PvE (Player versus Environment) oyun akışının önemli bir parçasıdır. Ancak bazı özel sunucularda, item toplama özelliği dengesizlik yaratmaması için kapatılır.
C++ Kaynak Kodlarda Değişiklik Yapma
Metin2 özel sunucularında oyun davranışlarını kontrol eden temel dosyalar C++ dilinde yazılmıştır. Item toplama sistemi de bu dosyalarda tanımlanmıştır. Bu işlem genellikle game/src/ dizinindeki dosyalarda yapılır. Özellikle char_item.cpp veya input_main.cpp gibi dosyalar incelenmelidir.
Item Toplama İşlevini Devre Dışı Bırakmak
Öncelikle, oyuncunun haritada bir iteme tıkladığında çalışan fonksiyonu bulmalıyız. Bu genellikle CInputMain::OnClickGroundItem veya benzeri bir isimle tanımlanmıştır. Fonksiyonun içeriği şu şekilde görünebilir:
Kod:
void CInputMain::OnClickGroundItem(DWORD vid)[BR][/BR]{[BR][/BR] // Item toplama işlemleri burada yapılır[BR][/BR]}
Bu fonksiyonun içeriğini boşaltarak veya sadece bir return; ifadesi ekleyerek, item toplama işlemini tamamen engelleyebiliriz:
Kod:
void CInputMain::OnClickGroundItem(DWORD vid)[BR][/BR]{[BR][/BR] return; // Item toplama devre dışı[BR][/BR]}
Sunucuyu Derleme ve Test Etme
Değişiklikleri yaptıktan sonra, projeyi derlemek için Visual Studio veya Linux üzerinde GCC gibi araçları kullanmalısınız. Derleme başarılıysa, sunucuyu başlatıp test yapabilirsiniz. Haritada bir item düşürüldüğünde, artık oyuncuların onu alamayacağını göreceksiniz.
Alternatif Yöntemler
Başka bir yöntem olarak, item toplama iznini belirli haritalarda devre dışı bırakmak da mümkündür. Örneğin, PvP haritalarında toplama kapatılıp, PvE haritalarında açık bırakılabilir. Bu durumda, fonksiyonun içine harita adını kontrol eden bir koşul eklenmelidir:
Kod:
if (GetCurrentMapName() == 'pvp_map_name')[BR][/BR]{[BR][/BR] return;[BR][/BR}
Sonuç
Metin2 özel sunucularında item toplama sistemini kapatmak, oyun deneyimini özelleştirmenin önemli bir yoludur. C++ bilgisiyle bu işlem oldukça kolayca yapılabilir. Bu makale sayesinde, hem temel hem de gelişmiş seviyede item toplama sistemini yönetebilirsiniz.
Disabling Ground Item Pickup on Map - C++ for Metin2 Development
There are many systems that shape the gaming experience in Metin2 private servers. One of them is the ability to pick up items dropped on the ground. However, in some server configurations, this feature may need to be disabled. In this article, we will examine step by step how to disable the item pickup feature in C++ based Metin2 server source codes.
What is the Item Pickup System?
In the Metin2 game, items can drop from enemy characters or chests after battles. These items appear on the map and can be collected by players. This system is an important part of PvP (Player versus Player) and PvE (Player versus Environment) gameplay. However, in some private servers, the item pickup feature is turned off to avoid imbalances.
Making Changes in C++ Source Codes
The files controlling game behaviors in Metin2 private servers are written in C++. The item pickup system is also defined in these files. This process is generally done within files located in the game/src/ directory. Files such as char_item.cpp or input_main.cpp should be examined carefully.
Disabling the Item Pickup Function
First, we must find the function that runs when a player clicks on an item on the map. It is usually named something like CInputMain::OnClickGroundItem. The function might look like this:
Kod:
void CInputMain::OnClickGroundItem(DWORD vid)[BR][/BR]{[BR][/BR] // Item pickup operations happen here[BR][/BR]}
By emptying the function's content or adding just a return; statement, we can completely block the item pickup action:
Kod:
void CInputMain::OnClickGroundItem(DWORD vid)[BR][/BR]{[BR][/BR] return; // Item pickup disabled[BR][/BR]}
Compiling and Testing the Server
After making the changes, you should use tools like Visual Studio or GCC on Linux to compile the project. If the compilation is successful, you can start the server and run tests. You will see that players cannot pick up items dropped on the map anymore.
Alternative Methods
Another method is to disable item pickup only in specific maps. For example, pickup can be turned off in PvP maps but kept active in PvE maps. In this case, you should add a condition inside the function to check the current map name:
Kod:
if (GetCurrentMapName() == 'pvp_map_name')[BR][/BR]{[BR][/BR] return;[BR][/BR}
Conclusion
Disabling the item pickup system in Metin2 private servers is an important way to customize the gaming experience. With C++ knowledge, this task can be accomplished quite easily. Thanks to this article, you can manage the item pickup system at both basic and advanced levels.
