- #1
Konu Sahibi
: serkankacan
[REHBER & BUG FİX] Knight Online Weapon & Armor Enchant Scroll Düzeltme
ITEM, MAGIC ve MAGIC_TYPE4 Tabloları Üzerinden Basılmayan / Çalışmayan Enchant Scrolları Onarma ve Kurma
ITEM, MAGIC ve MAGIC_TYPE4 Tabloları Üzerinden Basılmayan / Çalışmayan Enchant Scrolları Onarma ve Kurma
Merhaba değerli forum sakinleri,
Knight Online sunucularında (v1299, v1453, v1534, v2xxx) oyuncuların saldırı gücünü (+%5 AP) ve savunmasını (+30 AC) 30 dakika boyunca artırmasını sağlayan **Weapon Enchant Scroll** ve **Armor Enchant Scroll** eşyaları birçok sunucuda ya hiç basılmaz ya da basıldığında buff vermeyip eşyayı tüketmez.
Sorunun Kaynağı & Eski Kodlardaki Riskler:
- Üçlü Tablo Bağlantısı (ITEM -> MAGIC -> MAGIC_TYPE4): Eşyanın çalışabilmesi için
ITEMtablosundakiEffect1sütunununMAGIC.MagicNumdeğerine,MAGICkaydının iseType4(Buff/Debuff) mantığıylaMAGIC_TYPE4tablosundakiiNumkaydına eksiksiz bağlı olması gerekir. - Sütun Sırası Uyuşmazlığı: Eski paylaşımlardaki
INSERT INTO [Tablo] VALUES (...)kalıbı sütun isimleri belirtmediği için farklı veritabanı sürümlerinde (v1299 vs v2xxx) sütun adedi uyuşmazlığı (`Column count mismatch`) hatası verir. - Tek Tek DELETE Karmaşası: Kod blokları optimize edilmemiş, transaction koruması eklenmemiştir.
Aşağıda hem hem eski/bozuk kayıtları temizleyen, hem de açık sütun eşleştirmeleriyle tabloları hatasız dolduran optimize SQL sorgusunu bulabilirsiniz.
Teknik Bilgilendirme (Buff Parametreleri)' Alıntı:
- Süre (bDuration):
1800saniye (30 Dakika).- Weapon Enchant Scroll (BuffType = 13): Karakterin toplam Attack Power (AP) değerine %5 çarpan ekler (
sPercentRate = 5).- Armor Enchant Scroll (BuffType = 14): Karakterin toplam Defense (AC) değerine doğrudan +30 ekler (
sDefense = 30).- İstemci Uyumu: Değişikliklerin oyuna tam yansıması için veritabanındaki verilerin istemci tarafındaki
Item_Org.tblveMagic_Type4.tbldosyaları ile uyumlu olması önerilir.- İşlem öncesinde KN_Online veritabanı yedeğinizi almayı unutmayınız.
Hatasız & Güvenli Enchant Scroll Kurulum / Onarım SQL Kodu
KN_Online veritabanınızı seçip aşağıdaki optimize bloğu çalıştırın:
İçeriği görüntülemek için Giriş yapın veya Kayıt olun.
Neden Bu Optimize Versiyon Kullanılmalı?
- Sütun Çakışması Engellendi: Tablolara
INSERTyapılırken sütun isimleri açıkça belirtildiği için veritabanınızdaki varsayılan sütun sırası veya sayısı farklı olsa bile sorgu başarıyla çalışır. - Toplu Silme & Transaction Koruması: Her kayıt için tek tek `DELETE` yazmak yerine
IN (...)bloğu kullanılmış; hata anında veri kaybı olmaması içinTRY...CATCHile koruma altına alınmıştır. - Net Buff Değerleri:
MAGIC_TYPE4tablosundaki karmaşık 0 ve 100 dizilimleri yerine ilgili etki sütunları (sPercentRate = 5vesDefense = 30) doğrudan hedeflenmiştir.
Nasıl Uygulanır & Test Edilir?
- SQL Server Management Studio (SSMS) programını açıp Knight Online veritabanınızı seçin.
- Yukarıdaki SQL kodunu yeni bir sorgu penceresine yapıştırarak F5 tuşuna basın.
- Sunucunuzdaki Ebenzer (GameServer) konsolunu kapatıp yeniden başlatın (veya oyun içinde GM karakterle
/load_tableskomutunu uygulayın). - Oyuna giriş yapıp karakterinizin çantasına
+item 389155000veya+item 389156000komutuyla scrolları çağırın. - Scrollara sağ tıkladığınızda sağ üst barda süreli buff ikonunun açıldığını, AP'nizin %5 ve AC'nizin +30 arttığını doğrulayın.
Sorularınızı ve takıldığınız noktaları konu altından iletebilirsiniz. Herkese keyifli geliştirmeler!

