Yapılan Bug
Fix
Fix
src/Server/game/common/service.h
aç
Kod:
#define ENABLE_YMIR_AFFECT_FIX
ekle
src/Server/game/src/input_login.cpp
aç
Kod:
ch->StartCheckSpeedHackEvent();
arat
ekle
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
src/Server/game/src/char.h
aç
Kod:
const char * GetName() const;
arat
ekle
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
src/Server/game/src/char_item.cpp
aç
Kod:
int CalculateConsumeSP(LPCHARACTER lpChar)
arat
ekle değiştir
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
Kod:
case USE_ABILITY_UP:
arat
ekle
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
Kod:
case USE_AFFECT : {
arat
ekle
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
Kod:
sys_log(0,"ITEM_BLEND!!");
arat
ekle
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
iyi forumlar.
Envanter Süresi Olmadan Şebnem ve Su Büğünü Fixleme
Metin2 özel sunucularında çalışırken bazı sistemsel sorunlarla karşılaşmak kaçınılmazdır. Bu tür sorunlardan birisi de envanter süresi olmaksızın Şebnem ve Su Büğü gibi item'ların sistem tarafından doğru şekilde işlenmemesi durumudur. Bu durum genellikle C++ kaynak kod üzerinde yapılan yanlış konfigürasyonlardan veya item tanımlamalarındaki eksikliklerden kaynaklanabilir. Bu yazıda, Metin2 özel sunucu geliştiricileri için envanter süresi olmadan Şebnem ve Su Büğü item'larını düzeltme sürecini detaylıca ele alacağız.
Öncelikle, Metin2 özel sunucularda item davranışları genellikle game server üzerinde tanımlanan item_proto dosyası üzerinden yönetilir. Şebnem ve Su Büğü gibi item'lar, envanter süresi ayarlanmamışsa, server tarafından doğru şekilde işlenemez ve client'ta beklenmedik durumlar ortaya çıkabilir. Örneğin, item kullanıldıktan sonra silinmeyebilir ya da hemen kullanılamaz hale gelebilir.
Fixleme işlemine başlamadan önce, item_proto.txt dosyasında Şebnem ve Su Büğü için tanımlanan apply_point ve time değerlerinin kontrol edilmesi gerekir. Bu iki değer, item'ın ne kadar süre aktif kalacağını ve nasıl davranacağını belirler. Eğer time değeri 0 olarak girilmişse, item sonsuz süre aktif kalacağı için sistemde hata oluşabilir. Bu yüzden, time değeri belirli bir süreye göre ayarlanmalıdır.
Ayrıca, item kullanımında Python tabanlı script dosyalarında da değişiklikler gerekebilir. Özellikle uiscript ve py root klasörlerinde yer alan inventory işlemleri ile ilgili scriptlerde, item silinme mantığı yeniden yapılandırılmalıdır. Py GUI arayüzü üzerinden de item davranışları takip edilebilir ve test edilebilir.
Aşağıda, örnek item_proto düzenlemesi verilmiştir:
Item ID: 50120
Name: Sebnem
Type: USE
SubType: POTION
Size: 1x1
Gold: 1000
Time: 300 (saniye)
ApplyPoint: POINT_MAX_HP +1000
Bu ayarlarla, Şebnem item'i 5 dakika boyunca aktif kalacak ve ardından otomatik olarak sistem tarafından silinecektir. Bu sayede envanter süresi olmaksızın dahi item doğru şekilde işlenecektir. Aynı işlem Su Büğü için de yapılmalıdır. Item ID'si farklı olabilir, ancak time ve apply_point değerleri benzer şekilde tanımlanmalıdır.
Ayrıca, auth server ve db tarafında da item ile ilgili log kayıtlarının tutulması önemlidir. Database üzerinde item geçmişi analiz edilerek, item kullanımında anormal davranışlar tespit edilebilir. Martysama veya diğer Metin2 geliştirme araçları yardımıyla bu süreç kolaylaştırılabilir.
Sonuç olarak, Metin2 özel sunucularda envanter süresi olmaksızın Şebnem ve Su Büğü gibi item'ların düzgün çalışması için hem server-side hem de client-side değişiklikler yapılması gerekir. C++ tabanlı source edit işlemleri ile item davranışları optimize edilmeli ve Python scriptleri ile desteklenmelidir. Bu sayede kullanıcı deneyimi artırılırken, sunucu performansı da olumlu yönde etkilenir.
Fixing Sebnem and Water Bug Without Inventory Time Limit
On Metin2 private servers, encountering systematic issues is inevitable. One such common issue is improper handling of items like Sebnem and Water Bug without an inventory time limit. This usually stems from incorrect configurations in C++ source code or missing definitions in item configurations. In this article, we will provide a detailed guide for Metin2 developers on how to fix Sebnem and Water Bug items without an inventory time restriction.
Firstly, in Metin2 private servers, item behaviors are typically managed through the item_proto file located on the game server. Items like Sebnem and Water Bug may not function properly if the time value is not correctly defined, causing unexpected behavior on the client side. For example, the item might not be deleted after use or become unusable immediately.
Before starting the fix, you must check the apply_point and time values for Sebnem and Water Bug in the item_proto.txt file. These two values determine how long the item remains active and how it behaves. If the time value is set to 0, the item will remain active indefinitely, which can cause errors in the system. Therefore, the time value must be adjusted to a specific duration.
Additionally, modifications may be required in Python-based script files. Specifically, scripts related to inventory operations in the uiscript and py root directories need to be restructured so that the item deletion logic functions properly. Item behaviors can also be tracked and tested via Py GUI interface.
Below is an example item_proto modification:
Item ID: 50120
Name: Sebnem
Type: USE
SubType: POTION
Size: 1x1
Gold: 1000
Time: 300 (seconds)
ApplyPoint: POINT_MAX_HP +1000
With these settings, the Sebnem item will remain active for 5 minutes before being automatically removed by the system. This ensures correct processing of the item even without an inventory time limit. The same process should be applied to the Water Bug. The item ID may differ, but time and apply_point values must be similarly defined.
Furthermore, logging item-related events on the auth server and database is crucial. Analyzing item history in the database allows for detection of abnormal usage patterns. Tools like Martysama or other Metin2 development utilities can assist in this process.
In conclusion, to ensure proper functioning of items like Sebnem and Water Bug without an inventory time limit on Metin2 private servers, changes must be made on both the server-side and client-side. Optimizing item behaviors with C++-based source edits and supporting them with Python scripts enhances user experience while positively impacting server performance.
