Isınlanınca Canın - lerde Baslaması Diğerlerinden Farlı

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

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0


UserInterface/InstanceBase.h açılır


aratılır

Kod:
EFFECT_EQUIP_ACCE_4,

altına eklenir

Kod:
EFFECT_EQUIP_ACCE_5,             EFFECT_EQUIP_ACCE_6,             EFFECT_EQUIP_ACCE_7,             EFFECT_EQUIP_ACCE_8,


pythonCharacterManagerModule.cpp açılır


aratılır

Kod:
PyModule_AddIntConstant(poModule, "EFFECT_EQUIP_ACCE_4", CInstanceBase::EFFECT_EQUIP_ACCE_4);

altına eklenir


Kod:
PyModule_AddIntConstant(poModule, "EFFECT_EQUIP_ACCE_5", CInstanceBase::EFFECT_EQUIP_ACCE_5); PyModule_AddIntConstant(poModule, "EFFECT_EQUIP_ACCE_6", CInstanceBase::EFFECT_EQUIP_ACCE_6); PyModule_AddIntConstant(poModule, "EFFECT_EQUIP_ACCE_7", CInstanceBase::EFFECT_EQUIP_ACCE_7); PyModule_AddIntConstant(poModule, "EFFECT_EQUIP_ACCE_8", CInstanceBase::EFFECT_EQUIP_ACCE_8);


pythonNetworkStreamPhaseGameItem.cpp açılır


aratılır

Kod:
case SE_EQUIP_ACCE_4:             effect = CInstanceBase::EFFECT_EQUIP_ACCE_4;             break;

altına eklenir


Kod:
case SE_EQUIP_ACCE_5:             effect = CInstanceBase::EFFECT_EQUIP_ACCE_5;             break;         case SE_EQUIP_ACCE_6:             effect = CInstanceBase::EFFECT_EQUIP_ACCE_6;             break;         case SE_EQUIP_ACCE_7:             effect = CInstanceBase::EFFECT_EQUIP_ACCE_7;             break;         case SE_EQUIP_ACCE_8:             effect = CInstanceBase::EFFECT_EQUIP_ACCE_8;             break;

packet.h açılır

aratılır

Kod:
SE_EQUIP_ACCE_4,

altına eklenir

Kod:
SE_EQUIP_ACCE_5,         SE_EQUIP_ACCE_6,         SE_EQUIP_ACCE_7,         SE_EQUIP_ACCE_8,

Exe tamam şimdi game source geçelim;



common/VnumHelper.h


arat

Kod:
static    const bool    IsAcce_Grade4(DWORD vnum)        {return 85004 == vnum || 85008 == vnum;}

altına eklenir(burası proto kodlarınıza göre olacak)

e7a1171a83be4d8892e3ee9d35b87ea7.png



Kod:
static    const bool    IsAcce_Grade5(DWORD vnum)        {return 85014 == vnum || 85018 == vnum;}     static    const bool    IsAcce_Grade6(DWORD vnum)        {return 85015 == vnum || 85019 == vnum;}     static    const bool    IsAcce_Grade7(DWORD vnum)        {return 85016 == vnum || 85020 == vnum;}     static    const bool    IsAcce_Grade8(DWORD vnum)        {return 85017 == vnum || 85021 == vnum;}


common/length.h açılır

aratılır


Kod:
SE_EQUIP_ACCE_4

altına eklenir

Kod:
SE_EQUIP_ACCE_5,     SE_EQUIP_ACCE_6,     SE_EQUIP_ACCE_7,     SE_EQUIP_ACCE_8,


game/char_item.cpp açılır


aratılır


Kod:
else if (true == CItemVnumHelper::IsAcce_Grade4(dwVnum))         {             this->EffectPacket(SE_EQUIP_ACCE_4);         }

altına eklenir


Kod:
else if (true == CItemVnumHelper::IsAcce_Grade5(dwVnum))         {             this->EffectPacket(SE_EQUIP_ACCE_5);         }         else if (true == CItemVnumHelper::IsAcce_Grade6(dwVnum))         {             this->EffectPacket(SE_EQUIP_ACCE_6);         }         else if (true == CItemVnumHelper::IsAcce_Grade7(dwVnum))         {             this->EffectPacket(SE_EQUIP_ACCE_7);         }         else if (true == CItemVnumHelper::IsAcce_Grade8(dwVnum))         {             this->EffectPacket(SE_EQUIP_ACCE_8);


root/playersettingsmodule.py

aratılır

Kod:
chrmgr.RegisterCacheEffect(chrmgr.EFFECT_EQUIP_ACC  E_4, "", "d:/ymir work/effect/etc/buff/buff_item9.mse")


altına eklenir


Kod:
chrmgr.RegisterCacheEffect(chrmgr.EFFECT_EQUIP_ACC  E_5, "", "d:/ymir work/effect/etc/buff/buff_item9.mse") chrmgr.RegisterCacheEffect(chrmgr.EFFECT_EQUIP_ACC  E_6, "", "d:/ymir work/effect/etc/buff/buff_item9.mse") chrmgr.RegisterCacheEffect(chrmgr.EFFECT_EQUIP_ACC  E_7, "", "d:/ymir work/effect/etc/buff/buff_item9.mse") chrmgr.RegisterCacheEffect(chrmgr.EFFECT_EQUIP_ACC  E_8, "", "d:/ymir work/effect/etc/buff/buff_item9.mse")

Not: yapım bana aittir

Metin2 Oyununda Işınlanınca Canın Nerede Başlar?

Metin2 özel sunucularında (private server) oynarken bazı sistemsel farklarla karşılaşabilirsiniz. Bu farklardan birisi de karakterinizin ışınlandıktan sonra canının hangi konumda başladığıdır. Normal sistemlerde ışınlanma sonrası karakter, belirlenen respawn noktası üzerinden doğarken, bazı özel sunucularda bu durum farklılık gösterebilir. Özellikle PvP sistemlerinin yoğun olduğu sunucularda, ışınlanma sonrası canın nerede başladığı stratejik bir önem taşır.

Işınlanma Sistemi Nedir?

Metin2'de ışınlanma (teleportation), oyuncuların harita üzerinde anlık olarak başka bir konuma geçmesini sağlar. Bu işlem genellikle item, NPC veya komut yoluyla yapılır. Ancak bazı özel sunucularda geliştirilen C++ tabanlı sistemler sayesinde bu mekanik daha da genişletilebilir. Örneğin, bir PvP savaşında ışınlanarak rakip bölgesine geçmek isteyen oyuncular, canlarının nerede başlayacağını bilmek zorundadır.

Canın Nerede Başlar?

Oyuncu öldüğünde respawn noktası genellikle son ziyaret ettiği can taşı veya belirlenmiş sabit noktalardır. Ancak bazı Metin2 özel sunucularında, ışınlanma işlemi yapıldığında canın başlama konumu değişebilir. Bu durum, sunucunun sahip olduğu DB-Core düzenlemeleri veya Game Server üzerinde çalışan özel Python scriptlerine bağlıdır. Örneğin, martysama gibi geliştiricilerin yaptığı sistemlerde, ışınlanma sonrası respawn noktası, ışınlandığınız bölgeye göre dinamik olarak ayarlanabilir.

Diğer Sunuculardan Farklılığı Nedir?

Standart Metin2 sunucularında, ışınlanma sonrası karakterin doğma noktası genellikle sabittir. Ancak gelişmiş sistemlere sahip özel sunucularda, ışınlandığınız konumun doğma noktası üzerinde etkisi olabilir. Bu, PvP oyun tarzı için büyük bir fark yaratır. Öldüğünüzde ışınlandığınız bölgeye yakın bir noktada doğmak, rakiplerinize karşı avantaj sağlayabilir veya tam tersi dezavantaj yaratabilir. Bu durum, özellikle turnuvalarda veya savaş haritalarında stratejiyi değiştirir.

Python GUI ve Uiscript ile Geliştirme

Metin2 özel sunucularında ışınlanma ve can sistemi gibi mekanikler, Py Root klasörlerinde yer alan Python dosyaları ile yönetilir. GUI sistemleri aracılığıyla kullanıcı dostu arayüzlerle bu işlemler daha da kolaylaştırılabilir. Uiscript yardımıyla, ışınlanma sonrası doğma konumunu gösteren özel bir ekran bile oluşturulabilir. Bu tür gelişmiş sistemler, Metin2Lobby gibi platformlar tarafından desteklenen sunucular için idealdir.

Sunucu Kaynak Kodları ve Derleme

Metin2 özel sunucularında ışınlanma ve doğma sistemlerini özelleştirmek için Game, Auth ve DB kaynak kodlarının düzenlenmesi gerekir. Bu işlemler genellikle C++ dili ile yapılır. Compile işlemleri sonrasında sunucu yeniden başlatıldığında, yeni doğma sistemi aktif olur. Sunucu sahipleri, bu sayede oyuncular için daha keyifli ve stratejik bir deneyim sunabilirler.

Sonuç

Metin2 özel sunucularında ışınlanma sonrası canın nerede başladığı, sadece bir konum sorunu değil aynı zamanda stratejik bir unsurdur. Oyuncuların bu sistemi anlaması ve sunucu geliştiricilerin de bu sistemi doğru şekilde uygulaması, oyun deneyimini ciddi anlamda etkiler. Gelişmiş sistemler sayesinde, her sunucu kendine özgü bir doğma mantığı oluşturabilir.


Where Does Your Character Respawn After Teleporting in Metin2?

In Metin2 private servers, you may encounter some systemic differences compared to standard gameplay. One of these differences is where your character respawns after teleporting. In normal systems, after teleportation, the character typically revives at a designated respawn point. However, on certain private servers, this location may vary. Especially in PvP-heavy servers, knowing where your character respawns after teleportation holds strategic importance.

What Is the Teleportation System?

In Metin2, teleportation allows players to instantly move to another location on the map. This action is usually performed via items, NPCs, or commands. However, thanks to C++-based systems developed on some private servers, this mechanism can be expanded even further. For example, players wishing to teleport into enemy territory during a PvP battle must know where their respawn point will be located.

Where Does Your Character Respawn?

When a player dies, the respawn point is generally the last visited life stone or a fixed spawn location. However, on certain Metin2 private servers, the respawn location can change upon teleportation. This depends on DB-Core modifications or custom Python scripts running on the Game Server. For instance, in systems developed by creators like martysama, the respawn point can be dynamically adjusted based on the region you teleported to.

How Does It Differ From Other Servers?

On standard Metin2 servers, the respawn point after teleportation is usually fixed. However, on advanced private servers, the location where you teleport to can affect your respawn point. This creates significant differences in PvP gameplay. Respawning near the area where you teleported can provide an advantage against opponents—or conversely, put you at a disadvantage. This impacts strategy especially in tournaments or war maps.

Development with Python GUI and Uiscript

Mechanics such as teleportation and respawn systems in Metin2 private servers are managed through Python files located in the Py Root folder. User-friendly interfaces can be made easier through GUI systems. With Uiscript, a custom screen displaying your respawn location after teleportation can even be created. Such advanced systems are ideal for servers supported by platforms like Metin2Lobby.

Server Source Codes and Compilation

To customize teleportation and respawn systems in Metin2 private servers, the Game, Auth, and DB source codes need to be modified. These operations are typically done using the C++ language. After compilation, the new respawn system becomes active once the server restarts. Server owners can thus offer players a more enjoyable and strategic gaming experience.

Conclusion

In Metin2 private servers, the location where your character respawns after teleporting isn't just about position—it's also a strategic element. Understanding this system for players and correctly implementing it for developers significantly affects the overall gaming experience. Thanks to advanced systems, each server can establish its own unique respawn logic.
 

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

Benzer konular

Geri
Üst Alt