- #1
Konu Sahibi
: serkankacan
[REHBER & QUERY] Knight Online Flame Resistance Potion (Ateş Direnci İksiri) Sınırsız Yapma
MAGIC Tablosu Üzerinden Flame Resistance Potion Tüketimini Kaldırarak Sınırsız / Tükenmeyen Hale Getirme
MAGIC Tablosu Üzerinden Flame Resistance Potion Tüketimini Kaldırarak Sınırsız / Tükenmeyen Hale Getirme
Merhaba değerli Knight Online geliştiricileri,
Özellikle Mage savaşlarının (Flame Mage / Nova Town) yoğun geçtiği PK, Ardream ve Base sunucularında, oyuncuların alan büyülerinden veya ateş yeteneklerinden daha az hasar almak için kullandığı **Flame Resistance Potion (Ateş Direnci İksiri)** eşyasını, oyuncuların sürekli Sundries veya NPC'den satın almak zorunda kalmaması amacıyla basıldığında çantadan eksilmeyen (**sınırsız**) hale getirmek oyuncu konforunu artıran faydalı bir optimizasyondur.
Eski Koddaki Detaylar & Çalışma Mantığı:
Paylaşılan ham kodda standart sürüm olan
UseItem = '389038000' hedeflenmiştir; ancak sunucularda eksiksiz bir işleyiş için şu detaylar dikkate alınmalıdır:- Hedef Eşya:
389038000(Potion of Flame Resistance / Fire Resist Pot). - Beceri Bağlantısı (MagicNum): Ateş direnci artıran bu iksirin MAGIC tablosundaki temel beceri kodu genellikle
490038veya500038(ve türevleri) olarak kayıtlıdır. Sorguda hem yetenek numarasının hem de eşya kodunun taranması olası çakışmaları ve eksiklikleri önler. - MAGIC Tablosu Sütun Esnekliği: Veritabanı sürümlerine göre (v1299, v1453, v1534, v2xxx) tüketilen eşya alanı
UseItemveyaItemNumşeklinde geçebilir. Dinamiksys.columnskontrolü sayesinde derleme esnasında "Invalid column name" hatası yaşanmaz.
Aşağıda iksiri tek seferde güvenle sınırsız yapan optimize SQL kodunu bulabilirsiniz.
Teknik Bilgilendirme' Alıntı:
- Hedef Eşya Kodu (ItemNum / UseItem):
389038000(Flame Resistance Potion)- Beceri Kodu (MagicNum):
490038/500038.- Buff Etkisi: Karakterin Flame (Ateş) direnç değerini belirli bir süre boyunca artırır.
- İşlem Mantığı: Tüketilecek eşya şartı
0yapılarak iksire basıldığında direnç buff'ı aktif olur, ancak çantadaki iksir adedi eksilmez.- İşlem öncesinde KN_Online veritabanı yedeğinizi almanız tavsiye edilir.
Flame Resistance Potion Sınırsız Yapma 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 Kod Tercih Edilmeli?
- Sözdizimi Güvencesi: Veritabanınızda ilgili sütun
UseItemveyaItemNumolsun, kod bunu otomatik algılar ve hata vermeden çalışır. - Garantili Bağlantı: Hem yetenek tablosundaki beceri ID'si hem de eşya kodu üzerinden kontrol sağlandığı için eksik satır kalmaz.
- Kolayca Geri Döndürülebilir: İksiri tekrar sınırlı (her basışta 1 adet eksilen) hale getirmek istediğinizde ilgili sütunu
389038000koduna güncellemeniz yeterlidir.
Nasıl Uygulanır & Test Edilir?
- SQL Server Management Studio (SSMS) programını açıp
KN_Onlineveritabanınızı seçin. - Yukarıdaki SQL kodunu yeni bir sorgu penceresine yapıştırıp F5 tuşuna basın.
- Değişikliklerin sunucu hafızasına yüklenmesi için **Ebenzer / GameServer** konsolunu yeniden başlatın (veya oyun içinde GM karakterle
/load_tableskomutunu uygulayın). - Oyuna giriş yapıp karakterinizin çantasına 1 adet Flame Resistance Potion (
+item 389038000 1) alın. - İksire sağ tıkladığınızda karakterin buff barında ateş direnci simgesinin belirdiğini, stat penceresinde Flame Resist değerinin arttığını ve çantadaki iksirin tükenmediğini doğrulayın.
Diğer direnç iksirleri (Glacier Resistance, Lightning Resistance vb.) veya scroll yapılandırma taleplerinizi bu konu altından iletebilirsiniz. Herkese keyifli geliştirmeler!

