Fix

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

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0
Metin2'yi Bırakalı 4 Ay'ı Geçti Yakın Samimi Arkadaşlarım Zaten Bunu Biliyor Bugun Sevdiğim Bir Kardeşim Bu Sorunu Bana Aksettiği İçin Bu Konuyu Açmak İstedim Herkeze İyi Kullanımlar.

acce.cpp

make ve absord make'de

Kod:
items = ch->GetAcceItem();
makede üsteki koddan sonra gelen ifin altına absord make'de else iflerin en altına
Kod:
else if (items[0]->IsBind() || items[0]->IsUntilBind() || items[1]->IsBind() || items[1]->IsUntilBind())     {         (ch)->ChatPacket(CHAT_TYPE_INFO, "Ruha Bagli. Kusak Efsunlanamaz.!!!");         return false;     }

Son Olarak Valueler Genelde Çoğu Kişide Bozuk Sorunsuzu
Kod:
absorption_chance = items[0]->GetSocket(1);     type1 = items[1]->GetAttributeType(0);     value1 = items[1]->GetAttributeValue(0) * absorption_chance / 100;     type2 = items[1]->GetAttributeType(1);     value2 = items[1]->GetAttributeValue(1) * absorption_chance / 100;     type3 = items[1]->GetAttributeType(2);     value3 = items[1]->GetAttributeValue(2) * absorption_chance / 100;     type4 = items[1]->GetAttributeType(3);     value4 = items[1]->GetAttributeValue(3) * absorption_chance / 100;     type5 = items[1]->GetAttributeType(4);     value5 = items[1]->GetAttributeValue(4) * absorption_chance / 100;     type6 = items[1]->GetAttributeType(5);     value6 = items[1]->GetAttributeValue(5) * absorption_chance / 100;     type7 = items[1]->GetAttributeType(6);     value7 = items[1]->GetAttributeValue(6) * absorption_chance / 100;          if (items[1]->GetType() == ITEM_ARMOR)     {         type8 = 54;         value8 = (items[1]->GetValue(1) + items[1]->GetValue(5)) * absorption_chance / 100;     }     else     {         type8 = 0;         value8 = 0;     }          if (items[1]->GetType() == ITEM_WEAPON)     {         type9 = 53;         value9 = (items[1]->GetValue(3) + items[1]->GetValue(5)) * absorption_chance / 100;         type10 = 53;         value10 = (items[1]->GetValue(4) + items[1]->GetValue(5)) * absorption_chance / 100;         value11 = (items[1]->GetValue(1) + items[1]->GetValue(5)) * absorption_chance / 100;         value12 = (items[1]->GetValue(2) + items[1]->GetValue(5)) * absorption_chance / 100;         if (items[1]->GetValue(1) <= 0)         {             type11 = 0;             value11 = 0;         }         else         {             type11 = 55;         }                  if (items[1]->GetValue(2) <= 0)         {             type12 = 0;             value12 = 0;         }         else         {             type12 = 55;         }     }     else     {         type9 = 0;         value9 = 0;         type10 = 0;         value10 = 0;         type11 = 0;         value11 = 0;         type12 = 0;         value12 = 0;     }          type13 = items[1]->GetNewAttributeType(0);     value13 = items[1]->GetNewAttributeValue(0) * absorption_chance / 100;     type14 = items[1]->GetNewAttributeType(1);     value14 = items[1]->GetNewAttributeValue(1) * absorption_chance / 100;     type15 = items[1]->GetNewAttributeType(2);     value15 = items[1]->GetNewAttributeValue(2) * absorption_chance / 100;          int value1_final = (value1 <= 0) ? (int)(1) : (int)(value1);     int value2_final = (value2 <= 0) ? (int)(1) : (int)(value2);     int value3_final = (value3 <= 0) ? (int)(1) : (int)(value3);     int value4_final = (value4 <= 0) ? (int)(1) : (int)(value4);     int value5_final = (value5 <= 0) ? (int)(1) : (int)(value5);     int value6_final = (value6 <= 0) ? (int)(1) : (int)(value6);     int value7_final = (value7 <= 0) ? (int)(1) : (int)(value7);     int value8_final = (value8 <= 0) ? (int)(1) : (int)(value8);     int value9_final = (value10 - value9 <= 0) ? (int)(1) : (int)(value10 - value9);     int value10_final = (value10 <= 0) ? (int)(1) : (int)(value10);     int value11_final = (value11 - value11 <= 0) ? (int)(1) : (int)(value12 - value11);     int value12_final = (value12 <= 0) ? (int)(1) : (int)(value12);     int value13_final = (value13 <= 0) ? (int)(1) : (int)(value13);     int value14_final = (value14 <= 0) ? (int)(1) : (int)(value14);     int value15_final = (value15 <= 0) ? (int)(1) : (int)(value15);          items[0]->SetForceAttribute(0, type1, value1_final);     items[0]->SetForceAttribute(1, type2, value2_final);     items[0]->SetForceAttribute(2, type3, value3_final);     items[0]->SetForceAttribute(3, type4, value4_final);     items[0]->SetForceAttribute(4, type5, value5_final);     items[0]->SetForceAttribute(5, type6, value6_final);     items[0]->SetForceAttribute(6, type7, value7_final);     items[0]->SetForceAttribute(7, type8, value8_final);     items[0]->SetForceAttribute(8, type9, value9_final);     items[0]->SetForceAttribute(9, type10, value10_final);     items[0]->SetForceAttribute(10, type11, value11_final);     items[0]->SetForceAttribute(11, type12, value12_final);     items[0]->SetForceAttribute(12, type13, value13_final);     items[0]->SetForceAttribute(13, type14, value14_final);     items[0]->SetForceAttribute(14, type15, value15_final);          ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("The absorption process had success!"));     ch->ChatPacket(CHAT_TYPE_COMMAND, "acce success_absorption");          items[1]->SetCount(0);     items[1] = NULL;     return true; }



Metin2 Private Serverlarında Fix Hataları ve Çözüm Yolları

Metin2, özellikle özel sunucular (private server) dünyasında büyük bir popülerliğe sahiptir. Oyunun özelleştirilebilir yapısı sayesinde geliştiriciler, farklı PvP sistemleri, özel eventler ve yeni özellikler entegre edebilmektedir. Ancak bu tür geliştirmeler sırasında sıklıkla fix olarak adlandırılan hata düzeltmeleriyle karşılaşılır. Bu yazıda Metin2 özel sunucu geliştirme sürecinde karşılaşılan fix süreçlerinden bahsedeceğiz.

Metin2 Geliştirme Ortamında Fix Nedir?

Fix, genellikle bir sistemde meydana gelen hataların düzeltilmesi anlamına gelir. Özellikle C++ sistemlerde kaynak kodun doğrudan değiştirilmesi gerekebilir. Bu bağlamda game server programming sırasında geliştiriciler, derleme (compile), DB (database) ve auth sunucularında değişiklikler yapabilir. Bu değişiklikler bazen beklenmedik hatalara yol açabilir. Bu hataların tespiti ve çözülmesi süreci fix olarak tanımlanır.

C++ ve Python Tabanlı Sistemlerde Fix Uygulamaları

Metin2 özel sunucularında genellikle C++ tabanlı kaynak kodlar kullanılır. Bu kodlar server src dosyalarında bulunur. Bunlarla birlikte bazı sistemler Python diliyle de geliştirilebilir. Örneğin py GUI[/COORD] arayüzler veya uiscript dosyalarıyla yapılan düzenlemeler hata verebilir. Böyle durumlarda geliştirici, py root dosyalarını kontrol ederek fix uygulaması yapmalıdır.

Martysama ve Diğer Geliştirici Kaynakları

Metin2 geliştiricileri arasında martysama oldukça tanınmış bir isimdir. Kendisi tarafından geliştirilen kaynak kodlar, scriptler ve sistemler birçok özel sunucuda kullanılmaktadır. Ancak bu sistemlerin bazılarında zamanla hatalar ortaya çıkabiliyor. Bu hataların çözümü için geliştiriciler, source edit işlemleri gerçekleştirmek zorunda kalabilir. Bu süreçte doğru fix uygulaması, sunucunun kararlılığını sağlar.

DB ve Auth Sunucu Fixleri

Metin2 özel sunucularında DB (veritabanı) ve Auth (kimlik doğrulama) sunucuları hayati öneme sahiptir. Bu sunucularda meydana gelen hatalar genellikle oyunun giriş yapmasını veya karakter verilerini çekmesini engeller. Bu gibi durumlarda db core üzerinde fix uygulamaları yapılmalıdır. Kimlik doğrulama sistemlerinde meydana gelen hatalar da Auth sunucusu üzerinden çözülmelidir. Bu süreçte game core ile entegrasyon önem kazanır.

Client SRC ile Fix Uygulamaları

Oyun istemcisi (client) tarafında da bazı hatalar oluşabilir. Bu hatalar genellikle oyun arayüzü, grafiksel öğeler veya PvP sistemlerinde sorunlara neden olabilir. Client SRC dosyalarında yapılan değişiklikler, sunucu ile uyumlu olacak şekilde yapılandırılmalıdır. Aksi takdirde PvP sistem hataları gibi sorunlar meydana gelebilir. Bu tür hatalar için client-side fix işlemleri mutlaka yapılmalıdır.

Pack Dosyalarında Fix Uygulamaları

Metin2 özel sunucularında içerik yönetimi için genellikle pack dosyaları kullanılır. Bu dosyalarda meydana gelen bozukluklar ya da eksiklikler, oyun içinde obje eksikliği, ses hatası gibi problemlere yol açabilir. Pack dosyalarının doğru derlenmesi ve Metin2 compile sürecine entegre edilmesi, fix uygulamalarının temel adımlarındandır.

Sonuç

Metin2 özel sunucu geliştirme sürecinde fix uygulamaları, sistemin kararlılığı ve oyuncu deneyimi açısından kritik öneme sahiptir. Geliştiricilerin hem C++ hem de Python bilgisine sahip olması, hata tespiti ve düzeltme konusunda avantaj sağlar. Metin2lobby.com olarak, bu tür teknik destekleri ve gelişmeleri paylaşmaya devam ediyoruz.


Fix Errors and Solutions in Metin2 Private Servers

Metin2 has gained significant popularity, especially in the world of private servers. Due to its customizable nature, developers can integrate different PvP systems, custom events, and new features. However, during such developments, errors requiring fixes are frequently encountered. In this article, we will discuss the fix processes encountered during Metin2 private server development.

What Is Fix in Metin2 Development Environment?

Fix generally refers to correcting errors that occur within a system. Especially in C++ based systems, direct modifications to source code may be required. In this context, during game server programming, developers might make changes in compilation, DB (database), and auth servers. These changes can sometimes cause unexpected errors. Identifying and resolving these errors is referred to as a fix process.

Fix Applications in C++ and Python-Based Systems

In Metin2 private servers, C++ based source codes are commonly used. These codes are located in server src files. Additionally, some systems may be developed using Python. For instance, errors might occur with py GUI interfaces or uiscript files. In such cases, developers must check py root files and apply fixes accordingly.

Martysama and Other Developer Resources

Within the Metin2 developer community, martysama is a well-known figure. Source codes, scripts, and systems developed by him are widely used in many private servers. However, over time, errors may arise in these systems. To resolve them, developers often need to perform source edit operations. Correct fix applications ensure the stability of the server.

DB and Auth Server Fixes

DB (database) and Auth (authentication) servers are crucial in Metin2 private servers. Errors in these servers typically prevent players from logging in or loading character data. In such cases, fixes must be applied to the db core. Authentication-related errors should also be resolved through the Auth server. Integration with the game core becomes important in this process.

Fix Applications with Client SRC

Some errors can also occur on the client side of the game. These errors often cause issues in the game interface, graphics, or PvP systems. Changes made in Client SRC files must be configured to remain compatible with the server. Otherwise, problems like PvP system errors may occur. Client-side fixes must be performed for such issues.

Fix Applications in Pack Files

Content management in Metin2 private servers often relies on pack files. Corruption or missing elements in these files can lead to object shortages or audio errors within the game. Proper compilation of pack files and their integration into the Metin2 compile process are fundamental steps in applying fixes.

Conclusion

Fix applications are critically important in Metin2 private server development to ensure system stability and player experience. Developers who have knowledge in both C++ and Python gain advantages in error detection and resolution. At Metin2lobby.com, we continue sharing such technical support and updates.
 

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

Benzer konular

Geri
Üst Alt