- Katılım
- 12 May 2026
- Mesajlar
- 55
- Tepkime puanı
- 34

NPC’LERDEKİ BUTON İSİMLERİ NASIL DEĞİŞTİRİLİR?
Knight Online Development Rehberi | DeltaSoft Sistem Anlatımı
Merhaba arkadaşlar,
Knight Online server geliştirme sürecinde en çok ihtiyaç duyulan sistemlerden biri NPC menü düzenlemeleridir. Bu rehberde NPC’lerin üzerindeki buton isimlerini nasıl değiştireceğinizi, sistemin nasıl çalıştığını ve hangi dosyalara müdahale etmeniz gerektiğini detaylı şekilde anlatıyorum.
Bu sistemi öğrendiğinizde sadece NPC yazılarını değil, tüm quest ve menü sistemini kontrol edebilecek seviyeye gelirsiniz.
NPC SİSTEMİ NASIL ÇALIŞIR?
Knight Online tarafında bir NPC’ye tıkladığınız anda sistem direkt olarak Gameserver üzerinden LUA dosyalarını çalıştırır.
Bu yapı tamamen quest tabanlıdır ve her NPC’nin ayrı bir kontrol dosyası vardır.
Örnek dosya yapısı:
Kod:
239999_Pontus.lua
Bu dosya içerisinde NPC’nin açacağı menüler, event sistemleri ve buton yönlendirmeleri bulunur.
NPC’ye tıklama işlemi aslında bir EVENT tetikleme sürecidir.
QUEST KLASÖR YAPISI
Server tarafında aşağıdaki dizine giriyoruz:
Kod:
Gameserver / Quest
Burada her NPC için ayrı LUA script dosyaları bulunur.
Örneğin Pontus NPC’si için:
Kod:
239999_Pontus.lua
NPC ile ilgili tüm işlemler bu dosya üzerinden yönetilir.
EVENT sistemi de burada devreye girer ve NPC’ye tıklanınca hangi menünün açılacağını belirler.
EVENT SİSTEMİ VE SELECTMSG
NPC’ye tıkladığınızda genellikle ilk çalışan sistem:
Kod:
if EVENT == 100 then
buradaki EVENT 100, NPC’nin ana menüsünü temsil eder.
Devamında SelectMsg sistemi ile butonlar oluşturulur:
Kod:
SelectMsg(UID, 3, -1, 45238, NPC, 45218, 300)
Bu satırın mantığı şöyledir:
- 45218 → NPC üzerinde görünen buton ID’si
- 300 → Butona tıklanınca çalışacak EVENT
Yani oyuncu bu butona bastığında sistem EVENT 300’e yönlenir.
BUTON İSİMLERİNİN KAYNAĞI
NPC üzerindeki görünen yazılar direkt olarak client tarafındaki TBL dosyasından gelir.
Bunun için şu dosyayı kullanırız:
Kod:
Quest_Menu_Us.tbl
Bu dosya tüm NPC menü yazılarını barındırır.
SelectMsg içinde geçen ID’ler burada karşılık bulur.
Örnek:
Kod:
45218 = Upgrade İşlemleri
Bu yazıyı değiştirdiğiniz anda NPC üzerindeki buton ismi de değişir.
TBL DOSYASI NEREDE BULUNUR?
Client klasörüne giriyoruz ve şu dizine ulaşıyoruz:
Kod:
Client / Tbl / Quest_Menu_Us.tbl
Bu dosya Pentagram TBL Editor veya benzeri bir tool ile açılır.
Burada ID’yi bulup karşısındaki yazıyı düzenleyebilirsiniz.
DEĞİŞİKLİK MANTIĞI
Örnek bir SelectMsg satırı:
Kod:
SelectMsg(UID, 3, -1, 45238, NPC, 45218, 300)
Buradaki 45218 ID’sini TBL içerisinde buluyoruz:
Kod:
45218 = Upgrade İşlemleri
Bunu değiştirdiğimizde sistem otomatik olarak NPC’de yeni ismi gösterir:
Kod:
45218 = DeltaSoft Premium Market
Bu işlem tamamen client-side çalışır.
SİSTEMİN GENEL MANTIĞI
Tüm yapı aslında çok basit bir zincire dayanır:
Kod:
NPC → LUA EVENT → SelectMsg → BUTTON ID → TBL FILE → GÖRÜNEN YAZI
Bu mantığı öğrendiğinizde sadece NPC değil, tüm quest sistemini kontrol edebilirsiniz.
ÖNEMLİ NOTLAR
- TBL düzenledikten sonra client restart gerekir
- Cache temizlenmesi gerekebilir
- Yanlış ID düzenlemek farklı NPC’leri etkileyebilir
- Yedek almadan işlem yapmayın
- Server/client uyumlu olmalı
SONUÇ
NPC buton sistemini çözdüğünüzde artık server tarafında çok daha profesyonel düzenlemeler yapabilirsiniz.
Bu sistem Knight Online development’ın temel taşlarından biridir.
İNDİRME LİNKİ :
Son düzenleme:
