Neler yeni

Knight Online Lua Anlatımı

hasanlarsbr

Kullanıcı
Katılım
28 Nis 2024
Mesajlar
17
Puanları
1
Konum
AydeAcs
Kredi
2
Knight Online Lua Anlatımı

Bu rehber, Knight Online için Lua dilini kullanarak NPC'lerle etkileşimli görevler oluşturmayı kapsamaktadır. Yukarıda verilen komutlar ve örnekler, kendi scriptlerinizi oluşturmanızda size yardımcı olacaktır.



Lua - NPC'ye Bağlama​


Değişken Tanımlamaları​

*** Hidden text: cannot be quoted. ***


NPC'ye Tıklanınca Açılacak İlk Menü​


İlk Menü Ayarlama​

*** Hidden text: cannot be quoted. ***


EVENT_KODU: Bu, belirli bir olayı temsil eden koddur. Veritabanından veya manuel olarak atanabilir. Her olay kodu benzersiz olmalıdır.

MESAJ_KODU: NPC ile etkileşimde ortaya çıkacak mesajın kodudur. Bu mesajlar, Quest_Talk_us.tbl dosyasından alınabilir.

MENU: NPC'ye tıklanınca açılan menüdeki butonların üstünde yazacak yazıdır. Bu yazılar Quest_Menu_us.tbl dosyasından alınabilir.

ICERIK: Menünün içeriğini temsil eder. Butona tıklanınca yönlendirecek event kodudur.

Örnek:

*** Hidden text: cannot be quoted. ***


Bu örnekte:

EVENT == 100: 100 numaralı event için

1186: Quest_Talk_us.tbl dosyasından alınan mesaj kodu

10: Quest_Menu_us.tbl dosyasından alınan menü kodu (Confirm butonu)

150: Confirm butonuna tıklanınca yönlendirilecek event kodu

Devam Eden Menü Yapısı​

*** Hidden text: cannot be quoted. ***


Bu örnekte:

EVENT == 150:
150 numaralı event için

1234: Quest_Talk_us.tbl dosyasından alınan mesaj kodu

27: Menü buton kodu

180: Butona tıklanınca yönlendirilecek event kodu

Genişletilmiş Menü Yapısı​

*** Hidden text: cannot be quoted. ***


Ekstra Komutlar ve Açıklamaları​


GiveItem(UID, ITEMNO, ADET)
  • UID: Kullanıcının kimlik numarası
  • ITEMNO: Verilecek itemin kodu
  • ADET: Verilecek itemin adedi
  • Açıklama: Kullanıcıya belirtilen itemi verir.

*** Hidden text: cannot be quoted. ***


RobItem(UID, ITEMKOD, ADET)

  • UID: Kullanıcının kimlik numarası
  • ITEMKOD: Alınacak itemin kodu
  • ADET: Alınacak itemin adedi
  • Açıklama: Kullanıcıdan belirtilen itemi alır.
*** Hidden text: cannot be quoted. ***


RunExchange(UID, EVENTNO)

  • UID: Kullanıcının kimlik numarası
  • EVENTNO: Çalıştırılacak eventin kodu
  • Açıklama: Kullanıcı için belirli bir event çalıştırır.
*** Hidden text: cannot be quoted. ***


CheckGiveSlot(UID, -1)

  • UID: Kullanıcının kimlik numarası
  • Açıklama: Kullanıcının envanterinde boş yer olup olmadığını kontrol eder.

*** Hidden text: cannot be quoted. ***


CheckLevel(UID)

  • UID: Kullanıcının kimlik numarası
  • Açıklama: Kullanıcının seviyesini kontrol eder.
*** Hidden text: cannot be quoted. ***


GoldLose(UID, ParaMiktarı)

  • UID: Kullanıcının kimlik numarası
  • ParaMiktarı: Alınacak para miktarı
  • Açıklama: Kullanıcıdan belirli miktarda para alır.
*** Hidden text: cannot be quoted. ***


GiveLoyalty(UID, NPMIKTARI)

  • UID: Kullanıcının kimlik numarası
  • NPMIKTARI: Verilecek national point miktarı
  • Açıklama: Kullanıcıya belirli miktarda national point (NP) verir.
*** Hidden text: cannot be quoted. ***




GiveMoney(UID, PARAMIKTARI)

  • UID: Kullanıcının kimlik numarası
  • PARAMIKTARI: Verilecek para miktarı
  • Açıklama: Kullanıcıya belirli miktarda para verir.
*** Hidden text: cannot be quoted. ***


Örnek Görev Lua​

Aşağıdaki örnek, kullanıcıya bir görev verirken çeşitli kontroller ve ödüller içeren bir lua gösterir:
*** Hidden text: cannot be quoted. ***

Bu lua, kullanıcı envanterinde boş yer olup olmadığını ve kullanıcının seviyesinin yeterli olup olmadığını kontrol eder. Eğer şartlar sağlanıyorsa, kullanıcıdan 1000 altın alır ve ona belirli ödüller verir.
Slot Kontrolü nasıl olacak mesela 10 item ver ama inventryde 11 yer boş olması şartıyla şeklinde...
 
Kişi Yorumladı
Geri
Üst