İçeriğe geç
Türkiye'nin SRO tanıtım & topluluk platformu

Knight Online Özel NPC & Quest Helper (LUA) Ekleme

Cevaplar0
Görüntüleme1
Ticaret Puanı
0
Katılım
8 Eyl 2026
Mesajlar
145
Tepkime puanı
24
Puanları
0
Mevcut Bakiye
3975 ₺
[REHBER & SİSTEM] Knight Online Özel NPC & Quest Helper (LUA) Ekleme
K_NPC, K_NPCPOS ve QUEST_HELPER Tabloları Üzerinden Özel Görev / Etkinlik NPC'si Tanımlama ve Konumlandırma​



Merhaba değerli forum sakinleri,

Knight Online sunucularında (v1299, v1453, v1534, v2xxx) özel etkinlikler, takas sistemleri veya görev zincirleri için haritaya yeni bir NPC yerleştirmek ve bu NPC'ye tıklandığında özel bir LUA betiğinin (.lua) çalışmasını sağlamak sunucu geliştiricilerinin en sık kullandığı yöntemdir.

Ham paylaşımlarda tablo sütun isimleri belirtilmediği için farklı veritabanı sürümlerinde sütun sayısı uyuşmazlığı (`Column name or number of supplied values does not match table definition`) hatası alınabilir. Ayrıca mükerrer kayıt kontrolü yapılmadığından NPC ID çakışmaları yaşanabilir.

Aşağıda paylaşılan optimize kurulum şablonu; **K_NPC** (NPC kimlik ve model bilgisi), **K_NPCPOS** (Harita ve doğma koordinatları) ve **QUEST_HELPER** (Tıklanınca çalışacak LUA dosyası) tablolarını sütun eşleştirmeli, güvenli ve çakışma kontrollü olarak tek seferde kaydeder.

Teknik Bilgilendirme & Parametreler' Alıntı:
  • NPC ID (sSid): 18072 (Örnek ID'dir, tablonuzda boş olan bir ID seçebilirsiniz).
  • Zone ID (Harita): 21 (Moradon haritası).
  • Koordinatlar (X / Z): X: 299, Z: 335 (Moradon içi örnek koordinat).
  • LUA Tetikleyicisi: 772_QUICKLE.lua (Ebenzer/Server içerisindeki `Quest_Talk` klasöründe yer almalıdır).
  • İşlem öncesinde KN_Online veritabanı yedeğinizi almayı unutmayınız.



Hatasız & Güvenli NPC + Quest Kurulum SQL Kodu

KN_Online
veritabanınızı seçip aşağıdaki optimize bloğu çalıştırın:





Neden Bu Optimize Versiyon Kullanılmalı?

  1. Açık Sütun Tanımları: Doğrudan INSERT INTO Tablo VALUES (...) yazmak yerine her sütunun adı açıkça belirtilmiştir. Veritabanınızda sonradan eklenmiş veya sırası farklı sütunlar olsa bile hata vermez.
  2. Çakışma Koruması (IF NOT EXISTS): Aynı sorgu birden fazla kez çalıştırıldığında hata vermez, mükerrer veya çift doğan hayalet NPC'ler oluşturmaz.
  3. Transaction Güvencesi: Üç tablodan herhangi birinde bir uyuşmazlık çıkarsa ROLLBACK yapılarak yarım kalmış bozuk kayıt oluşması engellenir.



Nasıl Uygulanır & Test Edilir?

  1. SQL Server Management Studio (SSMS) üzerinde veritabanınızı seçip sorguyu çalıştırın.
  2. Hazırladığınız 772_QUICKLE.lua dosyasını sunucunuzun **Quest / Quest_Talk** dizini içerisine kopyalayın.
  3. Değişikliklerin oyuna yansıması için Ebenzer (GameServer) konsolunu yeniden başlatın (veya oyun içinde GM karakterle /load_tables komutunu uygulayın).
  4. Oyuna girip Moradon 299, 335 koordinatına gidin; NPC'nin doğduğunu ve tıklandığında LUA menüsünün sorunsuz açıldığını test edin.

Sorularınızı ve özel LUA yazımı konusundaki taleplerinizi konu altından iletebilirsiniz. Herkese keyifli geliştirmeler!
 

Konuyu görüntüleyenler

Yükleniyor...
Yükleniyor...
Şu anda sitemizde 29,191 Aktif Kullanıcı
Çevrimiçi üyeler
Konular 1,373
Mesajlar 4,351
Kullanıcılar 1,668
Son üye Senbonzakura
Geri
Üst