Lonca savaşı bayrak modu fixi

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

Admin

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

FuncFindChrForFlag arat

bul
Kod:
if (pkChr->IsDead())             return;

altına ekle
Kod:
if (!m_pkChr || !m_pkChr->IsPC() || !m_pkChr->GetGuild() || m_pkChr->IsDead())             return;


bul
Kod:
if ((DWORD) m_pkChr->GetPoint(POINT_STAT) == pkChr->GetGuild()->GetID())

değiştir
Kod:
if (m_pkChr->GetGuild()->GetID() ==  pkChr->GetGuild()->GetID())


FuncFindChrForFlagBase arat

bul
Kod:
if (!pkGuild)             return;

altına ekle
Kod:
if (!m_pkChr || !m_pkChr->IsPC() || !m_pkChr->GetGuild())             return;

bul
Kod:
sys_log(0, "FlagBase %s dist %d aff %p flag gid %d chr gid %u",                             pkChr->GetName(), iDist, pkAff, m_pkChr->GetPoint(POINT_STAT),                             pkChr->GetGuild()->GetID());                     if (pkAff)                     {                         if ((DWORD) m_pkChr->GetPoint(POINT_STAT) == pkGuild->GetID() &&                                 m_pkChr->GetPoint(POINT_STAT) != pkAff->lApplyValue)

değiştir
Kod:
sys_log(0, "FlagBase %s dist %d aff %p flag gid %d chr gid %u",                 pkChr->GetName(), iDist, pkAff,                 m_pkChr->GetGuild()->GetID(), pkChr->GetGuild()->GetID());             if (pkAff)             {                 if (m_pkChr->GetGuild()->GetID() == pkGuild->GetID() &&                     m_pkChr->GetGuild()->GetID() != pkAff->lApplyValue)

bul
Kod:
SendGuildWarScore(m_pkChr->GetPoint(POINT_STAT),                                           pkAff->lApplyValue, 1);

değiştir
Kod:
SendGuildWarScore(m_pkChr->GetGuild()->GetID(), pkAff->lApplyValue, 1);


arat
Kod:
if (!pMap->GetTeamIndex(GetPoint(POINT_STAT), idx))         return;

değiştir
Kod:
if (!pMap->GetTeamIndex(GetGuild()->GetID(), idx))         return;


bul
Kod:
f.m_pkChrFind->AddAffect(AFFECT_WAR_FLAG, POINT_NONE, GetPoint(POINT_STAT),

değiştir
Kod:
f.m_pkChrFind->AddAffect(AFFECT_WAR_FLAG, POINT_NONE, GetGuild()->GetID(),


oyun içi kanıt atabilen olursa konuya eklerim.
Lonca Savaşı Bayrak Modu Fixi Nedir?

Metin2 özel sunucularında Lonca Savaşı, sunucuda aktif olan en heyecanlı etkinliklerden biridir. Ancak bazı durumlarda bayrak modunda istenmeyen davranışlar gözlemlenebilir. Bu durumlar genellikle sunucu tarafında eksik veya hatalı kodlama nedeniyle oluşur. Lonca savaşı bayrak modu fixi, bu sorunları düzeltmek ve oyuncuların daha adil ve stabil bir savaş ortamında kaliteli PvP yapabilmesi için gereklidir.

Bayrak Modu Sorunları Nelerdir?

Lonca savaşı sırasında bayrağı alıp taşıyan oyuncularda bazı özel durumlar meydana gelebilir. Örneğin bayrağı taşıyan kişi, bayrağı düşürmeden öldürülebilir. Bu gibi durumlar, oyun içi kurallara aykırıdır. Ayrıca bayrağı taşıyan oyuncunun görünümü bazı client versiyonlarında gizlenmeyebilir veya bayrağı taşıyor gibi görünmeyebilir. Bu da diğer oyuncuların bayrağı taşıyan kişiyi fark etmesini zorlaştırır.

Fix Uygulamasının Amacı

Lonca savaşı bayrak modu fixi, bu tarz sorunları çözmek için geliştirilmiş bir sistemdir. Fix sayesinde bayrağı taşıyan oyuncu, öldüğünde bayrağı düşürür. Ayrıca bayrağı taşıyan oyuncunun modeli ya da efekti her zaman görünür kalır. Bu sayede oyuncular, bayrağı taşıyan kişiyi kolayca görebilir ve stratejik planlar yapabilirler.

Fix Nasıl Uygulanır?

Fix uygulamak için öncelikle server side üzerinde gerekli değişikliklerin yapılması gerekir. Oyun sunucusu kodlarında CSafeboxAddItemPacketFailureCheckPatch gibi güvenlik kontrolleri ve bayrakla ilgili işlemler için özel fonksiyonlar eklenmelidir. Özellikle game/core tarafında bayrağın taşıma, düşürme ve konum güncelleme süreçleri kontrol edilmelidir. Auth ve DB tarafında da bayrağın kimde olduğu bilgisi doğru şekilde saklanmalıdır.

Python Tarafında Fix Entegrasyonu

Metin2 client tarafında UIScript kullanılarak bayrağı taşıyan karakterin efekt gösterimi yapılabilir. PyRoot ve PyGUI kullanılarak bu efektler daha kullanıcı dostu hale getirilebilir. Ayrıca Python ile yazılmış GUI sistemleri üzerinden bayrak taşıma durumu takip edilebilir. Bu sayede client ve server arasında senkronizasyon sağlanır.

Fixin Sunucuya Etkileri

Lonca savaşı bayrak modu fixi sayesinde oyuncular daha adil bir savaş ortamına kavuşur. Bayrağı taşıyan oyuncunun belirgin olması, savaşı daha stratejik hale getirir. Ayrıca bayrağın yanlışlıkla kaybolması gibi durumlar engellenir. Bu da loncaların savaştaki performansını artırır ve oyuncuların sunucuya olan güvenini pekiştirir.

Metin2 Development ve Fix Uygulamaları

Metin2 özel sunucularında geliştirme yapan geliştiriciler, bu tür fixleri uygularken CSafeboxAddItemPacketFailureCheckPatch gibi güvenlik kontrollerini ihmal etmemelidir. Aynı zamanda game server programming bilgisi güçlü olmalıdır. Bu tür sistemlerin test edilmesi ve debug yapılması gerekebilir. Martysama ve benzeri kaynaklar, bu konuda destek sağlayabilir. Bu sayede sunucu daha kararlı ve hatasız çalışır.


What is Guild War Flag Mode Fix?

In Metin2 private servers, Guild War is one of the most exciting events active on the server. However, there can be unwanted behaviors in flag mode at times. These issues are generally caused by incomplete or incorrect coding on the server-side. The guild war flag mode fix is necessary to resolve these issues and allow players to have a fairer and more stable combat environment for quality PvP.

What Are Flag Mode Issues?

Certain situations may occur during Guild War involving the player carrying the flag. For instance, the person holding the flag might be killed without dropping the flag. Such cases violate in-game rules. Additionally, the appearance of the player carrying the flag may not be hidden properly or visible in some client versions. This makes it difficult for other players to identify who is holding the flag.

The Purpose of Applying the Fix

The guild war flag mode fix is a system developed to resolve such problems. With the fix, the player holding the flag drops it upon death. Moreover, the character model or effect of the flag carrier remains visible at all times. This allows players to easily spot the flag carrier and develop strategic plans accordingly.

How Is the Fix Applied?

To apply the fix, necessary changes must first be made on the server-side code. Security checks like CSafeboxAddItemPacketFailureCheckPatch and custom functions for flag-related actions must be added to the game/core part of the server code. Processes such as carrying, dropping, and updating the flag's location should be controlled carefully. Additionally, the database and auth sides must correctly store information about who holds the flag.

Integration of Fix with Python Side

On the Metin2 client side, UIScript can be used to display effects for the character holding the flag. PyRoot and PyGUI can make these effects more user-friendly. Also, through GUI systems written in Python, the flag-carrying status can be tracked. This ensures synchronization between the client and server.

Effects of the Fix on the Server

With the guild war flag mode fix, players enjoy a fairer battle environment. Making the flag carrier more visible makes the war more strategic. Additionally, accidental loss of the flag is prevented. This enhances the guilds' performance in battles and strengthens players' trust in the server.

Metin2 Development and Fix Applications

Developers working on Metin2 private servers should not neglect security checks like CSafeboxAddItemPacketFailureCheckPatch when applying such fixes. They should also have strong knowledge of game server programming. Testing and debugging such systems may be required. Resources like Martysama can provide support in this area, ensuring that the server runs more stably and without errors.
 

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

Benzer konular

Geri
Üst Alt