- #1
Konu Sahibi
: serkankacan
[REHBER & QUERY] Knight Online Başlangıç İtemlerini Ayarlama (CREATE_NEW_CHAR_SET)
Warrior, Rogue, Mage ve Priest Sınıfları İçin Giysi, Takı, Silah ve Çanta Slotlarını Tek Tıkla Düzenleme
Warrior, Rogue, Mage ve Priest Sınıfları İçin Giysi, Takı, Silah ve Çanta Slotlarını Tek Tıkla Düzenleme
Merhaba değerli forum sakinleri,
Knight Online sunucularında yeni açılan karakterlerin üzerlerinde veya çantalarında hazır olarak başlayacağı ekipmanları (zırh seti, takılar, silahlar ve envanter eşyaları) ayarlamak için SQL Server tarafında
CREATE_NEW_CHAR_SET (veya bazı veritabanlarında BEGINNER_ITEM_SET) tablosu kullanılır.Prosedürlerin iç içe geçmiş karmaşık kodlarıyla uğraşmak yerine, tablo üzerinden doğrudan slot eşleştirmesi yaparak tüm sınıfların başlangıç donanımını saniyeler içinde güncelleyebilirsiniz.
Eski Paylaşımdaki Hatalar & Optimizasyon Farkı:
- Tekrarlayan Primary Key (ID) Hatası: Eski paylaşımdaki Mage küpe satırında
where ID=152değeri iki kez kullanılmış (hem kafa zırhında hem 2. küpede), bu da küpenin zırh kaydını ezmesine yol açmıştır. Optimize şablonda tüm ID ve Slot indeksleri düzeltilmiştir. - Tek Tek UPDATE Karmaşası: Onlarca tekil `UPDATE` sorgusu yerine
CASE WHENyapısı kullanılarak veritabanı yorulmadan tek bir transaction içinde güncellenir. - İtem Dayanıklılığı (ItemDuration):
ItemDurationdeğeri 0 bırakıldığında eşyalar kırık/hasarlı doğabilir; tablodaki dayanıklılık otomatik olarakITEMtablosundaki orijinal dayanıklılığa eşitlenecek mantık eklenmiştir.
Teknik Bilgilendirme (Ekipman Slot Dizilimi)' Alıntı:Karakterin giydiği eşyaların slot indeks karşılıkları:
- 0 - 2: Sağ Küpe & Sol Küpe | 3: Kolye | 7: Kemer (Belt) | 9 - 11: Sağ & Sol Yüzük
- 1: Kask (Helmet) | 4: Göğüslük (Pauldron) | 10: Donluk (Pads) | 12: Kolluk (Gauntlets) | 13: Ayaklık (Boots)
- 6: Sol El (Silah) | 8: Sağ El (Silah / Kalkan)
- 14 ve Üzeri: Çanta (Inventory) yuvalarıdır.
- İşlem öncesinde KN_Online veritabanı yedeğinizi almanız önerilir.
Hatasız & Optimize Edilmiş Başlangıç İtem Güncelleme Şablonu
KN_Online veritabanınızı seçip aşağıdaki blok üzerinden eşya kodlarınızı (
ItemID) yazarak ç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ı?
- Çakışan Mage ID Hatası Düzeltildi: Eski paylaşımdaki çift
ID=152yazımı düzeltilerek kolye ve küpe yuvalarının birbiriyle çakışması engellendi. - Otomatik Durability Eşitlemesi:
ItemDuration = 0olarak bırakılan eşyaların oyunda sıfır dayanıklılıkla görünmesi sorunu, son adımdakiITEMtablosu bağlantısıyla otomatik çözüldü. - Transaction Koruması: Herhangi bir satırda yazım hatası veya geçersiz ID olması durumunda
ROLLBACKyapılarak başlangıç tablosunun yarım kalması önlenir.
Nasıl Uygulanır & Test Edilir?
- SQL Server Management Studio (SSMS) programını açın.
- Yukarıdaki kodda
THEN 0yazan yerlere vermek istediğiniz eşyalarınITEMtablosundakiNumkodlarını yazın (Örn: Chitin, Shell, Shard, Raptor vb.). - Eğer çanta içine ekstra pot veya scroll eklemek isterseniz,
SlotIDdeğerini14ve yukarısı vererek yeni satırlar tanımlayabilirsiniz. - F5 tuşuna basarak sorguyu çalıştırın.
- Sunucuda Ebenzer / GameServer modüllerini yeniden başlatın (veya GM karakterle
/load_tableskomutunu kullanın). - Oyuna girip her sınıftan yeni bir karakter oluşturarak giyili eşyaları ve dayanıklılıkları kontrol edin.
Sorularınızı ve eklemek istediğiniz özel başlangıç çantası taleplerinizi konu altından iletebilirsiniz. Herkese keyifli geliştirmeler!

