Eşyalarda yuva sayısını artırırken şu etkiyi görebiliriz:
Ayarladıktan sonra socket_pct için , 6 , silah ve zırh anger değişecektir (daha önce belirtilen sütunda sayısına bağlı olarak) .
Bunu "düzeltmek" için, bince'deki InstanceBase.cpp dosyasına gidin ve şu şekilde değiştirin:
Açık:
Şimdi socket_pct sütunu hesaba katılmayacak, bu nedenle silah veya zırh üzerindeki etki değişmeyecek.
İyi forumlar dilerim
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
Ayarladıktan sonra socket_pct için , 6 , silah ve zırh anger değişecektir (daha önce belirtilen sütunda sayısına bağlı olarak) .
Bunu "düzeltmek" için, bince'deki InstanceBase.cpp dosyasına gidin ve şu şekilde değiştirin:
Kod:
DWORD refine = max(pItem->GetRefine() + pItem->GetSocketCount(),CItemData::ITEM_SOCKET_MAX_NUM) - CItemData::ITEM_SOCKET_MAX_NUM;
Kod:
DWORD refine = pItem->GetRefine();
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
Şimdi socket_pct sütunu hesaba katılmayacak, bu nedenle silah veya zırh üzerindeki etki değişmeyecek.
İyi forumlar dilerim
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
Örnek Mesajı :Socket_pct Sütununu Onarın: Metin2 Sunucu Geliştirme Sürecinde Veritabanı Hatalarının Giderilmesi
Metin2 özel sunucularında geliştirme süreci sırasında birçok farklı veritabanı hatasıyla karşılaşabilirsiniz. Bu hatalardan birisi özellikle oyuncuların eşya sistemini etkileyebilecek olan 'socket_pct' sütunu eksikliği veya bozukluğudur. Socket_pct sütunu, eşyanın soket sistemine etki eden önemli bir özelliktir. Eğer bu sütun eksikse ya da veri tabanında doğru tanımlı değilse, oyuncular eşyalarını soketlemek istediklerinde hata alabilirler. Bu durum, hem kullanıcı deneyimini hem de sunucu güvenliğini etkileyebilir. Bu nedenle socket_pct sütununun doğrulanması ve gerekirse onarılması büyük önem taşır.
Socket_pct Nedir ve Ne İşe Yarar?
Socket_pct, Metin2 oyununda eşyaların soket sistemine özel bir yüzde değeri atamak için kullanılan bir veri sütunudur. Bu değer, belirli bir eşyanın kaç adet soket içerebileceğini ya da hangi soket seviyesine sahip olacağını belirleyebilir. Özellikle PVP sunucularda bu sütun, oyuncuların güçlü eşyalar elde etmesini sağlayacak şekilde tasarlanır. Eğer bu sütun eksikse, eşyaların soket sayısı sabit kalabilir veya rastgele oluşabilir. Bu da oyun dengelerini bozabilir.
Veritabanı Hatası Tespiti
Socket_pct sütununun eksik olup olmadığını anlamak için öncelikle oyun sunucusuna ait 'item_proto' tablosunu kontrol etmeniz gerekir. Genellikle bu tablo 'game' veritabanında yer alır. Eğer bu sütun yoksa, aşağıdaki SQL komutu ile sütunu ekleyebilirsiniz:
Kod:
[B]ALTER TABLE item_proto ADD COLUMN socket_pct INT DEFAULT 0;[/B]
Bu işlem, tüm mevcut eşyalara varsayılan olarak 0 değeri atanmasını sağlar. Ancak bu değer, geliştirici tarafından daha sonra eşyanın seviyesine ve niteliklerine göre güncellenmelidir. Özellikle yüksek seviye eşyalar için bu değerin artırılması, oyuncuların daha güçlü soketli eşyalar elde etmesini sağlar.
Socket_pct Değerlerini Güncelleme
Socket_pct sütununu ekledikten sonra, eşyaların niteliklerine göre bu sütunun değerlerini güncellemek gerekebilir. Örneğin, 70 seviye ve üzeri eşyalar için socket_pct değerini 30 olarak ayarlamak mantıklı olabilir. Bu değer, eşyanın kaç adet soket barındırabileceğini etkileyebilir. Bu tür güncellemeleri yaparken dikkatli olmanız gerekir çünkü bu değerler oyun dengelerini doğrudan etkiler.
Güncelleme için örnek bir SQL komutu:
Kod:
[B]UPDATE item_proto SET socket_pct = 30 WHERE vnum >= 70000 AND vnum < 80000;[/B]
Soket Sisteminin Doğru Çalıştığını Test Etme
Yeni eklenen socket_pct sütununun doğru çalışıp çalışmadığını test etmek için sunucu üzerinde test karakterleri oluşturarak eşyaları denemeniz önerilir. Eşyaların soketlerinin açılıp açılmadığı, beklenen şekilde çalışıp çalışmadığı gibi konular dikkatlice incelenmelidir. Ayrıca, sunucu log dosyalarında bu işlemle ilgili herhangi bir hata mesajı olup olmadığı da kontrol edilmelidir.
C++ ve Python ile Entegrasyon
Metin2 özel sunucularında socket_pct sütununun etkin bir şekilde kullanılması için hem 'game' sunucusu hem de 'client' tarafında gerekli düzenlemeler yapılmalıdır. C++ tabanlı 'game' sunucu tarafında, eşya yükleme sırasında bu sütunun okunması sağlanmalıdır. Aynı zamanda Python GUI tabanlı sistemlerde bu verinin doğru gösterilmesi için 'uiscript' ve 'py root' yapıları güncellenmelidir. Bu entegrasyonlar, socket_pct sütununun tam anlamıyla aktif olmasına yardımcı olur.
Sonuç
Socket_pct sütununun eksikliği, Metin2 özel sunucularında ciddi sorunlara yol açabilir. Bu sütunun doğru şekilde veritabanına eklenmesi ve değerlerinin güncellenmesi, oyuncuların eşya sisteminden daha fazla keyif almasını sağlar. Bu işlem, sunucu dengelerini korumak açısından da oldukça önemlidir.
Repair the Socket_pct Column: Fixing Database Errors During Metin2 Server Development
During the development process of Metin2 private servers, you may encounter various database errors. One such error involves the missing or corrupted 'socket_pct' column, which affects players' item socket systems. The socket_pct column is a crucial feature that impacts the socket system of items. If this column is missing or incorrectly defined in the database, players might receive errors when trying to socket their items. This situation can affect both user experience and server security. Therefore, verifying and repairing the socket_pct column is highly important.
What is Socket_pct and What Does It Do?
Socket_pct is a database column used in Metin2 to assign a percentage value to the socket system of items. This value can determine how many sockets an item can have or what socket level it will possess. Especially in PVP servers, this column is designed to allow players to obtain powerful items. If this column is missing, the number of sockets on items may remain fixed or occur randomly, which can disrupt game balance.
Detecting Database Errors
To check whether the socket_pct column is missing, you should first examine the 'item_proto' table associated with your game server. This table usually resides in the 'game' database. If the column is not present, you can add it using the following SQL command:
Kod:
[B]ALTER TABLE item_proto ADD COLUMN socket_pct INT DEFAULT 0;[/B]
This action ensures that all existing items are assigned a default value of 0. However, this value should be updated later based on the item's level and attributes by the developer. Especially for high-level items, increasing this value allows players to obtain stronger socketed items.
Updating Socket_pct Values
After adding the socket_pct column, you may need to update its values according to the properties of the items. For example, setting the socket_pct value to 30 for items above level 70 could be logical. This value can influence how many sockets an item can hold. You must be careful when making these updates because they directly affect game balance.
An example SQL command for updating:
Kod:
[B]UPDATE item_proto SET socket_pct = 30 WHERE vnum >= 70000 AND vnum < 80000;[/B]
Testing the Socket System[/BR]
To verify that the newly added socket_pct column functions correctly, it is recommended to create test characters on the server and experiment with items. You should carefully examine whether the sockets on items open as expected and if there are any error messages related to this operation in the server log files.
Integration with C++ and Python
For the socket_pct column to function effectively in Metin2 private servers, necessary adjustments must be made on both the 'game' server and 'client' sides. On the C++ based 'game' server side, the column must be read during item loading. Additionally, in Python GUI-based systems, 'uiscript' and 'py root' structures must be updated so that this data is displayed correctly. These integrations help ensure the socket_pct column operates fully.
Conclusion
The absence of the socket_pct column can cause serious issues in Metin2 private servers. Properly adding this column to the database and updating its values enhances player satisfaction with the item system. This step is also critical for maintaining server balance.
