- #1
Konu Sahibi
: serkankacan
[REHBER & QUERY] Knight Online Başlangıç Level, Para (Gold), Stat ve Skill Puanı Ayarlama
USERDATA ve CREATE_NEW_CHAR Prosedürü Üzerinden Seviye, Para (Gold), Stat (Points), Beceri (strSkill) ve Sınıf Terfilerini Güvenle Yapılandırma
USERDATA ve CREATE_NEW_CHAR Prosedürü Üzerinden Seviye, Para (Gold), Stat (Points), Beceri (strSkill) ve Sınıf Terfilerini Güvenle Yapılandırma
Merhaba değerli forum sakinleri,
Knight Online sunucularında (v1299, v1453, v1534, v2xxx) Ardream (59), Ronark Land Base (69) veya CZ (83) konseptli bir altyapı hazırlarken, yeni açılan karakterlerin ya da mevcut oyuncuların **başlangıç seviyesini, kasasındaki parasını (Gold), dağıtılabilir stat puanlarını (Points) ve beceri puanlarını (strSkill)** doğru yapılandırmak oyun dengesinin temel taşıdır.
Eski Paylaşımdaki Hatalar & Optimizasyon Farkı:
- Tanımsız Değişkenler: Ham kodlarda yer alan
@CharIDve@Classdeğişkenleri bildirilmediği (DECLAREedilmediği) için sorgu doğrudan çalıştırıldığında SQL derleme hatası verir. - Para (Gold) Eksikliği: Başlıkta "Para" belirtilmesine rağmen sorgularda
Goldsütunu yer almamaktadır. - Tek Tek UPDATE Karmaşası: Her sınıf için 8 ayrı güncelleme çalıştırmak yerine
CASE WHENmantığı kullanılarak tüm sınıflar tek bir transaction içinde güncellenmelidir.
Aşağıda hem belirli bir karaktere / tüm sunucuya uygulayabileceğiniz **Dinamik Yönetim Sorgusunu**, hem de yeni kayıt olan her karakterin otomatik olarak bu ayarlarla doğması için **
CREATE_NEW_CHAR Prosedür Entegrasyonunu** bulabilirsiniz.Teknik Bilgilendirme & Parametreler' Alıntı:
- Level & Stat Formülü: 59 seviye bir karakter için $(59 - 1) \times 3 = 174$ Stat Puanı (
Points = 174).- strSkill Karşılığı: 59 seviye için beceri puanı bayrağı
'f'karakteridir.- Para (Gold): Başlangıçta verilmek istenen Noah miktarıdır (Örn:
10,000,000= 10M).- Class Terfileri: Karakterler acemi sınıflardan (101-104 & 201-204) doğrudan 1. terfi sınıflarına (105-111 & 205-211) geçirilir.
- İşlem öncesinde KN_Online veritabanı yedeğinizi almanız tavsiye edilir.
1. BÖLÜM: Mevcut Karakter İçin Optimize 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.
2. BÖLÜM: Yeni Açılan Karakterler İçin Prosedür Entegrasyonu
Sunucuya yeni kayıt olup karakter açan her oyuncunun otomatik olarak bu seviye, para ve statlarla oyuna başlaması için:
KN_Online..CREATE_NEW_CHAR saklı yordamını (
Stored Procedure) düzenleyin (Modify) ve INSERT INTO USERDATA bloğunun hemen altına 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çıp veritabanınızı seçin.
- 1. Bölümdeki sorguyu açıp
@TargetCharNamekısmına karakter adınızı yazarak F5 yapın (Karakterin oyunda olmaması gerekir). - Kalıcı ve otomatik başlangıç için 2. Bölümdeki kodu
CREATE_NEW_CHARprosedürünüze kaydedin. - Oyuna giriş yaptığınızda karakterinizin 59 seviye olduğunu, çantasında 10.000.000 Noah bulunduğunu ve "U" panelinde 174 stat puanı ile beceri puanlarının dağıtılmaya hazır olduğunu kontrol edin.
Sorularınızı ve farklı seviye/stat kombinasyonları taleplerinizi konu altından iletebilirsiniz. Herkese keyifli geliştirmeler!

