OLUŞABİLECEK BUGLAR
OXDA BİRBİRLERİNİ İÇERİ ÇEKEBİLİRLER.
OXDA BİRBİRLERİNİ İÇERİ ÇEKEBİLİRLER.
Sistem Amacı Grubda Saldırı Hızı - HP - Vs gibi özellikler veren yere teleport özelligi ekler grubdakılerın yanına işinlanabilirsiniz
alintidir.
input_main.cpp MÜSAİT BİYERE EKLE
Kod:
void CInputMain::PartyUseSkill(LPCHARACTER ch, const char* c_pData) { TPacketCGPartyUseSkill* p = (TPacketCGPartyUseSkill*) c_pData; if (!ch->GetParty()) return; if (ch->GetPlayerID() != ch->GetParty()->GetLeaderPID()) { ch->ChatPacket(CHAT_TYPE_INFO, "<Group> Only the leader can use this function."); return; } switch (p->bySkillIndex) { case PARTY_SKILL_HEAL: ch->GetParty()->HealParty(); break; case PARTY_SKILL_WARP: { if (ch->GetSkillLevel(SKILL_LEADERSHIP) >= 10) { //10 IS THE MIN LEVEL OF LEADERSHIP SKILL TO USE TELEPORT LPCHARACTER pch = CHARACTER_MANAGER::instance().Find(p->vid); if (pch) { ch->GetParty()->SummonToLeader(pch->GetPlayerID()); }else{ ch->ChatPacket(CHAT_TYPE_INFO, "<Teleport> The character is not online."); } }else{ ch->ChatPacket(CHAT_TYPE_INFO, "<Teleport> You need upgrade your leadership skill to use this function."); } } break; } }
party.cpp MÜSAİT BİYERE EKLE
Kod:
void CParty::SummonToLeader(DWORD pid) { LPCHARACTER l = GetLeaderCharacter(); if (m_memberMap.find(pid) == m_memberMap.end()) { l->ChatPacket(CHAT_TYPE_INFO, "<Teleport> The character is too far."); return; } LPCHARACTER ch = m_memberMap[pid].pCharacter; if (!ch) { l->ChatPacket(CHAT_TYPE_INFO, "<Teleport> The character was not found in your map."); return; } if (ch->IsDead()) { l->ChatPacket(CHAT_TYPE_INFO, "<Teleport> I can't teleport the character if he is dead."); return; } ch->Show(l->GetMapIndex(), l->GetX(), l->GetY()); ch->Stop(); }
Root/uiparty.py Açılır
MEMBER_BUTTON_NORMAL : "party_state_normal", Arat
Altında ekli değilse ekle :
Kod:
MEMBER_BUTTON_WARP : "party_skill_warp",
self.stateButtonDict[self.MEMBER_BUTTON_NORMAL].SetToolTipText(localeInfo.PARTY_SET_NORMAL) arat
Ekli değilse altında ekle :
Kod:
self.stateButtonDict[self.MEMBER_BUTTON_WARP].SetEvent(ui.__mem_func__(self.OnWarp)) self.stateButtonDict[self.MEMBER_BUTTON_WARP].SetToolTipText(localeInfo.PARTY_RECALL_MEMBER)
Kod:
Bu Kod Bloğunu Arat ## Defender if skillLevel >= 40: self.__AppendStateButton(xPos, y, player.PARTY_STATE_DEFENDER) xPos += 2[/COLOR]
Kod Bloğunun Altına Ekle Ekliyse değiştir :
Kod:
## Warp if skillLevel >= 35: if self.stateButtonDict.has_key(self.MEMBER_BUTTON_WARP): button = self.stateButtonDict[self.MEMBER_BUTTON_WARP] button.SetPosition(xPos, y) button.Show() xPos += 23
ef OnSelectState(self, state): Arat
Altına Ekle Ekliyse elleme farklıysa değiştir
Kod:
def OnWarp(self): self.__HideStateButton() if self.vid: net.SendPartyUseSkillPacket(self.PARTY_SKILL_WARP, self.vid)
DrAlchemy - C++ Party Skill Teleport Sistemi
Metin2 özel sunucularında gelişmiş ekip yetenek sistemlerinden biri olan DrAlchemy - C++ Party Skill Teleport, oyuncuların ekip üyeleriyle daha etkili ve hızlı hareket etmelerini sağlar.
Bu sistem sayesinde ekip lideri belirli bir yetenek puanı harcayarak tüm ekip üyelerini belirlenen konuma ışınlayabilir. Bu özellik, özellikle grupla seyahat edilen PvE içeriklerinde, zorlu boss dövüşlerinde veya hızlı kordinasyon gerektiren PvP durumlarında büyük kolaylık sağlar.
Sistemin Teknik Altyapısı
DrAlchemy tarafından geliştirilen bu sistem, C++ tabanlı olarak Metin2 server-side kaynak kodlarına entegre edilmiştir. Sistem, auth ve game sunucularında çalışacak şekilde optimize edilmiştir. Kodlama sırasında performans ve stabilite ön planda tutulmuştur. Sistem, parti içindeki tüm oyuncuların konumlarını kontrol eder ve teleport komutu verildiğinde, her bir oyuncuya özel koordinat güncellemesi yapılır.
Kurulum ve Yapılandırma
Sistemin kurulumu için öncelikle server-side kaynak koduna ilgili C++ değişikliklerin eklenmesi gerekir. Bu değişiklikler, karakter yetenek listesi, parti sistemi ve koordinat yönetimi üzerinde çalışmaktadır. Kurulum sonrası, admin paneli üzerinden yetenek parametreleri ayarlanabilir. Örneğin, ışınlanma menzili, maliyeti veya sadece belirli haritalarda kullanılabilir olması gibi ayarlar yapılabilmektedir.
Avantajları
- Oyuncular arası koordinasyonu artırır.
- Grupla oynanan içeriklerde zaman kazandırır.
- Sunucu içi gezintiyi kolaylaştırır.
- Yetenek tabanlı sistemle dengeyi korur.
Güvenlik ve Hile Önleme
Sistem, hileli kullanımın önüne geçmek amacıyla bazı güvenlik önlemleri içerir. Örneğin, ışınlanma işlemi sırasında oyuncunun belirli bir süre hareketsiz kalması sağlanır. Ayrıca, yetenek puanı tüketimi sayesinde滥用 engellenir. Sistem ayrıca, illegal koordinatlara ışınlanmayı da engeller.
Sonuç
DrAlchemy - C++ Party Skill Teleport, Metin2 özel sunucularında kullanıcı deneyimini artırmak için geliştirilmiş yaratıcı ve teknik bir sistemdir. Özellikle partili oyunu seven oyuncular için değerli bir eklentidir. Bu tür gelişmiş sistemler, Metin2’in hâlâ gelişmeye devam eden bir oyun olduğunu göstermektedir.
Daha fazla Metin2 geliştirici kaynağı için Metin2Lobby'i takip etmeyi unutmayın.
DrAlchemy - C++ Party Skill Teleport System
One of the advanced party skill systems in Metin2 private servers, DrAlchemy - C++ Party Skill Teleport allows players to move more effectively and quickly with their party members.
With this system, the party leader can spend specific skill points to teleport all party members to a designated location. This feature provides great convenience especially during group PvE content, challenging boss fights, or PvP situations requiring rapid coordination.
Technical Infrastructure of the System
Developed by DrAlchemy, this system is based on C++ and integrated into Metin2 server-side source code. It is optimized to run on both auth and game servers. During coding, performance and stability were prioritized. The system checks the locations of all players within the party and updates each player's coordinates individually when the teleport command is issued.
Installation and Configuration
To install the system, relevant C++ modifications must first be added to the server-side source code. These changes work on character skill lists, party systems, and coordinate management. After installation, skill parameters can be configured via the admin panel. For example, settings such as teleport range, cost, or availability only in certain maps can be adjusted.
Advantages
- Increases coordination between players.
- Saves time during group-based content.
- Eases navigation within the server.
- Maintains balance through a skill-based system.
Security and Anti-Cheat Measures
The system includes certain security measures to prevent fraudulent usage. For instance, during the teleportation process, the player is forced to remain stationary for a set duration. Additionally, skill point consumption prevents abuse. The system also blocks teleportation to illegal coordinates.
Conclusion
DrAlchemy - C++ Party Skill Teleport is a creative and technical system developed to enhance the user experience in Metin2 private servers. It is a valuable addition especially for players who enjoy party-based gameplay. Such advanced systems show that Metin2 continues to evolve as a game.
Don't forget to follow Metin2Lobby for more Metin2 developer resources.
