- #1
Konu Sahibi
: serkankacan
[REHBER & QUERY] Knight Online Canavar Eşya Düşme (Drop) Oranlarını Düzenleme ve Sıfırlama
K_MONSTER_ITEM Tablosu Üzerinden Boş Kalan Slotların Oranlarını Temizleme veya Tüm Dropları Sıfırdan Yapılandırma
K_MONSTER_ITEM Tablosu Üzerinden Boş Kalan Slotların Oranlarını Temizleme veya Tüm Dropları Sıfırdan Yapılandırma
Merhaba değerli forum sakinleri,
Knight Online sunucularında (v1299, v1453, v1534, v2xxx) canavarlardan düşecek eşyaları ve oranlarını yönettiğimiz ana tablo **K_MONSTER_ITEM** tablosudur. Canavar öldüğünde sistem sırasıyla
iItem01 - iItem12 yuvalarındaki eşya kodlarını ve bunların düşme olasılıklarını (sPersent01 - sPersent12) kontrol eder.Eski Paylaşımdaki Mantık Hatası & Optimizasyon:
- Başlık ile İçerik Uyuşmazlığı: Paylaşılan kodda
where iItem01 = '0'şartı kullanılmıştır; yani kod tüm dropları sıfırlamaz, yalnızca **zaten içinde eşya tanımlı olmayan (0 olan)** boş yuvaların oranını 0 yapar. - Kalan Yuvalar (Slot 6 - 12): Knight Online sürümlerine bağlı olarak tabloda sadece ilk 5 yuva değil,
sPersent06ilesPersent12arasındaki yuvalar da yer alır. - İki Farklı İhtiyaç: Bir geliştiricinin ihtiyacı ya **tüm canavarların drop oranlarını komple sıfırlayıp** yeni bir drop sistemi kurmaktır ya da **boşta kalan yuvaların oran kalıntılarını temizlemektir**.
Aşağıda hem sunucudaki tüm dropları güvenle sıfırlayan kodu, hem de boş slotların oranlarını temizleyen optimize şablonu bulabilirsiniz.
Teknik Bilgilendirme (Drop Oran Mantığı)' Alıntı:
- Yüzdelik Hesaplama (sPersent): Drop oranları veritabanında genellikle $10.000$ (on bin) tabanında tutulur:
-10000= %100 (Kesin Düşer)
-1000= %10
-100= %1
-10= %0.1- Eşya Kodu (iItem): Eşya kodu
0ise ilgili slota eşya atanmamış demektir.- İşlem öncesinde mutlaka KN_Online veritabanı yedeğinizi almayı unutmayınız.
1. SEÇENEK: Tüm Canavarların Droplarını Komple Sıfırlama (Yeni DB Yapanlar İçin)
KN_Online veritabanınızı seçip aşağıdaki blok ile tüm yaratıkların eşya ve düşme oranlarını tek seferde sıfırlayın:
İçeriği görüntülemek için Giriş yapın veya Kayıt olun.
2. SEÇENEK: Sadece Boş Slotların Oran Kalıntılarını Temizleme (Hata Giderici)
Eğer mevcut droplarınız kalsın, fakat eşyası olmayan (
iItem = 0) yuvaların yüzdeleri sıfırlansın istiyorsanız aşağıdaki optimize tekil sorguyu çalıştırabilirsiniz:
İçeriği görüntülemek için Giriş yapın veya Kayıt olun.
Nasıl Uygulanır & Test Edilir?
- SQL Server Management Studio (SSMS) programını açıp Knight Online veritabanınızı seçin.
- İhtiyacınıza göre yukarıdaki **1. Seçenek (Tam Sıfırlama)** veya **2. Seçenek (Boş Slot Temizleme)** sorgusunu yapıştırıp F5 tuşuna basın.
- İşlem sonrasında sunucunuzdaki Ebenzer (GameServer) konsolunu yeniden başlatın (veya oyun içinde GM karakterle
/load_tableskomutunu uygulayın). - Oyuna giriş yapıp yaratıkları kestiğinizde kutuların belirlediğiniz düzen doğrultusunda açıldığını test edin.
Sorularınızı ve spesifik canavarlara drop ekleme taleplerinizi bu konu altından iletebilirsiniz. Herkese keyifli geliştirmeler!

