DrAlchemy - C++ Party Skill Teleport

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

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0
OLUŞABİLECEK BUGLAR

OXDA BİRBİRLERİNİ İÇERİ ÇEKEBİLİRLER.

nEXNk0.png



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 :D
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.
 

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

Benzer konular

Geri
Üst Alt