Merhaba Arkadaşlar Kısaca Hemen Geçiyorum Sisteme
İşine Herkesin Yarıyacak Bundan Şüphem Yok
Teşekkür Edebilirsiniz Sadece
Burdan Gizemli Kadına Galp Yolluyorum :tongue-new:
Arat
Değiştir
Altında
m_pkMyShop = NULL;
Bu Var bunun Altına
ekle
arat bunu
üstüne ekle onun
gene arat
ekle altına
sistem sorunsuz calısıyor
Resimlerden bakın en son yapamazsanız
yapamayan olursa soylesın bakalım
1.acıklama
if(ch->GetRaceNum()!=30000)//shop mob vnum
pazar codu 30000 sizde kacsa duzenleyın veya coklu pazar sıstemı kullanan arkadaslar eklerler
if(DISTANCE_APPROX(ch->GetX()- m_ch->GetX(), ch->GetY()- m_ch->GetY())<200)//distance between shops
{
mesefası cok onlıne olanlar 200 yerın 50 60 falan yazsın işte

İşine Herkesin Yarıyacak Bundan Şüphem Yok
Teşekkür Edebilirsiniz Sadece
Burdan Gizemli Kadına Galp Yolluyorum :tongue-new:
Kod:
[B]char.h[/B]
Arat
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
Değiştir
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
Kod:
[B]char.cpp[/B]
Kod:
[COLOR=#272A34][FONT=&amp] 'void CHARACTER::Initialize()'[/FONT][/COLOR]
m_pkMyShop = NULL;
Bu Var bunun Altına
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
ekle
Kod:
[COLOR=#272A34][FONT=&amp]'void CHARACTER::OpenMyShop(const char * c_pszSign, TShopItemTable * pTable, BYTE bItemCount)'[/FONT][/COLOR]
arat bunu
üstüne ekle onun
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
Kod:
[COLOR=#272A34][FONT=&amp]'void CHARACTER::OpenMyShop(const char * c_pszSign, TShopItemTable * pTable, BYTE bItemCount)'[/FONT][/COLOR]
gene arat
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
ekle altına
sistem sorunsuz calısıyor
Resimlerden bakın en son yapamazsanız
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
yapamayan olursa soylesın bakalım
1.acıklama
if(ch->GetRaceNum()!=30000)//shop mob vnum
pazar codu 30000 sizde kacsa duzenleyın veya coklu pazar sıstemı kullanan arkadaslar eklerler
if(DISTANCE_APPROX(ch->GetX()- m_ch->GetX(), ch->GetY()- m_ch->GetY())<200)//distance between shops
{
mesefası cok onlıne olanlar 200 yerın 50 60 falan yazsın işte
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
Thank You
Yeni Pazarlar Arası Mesafe Sitemi
Metin2 özel sunucularında oyun deneyimini zenginleştirmek adına geliştirilen sistemlerden biri olan Pazarlar Arası Mesafe Sistemi, oyuncuların farklı şehirler arasında mesafeye dayalı olarak takas yapmasını veya belirli etkinliklere katılmalarını sağlayan yenilikçi bir yapıdır. Bu sistem, özellikle Metin2 PvP sunucularında etkinliklerin çeşitlenmesi ve ekonomik dengelerin sağlanması için oldukça faydalıdır.
Sistem Nedir?
Pazarlar Arası Mesafe Sistemi, oyuncuların farklı şehirlerde konumlanan NPC’ler ile etkileşim kurarak belirli mesafelere göre takas yapmasına olanak tanır. Bu sistem sayesinde oyuncular, kendi bulundukları şehre göre belirlenen pazarlardan uzaklaştıkça ekstra maliyetlerle veya bonuslarla işlemler gerçekleştirebilirler. Örneğin, bir oyuncu Altınköy’deyken Midgard’daki bir takas noktasına erişmek isteyebilir; bu durumda mesafe katsayısı devreye girer.
Nasıl Çalışır?
Bu sistem genellikle Python tabanlı GUI arayüzlerle entegre edilir. PyRoot ve UIScript gibi araçlar kullanılarak kullanıcı dostu bir arayüz hazırlanabilir. Oyuncu, arayüz üzerinden hedef şehri seçer, mesafe hesaplamaları sunucu tarafında yapılır ve gerekli ekonomik veya statik ceza/bonus uygulanır.
Mesafe Hesaplama Mekanizması
Sunucu tarafında C++ tabanlı Game Server Source üzerinde mesafe algoritmaları tanımlanır. Her şehir için koordinatlar atanır ve iki şehir arasındaki mesafe Euclidean veya Manhattan yöntemiyle hesaplanabilir. Bu değer, belirlenen sabit oranlarla çarpılarak ekonomik veya statik etkileri belirlenir.
Avantajları Nelerdir?
Bu sistem, Metin2 özel sunucularında ekonomik dengeleri artırır, oyuncuları farklı bölgelere yönlendirir ve PvP aktivitesini teşvik eder. Ayrıca, server src üzerinde özelleştirilebilir ve oyuna entegre edilebilir. Sistem, martysama tarzı gelişmiş modüllerle de desteklenebilir.
Uygulama Adımları
1. Sunucu tarafında şehir koordinatlarını tanımlamak.
2. Mesafe hesaplama fonksiyonunu C++ ile yazmak.
3. Client tarafında Py GUI ile arayüz tasarımı yapmak.
4. DB Core üzerinde gerekli verileri saklamak.
5. Auth ve Game Server arasında senkronizasyonu sağlamak.
Sonuç
Yeni Pazarlar Arası Mesafe Sistemi, Metin2 özel sunucularında game core üzerinde yapılan geliştirmelerin öne çıkan örneklerindendir. Metin2 Lobby gibi platformlar aracılığıyla bu tür sistemler, topluluk tarafından paylaşılabilir ve daha fazla geliştiriciye ilham verebilir. Geliştiriciler, source edit ve compile[/BR] işlemleri ile bu sistemi kendi sunucularına entegre edebilirler.
New Cross-Market Distance System
One of the innovative systems developed to enhance the gaming experience on Metin2 private servers is the Cross-Market Distance System. This system allows players to trade or participate in events across different cities based on distance calculations. It is particularly useful for enhancing event diversity and economic balance on Metin2 PvP servers.
What Is The System?
The Cross-Market Distance System enables players to interact with NPCs located in different cities, allowing trading actions based on distance parameters. Through this system, players may face extra costs or bonuses depending on how far they are from their current city. For example, if a player is in Altinkoy and wants to access a trading point in Midgard, the distance coefficient will be applied accordingly.
How Does It Work?
This system is typically integrated with Python-based GUI interfaces. User-friendly interfaces can be designed using tools like PyRoot[/BR] and UIScript[/BR]. The player selects the target city through the interface, distance calculations are performed on the server side, and corresponding economic or static penalties/bonuses are applied.
Distance Calculation Mechanism
On the server side, distance algorithms are defined within C++[/BR] based Game Server Source[/BR]. Coordinates are assigned to each city and the distance between two cities is calculated using Euclidean or Manhattan methods. This value is multiplied by predetermined ratios to determine economic or static effects.
Advantages
This system increases economic balance[/BR] on Metin2 private servers, directs players to different regions, and encourages PvP activity. Additionally, it can be customized over the game core and integrated into the gameplay. The system can also be supported by advanced modules like martysama[/BR].
Implementation Steps
1. Define city coordinates on the server side.
2. Write distance calculation functions in C++.
3. Design UI with Py GUI on the client side.
4. Store necessary data in DB Core.
5. Ensure synchronization between Auth and Game Server.
Conclusion
The New Cross-Market Distance System is one of the prominent examples of improvements made on the game core[/BR] for Metin2 private servers. Such systems can be shared among the community and inspire more developers via platforms like Metin2 Lobby[/BR]. Developers can integrate this system into their own servers through source edit[/BR] and compile[/BR] operations.
