Knight Online Event ve Quest Sistemi Kurma Rehberi

hayatofflineee

Level 1
Katılım
18 Kas 2024
Konular
17
Mesajlar
153
Beğeniler
124
GG Coin
3,235
Ticaret Değeri - 0%
0   0   0

Knight Online Private Server'da Event ve Quest Sistemi Kurma​

1. Adım: NPC Oluşturma

Eğer bir NPC'niz yoksa, öncelikle yeni bir NPC oluşturmanız gerekir.

1.1. NPC'yi oluşturmak için, Query Analyzer üzerinden veritabanınıza bağlanın ve aşağıdaki SQL komutunu çalıştırarak NPC'nizi ekleyin:

Kod:
insert into k_npc values (45547, 'NP ver TP Scroll AL', 2050, 100, 971650940, 971720780, 1, 0, 28, 1, 1, 1, 0, 90, 0, 0, 100000, 0, 0, 15000, 497, 497, 0, 1500, 0, 0, 1000, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 200, 30, 35, 35, 0, 0, 1, 1, 0);

Açıklama:

  • k_npc tablosu, NPC'lerin tüm bilgilerini tutar. Yukarıdaki SQL komutu ile bu NPC'yi veritabanınıza ekliyorsunuz.

1.2. NPC'yi haritaya yerleştirelim. Örneğin, Moradon haritasına NPC'yi eklemek için şu SQL komutunu kullanabilirsiniz:

Kod:
insert into k_npcpos values (21, 45547, 103, 0, 0, 0, 10, 330, 359, 330, 359, 330, 359, 330, 359, 1, 4400, 0, 3, 'NULL');

Açıklama:

  • k_npcpos tablosu, NPC ve canavarların harita üzerindeki konumlarını tutar.
  • 21, Moradon haritasının zone numarasıdır.
  • 45547, yeni eklediğiniz NPC'nin ID numarasıdır.
  • Trapnumber sütunu, NPC'nin hangi event'e bağlı olduğunu belirtir. Bu değer önemli, çünkü NPC'nin hangi event'i kullanacağını belirler.

1.3. NPC'nin hangi event'e ait olduğunu öğrenmek için, Event_Trigger tablosuna bakın. Örneğin, 10 numaralı bir event için şu bilgiyi bulabilirsiniz:

Kod:
EVENT_TRIGGER:
nIndex : 10
bNpcType : 28
sNpcID : 10
nTriggerNum : 40901

Burada, 40901 numaralı event, Moradon haritasındaki NPC'ye bağlıdır. Bu numara, başka bir NPC veya haritada kullanılmamalıdır, yoksa hata alırsınız.


2. Adım: Event Script Yazma

2.1.
Şimdi, 21.evt dosyasını Not Defteri ile açarak NPC'nin menüsünü oluşturacağız.

Kod:
EVENT 40901;

E SELECT_MSG 45547 35001 2901 35012 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1

E RETURN

END

Açıklamalar:

  • 45547: NPC numarası (bu kısmı, istediğiniz başka bir NPC numarası ile değiştirebilirsiniz).
  • 35001: Quest_Talk_Us.tbl dosyasına eklenmesi gereken bir koddur. Burada NPC ile ilk iletişimi sağladık.
  • 2901: Quest_Menu_Us.tbl dosyasına kayıt edilmesi gereken bir kod. Burada NPC'nin menüsünü tanımlıyoruz.
  • 35012: Kullanıcı menüsüne tıkladığında hangi işlemlerin yapılacağını belirler.

2.2. Menüde hangi işlemlerin yapılacağına karar verelim. Aşağıdaki kodu kullanarak işlemleri tanımlayabilirsiniz:

Kod:
EVENT 40901;

E SELECT_MSG 45547 35001 2901 35012 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1

E RETURN

END

hemen altına

EVENT 35012; Teleport Friend Scroll(15000 National Point) ( quest_menu_us.tbl )

E RUN_EVENT 35013

E RUN_EVENT 35014

E RUN_EVENT 35015

END

EVENT 35013; Inventory Kontrolü

A CHECK_EMPTY_SLOT 0;

E SAY -1 -1 89992 -1 -1 -1 -1 -1 -1 -1 -1 -1; Inventory doluysa kullanıcıya haber ver

E RETURN

END

EVENT 35014; National Point Kontrolü

A CHECK_LOYALTY 0 14999;

E SAY -1 -1 89993 -1 -1 -1 -1 -1 -1 -1 -1 -1; National Point yetersizse kullanıcıyı uyar

E RETURN

END

EVENT 35015;

E CHANGE_LOYALTY -15000; 15000 NP düşür

E GIVE_ITEM 800021000 1; 1 adet Teleport Friend Scroll ver

END


2.3. Quest_Talk_Us.tbl ve Quest_Menu_Us.tbl dosyalarını doğru şekilde güncellemek gerekiyor.

  • 89992: Inventory doluysa gösterilecek mesaj (örneğin: "Inventory'nizde boş alan yok, lütfen alan açınız").
  • 89993: Yeterli National Point (NP) yoksa gösterilecek mesaj (örneğin: "Yeterli National Point'iniz yok, lütfen 15000 NP biriktirin").
  • 800021000: Teleport Scroll'un item numarası. Bu, item.tbl tablosunda bulunur.

Sonuç​

Yukarıdaki adımları takip ederek NPC'nizi ve eventinizi başarılı bir şekilde oluşturmuş olacaksınız. NPC ile etkileşim kurarak, kullanıcılara Teleport Friend Scroll verilebilecek bir quest sistemi kurmuş olduk. Herhangi bir hata ile karşılaşmamak için, özellikle event numaralarını ve NPC ID'lerini dikkatli bir şekilde kontrol edin.

Kolay gelsin.
 
Elinize sağlık, paylaşım için teşekkürler.
 
Geri
Üst Alt