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ı
*** Gizli metin: alıntıda gösterilemez. ***
NPC'ye Tıklanınca Açılacak İlk Menü
İlk Menü Ayarlama
*** Gizli metin: alıntıda gösterilemez. ***
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:
*** Gizli metin: alıntıda gösterilemez. ***
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ı
*** Gizli metin: alıntıda gösterilemez. ***
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ı
*** Gizli metin: alıntıda gösterilemez. ***
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.
*** Gizli metin: alıntıda gösterilemez. ***
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.
*** Gizli metin: alıntıda gösterilemez. ***
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.
*** Gizli metin: alıntıda gösterilemez. ***
CheckGiveSlot(UID, -1)
- UID: Kullanıcının kimlik numarası
- Açıklama: Kullanıcının envanterinde boş yer olup olmadığını kontrol eder.
*** Gizli metin: alıntıda gösterilemez. ***
CheckLevel(UID)
- UID: Kullanıcının kimlik numarası
- Açıklama: Kullanıcının seviyesini kontrol eder.
*** Gizli metin: alıntıda gösterilemez. ***
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.
*** Gizli metin: alıntıda gösterilemez. ***
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.
*** Gizli metin: alıntıda gösterilemez. ***
GiveMoney(UID, PARAMIKTARI)
- UID: Kullanıcının kimlik numarası
- PARAMIKTARI: Verilecek para miktarı
- Açıklama: Kullanıcıya belirli miktarda para verir.
*** Gizli metin: alıntıda gösterilemez. ***
Ö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:
*** Gizli metin: alıntıda gösterilemez. ***
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.