- #1
Konu Sahibi
: serkankacan
[REHBER & QUERY] Knight Online 59 (Ardream) / 62 (Master) / 83 (CZ) Başlangıç Stat & Level Şablonu
USERDATA ve CREATE_NEW_CHAR Prosedürü Üzerinden Seviye, Stat Puanı (Points), Master ve Beceri Puanı (strSkill) Ayarları
USERDATA ve CREATE_NEW_CHAR Prosedürü Üzerinden Seviye, Stat Puanı (Points), Master ve Beceri Puanı (strSkill) Ayarları
Merhaba değerli forum sakinleri,
Knight Online sunucularında (v1299, v1453, v1534, v2xxx) Ardream (59 Cap), Andream/Master (62 Cap) veya doğrudan PK (83 Cap) konseptli bir proje hazırlarken yeni açılan karakterlerin veya mevcut oyuncuların stat, seviye, sınıf ve beceri puanlarını doğru başlatmak en kritik adımlardan biridir.
Sorun & Optimizasyon Farkı:
Eski paylaşımlardaki ham kodlarda değişkenler (
@CharID, @Class) tanımsız bırakılmış, her sınıf için onlarca tekil `UPDATE` açılarak kod karmaşasına yol açılmış ve strSkill ASCII karakterlerinde bozulmalar yaşanabilmiştir.Aşağıdaki optimize rehberde;
- 1. Bölüm: İstediğiniz seviye modunu (59, 62 veya 83) seçip tek tıkla belirli bir karaktere veya tüm sunucuya uygulayabileceğiniz dinamik SQL şablonunu,
- 2. Bölüm: Yeni açılan karakterlerin otomatik olarak seçtiğiniz seviyede başlaması için
CREATE_NEW_CHARprosedür entegrasyonunu
Teknik Bilgilendirme (Stat & Skill Mantığı)' Alıntı:
- Seviye & Stat Puanı Formülü: Her seviye atlandığında 3 stat puanı kazanılır:
- 59 Seviye (Ardream): $(59 - 1) \times 3 = 174$ Stat Puanı
- 62 Seviye (Master): $(62 - 1) \times 3 = 183$ Stat Puanı (Master açılış bonuslarıyla 183-187 arası)
- 83 Seviye (PK): $(83 - 1) \times 3 = 246$ Stat Puanı (Görev ve reb statlarıyla 250-292 arası)- Class Terfileri (Job Change): Acemi sınıflar (101-104 & 201-204) doğrudan 1. terfi sınıflarına (105-111 & 205-211) geçirilir.
- strSkill Karakteri: Knight Online motorunda beceri puanı ikili/karakter formatında tutulur.
- İşlem öncesinde mutlaka KN_Online veritabanı yedeğinizi alınız.
1. BÖLÜM: Dinamik Stat & Level Ayarlama Sorgusu (Mevcut Karakter)
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.
2. BÖLÜM: Yeni Açılan Karakterler İçin Başlangıç Entegrasyonu
Sunucunuza yeni kayıt olup karakter oluşturan herkesin otomatik olarak seçtiğiniz seviyede başlaması için:
KN_Online..CREATE_NEW_CHAR prosedürünü açın (
Modify) ve INSERT INTO USERDATA bloğunun hemen altına şu güncellemeyi ekleyin:
İç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çın.
- 1. Bölümdeki kodu kullanarak
@TargetCharNamealanına test karakterinizi,@TargetLevelModealanına istediğiniz modu (59, 62, 83) yazarak F5 yapın. - Kalıcı başlangıç istiyorsanız 2. Bölümdeki kodu
CREATE_NEW_CHARprosedürünüze ekleyin. - İlgili karakter oyundaysa oyundan çıkıp tekrar girmesini sağlayın (veya GameServer'ı yeniden başlatın).
- Karakter ekranına girdiğinizde seviyenin, stat puanlarının ve sınıfın eksiksiz ayarlandığını doğrulayın.
Sorularınızı ve başlangıç eşyalarıyla ilgili taleplerinizi konu altından paylaşabilirsiniz. Herkese keyifli geliştirmeler!

